読者です 読者をやめる 読者になる 読者になる

主成分分析(PCA)

今回は主成分分析(Principal Component Analysis)について勉強します。
これは統計データから互いに無関係の成分を取り出して、観測地をそれらの成分の線形結合で説明することを示す。

主成分分析の定式化
 n次元空間における主成分の軸を w_1, w_2, \cdots, w_nとする。
 xの各軸への写像 yは次式で与えられる。

 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}

ただし、

 w_{i}^{T} w_j = \delta_{ij}

ここでPCAとは、分散が最大となる方向ベクトル w_1, w_2, \cdots, w_nを求める問題である。

 y=W^T x

最小二乗法による主成分分析
平均を引いたサンプル点 x_j(j=1, 2, \cdots, N)とする。
 x_jの部分空間 w_1, w_2, \cdots, w_m (m \leq n)への写像 \hat{x}_j

 \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

で与えられる。ここで、全てのサンプル点に対して、サンプル点とその写像との距離関数を次式で定義する。

 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

ここで

 S = \sum_{j=1}^{N}x_j x_j^T

は共分散行列である。 ここで w_iの関数でない部分を取り除くと、 E(w_i)の最小化と

 \sum_{i=1}^{m} w_i^T S w_i

の最大化は同等である。したがってPCAは以下の拘束条件付き最適化問題となる。

 max \sum_{i=1}^{m} w_i^T S w_i

subject

 ||w_i||^2 = 1 (i=1, 2, \cdots, m)

これをLagrangeの未定乗数法を用いて解く。

 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)

 w_iについて偏微分を取ると

 \frac{1}{2} \frac{\partial L}{\partial w_1} = S w_i - \lambda_i w_i = 0
 S w_i = \lambda_i w_i

以上から w_1, w_2, \cdots, w_mは共分散行列 S固有ベクトルとなる。 ここで yの共分散行列 S_y

 S_y = \sum_{j}^{N} y y^T = W^T S_x W = \begin{bmatrix}\lambda_1 & & & \\ & \lambda_2 & & \\ & & \ddots & \\ & & & \lambda_m \end{bmatrix}

したがって、共分散行列 S_x固有値問題を解くことに匹敵する。

ちなみに主成分分析はデータが正規分布に従っていることを仮定している。 そうでない場合を扱う場合、独立成分分析が主流となっている。