動機

以下の記事をQiitaで見つけて、これはいいなと思い受講してみました。

qiita.com
qiita.com

感想

学習期間

  • 2月初旬に始めていたはずなのだが、結局終わったのは5月下旬。4ヶ月かかっている。
  • 本来3ヶ月で終わるべきだが補習授業みたいな感じで期間を延ばしてもらえる
  • Courseraの携帯アプリを使って電車とか布団の中でもできたのでそれはよかった

難しさ

  • 振り返るとWeek2とWeek5が鬼のように難しかった
  • プログラミング課題はOctaveと線形代数に慣れてくるとクリアできるようになった
  • 英語のリスニング力は字幕のおかげで必要なし
  • それよりもリーディング力がないとついていけないだろう

学習しとけばよかったものについては以下に
nantonaku-shiawase.hatenablog.com

学習内容の振り返り

文系エンジニアにとっては、とにかく「行列、線形代数」、「ニューラルネットワーク」の理解が突破のカギのように思います。

  • Week1
    • 線形回帰、機械学習の概要、目的関数、最急降下法
  • Week2
    • 行列、線形代数、多変量のための最急降下法、特徴値の圧縮、平均の正規化、学習率、特徴値と多項式回帰、正規方程式
  • Week3
    • ロジスティック回帰、複数要素の分類問題、オーバーフィッティング問題の解決
  • Week4
    • ニューラルネットワークの概要
  • Week5
    • ニューラルネットワーク、誤差逆伝播法
  • Week6
    • 交差検定、偏りと分散、学習曲線、歪度のあるデータ
  • Week7
    • サポートベクターマシン、カーネル法
  • Week8
    • K平均法、主成分分析
  • Week9
    • 密度推定、協調フィルタリング、行列の分解
  • Week10
    • ミニバッチ、大規模データの処理、Map-Reduce
  • Week11
    • Sliding Window (移動窓) 解析

学び

  • 機械学習のモデルを作るときは「その判断に十分な情報がある状態で人間の専門家であっても判断できる」ことが必要である
    • 人みたいないわゆる人工知能はできないのは賢明な諸兄には周知の通りだろう
    • だが、どんな人でも容易に解答可能な事象*1であれば機械学習はこれを実行できる*2、これはいろいろなことの自動化につながるだろう
  • 機械学習の精度を上げるには正しい数学的アプローチも必要だが、データ量が一番大事
  • 機械学習の定義は明示的なプログラミングなしに処理を自動化すること

ちょっとまだ良さを語り尽くせない。人間と機械で得意なこと違うので、思わぬところがデータ次第で判断できたり自動化出来るはずだ。

今後

  • とりあえずJulia言語と、あと他になんか機械学習フレームワーク使っておもろいことをやりたいです
  • はてな社の人たちは同じ講座のアルゴリズムをやっているらしいのでそれもやりたいなあ…*3

developer.hatenastaff.com

*1:画像が何を示しているか?とか

*2:データがあれば

*3:そして競プロへ…