スタンフォード大学が提供するCourseraの機械学習コースの課題を日本語訳して、GitHubに公開してみました。
課題に含まれるPDFとスクリプト内のコメント部分を日本語訳しています。
以下のような方(で特に英語で苦戦した、しそうな方)にとって、役に立つのではないかと思います。
- これから機械学習の勉強を初めてみようと思っている方
- このコースを受けたけれど、挫折した方
- 講義のビデオは見たけれど、課題をやっていない方
- このコースを既に修了したけれど、オプションの演習などを飛ばした方
- このコースを既に修了したけれど、スクリプトの細部の実装などを見ていない方
- このコースを既に修了したけれど、今の自分の能力を確認したい方(例えば、受講当時よりも、洗練されたOctaveの実装ができるかを確認してみる)
- Octave以外の言語(Pythonなど)で課題を1から実装してみたい方
- 機械学習の基礎を勉強し直したい方
誤訳などを見つけたら
思いの外、量がたくさんあったので、翻訳が雑になってる箇所があることは自覚しています。以下を見つけたら、プルリクエストやイシュー登録していただけると助かります。もちろん、このページにコメントしていただいてもかまいません。
- 誤訳
- 翻訳の漏れ
- 翻訳の改善(意訳など)が必要
- 用語や表現の不統一
- Typo
専門用語の日本語訳は、最も一般的と思われるものを選択したつもりですが、そうでない場合は教えていただけるとうれしいです。
まだこのコースを受けていない方へ
このコースを受講する前提条件(必須条件)は、高校レベルの数学がきちんと理解できていることだと思います。前提知識には微分積分なども含まれるので、そのあたりの知識が無い方やしばらく数学と離れていた方は、以下の本を読んでおくといいかもしれません。
この本は、機械学習の習得に必要最低限の数学の知識が得られるような構成になっています。一般的な機械学習の理解には必要のない数学の分野(幾何学など)については、この本では扱わないので、高校数学を一からやり直す必要は無いと思います。
必須ではないですが、あると理解しやすい知識は、以下です。
- 線形代数
- Octave
- 英語
ただし、最初の2つはコース内で割と丁寧に解説してもらえるので、知識が無くても問題ありません。意外と要求されるのは3つ目の英語力かもしれません。というのも、以下のようなことがあるので、英語ができる人とそうでない人とでは、学習時間にかなりの差が出るからです。
- 一部のセクションに日本語字幕が無い
- 日本語字幕に、誤訳や日本語として分かりにくい箇所がある
- 日本語字幕が一瞬で消えることがある(長文が0.1秒レベルで消えたり)
- 日本語字幕のタイミングがずれているセクションがある(徐々にずれたり、まったくあってなかったり)
- 「feature」を「フィーチャー」と訳したり、「機能」と訳したり、訳がバラバラなことがある
- 字幕とプレゼン資料の両方を見ないといけない(字幕が邪魔でプレゼン資料が見えにくいことも)
- 要約と課題は全て英語
こういった小さなトラップ(?)がところどころにあります。数学的な証明を省略しているようなセクションに限って、字幕が徐々にずれたりもします。その上、英語の音声をミュートしていたりすると、証明を省略したことが分からないので、途中から理解不能になります。それから、以下のようにそれまで全く出てこなかったことば(「ガウス分布」)について、急に言及する箇所もありました。
しかし、実際に英語ではそんな話はしていません。
そんなときは、英語の字幕テキストを見て下さい。
※そうは言っても、字幕があるおかげでかなり助かったので、翻訳してくださった方にはとても感謝しています。
ちなみに字幕はWeb上で日本語化できるようになっているので、後で見る人のために余力がある人は、未翻訳部分や誤訳を翻訳していただけると、これから勉強する人のためになると思います(私も時間があればやりたいですが...)。