本記事は機械学習の徹底解説シリーズに含まれます。機械学習の記事一覧へ初学者の分かりやすさを優先するため,多少正確でない表現が混在することがあります。致命的な間違いがあればご指摘いただけると助かります。目次お気持ち本記事では,主成分分析と分散共分散行列の固有値問題とのつながりについてお伝えしていきます。主成分分析はデータ分析における「キホンのキ」ですが,線形代数や微積分という観点から見たときは,非常に良質な練習問題になります。そこで今回は,主成分分析を線形代数における固有値問題という観点から眺めてみます。そもそも,主成分分析は正規直交基底への正射影だと考えることができます。どのような正規直交基底を選ぶかは,以下の2通りが考えられます。正射影後のデータの分散が最大になる正射影前後のデータの二乗誤差を最小にするこれらの2通りの方針について,どちらも固有値問題に帰着することを示します。下準備まずは,両方針に共通して元のデータと射影後のデータを数学的に表現しておきましょう。射影先のベクトル$\vu$は,以下のように設定します。1\end{align}$\vu$は$d$次元のベクトルですが,$\vu$上に射影した場合には$d$次元上の1点になってしまうことに注意です。簡単のため,最初は$1$点への射影について考え,そのあとに多次元に拡張したいと思います。,$d$次元$N$サンプルの対象のデータ$\vx$を用いて,射影前の各種統計量は以下のように表されます。\vmu^T)\end{align}$\vu$上へ射影されたデータは,内積で表される$d$次元空間の点になります。これを利用して,以下のようにして射影後の各種統計量を求めます。(\text{スカラー})\end{align}ここから,各方針に枝分かれしていきます。\mSigma\vu$を最大にすればOKです。条件付きの最大最小問題ですので,ラグランジュの未定乗数法を利用しましょう。\lambda\vu\\\end{align}この式を少しいじることで,$\lambda$に意味づけをしてあげましょう。\vu\end{align}つまり,$\lambda$は射影後の分散そのものだということです。,$\vu$は$\mSigma$の最大固有値$\lambda$に対する固有ベクトルになります。最大なのかというと,今回の目的が射影後の分散$\lambda$を最大にすることが目的だったからです。これを,$2$次元上への射影に拡張する場合は,新しい射影上のベクトル$\vu_2$が$\vu_1=\vu$に直交するという条件をつけて全く同じ議論を行えばOKです。\lambda_{\tilde{d}})$に対応する固有ベクトルとして与えられることが示ました。\vx_n)\vu$と現れることを利用します。\vx_n$が正射影後の空間におけるデータの「長さ」を表していることを考えれば分かります。今回の目的はデータの射影前後の二乗誤差を最小にすることでした。実際に,二乗誤差を計算してみましょう。\vx\text{は常に一定})\end{align}この式をよく眺めてみましょう。「変換後データの分散値の$-N$倍」になっていることが分かりますでしょうか。\vu$であることに注意すれば,以下の関係式が成立します。\vu$の最大化,2.の方針は二乗誤差$\varepsilon^2$の「最小化」でしたので,上の式より両者が等価であることが分かります。以上より,どちらの方針にしても,主成分分析は分散共分散行列の固有値問題に帰着することが示ました。zuka少しあっさり目に書いてしまったけど理解できたかな...?とにかく,どちらの方針に立っても主成分分析は分散共分散行列の固有値問題に帰着することが少しでも伝われば嬉しいな。※コメントに返信があったらメールで通知する。私はロボットではありません。