確率的勾配降下法やミニバッチ勾配降下法が分かる【Coursera Machine Learning Week10】を日本語でまとめてみた

Coursera

アメリカのeラーニングサイトであるCourseraでは、GoogleやBaiduでAIのチームをリードしてきたAndrew Ng先生によるMachine Learningの講義動画が無料で公開されています。

全編英語なので少々敷居が高いのは確かですが、受講し続けているとその説明の分かりやすさに感動するはず!

本記事では、

・CourseraのMachine Learningに少し興味がある
・内容のつまみ食いがしたい
・講義を受けたけど復習したい

そんな人のためにMachine Learning Week10の内容をまとめてみました。

講義動画は1時間半くらいありますが、この記事であれば5分もあれば読むことができると思います。

Gradient Descent with Large Datasets(大きなデータセットにおける勾配降下法)

Learning With Large Datasets(大きなデータセットにおける学習)

Learning With Large Datasets - Large Scale Machine Learning | Coursera
Video created by Stanford University for the course "Machine Learning". Machine learning works best when there is an abundance of data to leverage for training....

機械学習は一般的にデータ量が多ければ多いほど、精度が上がります。問題は多くのデータを処理しようとしたとき、計算負荷にどう対処するかです。

この講義では、どのように大量のデータを効率よく処理していくかについて学んでいきます。

Stochastic Gradient Descent(確率的勾配降下法)

Stochastic Gradient Descent - Large Scale Machine Learning | Coursera
Video created by Stanford University for the course "Machine Learning". Machine learning works best when there is an abundance of data to leverage for training....

確率的勾配降下法(Stochastic Gradient Descent)についてです。トレーニングセットが大量にある場合、コスト関数を最小化するのに使用する最急降下法は計算コストが高いため、確率的勾配降下法を用います。

確率的勾配降下法では、まず計算前にデータをランダムに並び替えます

次に、バッチ勾配降下法のようにすべての個のトレーニングセットについて計算するのではなく、1つのトレーニングセットについてのみコストを計算します。この場合、各イテレーションで着実に収束に向かうわけではありませんが、長いイテレーションを通して次第に収束していくため、確率的勾配降下法と呼んでいます。

Mini-Batch Gradient Descent(ミニバッチ勾配降下法)

Mini-Batch Gradient Descent - Large Scale Machine Learning | Coursera
Video created by Stanford University for the course "Machine Learning". Machine learning works best when there is an abundance of data to leverage for training....

ミニバッチ勾配降下法(Mini-Batch Gradient Descent)についてです。他の手法と比べることで、違いがよく分かります。

バッチ勾配降下法 全トレーニングセット
ミニバッチ勾配降下法 一部のトレーニングセット
確率的勾配降下法 1つのトレーニングセット

ミニバッチ勾配降下法は並列処理をうまく使った手法です。

Stochastic Gradient Descent Convergence(確率的勾配降下法の収束)

Stochastic Gradient Descent Convergence - Large Scale Machine Learning | Coursera
Video created by Stanford University for the course "Machine Learning". Machine learning works best when there is an abundance of data to leverage for training....

確率的勾配降下法(Stochastic Gradient Descent Convergence)の収束についてです。

例えば、1000サンプルごとにコスト関数をグラフにプロットすることで、以下のことを確認できます。

  • 確率的勾配降下法がきちんと収束に向かっているか
  • 学習率のαの選択は適切か
  • アルゴリズムにバグはないか

また、通常学習率αは固定ですが、より正確なグローバル最小値を得るために、イテレーションが進むごとに学習率αを小さくしていくという方法もあります。これは、確率的勾配降下法がグローバル最小値付近で振動するためです。

Advanced Topic

Online Learning(オンライン学習)

Online Learning - Large Scale Machine Learning | Coursera
Video created by Stanford University for the course "Machine Learning". Machine learning works best when there is an abundance of data to leverage for training....

オンライン学習(Online Learning)は、Webサイトを日々訪れるユーザの嗜好に適応していくための手法です。

固定されたトレーニングセットを使用するのではなく、過去のサンプルは捨てて、常に最新のサンプルのみから学習します。

Map Reduce and Data Parallelism(Map Reduceとデータ並列化)

Map Reduce and Data Parallelism - Large Scale Machine Learning | Coursera
Video created by Stanford University for the course "Machine Learning". Machine learning works best when there is an abundance of data to leverage for training....

Map Reduceとは、2003年にGoogleの伝説的プログラマであるJeffrey DeanとSanjay Ghemawatによって考案された、バッチ処理を複数のパソコンや複数のプロセッサに並列処理させる手法のことです。例えば、4台のパソコンやプロセッサに並列処理させれば、単純計算で処理時間は4分の1になります。

本講義からは脱線しますが、Jeffrey DeanとSanjay Ghemawatの物語はこちらの記事が非常におもしろかったので、よろしければ是非見てみてください。この2人に関する本があったら、読んでみたくなりました。

以上、最後までお読みいただきありがとうございました。

コメント

タイトルとURLをコピーしました