機械学習
MachineLearning
coursera

クリスマスに予定のない理系単科大学の文系出身大学1年生がCourseraで機械学習を修了した話

Coursera/Machine Learning

はじめに

全く右も左もわからない状態から「巷で話題になってる機械学習とはなんぞや!」という疑問を解決するために模索していた大学一年生の僕の行動をまとめたいと思います。
同じような悩みを抱えてる人向けに機械学習への入門(門に入るところ)の標の一つとしていただけたら嬉しいです!

Courseraを始める前に

まずはじめにCoursera(コーセラ)を始める前の自分のスペックを書いておきます。

  • 文系入試を経て(なぜか)理系単科大学の大学生になってしまった、高校数学はⅠAⅡBまで。(数弱だったので頑張って数学偏差値は70程度)
  • 大学の授業では確率・統計、微分積分、線形代数を(一応)受講している。
  • HTMLとCSSで自己紹介をしたページを書いたことがある。
  • rails tutorialは3章くらいで耐えられなくなってやめた。

こんな感じではじめました。笑

...でCourseraって?

ここまで当然のような顔をして話を進めてきましたが、「ちょっと待て、さっきから”Coursera”って一体なんの話をしてるんだ」ってなっているような気がするので簡単に説明させていただきます。

コーセラ(英名:Coursera)は、スタンフォード大学コンピュータサイエンス教授Andrew NgとDaphne Kollerによって創立された教育技術の営利団体である。世界中の多くの大学と協力し、それらの大学のコースのいくつかを無償でオンライン上に提供している。wikipedia

wikipediaの説明にはこう書いてありました。つまり、試験を受けたり・留学することなく世界でトップの大学の先生の授業を無償で受けられる素晴らしいオンラインサービスです!!

講座自体は無料で受けられますが、別途お金を払うとコースを終えた時に修了証をもらうことができます。ただ、現在のcourseraのページで受講しようとすると有料の修了書がもらえるコースをゴリ押しされるので、修了書なんていらねぇ!知識だけよこしやがれ!てやんでぇ!という江戸っ子の方は画面の下に小さく表示されている"audit"の文字をクリックしましょう。ちなみに僕はお金を払って修了証をもらいました。これで僕も名門スタンフォード卒業生。お金を払うと途中でやめられなくなるプレッシャーがかかるのでいいかもしれません。
スクリーンショット 2017-12-24 0.55.12.png

Courseraのながれ

ここで今回僕が受講した機械学習のコースは、Courseraの創立者の一人であるAndrew Ng先生によって行われます。このコースは全11講から構成され、講義は英語で行われます(日本語字幕あり)。僕は1週間に1講で約三ヶ月かけて終えました。もちろん自分のペースで進められるのでもっと早く終えることも可能です。

内容

このコースで触れる機械学習のアルゴリズムを大まかにまとめると以下のようになります。

  • 教師あり学習

    • 線形回帰
    • ロジスティック回帰
    • ニューラルネットワーク
    • サポートベクターマシーン
  • 教師なし学習

    • K-means
    • PCA
    • 異常検知

そのほかにもモデルの評価方法や、講座で扱った機械学習アルゴリズムの実用例なども講座で紹介されます。

課題

この機械学習コースでは授業の週ごとにプログラミング課題が出されることがあります。基本的にはその週に学んだアルゴリズムを実装するものです。僕はOctaveのGUIでコードを書いてターミナル上で提出していました。課題の回答がどうしてもわからない場合はGithubを参考にするという最終手段がありますがどうするかはあなた次第です。

復習

また、このCourseraの機械学習コースの受講生はたくさんいるのでググって見ると講義内容が簡潔に要約されたものが見つかると思うので予習や復習に役立てて見るといいと思います。僕はこちらの方の記事を参考にしていました。

必要な学力は...?

上で紹介したアルゴリズムは全て数式を通して紹介されますが、今回の講座を受けるに当たって必要な数学力は、基本的な行列計算・偏微分(+正規分布など統計学の知識)で十分です。僕は大学に入ってから線形代数や微分法を学びはじめましたが、始めて半年経たないくらいの数学力でクリアできました。しかし、これはあくまでこのコースに限った話なので、機械学習のアルゴリズムと呼ばれるものを適切に理解するためにはこれでは不十分だと思います。

最後に

今回の機械学習の講座を担当されているAndrew Ng先生はその分野における第一人者ですが、受講者のことを非常によく考え・理解して授業を進めてくださるので、ビデオ授業にも関わらず本当にかゆいとこに手が届く授業が行われるため11講の講座も飽きずに終えることができました。このコースを受けただけでは機械学習のエキスパートとは言い切れないとは思いますが、このコースを受けることで「機械学習とは何か」「そしてそれは何に使われているのか」というような疑問は解決できると思います。これから機械学習を勉強をしてみたいと思ってる人にとって0→1の教材としては最高だと思うのでぜひ利用してみてください。