主成分分析の効能とステップ

Python機械学習プログラミングの5.1 主成分分析による教師なし次元削減 に、主成分分析について記載されており、ステップがわかりやすかったため、メモしておきます。

主成分分析の効能

主成分分析は教師なし線形変換法の1つで、最も用いられるタスクは次元削減。
データセットを変換し、元の次元よりも低い次元の新しい特徴量空間を作成する。
その際に、元の高次元データにおいて分散が最大となる方向を見つけ出すことで、次元を削減しつつも、情報量を残しやすくなる。
次元削減することで、計算効率を改善することができる。

主成分分析のステップ

下記の6つがある。

  1. d次元のデータセット(1×d)を標準化する
     (標準化しないと、100cmか1mか、単位の違いなどによって重要度がブレてしまう。)
  2. 標準化したデータセットの共分散行列を作成する。
  3. 共分散行列を固有ベクトル固有値に分解する。
  4. 最も大きいk個の固有値に対応するk個の固有ベクトルを選択する。このkが新しい特徴部分空間の次元数を表す。(2で作成した共分散行列は、固有値が大きい順に並ぶわけではないので、固有値でソートしベクトルを選ぶ必要がある。)
  5. 上位k個の固有ベクトルから射影行列W(d×k)を作成する
  6. 射影行列Wを使ってデータセットXを変換し、新しいk次元の特徴部分空間を作成する。(1×dのベクトルに、d×kの行列をかけると、1×kのベクトルになる。)

参考書籍

上のステップで、共分散行列や固有ベクトル、固有値、行列とベクトルの掛け算などがとっつきにくい場合は、下記がおすすめです。下記を読んでからPython機械学習を読んだら、すんなり読み進められるようになりました。

Like what you read? Give takkii a round of applause.

From a quick cheer to a standing ovation, clap to show how much you enjoyed this story.