コンペで挫折。Courseraで機械学習の基礎を学ぶ

はじめに

こんにちは。最近はリモート〇〇が流行っていますね~。世の中の変化をひしひしと感じております。

私も読書、勉強を始めました。

お題の通り、オンラインMOOCの中でも有名なCourseraで提供されている、機械学習(Machine Learning)コースを学んできました。今回はその報告になります。

 

「今持ってるスキルはもう役には立たない。いやそもそもスキルなんて持っていない。」そういった不安が先行した結果、何かしようともがいているのかもしれませんね。

不安が動機なら、今後の努力には繋がらないはず。"記事を書く"という試み自体が私にとっては実験なのです(語り口調)。

 

この学習を始めたきっかけ

テクノロジーへの興味から、機械学習を使えるようになりたいと考えるようになりました。

これまでのざっくりとした経緯は

  1. データ整理を自動化しようとする。pythonと出会う。
  2. 教科書を参考に簡単なプログラムを実装
  3. 出来たプログラムを何度もブラッシュアップ。機械学習にも触れたい
  4. Kaggleなる機械学習コンペを見つける
  5. データの前処理でつまづきまくる&学習モデル全然わからない…
  6. データの前処理を勉強する
  7. 機械学習を勉強する(現在)

といった具合です。

Qiitaなどで教材を探していると、まず挙がってくるのがオライリーの教科書。次にオンライン学習サイトです。最近はProgateのように、カジュアルにプログラミングを学べるサイトがあり、私も楽しく学ばせていただきました。

 

私が初めて機械学習を学んだサイトは、AI Academyでした。ここではいくつかのコースが無料公開されていました。ページのデザインがProgateと似ていて、とっつきやすかったです。

 

Kaggleという機械学習のコンペでは、機械学習エンジニアの先輩方が公開したコードを見て学習することができます。データの前処理と、機械学習系のライブラリに関する知識、読解力が必要になると思われます。そして本記事に至る…

 

Coursera で 機械学習(Machine Learning) を学ぶ

学べること

・行列の計算

Matlab互換のOctaveというプログラミング言語を少々

機械学習アルゴリズム

・実装のコツ

 

本講座はスタンフォード大のアンドリュー・エン教授が講師を務めています。

約2か月半のカリキュラムとなっており、週あたり6時間ほど取り組めば終わる量です。

本講座は無料で公開されています。終了証が欲しい場合、有料で発行してもらえます。

 

www.coursera.org

 

 全11章構成で、章ごとにプログラミングの課題が出ます。グラフを描画するコードがすでに書かれている状態で配布され、穴埋

め形式のように習ったアルゴリズムを書いていくだけなので、matlabを触ったことが無くても問題はありませんでした。

matlabは有料ですが、octaveというmatlab互換の言語が無料で使えます。動画内でも導入から丁寧に説明されるので心配はありません。

 

ひとつ欠点を挙げると、授業が英語であり、ある程度のリスニング力が求められることがあります。でも、大丈夫です!意識低い系大学生の英語レベルでも問題なく受講できます。

講義のスライドがとても分かりやすく、日本語字幕にも対応していますので^^

 

 

こんな人にオススメ

機械学習の理論を学びたい

アルゴリズムに興味がある

・プログラミング経験はあるが、スキルに乏しい

・まとまった時間を取るのが難しい

・お金はないけど学びたい

自分の学校の授業がつまらなかった・ショボかった

 

感想

  1つのビデオが8~14分と観やすかったです。しかし、眠い時は眠いです。

課題の難易度は丁度よく、動画をしっかり観ていれば難しいことはなかったです。ただし、プログラミングでよくハマる方はその分根気が必要かな、と思います。一度ハマったらムキにならずに、昼寝や気分転換することを強くお勧めします

 

 講義のレベルとしては、数Ⅲ・Cを学んだことのある方向けかな、と感じました。カリキュラム全体の難易度を見ると、4~6週目がピークに感じました。行列やアルゴリズムが複雑になってくるにつれ、octaveプログラミングのテクニックもある程度必要になってきます。私はこのあたりでスローダウンしました。学習目標は一旦無視して、自分のペースを貫いた方が精神衛生上よかったなあと反省しています。

私はハマった時にはよくディスカッションフォーラム(掲示板)を覗きに行きました。同じような所でハマっている同志を簡単に探すことができました。とても助かりました。

 

 とりあえずは、pythonでの実装を学んでコンペ再チャレンジしようと思います!ありがとうございました!