CourseraのMachine Learning(機械学習、ML)の2014-06..2014-09の回(003)を 受講した。

(2014-03..2014-05の回も受けたけれど、途中で時間が無くなってドロップして いた。)

  • 課題: (Peer Reviewなし。課題は毎週ある)

  • 所要時間: (毎週何日くらいかかるか:4-8時間)

  • 期間: (全何週間か:10週間)

  • 前提知識: (コースを理解するのに必要な前提知識:高校入学程度の算数と英 語。何らかのプログラミングの経験があると楽。)

  • いいところ・このコースを取るとできるようになること:

    • 機械学習の入門者向けの基礎知識をカバーしている。線形回帰に始まり、 ニューラルネットワーク、SVM、クラスタリング、協調フィルタリングといっ た主要トピックを幅広く知ることができる。

    • 加えて、プロジェクト戦略や大規模データへの取り組み方といった、実際 に応用する際の注意点も知ることができる。

    • 内容は比較的高度であるにもかかわらず、教え方も教材も丁寧で工夫が盛 り込まれており、努力しさえすれば理解しやすいようになっている。

  • できないこと・制限

    • 手取り足取りで、高度だと思われている機械学習の面白さを垣間見させて くれるという作りなので、現実世界の問題に応用するためにはさらに学ぶ 必要がある。

講義ビデオについては、Arinoさんをはじめボランティアの尽力で日本語字幕が 提供されているので、英語が苦手ならそれを頼ればよい。

英語で受講する場合、Ng先生の英語は、非ネイティブには少し聞き取りにくい部 分があるかもしれない。でも懇切丁寧に教えてくれるので、内容を理解する上で は大きな問題ではない。そのうち慣れるし、英語字幕を併用するのも手。

数学は高校1年程度でなんとかなると思う。行列計算は最初の週に復習がオプ ションで用意されている。

プログラミングは、一応コース内で教えてはくれるけれども、Octaveの行列の記 法に慣れるのにそこそこ手間暇がかかる。Octaveに慣れないと課題をこなす速度 が追いつかず挫折しがちだけれど、コース内の演習だけで習得するのは無理があ るので、自分の程度に合わせて課外で自主的に学ぶ必要がある。

時間は相応に必要。手を動かさないと内容を理解しにくいので、Octaveを使える PC環境と、連続して集中できる時間が必要。内容に関してもツールに関しても、 未経験なら、環境を用意して時間を割いて手を動かさないと、簡単に落ちこぼれ うる。

あるとき2週間分のビデオを見直す必要があり、それに2時間かかった。その後 review questionsに1時間、programming exercisesの必須問題のみで2時間。連 続で4時間割ける機会を毎週用意しないと厳しい。stats1と比べるとmlは1.5倍く らい手がかかる印象。期間は短いけど。

私の場合、通勤中に講義をざっと視聴しつつ、朝晩にPCでビデオ埋め込みのクイ ズの確認をし、週末に半日から1日を使って演習と課題をこなすという感じだっ た。拘束時間が長い仕事が他にあって余暇にこれを受講するとなると、そこそこ 覚悟が要る。ただし資料読みやレポート書きがない点は非ネイティブにとっては 非常に楽。

遅れると挫折しがちなので、とにかく脱落しないことを最優先に進めるとよいよ うに思う。がんばってWeek 5のneural networksくらいまで脱落せずにこなせ ば、そこまでにペースはつかめているだろうから、あとは比較的楽だろうと思う。

  • クイズ(review questions)の進め方

    • クイズは選択肢の内容や順序が変わるので毎回ちゃんと読む必要がある。 面倒と言えば面倒だけど、注意を喚起してくれて進度確認に役立つ。

    • たいてい答えそのものが講義中に示されているので、行き詰まったら仮の 回答を立てた上で講義をよく聞き直すこと。なお課題に含まれるドキュメ ントよりもforumに投稿されたtutorialのほうが正しいことがあるので注意。

    • Review questionsは再挑戦に10分間のインターバルがある。いい対策だけ れど忙しい人は注意。締切直前にぱぱっと済ませようとすると危ない。

    • 困ったらforumを見る。同じような質疑が投稿されていて解決することが多 い。困っていなくても、課題に取り組む前にtutorialやテストケースや既 知の落とし穴をチェックしておくと、無駄を省ける。

  • 課題(programming assignments)の進め方:

    • まずforumを見てtest casesを探す。

    • Stats1のような出題趣旨のブリーフィングを兼ねたlabが用意されていない ので、出題の趣旨を理解しにくいかもしれない。forumのtutorialや、ビデ オの見直しが有効。

    • 行列のサイズを合わせないと計算が進まず値の比較すらできない。計算で きて値が出た段階がスタートライン。

    • Octaveに慣れないまま進もうとすると課題で長時間足止めされるので、早 いうちに慣れておいたほうが効率が良い。目処としては行列操作の感覚が 身につくまで。

    • Programming assignmentsの採点にも再試行のインターバルがある。 submit前にテストケースで確認すればよい。

  • その他:

まとめ

この機械学習のコースはCourseraの看板だけあって、とてもよくできている。 目に留まったところだけ挙げてもこれだけの工夫が見られる:

  • ビデオの途中でミニクイズがあり自分の理解度を確認できる。

  • スライドに順を追って描き込みながら説明してくれる。

  • 文字が大きくて見やすく、色が活用されている。

  • 言い間違いが少ない(おそらくちゃんとリハーサルしている)。

  • TAが熱心。

教え方や構成や教材が洗練されており、感心させられる。そして、そのおかげで わかりやすい。非常におすすめ。