主成分分析(PCA)
主成分分析の定式化
次元空間における主成分の軸をとする。
点の各軸への写像をは次式で与えられる。
\begin{align}
y_{1} &= w_{11} x_{1} + w_{12} x_{2} + \cdots + w_{1n} x_{n} = w_1^{T} \vec{x} \\
y_{2} &= w_{21} x_{1} + w_{22} x_{2} + \cdots + w_{2n} x_{n} = w_2^{T} \vec{x} \\
\vdots \\
y_{n} &= w_{n1} x_{1} + w_{n2} x_{2} + \cdots + w_{nn} x_{n} = w_n^{T} \vec{x} \\
\end{align}
ただし、
\begin{align}
w_{i}^{T} w_j = \delta_{ij}
\end{align}
ここでPCAとは、分散が最大となる方向ベクトルを求める問題である。
\begin{align}
y=W^T x
\end{align}
最小二乗法による主成分分析
平均を引いたサンプル点とする。
の部分空間への写像は
\begin{align}
\hat{x}_j = y_1 w_1 + y_2 w_2 + \cdots + y_m w_m = \sum_{i=1}^{m} w_{i}^{T} x_j w_i
\end{align}
で与えられる。ここで、全てのサンプル点に対して、サンプル点とその写像との距離関数を次式で定義する。
\begin{align}
E(w_i) &= \sum_{j=1}^{N} || x_j - \hat{x}_j || \\
&= \sum_{j=1}^{N} || x_j - \sum_{i=1}^{m} w_i^T x_j w_i || \\
&= \sum_{j=1}^{N}||x_j||^2 - 2 \sum_{j=1}^{N} \sum_{i=1}^{m} w_i^T x_j x_j^T w_i + \sum_{j=1}^{N} \sum_{i=1}^{m} w_i^T x_j x_j^T w_i \\
&= \sum_{j=1}^{N}||x_j||^2 - \sum_{j=1}^{N} \sum_{i=1}^{m} w_i^T x_j x_j^T w_i
\end{align}
ここで
\begin{align}S = \sum_{j=1}^{N}x_j x_j^T \end{align}
は共分散行列である。
ここでの関数でない部分を取り除くと、の最小化と
\begin{align} \sum_{i=1}^{m} w_i^T S w_i \end{align}
の最大化は同等である。したがってPCAは以下の拘束条件付き最適化問題となる。
\begin{align} max \sum_{i=1}^{m} w_i^T S w_i \end{align}
subject
\begin{align} ||w_i||^2 = 1 (i=1, 2, \cdots, m) \end{align}
これをLagrangeの未定乗数法を用いて解く。
\begin{align} L(w_1, w_2, \cdots, w_m) = \sum_{i=1}^{m} w_i^T S w_i - \sum_{i=1}^{m} \lambda_i (w_i^T w_i - 1) \end{align}
について偏微分を取ると
\begin{align} \frac{1}{2} \frac{\partial L}{\partial w_1} = S w_i - \lambda_i w_i = 0 \end{align}
\begin{align} S w_i = \lambda_i w_i \end{align}
以上からは共分散行列の固有ベクトルとなる。
ここでの共分散行列は
\begin{align} S_y = \sum_{j}^{N} y y^T = W^T S_x W = \begin{bmatrix}\lambda_1 & & & \\ & \lambda_2 & & \\ & & \ddots & \\ & & & \lambda_m \end{bmatrix} \end{align}
したがって、共分散行列の固有値問題を解くことに匹敵する。
ちなみに主成分分析はデータが正規分布に従っていることを仮定している。
そうでない場合を扱う場合、独立成分分析が主流となっている。