継続力

IT系サラリーマンが、書籍や講座から学んだこと、効果があった勉強方法を紹介します。

【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時間程度で学べます。

ja.coursera.org


講義の内訳

講義の内訳は以下の通りです。

 

ビッグデータを使った機械学習
■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」氏の説明はとても分かりやすいため、是非動画を見てみてください。

ja.coursera.org