中学生レベルの数学で学ぶ、機械学習モデル。まずはPythonライブラリ導入から始めよう!|東京のWEB制作会社・ホームページ制作会社|株式会社GIG
BLOG
ブログ
中学生レベルの数学で学ぶ、機械学習モデル。まずはPythonライブラリ導入から始めよう!
2018-04-13 勉強会
こんにちは。GIG社員のまえちゃんです。ほかほかとした陽気の中、オフィスがある日本橋・浜町では桜が見頃を迎えています。新しい出会いに胸踊る季節に、GIGでは社外のスピーカーをお招きした勉強会「Tech Trend Talk vol.1 中学生レベルの数学で学ぶ機械学習モデルとPythonライブラリの話」。を開催しました。
これまでは社内勉強会を定期的に開催してきましたが、今回は社外の方の参加枠を設け、いつもより賑やかな集いとなりました。その模様をお届けします。
中学生レベルの数学で学ぶ機械学習モデル
講師を務めたのは、GIGの技術顧問兼外部取締役の中島正成さん。「中学生レベルの数学で学ぶ機械学習モデルとPythonライブラリの話」と題して、機械学習やPythonに関する基礎知識を教えてらもらいました。
中島 正成:株式会社メタップスの取締役CTOとして立ち上げに参画。機械学習とデータサイエンスのプロダクトインプリメントに取り組む。その後、エン・ジャパン株式会社経営戦略室経てIGS株式会社に執行役員CTOとしてジョイン。教育領域へのA.I活用プロダクト開発に取り組む。
AIとは「機械学習を積み重ねることによって作られる知能」のこと
まずはAIについておさらいをしていきます。Web業界を見回すと、「AI搭載」と謳ったサービスが次々にリリースされていますが、そもそもAIとはなんでしょうか。
人間の知的能力をコンピュータ上で実現する、様々な技術・ソフトウェア・コンピューターシステム。応用例は自然言語処理(機械翻訳・かな漢字変換・構文解析等)、専門家の推論・判断を模倣するエキスパートシステム、画像データを解析して特定のパターンを検出・抽出したりする画像認識等がある。- Wikipedia
…う〜ん、理解できない。会場が渋い顔をしていると「これじゃあ理解できませんよね。でも、AIや機械学習は基本的には、数学に基づいているんです」と中島さん。中学レベルの数学知識で、理解ができると続けます。
そもそもAIは、機械学習を積み重ねることによって作られる知能のこと。その知能育成プロセスには、大きく分けて4つのモデルがあるそうです。
1. 回帰モデル
中島さん:
「回帰モデルは、多くのデータに対してもっともらしい関数を自動的につくる方法です」
中島さん:
「すでに実用化が進んでいて、アドテクのマッチング、EC、人材サービスなどのレコメンド機能に応用されています。大量のデータから最適なものを抽出するためにスコアリングをしていくので、点数の予測をするのが得意なモデルです」
2. 判別(分類)モデル
中島さん:
「判別モデルは、ツリー型に条件分岐して答えを出すための分岐条件を自動的につくっていく方法です」
中島さん:
「画像認識技術や自然言語処理技術に応用されています。初めからカテゴリがあるものに当てはめるのを得意としています。
判別モデルでは、決定木分析を用います。分析結果が明瞭で理解しやすいのが特徴です」
3. 統計モデリング
中島さん:
「こちらは手法ではなく枠組み。統計的にもっともらしい答えを推定していく手法。「ばらつき」や「欠損」を表現できます」
4. ニューラルネットワーク
中島さん:
「ニューラルネットワークは機械学習の1つの手法で、これをさらに深めたものが深層学習と呼ばれています。囲碁や将棋などで話題を読んでいるAIも、ニューラルネットワークをベースにしたものです」
中島さん:
「脳機能に見られるいくつかの特性を計算機上のシミュレーションによって表現することを目指した数学モデル。データをクラスタリングや分類するのに役立ちます」
「教師あり学習」と「教師なし学習」の違い
次に「教師あり学習」と「教師なし学習」の違いについてお話してもらいました。
「教師あり学習」とは
「教師あり学習」は、正解データを与えて機械学習させることです。例えば次のようなモデルが教師あり学習に当てはまります。
- 回帰:
線形回帰・ロジスティック回帰・SVM - ツリー型:
決定木・回帰木・ランダムフォレスト・勾配Boosting - ニューラルネットワーク:
CNN・RNN・パーセプトロン
「教師なし学習」とは
「教師なし学習」は、ざっくりとした情報を与えて、共通項などを機械の方でいい感じに分けてらもう手法です。以下が主なモデルになります。
- 階層型クラスタリング
- 非階層型クラスタリング
- K-means
- トピックモデル
- LDA
- 協調フィルタリング
- 自己組織化マップ
これから機械学習を始めるなら、まずはPythonライブラリを使おう!
中島さん:
「これから機械学習をはじめたい!という人は、ライブラリを使うのがおすすめです。まずはpyenvという環境設定ツールをインストールし、Pythonを入れましょう」
中島さん:
「機械学習の言語には、Python、java、Scalaなどがありますが、ライブラリの豊富さを鑑みると、Pythonがもっともおすすめだとか。中でも「scikit-learn」や、「Django」というWebアプリケーションフレームワークが人気です」
中島さん:
「また、今回学んだ回帰モデルなどで導いた分析結果をグラフを可視化できるツールも、Pythonで開発されています。例えば「jupiter script」というツールは、JSを含んだHTMLを書き出すこともできます」
まとめ
この日も最後に懇親会を開催。ピンチョスを囲んで、GIGメンバーと社外の方が交流しました。フードは、おざちゃんがセレクトしてくれました。
2月に3社合同で開催した「ブロックチェーンの勉強会」に続いて、社外の方を巻き込んだ勉強会をこれからも開催していきます。前回同様、GIG社内のディレクターや編集者、マーケターなど、非エンジニアのメンバーも参加しており、全社的な知識スキルの向上の機会となりました。
もっとも印象的だったのは、中島さんのお話の中に「シグマ」や「3次関数」などの知っている数学用語が出てきたこと。機械学習を少し身近に感じられたので、これを機に関連記事を読んでみよう。しかし、数式なんて見たのは中学生以来だ……。
GIGでは機械学習、Python、ブロックチェーンなどの勉強会を今後も開催していきます。イベントの詳しい情報は、connpassのGIGページをチェックしてください。
WebやDXの課題、お気軽にご相談ください。
古性 のち
GIG広報兼フリーランスのライター / デザイナー。株式会社LIGを退職後独立。2017年1月に17カ国の世界旅から帰国しました。「旅を仕事に」をコンセプトに日本・世界を飛び回りながら書いたり作ったりしています。今年極めたいのは「場作り」と「写真」。基本超プロモーター気質です。