Python Machine Learning Ch5
by mmyoji
2 min read
前回 の続き
概要
第5章 次元削減でデータを圧縮する
前回は前処理についてざっくりと説明があった
この章は次元削減のみに絞って3つの手法を解説
- 主成分分析 PCA
- 線形判別分析 LDA
- カーネル主成分分析 による非線形次元削減
数学的な説明は式が意味不明だったのでがっつり飛ばした
5.1 主成分分析による教師なし次元削減
PCA: Principal Component Analysis
- 様々な分野で広く使われている
- 教師なし線形変換法
- 主に次元削減タスクに用いられる
- 特徴量同士の相関関係に基づいてデータからパターンを抽出するのに役立つ
- 特徴量が異なる尺度で測定されていて、全特徴量に等しい重要度を割り当てたい場合は事前に標準化しておく必要がある
共分散
固有ベクトル, 固有値
5.2 線形判別分析による教師ありデータ圧縮
LDA: Linear Discriminant Analysis 線形判別分析
- こっちは教師あり
- 分類タスクだと PCA よりこっちが優秀なことが多い
ModuleNotFoundError: No module named 'sklearn.lda'
となったので調べてみたら
sklearn v0.19.1 では sklearn.discriminant_analysis.LinearDiscriminantAnalysis
を使わないといけなかった。長い
ほとんど理解できなかった。
5.3 カーネル主成分分析を使った非線形写像
カーネルPCA (kernel PCA) を使って、線形分離できないデータを(線形分類器に適した)新しい低次元の部分空間へ射影する方法を見る
まずデータをより高次元の変換。この高次元空間では標準PCAを用い、より低次元の空間へ再び射影し、サンプルを線形分類器で分類できるようにする
そのままやると計算コストがでかくなるので、「カーネルトリック」を使い計算量を減らす