find100

日常の中で見つけた面白そうなことを発信します

MENU

Courseraで機械学習を学んだ話

f:id:find314:20200720185209j:plain
分かる人には分かるキャラクター

4月の下旬にCourseraのMachine Learningを受講し始めました。おそらくCourseraの中で最も有名な講座だと思います。実際、評価も4.9/5.0とかなり高いです。



下のグラフはこのコースの週(全部で第11週まであります)と難易度を筆者の感覚で付けたものです。
f:id:find314:20200720164925p:plain
第2週目はプログラミング課題に取り組むためにOctaveをインストールしたり、提出方法を確認したりと慣れない作業だったので面倒でした。

おそらくこのコースで最も難易度が高いのは第5週目だと思います。
先生も講座中にしょっちゅう「複雑だから全てを理解できなくても良いよ」的なことを言っています。
筆者はコースの動画を見てもいまいちピンとこなかったのでYouTubeで適当に動画を探しました。

But what is a Neural Network? | Deep learning, chapter 1
この動画はけっこう分かりやすかったです。

筆者の学習スタイルとしては、まず始めに講義で使う資料をあらかじめダウンロードし、そしてiPadのGoodNotesというノートアプリでその資料を読み込んで色々書き込んでいました。

ちなみにプログラミング課題で息詰まったときは、質問フォーラム内で息詰まってるファイル名で検索して上から順に5、6個の質問を見て解決してました。2年前とかに質問されたものよりは3ヶ月前とか比較的新しい質問の方が役に立った印象です。

あとは行列の計算の次元合わせが大切です。分からなくなったら今求めたい変数(θとか)は何行何列なのかを確認するといいと思います。また、式を書く前にそれぞれの変数のサイズを確認しておくと楽だと思います。「size()」で確認できると思うので。

実はCourseraのコースを受講するのは今回2回目で、最初はバイオインフォマティクス関連のコースを受講していたのですが諦めました。なので今回は受講する前にモチベーションをどうやって維持するか、というところが重要だと分かっていたので1週をどのくらいのペースで終わらせるか自分の中で決めていました。

そうは言っても途中から大学が始まったりして(実験だけしに行くスタイル)Courseraに割く時間が減り、予定よりも長くかかってしまいました。2ヶ月ぐらいで修了する予定だったのですが、なんやかんやで3ヶ月ほどかかりました。

特にプログラミング課題が無くなったあたりから、ほぼ修了したも同然でしょみたいな感じになってダラダラやっていました。

まぁ何はともあれ修了できたのはよかったです。

このコースは機械学習の初学者がやるような入門コースなので厳密な数学的説明はほとんどありませんが、より深く学習したいなら別の資料を当たるのが良さそうです。基本的にはコースのレベルとこのコースを受講する人の要望がマッチしてるような良質なものだと思います。

あと日本語以外の言語で自分が興味あることを学べたのはいい経験かなぁと思いました。先生が言ったことは全てスクリプトとして見れるし、字幕も付けられるので言語の面ではそんなに心配はいらないと思います。

最後に先生から受講した人たちに向けたメッセージがあるのですがけっこういい感じで(語彙力)、3ヶ月間いろいろ考えながらやってきて良かったと思えるような内容でした。正直言って全ての動画やプログラミング課題が完了したあとにだけ見れるようにしてもいいと思いました。

一番最初にアレを見たら台無しになるのでは・・・。