Coursera の Machine Learning

Coursera というオンライン学習サイトに Machine Learning という講座がある。6月から受講開始して約3ヶ月。ようやくすべて終えることができた。受けて本当に良かったと思っているので、紹介したいと思う。


この講座を知ったのは、たしか5月くらいだったと思う。「機械学習」と聞いてはじめに思ったのは、オイラに理解できるわけないだろう、と。しかしちょうど音楽解析に興味を持ち始めた時期ということもあって、とりあえずやれるところまでやってみて、ダメだったらそのときやめればいい、って思ってた。


そして6月に講座が始まる。


…やっぱりかなり難しかったw


大体週に5-7時間の時間を、講座と課題の作成に取られた。仕事しながらこのくらいの時間を確保するのは、なかなかに大変だ。特にここ数カ月は仕事のほうがかなり佳境に入ってきてて、平日はほぼ家に帰って何もできない状態だった。仕方なく、休日にまとめて課題を進めることで、なんとか毎週の課題提出期限を守っていた。

ただ、時間確保が難しかったものの、講座の内容自体はすごく興味深いものだった。機械学習について何も知らなかったオイラが、その面白さにぐいぐい引きこまれていく。夢にまで見てうなされるほどになるw 機械学習なんてオイラには…と思っていたオイラが、気がついたらどっぷり興味を注ぐようになってしまっていた。


機械学習を学ぶのに、10週間という期間は短いのかもしれない。しかし機械学習の世界に興味を持ち、足を踏み入れる第一歩としてはすごく良い内容だったと思う。

コースの内容

コースは全体で10週。毎週1つか2つのトピックを扱う。内容は

  • Video Lectures
  • Review Questions
  • Programming Exercises

の3つからなる。まず Video Lecture で動画を見ながら講義を受ける。英語の講義なのだが、日本語の字幕を出すこともできる。翻訳の質もなかなか良い。"We" が「我ら」とか、「そんなことはやらん」とか、言い回しが多少変なところもあるがw 内容を理解する上では全く支障はない。英語のヒアリングが苦手という人でも、字幕を見れば大丈夫だろう。

講義の内容を理解したら、Review Questions を受ける。これは講義の内容をもとにした選択式の問題。コースを修了するためには、毎週設定された期限内にこのテストで平均8割をとらなくてはならない(期限を過ぎるとペナルティがつくが、一応評価はされる)。

もうひとつ、Programming Exercises というプログラミングの課題もある。これは、講義で学習したことを実際に手を動かしてプログラミングするというもの。これがなかなか面白かった。課題では Octave という言語を使用する。(MatlabライクとのことらしいがオイラはMatlab使ったことないから分からない)。Octave は初めて触ったのだが、まぁ普通のプログラミング言語を扱える人であればそれほどハードル高くないかも。この課題もオンラインで採点されて、一定以上の正解を出す必要がある。

※ Review Questions と Programming Exercises は英語の問題文のみ。ここだけ英語をたくさん読まされる。


機械学習は興味あるけど、自分とはあんまり縁がないし…そんなエンジニアの人にこそ、この講座をオススメしたい。あ、ちなみに無料です。


で、10週すべてクリアしたのはいいのだが、ただ覚えただけでは意味がないので、これを実世界で応用したいなぁなんて考えてる。特に音楽関連で何か活かせないかなぁと目論んでる最中。

あと、次はやっぱPRMLなんだろうか…(汗