概略
PCA(Principal Component Analysis)は日本語では主成分分析と呼ばれる。次元縮約の代表的な方法。データの分散が大きい軸にデータを射影することで次元を減らす。計算上は固有値問題を解くことになる。
導出
導出にはいくつかの方法がある。ここでは1次元に縮約する場合について、分散最大化に基づいて導出する(PRMLでいえば12.1.1)。
導出の流れ
ある軸を表す長さが1のベクトル
上にデータ
を射影してみる。で、射影されたデータの分散を求める。そして、分散が最大になる
を選ぶ最適化問題としてとらえなおすと、情報量の損失が少ない軸を選ぶことができる。
射影された軸上の分散
さらに射影された軸上の分散
は次式で表せる。なお、
はデータの分散共分散行列となっている。
よって、この分散を最大化する
を選べばよい。
軸の算出
分散
の最大化にあたって、
の大きさが1であることを考慮する必要がある。それを踏まえ、ラグランジュ未定乗数法を使うと、次式が目的関数として得られる。
この式は
の2次形式(符合は正)となっているので、
について偏微分した式を0とした解で与えられる極値において最小となる。
よって、
は次式を満たす。
よって、
よって、軸は
に対する固有ベクトルを求めることに等しい。さらに、
であることから、最も情報損失の小さい軸を表すベクトル(第一主成分と呼ばれる)は、最大の固有値に対応する固有ベクトルとなる。
M次元への拡張
PRMLのWWWに公開された演習問題の答えにもあるように、これまで選んだ軸を表すベクトルと直交するベクトルを選ぶという条件を加えると、これまで選ばなかった固有ベクトルの中で最大の固有値に対応する固有ベクトルを選ぶという感じとなる。つまり、大きな固有値に対応するベクトルを選べばよい。