はじめに
Coursera (コーセラ) の Machine Learning を受講しました。受講して良かったこと,苦労したことを書き留めておき,今後,受講する人の後押しができればと思います。
Coursera の Machine Learnin の講座の内容そのものについては,参考 の記事をご確認下さい。
受講したきっかけ
職場で,機械学習や深層学習をツールとして使う人がぽつぽつ出てきました。表面的には何となく話について行ってますが,中身がほとんど分かってません。そこで,緊急事態宣言 (2020/04/07) によって生じた時間で,機械学習を勉強しようと思いました。
勉強方法はいろいろありますが,たまたま Coursera の Machine Learning の紹介記事にたどり着き,トライしてみることにしました。
良かったこと
機械学習の知識が一通り身につきます
単に動画を聞くだけでなく,動画の途中のクイズや,テスト (5 問中,4 問以上正解しないと先に進めない),まとまった分量の課題 (Octave で実装し,提出する) があるので,身についた感があります。
動画の最後の最後に,「ここまで受講した人は機械学習のエキスパートと言って良い」というようなことを言われるので,間違いないでしょう (笑)。
基本的なポイントを押さえることができます
機械学習が正しく動いているか確認するにはコスト関数が各繰り返しで減少しているか確認するとか,機械学習の精度がイマイチのときにデータを増やすのが正しいのかどうかとか,そのような「基本的なポイント」を理解することができます。
Octave を使えるようになります
課題には,Octave を使います。一通りの課題をこなすうちに,Octave を使って普通に計算できるようになります。機械学習以外でも,普通のちょっとした計算にも便利です。
過度に数学に踏み込まない
行列計算は避けて通れませんが,偏微分やアルゴリズムの数学的な背景など,難しい数学については「このコースの範囲外だから」といってスルーしてくれます。でも必要なことは,直感的に理解できるように分かりやすく説明してくれるので,理解が中途半端でモヤモヤしながら先に進むということもありませんでした。
苦労したこと
ニューラルネットワークが山場だった
振り返ってみると,ニューラルネットワークが山場でした。動画に映し出された行列をメモしているうちに説明が先に進んでしまうので,動画を止めて行列をメモした後に,再生して説明を聞きながら日本語訳を追いかけるということをしてました。
課題も,行列の掛け算で次元が合わないというミスを連発して苦労しました。
でもここを越えると,後は下り坂を降りていくようなイメージでした。
Octave のデバッグ
Octave で自分の書いたプログラムが動かないと,解決のヒントが欲しいのですが,周りに聞く人がいません。そんなときは,プログラムが止まったときにコンソールで whos
と打つと,課題のプログラムで使っている変数の一覧がでるので,行列のサイズを確認したり,手動で数式を入力して正しく動くかどうかを確認しました。
今後
ディープラーニングと Python を勉強しようと思ってます。
ディープラーニングは,Coursera に有料のディープラーニング専門講座 があります。ただし聴講だけなら YouTube に同じ講座の動画がある ので,それを聴講しようと思います。
Python も Coursera に有料の みんなのための Python 専門講座 がありますが,違うところで無料の講座を探そうと思ってます。
参考
- [機械学習をゼロから1ヵ月間勉強し続けた結果] (https://qiita.com/junichiro/items/3457e33e502086a200f1)