【Coursera】「Machine Learning(機械学習) Week 10」〜ビッグデータを使った機械学習を学びたい〜
前回までは、トレーニングデータを全て使った最適化アルゴリズムを学んできました。
一方、ビッグデータを使う場合、全トレーニングデータを使うと時間が掛かりすぎてしまいます。
では、どうすれば良いか?というのが、今回のテーマです。
<過去の記事>
【Coursera】「Machine Learning(機械学習) Week 1」〜機械学習の種類を学びたい〜 - 継続力
【Coursera】「Machine Learning(機械学習) Week 2」〜複雑なケースでの回帰分析を学びたい〜 - 継続力
【Coursera】「Machine Learning(機械学習) Week 3」〜分類の具体的なアルゴリズムを学びたい〜 - 継続力
【Coursera】「Machine Learning(機械学習) Week 4」〜ニューラルネットワークの概要を学びたい〜 - 継続力
【Coursera】「Machine Learning(機械学習) Week 5」〜ニューラルネットワークの実装方法を学びたい〜 - 継続力
【Coursera】「Machine Learning(機械学習) Week 6」〜機械学習アルゴリズムの評価方法を学びたい〜 - 継続力
【Coursera】「Machine Learning(機械学習) Week 7」〜サポートベクターマシン(SVM)を学びたい〜 - 継続力
【Coursera】「Machine Learning(機械学習) Week 8」〜教師なし学習を学びたい〜 - 継続力
【Coursera】「Machine Learning(機械学習) Week 9」〜レコメンデーションシステムを学びたい〜 - 継続力
講師
アンドリュー・エン(Andrew Ng)氏です。
人工知能研究の第一人者であり、Google Brainの共同設立者、 Baiduの元副社長兼チーフサイエンティスト、スタンフォード大学の教授という凄い経歴の持ち主です。
講義の概要
「Week 10」では、以下の内容が、約1時間程度で学べます。
講義の内訳
講義の内訳は以下の通りです。
<ビッグデータを使った機械学習>
■Learning With Large Datasets
■Stochastic Gradient Descent
- Batch gradient descentだと時間が掛かりすぎる時に使う最適化アルゴリズムとしてStochastic gradient descent(確率的勾配降下法)を説明。
- 確率的勾配降下法では、Batch gradient descentとは違い、常に収束に向かうわけではなく、発散と収束を繰り返してグローバルミニマムに収束していく。
■Mini-Batch Gradient Descent
- Batch gradient descentでは各ループ毎に全てのデータセットを使う。
- Stochastic gradient descent(確率的勾配降下法)では各ループ毎に1つのデータセットを使う。
- Mini-batch gradient descentでは各ループ毎にb個(10個程度)のデータセットを使う。
■Stochastic Gradient Descent Convergence
- 収束の確認方法と学習率の選び方について説明。
<オンライン学習とMap Reduce>
■Online Learning
- オンラインサービスでの機械学習として、配送サービスの配送料金の最適化の例、商品検索結果の最適化の例を紹介。
■Map Reduce and Data Parallelism
- 機械学習においてデータ量が多すぎると、1台のPCで捌ききれないという問題点がある。
- この問題を解決する方法として、Map-reduceを紹介。
- Map-reduceでは、トレーニングデータを分割して複数のPCで処理した後に、結果を取りまとめる。
これにより並列処理が可能になる。
どういう人におすすめか
実務で機械学習を使う場合、大抵はビッグデータを使うことになるはずです。
そうした時に、どうすれば実用に耐えうるスピードが出せるかを知ることができる良い授業だと思います。
「Andrew Ng」氏の説明はとても分かりやすいため、是非動画を見てみてください。