機械学習基礎理論独習

誤りがあればご指摘いただけると幸いです。数式が整うまで少し時間かかります。リンクフリーです。

勉強ログです。リンクフリーです
目次へ戻る

主成分分析 - 分散最大化による定式化 - 導出その1

主成分分析とは

主成分分析は、主部分空間と呼ばれる低次元の線形空間上への、データ点の直交射影のことです。

主成分分析はKL展開、KL変換とも同義です。

要件

データ集合\{{\bf x}_n\}\hspace{10px}n=1,\ldots,Nがあります。
{\bf x}_nD次元のユークリッド空間内の変数とします。

M次元(M < D)に射影することを考えます。
本記事では射影された分散を最大化することにより主部分空間を求めます。

M=1の場合の分散最大化

手始めに1次元空間(M=1)への射影を考えます。
この空間の方向をD次元ベクトル{\bf u}_1とします。

イメージは下図です。

f:id:olj611:20210502204509p:plain:w400

{\bf u}_1の方向だけ興味があるので、{\bf u}_1は単位ベクトルとします。

\begin{eqnarray}
{\bf u}_1^\top{\bf u}_1=1\tag{1}
\end{eqnarray}

{\bar{\bf x}}をデータ集合の平均とします。

\begin{eqnarray}
{\bar{\bf x}}=\frac{1}{N}\sum_{n=1}^N{\bf x}_n\tag{2}
\end{eqnarray}

{\bf S}をデータ集合の共分散行列とします。

\begin{eqnarray}
{\bf S}=\frac{1}{N}\sum_{n=1}^N({\bf x}_n-{\bar{\bf x}})({\bf x}_n-{\bar{\bf x}})^\top\tag{3}
\end{eqnarray}

{\bf x}_nスカラー{\bf u}_1^\top{\bf x}_nの上に射影されます。
射影されたデータの平均は{\bf u}_1^\top{\bar{\bf x}}です。

射影されたデータの分散は

\begin{eqnarray}
\frac{1}{N}\sum_{n=1}^N({\bf u}_1^\top{\bf x}_n-{\bf u}_1^\top{\bar{\bf x}})^2&=&\frac{1}{N}\sum_{n=1}^N({\bf u}_1^\top({\bf x}_n-{\bar{\bf x}}))^2\\
&=&\frac{1}{N}\sum_{n=1}^N({\bf u}_1^\top({\bf x}_n-{\bar{\bf x}}))({\bf u}_1^\top({\bf x}_n-{\bar{\bf x}}))\\
&=&\frac{1}{N}\sum_{n=1}^N({\bf u}_1^\top({\bf x}_n-{\bar{\bf x}}))(({\bf x}_n-{\bar{\bf x}})^\top{\bf u}_1)\\
&=&{\bf u}_1^\top\left(\frac{1}{N}\sum_{n=1}^N({\bf x}_n-{\bar{\bf x}})(({\bf x}_n-{\bar{\bf x}})^\top\right){\bf u}_1\\
&=&{\bf u}_1^\top{\bf S}{\bf u}_1\tag{4}
\end{eqnarray}

です。

制約条件{\bf u}_1^\top{\bf u}_1=1の下で、射影された分散{\bf u}_1^\top{\bf S}{\bf u}_1を最大化します。
ラグランジュの未定乗数法を用いると、ラグランジュ関数は以下のようになります。

\begin{eqnarray}
L({\bf u}_1,\lambda_1)={\bf u}_1^\top{\bf S}{\bf u}_1+\lambda_1(1-{\bf u}_1^\top{\bf u}_1)\tag{5}
\end{eqnarray}

L{\bf u}_1微分して、={\bf 0}とおきます。

\begin{eqnarray}
&&\frac{\partial}{\partial{\bf u}_1}L({\bf u}_1,\lambda_1)={\bf 0}\\
&&\Leftrightarrow\frac{\partial}{\partial{\bf u}_1}{\bf u}_1^\top{\bf S}{\bf u}_1+\frac{\partial}{\partial{\bf u}_1}\lambda_1(1-{\bf u}_1^\top{\bf u}_1)={\bf 0}\\
&&\Leftrightarrow 2{\bf S}{\bf u}_1-2\lambda_1{\bf u}_1={\bf 0}\\
&&\Leftrightarrow{\bf S}{\bf u}_1=\lambda_1{\bf u}_1\\
&&\Leftrightarrow{\bf u}_1^\top{\bf S}{\bf u}_1=\lambda_1\tag{6}
\end{eqnarray}

したがって、最大固有値\lambda_1に対応する固有ベクトル{\bf u}_1を選んだ時に分散は最大となります。

一般的なMの場合の分散最大化

上記でM=1の時の主成分を求めました。
実は、一般的なMの時も成り立ちます。
主部分空間の次元がMのときは固有値が大きい方からM個選び、それに対応する固有ベクトルが主部分空間の基底となります。
これの導出については、PRML演習問題 12.1(標準) www を参照してください。

偉人の名言

f:id:olj611:20210502181543p:plain:w300
100回叩くと壊れる壁があったとする。
でもみんな何回叩けば壊れるかわからないから、
99回まで来ていても途中であきらめてしまう。
松岡修造

参考文献

パターン認識機械学習 下巻

動画

なし

目次へ戻る