わくわく技術ブログ

プログラミング・統計・機械学習

Coursera Machine Learningコースの受講感想

Coursera Machine Learningコース https://www.coursera.org/learn/machine-learning を修了しました。

世の中に感想はあふれていますが、人それぞれだと思うので自分の感想とどんな人にオススメするかをまとめました。

受講前の筆者の前提知識/能力

  • SI企業勤務プログラマー
  • 理系の大学院修士卒なので数式耐性はついている
  • 機械学習は完全素人ではなくて、「ゼロから作る Deep Learning」等の書籍を かる~く流し読み したりしている。ただし、 実装はしていない
  • 英語は集中して聞けばある程度は分かる。

受講のきっかけと前評判

Qiitaか何かの 機械学習を学ぶならコレ! みたいな記事で知る。

検索をしてみると、Coursera Machine Learningコースは色々な記事で「とても良い」との評判であることを知る。

今の自分のレベルに合っているかは分からなかったが、有名かつ評判の良いものなら時間のあるときにとりあえず受けてみようと思いたつ。

ついでに英語のリスニング練習になったらいいなとも。

感想

良かった点

次の2点がこのコースの良い点だと思う

  • 確実に 「自分で考えながら実装する」工程を踏める
    • 一人では「ふむふむなるほど~」といって数式を流し読むか、よくて写経。答えが広がっているのを写すより、講義資料などをコードに落とす方が時間がかかるが理解が進んだと感じる。
  • 本質でない実装は省ける
    • 機械学習で何を試すにも、データの用意や読み込み,結果の可視化が必要になる。これらは業務上必要ではあるが、ツールの使い方を調べれば良いだけでもある。それらが先に準備されていて、学習対象のアルゴリズムの実装に集中できるのは手間が省けて良い。
  • 講師の考える 「大事なポイント」がわかる
    • 書籍では紙面の都合で「第○章を参照」みたいになってしまうことも、動画の授業なので「○○でも触れたが、こういう時には××するのが大事だ!」みたいに繰り返し教えてくれる。
  • 機械学習技術者のための教養の範囲を抜けないようになっている
    • プログラミングの学習時には教養としてデータ構造やアルゴリズムの実装を学びます。それの機械学習版くらいの内容という感触。深煎りしないようにかなり気をつけた講義だった。

Machine Learningコースというよりは、Courseraの利点かもしれない。(他コースを受講したことがないので)

(自分にとって)いまいちだと思った点

無料のコースなので、不満を言いたいわけではないものの..

  • 日本語字幕があるとはいえ辛い
    • 動画の数式を見ながら日本語の字幕を追うのは思ったよりも難しい。字幕が映像と少しずれてくる事が多いので尚更。誤訳らしきところもあるので、英語だけで理解できる人とはやはり受講のしやすさはかなり違うと思う。
    • 「きれいな英語」との評判だが、受験のリスニング問題みたいなものを想像していたらさすがに違った。
  • かなりの時間を費やす
    • 「約55時間で修了」のコース。丁寧なぶんだけ、時間を多く使ってしまう。個人的にはもう一回り早くて良いと感じた。

その他

  • PythonでもRでもなくMatLab/Octaveなのがちょっと…」という声もあるが、その点は大きな問題ではないと思う。どちらかというと、PythonのNumPyやMatplotlibはMatLabを参考に作られてるんじゃないかと思う。(CやJavaしか触ったことないとエッってなると思う。)
  • 同じCoursera内の他の講義の紹介とかあっても良いのではと思った。似た名前の講座が多くて選びにくいので。
  • ちょっと古い講義なので、その分は勘案して見たほうが良いと思う。「ここまでの内容を理解していたら、シリコンバレーでフルタイムで働く多数の人間よりも効率良く問題に適用できる」とか途中で仰ってますがさすがに今はお世辞にしても違うのでは。
  • リスニング練習になったかは疑問。

誰にオススメするか

次のような人が受けるととても効率が良いと思う。

  • 英語だけでもなんとなく話が分かる
  • 少なくとも高校理系の数学知識がある、できれば大学1年次レベルの知識がある
  • 機械学習は概念的なことは何となく理解しているけど、どういう数学が裏あるのか知らない

逆に、これらにあまり当てはまらない人には必ずしも勧めない。英語も数学も分からないので見るのは苦痛だろうし、機械学習のことを数式レベルである程度理解していたら、日本語の書籍を見て実装をしたほうが時間効率としては良い。

自分は時間があったから最後まで受けたし、受けてみないと向き不向きも分からないわけだが、人生における時間の割り振り方というのは難しいので、これがベストな解になる人はそこまで多くないのではないかと思う。(とはいえ、大きく後悔する人も少ないと思う。)