- 代表的な手法は出力とアルゴリズムのタイプで以下のように分けられる。
出力 - クラス 出力 - 数値 教師あり学習 分類 回帰 教師なし学習 クラスタリング 次元削減
- 「クラス」っていうのは、スパムメールかどうか、とか、誰の顔か、とか。
- 機械学習のアルゴリズムには他にも半教師あり学習やアンサンブル学習、強化学習、マルチタスク学習(転移学習)などがある。
- パターン認識では推論問題の手法であるクラス系列ラベリング(CRFs, HMMs...)や数値系列ラベリング(Kalman Filter, Particle Filter...)なども扱われる。
- 生成モデル的アプローチと識別モデル的アプローチ。
- オンライン学習(新しいデータがくるごとに関数を更新)とバッチ学習(全データから関数を学習)。
- ついでに入力がクラスか数値かによって手法を探すとよい。
- ...
- 関連研究を概観したいときは「hogehoge survey」でなんか引っかかったらラッキー。
分類
- 入力$\mathbf{x}$に対する出力(クラス)$y$を求める関数を訓練データ$\mathcal{D} = \{(\mathbf{x}_1, y_1), ..., (\mathbf{x}_n, y_n)\}$から学習する。
- パラメトリックな手法とノンパラメトリックな手法に分けられる(パラメトリックな手法というのはデータの母集団の母数を仮定するもの)。
- 決定木、ナイーブベイズ分類器、k近傍法、アンサンブル学習...
- http://en.wikipedia.org/wiki/Statistical_classification
- http://en.wikipedia.org/wiki/Category:Classification_algorithms
Classification |
クラスタリング
- 似ているデータをまとめてグループに分ける。
- k平均法、混合モデル、階層的クラスタリング、グラフベースクラスタリング...
- http://en.wikipedia.org/wiki/Cluster_analysis
- http://en.wikipedia.org/wiki/Category:Data_clustering_algorithms
Clustering |
回帰
- 入力に対する出力(数値)を求める関数を訓練データから学習する。
- 線形回帰、非線形回帰...
- http://en.wikipedia.org/wiki/Regression_analysis
- http://en.wikipedia.org/wiki/Category:Regression_analysis
Regression |
次元削減
- 高次元のデータをなるべく重要なところは残しつつ低次元に変換する。
- 次元圧縮、次元縮約などとも。
- PCA, Nonlinear dimensionality reduction...
- http://en.wikipedia.org/wiki/Dimension_reduction
- http://en.wikipedia.org/wiki/Category:Dimension_reduction
Dimension Reduction |
TODO
- 具体的な手法の追記
- 詳細の追記
- アプリケーションの追記
- 実装例
- 各手法を特徴に応じて表に整理