12億円ほしい人のブログ

メガBIG当たらないかな

機械学習メモ

特徴抽出について少し勉強したのでメモします。

 

線形判別分析(LDA)

PCAと似た特徴抽出の方法。(※あの強塩基ではない)

PCAが教師なしアルゴリズムであるのに対して、

LDAは教師ありアルゴリズムである。

処理としては、以下の通り。

 1.クラスごとに平均ベクトルを求め、さらにそこから行列を生成する。

 2.行列を固有値固有ベクトルに分解する。

 3.固有値の大きい順で所望のk個の固有ベクトルを選択し、変換行列Wを生成する。

 4.Wを使って、新しいk次元の特徴部分空間を生成する。

 

LDAもPCAも、scikit-learnに実装されています。

 LDA : sklearn.discriminant_analysis モジュール

 PCA : sklearn.decomposition モジュール

 

カーネル主成分分析

非線形問題にPCAを適用する方法の一つ。

非線形分離不可能なデータを、非線形的な写像により高次元の空間に写像し、その空間においてPCAを適用して低次元の空間へ再度写像し、線形分離可能とすること。

カーネル」というのは、サンプルデータ間の類似度を計算する関数 と見なされるらしい。(ガウスカーネルなど)

scikit-learnでは、sklearn.decomposition モジュールより KernelPCA で利用できる。

 

・・・などなどと説明せれていますが、その数学的な内容はさっぱりわからなかったです。。。