プログラミング初心者が機械学習を1ヶ月勉強し続ける #day9
今日の目標
Machine Learning - Stanford University | Coursera
を始めてから8日目となります。
残りWEEK9,10,11ですが、10と11はすぐに終わりそうなので今日中にこのコースを修了します!
9日目でやった事
Machine Learning WEEK9 終了
全部でかかった時間:9時間
難易度:★★☆☆☆
内容
異常検知
・異常検知vs教師あり学習
・特微量の決め方
多変量ガウス分布
・異常検知
・original model vs 多変量ガウス分布
Recommendation system
・low rank matrix factorization
感想
教師なし学習の続きです。前半の異常検知は分布からいかにそれるかを数学的に計算する手法であり、感覚的にもかなりわかりやすかったです。
後半は映画のレビューサイトでオススメの映画を表示する仕組みを例にして、recommendation systemを学びました。いきなり具体例から入っていったのでかなり面白く授業を聞けました。プログラミング課題は実際に映画レビューのデータを学習させて、自分の好みの映画を入れるとオススメの映画を表示するアルゴリズムを実装できたのがかなり楽しかったです。
課題自体はベクトル化して考えるとほんの数行で書けてしまい、改めてOctaveの利便性を実感しました。(pythonでやったことないので比較はまだできませんが、、)
最後の集大成のプログラミング課題でしたが今までで一番スムーズにいけた気がします。recommendation systemは自分で実装できたらかなり面白そうです。
Machine Learning WEEK10,11 終了
全部でかかった時間:3.5時間
難易度:★★☆☆☆
内容
・バッチ最急降下法
・確率的最急降下法
・ミニバッチ最急降下法
発展的トピック
・オンラインラーニング
・Map reduce
Photo OCR
・Sliding window
・データ生成の方法
・ceiling analysis
Last message
感想
プログラミング課題はなく小テストだけなので、ある意味気楽に授業を聞けました。
今まで習ったことに対しての補足や、実践的に機械学習を行う際の流れ、実装で注意すべきポイントを学びました。かなり実践的なアドバイスもあり、(10倍のデータを得るためにはどれくらいの時間がかかるか自問せよ、など)最後の最後まで重要な内容でした。
特に実際にphotoOCRのアルゴリズムを実装するためにはどのような過程があるのか、今まで自分たちが習ったアルゴリズムに分解して示されたことで、今まで習ったことを応用すればここまでできてしまうのか、と驚きました。また、オンラインラーニングなどは身近なところでもたくさん使われていて、グノシーなんかもこれを使ってニュースを個人にカスタマイズしているのだと思います。
最後のメッセージも良かったです。。AndrewNg先生は生徒のことを本当によく想像して、もしくは知っているのだなと思います。つまずきやすいポイントを完璧に理解しているので、そこは説明を増やすなどの工夫があり、初学者の自分でもほぼ完璧に授業の内容は理解することができました。
これが無料で受けられてしまうなんて素晴らしいですね。
お金を払ってでも十分満足できるコースだと感じていたので、課金して記念に修了証を発行しました。
機械学習面白いな、本当に受けて良かった。
Ng先生のDeepLearningのコースもあるようなので、それもそのうち受けようと思います。
明日に向けて
あー疲れたと思ったらいつの間にか朝4:30になってました。なんとかmachine-learningのコースを修了できたので謎の充実感があります。
さて明日からはpythonを頑張ります。
「入門ノート」使うか、DATACAMP使うかちょっと迷ってます。
DATACAMP試してみて合いそうだったらそっちでやるかな。。