機械学習

特に新しい情報はないのですけれど、数年前の僕が欲しかった情報について書きます。のでどなたかにはお役に立つかも。


#機械学習

#定義
<dl>
   <dt>統計</dt>
   <dd>データの要約（合計、平均、分散、etc）でデータを表現する。モデルがすでにあり、それを用いた推測、判別を行う。</dd>
   <dt>機械学習</dt>
   <dd>訓練データから学んだ「既知」の特徴に基づく予測</dd>
   <dt>データマイニング</dt>
   <dd>それまで「未知」だったデータの特徴を発見すること</dd>
</dl>
 c.f. [Wikipedia:機械学習#データマイニングとの関係](https://ja.wikipedia.org/wiki/%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92#.E3.83.87.E3.83.BC.E3.82.BF.E3.83.9E.E3.82.A4.E3.83.8B.E3.83.B3.E3.82.B0.E3.81.A8.E3.81.AE.E9.96.A2.E4.BF.82)

、、、だが、最近は混同されて使われていると思う。特に少し前に流行った「データマイニング」に対し、ほとんど同じ文脈でも新しい言葉として「機械学習」と言われていることが多いと思う。下記表において、

* 多変量解析：主成分分析～決定木・回帰木
* 機械学習・データマイニング：ニューラルネットワーク～アンサンブル学習
と呼ばれることが多いと思う。

#概要
##機械学習手法（多変量解析も含む）
* 2値（場合によっては3値以上）を分ける判別（分類）と、説明変数の組み合わせで目的変数を数値的に予測する回帰の大きく分けて2つの目的がある。

|手法|判別・回帰|教師あり・なし|説明変数が後から分かるか|特徴|備考|
|:--|:--|:--|:--|:--|:--|
|主成分分析|-次元削減|教師なし|||Top10TK（主成分分析・因子分析）|
|回帰分析|回帰|教師なし|分かる||Top10TK|
|ロジスティック回帰|回帰|教師なし|分かる||Top10TK|
|クラスタリング|判別|教師なし|分かる||Top10DM（K-means）、Top10TK|
|決定木・回帰木|判別・回帰|教師なし|分かる||Top10DM（C4.5、CART）、Top10TK|
|ニューラルネットワーク NN|判別・回帰|教師あり|分からない|一時大流行したがその限界が指摘されて下火になったものの、ディープラーニングとして復活している。判別が主だったが最近は回帰も可能。||
|サポートベクターマシン SVM|判別・回帰|教師あり|分からない|欠損値があっても有効、未学習データへの識別性能の高さなどから大流行した。今も使われている。判別が主だったが最近は回帰も可能。|Top10DM, Top10TK|
|アンサンブル学習 ランダムフォレスト RF|判別・回帰|教師なし|分かる|アンサンブル学習の先駆け。今も使われている。|Top10DM, Top10TK|
|アンサンブル学習 バギング|判別・回帰|教師あり|||Top10TK（アンサンブル学習）|
|アンサンブル学習 ブースティング|判別・回帰|教師あり||AdaBoost、勾配ブースティング（XGBoost）精度が良く人気がある。|Top10DM（AdaBoost）、Top10TK（アンサンブル学習）|
<dl>
<dt>アンサンブル学習</dt>
<dd>弱い学習機をたくさん組み合わせて多数決や平均を取り学習するもの。一般にアンサンブル学習以外よりも性能が良いと言われている。</dd>
</dl>
* Top10DM データマイニング学会が2006年に選んだTop10 c.f. [データマイニングで使われるトップ10アルゴリズム](http://d.hatena.ne.jp/isseing333/20111123/1322053940)
    * その他：アプリオリ, EMアルゴリズム, ページランク、K-近傍、ナイーブベイズ
* Top10TK 「東京で働くデータサイエンティストのブログ」で2013年に選ばれたTop10 c.f. [Webデータ分析＆データサイエンスで役立つ統計学・機械学習系の分析手法10選](http://tjo.hatenablog.com/entry/2013/06/10/190508)
    * その他：独立性の検定、アソシエーション分析（バスケット分析）、計量時系列分析

* 実装
    * ほとんどがRで実行できる c.f. [同志社大学 Welcome to Mingzhe Jin's Home Page](https://www1.doshisha.ac.jp/~mjin/R/index.html)
    * また、驚くべきことに200超(2016/03/06現在216）の手法を1つのパッケージにまとめた [caret](http://topepo.github.io/caret/index.html) が存在する。

###その他
* 因果推論
    * ベイジアンネットワーク
    * グラフィカルモデリング

###今の流行
* 深層学習 Deep Learning
    * 今までの機械学習は特徴量を指定する必要があったが、特徴量を自動抽出できる

###次の流行？
* スパースモデリング
    * 値のほとんどが0になるような疎行列の解析
* トポロジカルデータアナリシス Topological Data Analysis(TDA) トポロジカルデータアナリシス
    * [機械学習の森、数学の剣～探索者の憧憬～：トポロジカルデータアナリシスに必要な数学](http://qiita.com/aokikenichi/items/8c86e0b498e5fbe5776a)



#学習方法
##数学
[機械学習の森、数学の剣～探索者の憧憬～](http://qiita.com/aokikenichi/items/be5c9ca78e852a78ea8f)に統合予定

* 大学１年レベルの微分積分と線形代数は必須
    * <a  href="http://www.amazon.co.jp/gp/product/4254116330/ref=as_li_qf_sp_asin_tl?ie=UTF8&camp=247&creative=1211&creativeASIN=4254116330&linkCode=as2&tag=aokikenichi-22">統計学のための数学入門30講 (科学のことばとしての数学)</a><img src="http://ir-jp.amazon-adsystem.com/e/ir?t=aokikenichi-22&l=as2&o=9&a=4254116330" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> 

* 統計学
    * <a  href="http://www.amazon.co.jp/gp/product/4130420658/ref=as_li_qf_sp_asin_tl?ie=UTF8&camp=247&creative=1211&creativeASIN=4130420658&linkCode=as2&tag=aokikenichi-22">統計学入門 (基礎統計学)</a><img src="http://ir-jp.amazon-adsystem.com/e/ir?t=aokikenichi-22&l=as2&o=9&a=4130420658" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> 東京大学出版会

* 位相、最適化、情報理論、などの位置付けが今ひとつ分からない

```
　　　・・・位相　　－－
　　　　　　　　　　　｜－情報幾何？
　　　　｜－微分幾何？－
　　　　｜
微分積分－－最適化－－
　　　　｜　　　　　｜
　　　　｜－統計学－－－機械学習
　　　　｜　　　　　｜
線形代数－－－－－－－

離散数学－・・・情報理論
```