CourseraのMachine Learning講座を終了しました。
リンク先: Coursera
受けてみた感想
非常にわかりやすかったです。
自分は高校・大学時代は数学のできが悪かったので、数学に対する苦手感が激しかったし、コーディング技術にもそこまで絶大な自信がなかった状態だったのですが、思い切って受講してみよう思い、このコースに挑みました。
そんな自分でも、なんとか最後まで走破できたので、もし自信がなくて足踏みしている方がいるなら、ぜひ挑戦した方がいいよ!と言いたいです。ここまでわかりやすい授業ができるAndrew Ng 先生は、本当にすごい。
受講すると、何がわかる?
機械学習の学習プロセス、学習メソッド、そのメリットやデメリットなどがわかります。
ただ、受けてて思ったのは、まだまだこれは入門なんだろうなという事。本格的にやるなら、論文読んだり、専門書読んだりという形になると思います。自分はプログラマなので、どこまで専門的な領域まで突っ込まないといけないかは謎ですが。
さて、肝心の当コースについてですが、すでに何名もの方が書かれているので、自分は概要だけ下にさらっと記述します。
教師あり学習
学習メソッド
- 線形回帰
- ロジステック回帰
- ニューラルネットワーク、誤差逆伝播法、SVM
内容を少し説明すると、医療検査から得られた数値から、ガン患者を検知したり、購買する家屋の値段を家の大きさや、部屋の数から予想するケースを例にあげて話が進んでいきます。このタイプは、学習の際に答えを提示してあげる必要あり。
予測値と実測値(教師データ)の差分を求める関数(損失関数といいます)を扱う。損失関数の値が少ないほど、学習が進んでいることになる。コストの収束ポイントの検知は上の導関数を繰り返し処理にて求める。といった話がメイン。
教師なし学習
学習メソッド
- K平均法
- 主成分分析
- 異常検知
写像、カーネル関数などでの次元を落とす話などがメイン。あとは損失関数の収束パターンなどについてとか。上に記述した教師あり学習は、分類、予測値を出すために使われることが多いが、教師なし学習は記事のカテゴリ分けやクラスタリングに使われることが多いらしい。
その他
bias/variance、標準化、学習データを集める際のポイント、などなど
あと、Octaveが少し使えるようになります。
今学んでいること
いまは、ゼロから作るDeep-Learningを読んでいます。また読み終えたら、記事にします!
最後に
ゼロから作る~を終えた後は、NLP(Natural Language Process)を勉強しようと考えているのですが、もしお勧めの本ないしオンラインコースなどをご存知な方がいましたら、アドバイスいただければ幸いです。
とりあえずは、この辺りをやればよい?
https://github.com/oxford-cs-deepnlp-2017/lectures
言語処理100本ノック
ではでは。