2015-2016年の年末年始を利用してはやりの機械学習で遊んでみようと思った。mofmof inc.はRailsの会社だけども、新しいテクノロジーも積極的チャレンジしていきたいのでね。
機械学習の超初心者は何から始めるべきか?
ざっと情報収集したところ、このエントリが大変参考になった。
「数学を避けてきた社会人プログラマが機械学習の勉強を始める際の最短経路」
http://qiita.com/daxanya1/items/218f2e3b922142550ef9
まずは機械学習とはなんぞや?という疑問には以下スライドがよさ気。
機械学習チュートリアル
http://www.slideshare.net/unnonouno/jubatus-casual-talks
独学だったらCourseraというオンライン講座で学習するのが鉄板ぽい(安心してください、無料です)。
Coursera
https://www.coursera.org/
Machine Learning
Stanford University
って書いてある講座を選べば良い。基礎の座学と随時練習問題が差し込まれるので理解度を確かめながら進められる。機械学習全くやったことない人とか数学苦手な人は苦戦するかもだけど、根気強くやればちゃんと理解しながら進められる。
学習ついでに自分の理解をまとめておきます。
機械学習のアルゴリズムの種類
教師あり学習
ある事象の結果と、条件のセットを与えて学習させるものです。例えば、家の敷地面積(条件)と実際の売却価格(結果)のセットを流し込んで、機械学習させるというようなものが当てはまります。
さらに求めたい結果値の性質によって、回帰問題と分類問題というものが存在します。
回帰問題
予想結果値が連続的であるもの。家の売却価格を予想したい場合は、論理的にどんな数値でも返る可能性があります。角度・気温などに使われたりする。
分類問題
予測結果値が予め定義しておくことができるもの。スパムフィルタのように、スパムかどうか(yes/no)の2択になるようなケースは分類問題にあてはまります。
教師なし学習
明確な期待値がなく、データしかない状態から、一定の傾向値でクラスタリングするものです。例えば、Googleニュースのように、ある記事に関する同じテーマを扱った記事にリンクしたいっていうようなケースが当てはまります。
ちょっと文章だけで説明するのが難しいけども、Coursera見てもらえれば理解できると思う。
続き
学習継続中ですが、たぶん比較的簡単な回帰問題のひとつ線形回帰について学習していこうと思います。ちょっと既に進めていますが、数式がガンガン出てくるのでなかなか骨がおれそうです。