まとめ
コースを修了して、感動しているので勢いで書いておきます。
Courseraの機械学習のコースは、機械学習に興味があって、迷ってるなら絶対やってみたほうがいいのでぜひ!というぐらいに強くおすすめできます。
修了証明書がいらなければ無料で、日本語字幕も付いてるので英語があまりできなくても問題ありません(課題は英語なのでそれなりに英語は読めないといけない)。
エンジニアリング的な知識は前提とされているので、いくつかやってみようと思う人へとしてまとめておきました。
Couseraはこちら
https://www.coursera.org/learn/machine-learning
このレベルの内容の講義がオンラインで受けられる、というのが衝撃的で、今から日本の大学に行く意味ってあるんだろうか、ぐらいに感じながら毎週講義を受けていました。
私が大学に行っていたのは10年以上前だし、特に有名な大学でもなかったので国内でもこのレベルの講義を受けられる大学はあるのかもしれません。
この機械学習のCourseraのコース並のレベルの講義が受けられるならもう一度大学に行きたい。
stanfordならすべての講義がこのレベルなんだろうか。
きっかけ
Courseraを以前から知っているには知っていたのですが、英語だし、難しそうだし、という先入観があって実際にcourseをちゃんとやったことはありませんでした(gmail見たら2012/5月にも同じコースを受けようとしていた)。
たまたま社内で同僚の @teppei_tosa がはてながやってる勉強会にインスパイアされてやってみよう!と声を上げてくれて始まった社内勉強会で受講することに。
私は1月から4月のコースに参加しました。
実際どうだったか
社内勉強会
- 毎週木曜日の始業前に1時間、みんなでビデオを見て、疑問点などディスカッション
- Slackのcoursera部屋で、疑問点などを話せるようにする
- GithubのWikiで情報共有
みたいな形です。この中で大切だと思ったのは毎週木曜日に必ず勉強会を開催して、続ける、という点でした。
定期開催を徹底しないと続かないし、モチベーションの維持という観点で毎週みんなで集まるのは良いことですね。
継続は力なり。ただ、どうしても週に1時間だけだと消化できるビデオは少なくて、コースのスケジュールを維持しようとする場合は週に1h*2ぐらいのペースでないと修了証には間に合いません。
たぶん、1人でこのコースを受講しても挫折してました。仲間は大事だ。
講義
- Week1,2
大学で理系ならちょっとした復習と、Octave/MATLABを使ったことがなければ慣れるための期間、という感じです。
もしここの行列演算とか微分とかで?となる場合は先に↓であげた本に軽くを目を通しておくと良いと思います。
別に理解できてなくても「全然気にすること無いぜ」って感じでAndrew先生が励ましてくれるし、実際大丈夫。
ビデオ見てて「わかんねー」と思っても「別に、こんなの全然理解してる必要はない。使えれば十分だ」という感じで実際に使えることを重視したコースになってるので数学的証明とか気にしなくてもOK。実際に課題は偏微分ができなくても解けるし、「使えそうだ」という実感を持つことができる。
- Week3..7
このあたりはさくさく課題も解けるし、講義も異常にわかりやすいので大学時代に受けた授業はなんだったんだいったい・・・と愕然とする感じです。ただ、課題が結構時間がかかることがあって、私は仕事のプロジェクトが終盤だったこともあって毎週金曜は3-4時とかまでかかってギリギリで課題を出す、みたいな生活ペースでしたorz
日本語の翻訳のタイミングがずれている回があった(忘れてしまった)ので、その回だけは英語をそれなりに聞き取らないと意味が取りづらいかも。全体的に日本語の翻訳はとてもよい感じなので翻訳してくれた方に感謝。Andrew先生の人柄を反映しているすごい良い翻訳になっている気がします。
- Week7~
もうこの辺になると、Quizや課題も解ける自信がついてきて(実際ガイドに沿ってやっていけば素直に解ける)、新しいことを知ることができる喜びを感じながら「あー次のレクチャ早くみたいなー」という感じで昼休みや風呂の時間とか細切れの時間を利用して月・・水あたりでビデオは全部見て、木・金で課題をやる、みたいなペースを確立しました。
課題
これからやってみようと思う人へ
- 線形代数について
行列、ベクトルだけわかればOKで、講義内で補講もあるので大丈夫。
今扱ってる変数が 行ベクトル なのか、列ベクトルなのか、行列のサイズはいくつか、というのを常に意識してコードを書くようにするのがおすすめです。
□ □ □ □ □
なのか、
□
□
□
□
なのか、というのを意識しながらコードを書くのが大切。資料でもxだったりx^Tが混ざってたりするので。
本を読むなら平岡先生(大学の時の学科の助教授でした)の本が評判が今も良いみたいなのでおすすめです。
- 微分について
偏微分、というなんか大学の時にやった気はするなぁ、、、というぐらいの感じでも特に問題なかったので、微分のイメージができてれば大丈夫、だと思います。線形代数の↑の本みたいなイメージが良くつかめる本があると良いのですが。。
- 修了証について
課題の提出期限に間に合わせて最後まで行くと、修了証がもらえます。どうしてもスケジュールが決まってないとダレてしまうし、モチベーションが続かなかったりしそうなので取るつもりで受講するのがおすすめです。修了証の発行は申請してから1週間ぐらいかかるので、早めにお金を払ってしまうのが良さそう。修了証が来るまでもどかしい思いをします。
今後
この2か月、空いている時間をほぼすべてこのコースの受講に投資したので、これから何を勉強しようかな、、と寂しい感じです。久しぶりに体系的に何かを学ぶ喜びを感じる2か月でした。そういう喜びを忘れかけていた。
Courseraのコースで他にもこの機械学習と同じようなレベルのものがあればCourseraのコースを取ってみようかな、と思っています。
機械学習についても、十分に自分で何かを作れるぐらいの感覚を持つことができたので、自分プロジェクトで何かやりたいなぁ、という感じになっています。機械学習についてそんな感覚をモテるなんて思わなかった。