2016年9月17日
今日のお題は、最近、何かと話題の機械学習(マシンラーニング)です。
私も仕事の関係で機械学習の勉強を始めたのですが、これまでのシステム開発の経験では、機械学習の「キ」の字も出て来ることはありませんでした。そこで、取っ掛かりとしてまず何から始めれば良いのか見当がつかず、はて困りました。
まず何から始めたら…
のっけから機械学習関連の書籍を読むと、軌道に乗る前にあえなく挫折するのではないかと思い、YouTubeの動画で参考になるものはないか調べてみました。すると、思いのほか機械学習の勉強会系の動画が在るわあるわ。
YouTubeのありがたみを改めて実感することになりました。
ということで、本日は「私、機械学習について何も知らないド素人です。ですが、機械学習のシステム開発に興味がありまして、けれども何から始めたらよいのか分からない者です」という方々に向けて、参考になる動画をご紹介します。今回紹介する動画を全て見ると、3時間程度かかります。
それでは、「ド素人」のための動画集です。
- 超入門:初めの一歩
- 超入門から一歩踏み込む
- 事例集:オープンソース活用
1. 超入門:初めの一歩 |
前半部で「ド素人」のために機械学習とは何かのイメージを具体例を交えて簡単に解説してくれています。後半まで通して見ることで、アマゾンの機会学習クラウドサービスを利用して、どのようなことができるのかイメージをつかめます。
1. 機械学習とは (約10分)
・機械学習で何ができるのか。
→ 未来の予測のために用いる。
2. Amazon Machine Learning(約10分)
・AMLで扱える3つのアルゴリズム
・アプリケーションの作り方を概説
3. デモ(約10分)
(このデモは見なくても大丈夫です)
上記のAMLとは異なり、手作りで機械学習のソフトウェアを作るためにどんな作業をすれば良いのか、何となくイメージを知ることができます。
(冒頭4分は待機のため沈黙。。)
1. 機械学習の概要(約5分)
2. スパムフィルタ作成手順(約20分)
・学習フェーズとは・・・
・予測フェーズとは・・・
2. 超入門から一歩踏み込む |
自然言語処理系の機械学習で用いる古典的アルゴリズムについて非常に丁寧に説明してくれているので、長丁場の動画ですが、最後まで見る価値あります。ただし、この動画の解説を理解するためには、微分積分・線形代数・確率統計の基礎知識が必要な箇所があります。これらの知識が不足していたら、動画再生を止めてその数式の意味を調べる必要があります。はい、お察しの通り「ド素人」にとっては少しレベルが高いですが、がんばりましょう!
1. 自然言語処理とは(約5分)
2. 機械学習とは(約20分)
3. 下記の文書の数学的表現(70分)
トークン
ストップワード
二値ベクトル表現
Bag of Words表現
nグラム
TF-IDF表現
文脈窓表現
Word2Vec
3. 事例集:オープンソース活用 |
オープンソースのライブラリを活用して開発する機械学習の機能とはどのようなものなのか、事例ベースで知ることができます。形態素解析ソフト(MeCab)+学習ソフト(Word2Vec)を利用して単語をベクトル化する方法を紹介してくれています。
1. Word2Vecとは(約3分)
2. 形態素解析とは(約3分)
3. Wikipediaの文章を機械学習(約5分)
GitHub社製のオープンソースフレームワーク「Hubot」を活用したチャットボットの開発イメージを概説してくれています。開始5分ごろの説明「Hubotの仕組み」の図がわかりやすくて良いです。
・Hubotの概説(約10分)