目的のない勉強会

主にブルーバックスをまとめています

【PRML】12.1.1 主成分分析の分散最大化による定式化【数式読解編】

もくじ

はじめに

(僕のような)数学に不得意な人を読者として想定していますので、冗長なところもあるかと思います。不備や不明点等あればコメントいただけると幸いです。

また随時補足していく予定です。

本編:12.1.1 分散最大化による定式化

射影されたデータの分散は、以下のように計算できる*1

$$ \frac{1}{N} \sum_{n=1}^N ( \mathbf{u_1^\mathrm{T}x_n}- \mathbf{u_1^\mathrm{T}\bar{x}} )^2 \tag{12.2} \\ = \frac{1}{N} \sum_{n=1}^N (\mathbf{u_1^\mathrm{T}x_n}- \mathbf{u_1^\mathrm{T}\bar{x}}) (\mathbf{u_1^\mathrm{T}x_n}- \mathbf{u_1^\mathrm{T}\bar{x}}) \\ = \frac{1}{N} \sum_{n=1}^N ( \mathbf{u_1^\mathrm{T}x_n}\mathbf{u_1^\mathrm{T}x_n} - \mathbf{u_1^\mathrm{T}x_n}\mathbf{u_1^\mathrm{T}\bar{x}} - \mathbf{u_1^\mathrm{T}\bar{x}}\ \mathbf{u_1^\mathrm{T}x_n} + \mathbf{u_1^\mathrm{T}\bar{x}}\ \mathbf{u_1^\mathrm{T}\bar{x}}) \\ = \frac{1}{N} \sum_{n=1}^N (\mathbf{u_1^\mathrm{T}x_n x_n^\mathrm{T}u_1} - \mathbf{u_1^\mathrm{T}x_n \bar{x}^\mathrm{T}u_1} - \mathbf{u_1^\mathrm{T}x_n \bar{x}^\mathrm{T}u_1} - \mathbf{u_1^\mathrm{T}\bar{x}\ \bar{x}^\mathrm{T}u_1}) \\ = \frac{1}{N} \sum_{n=1}^N { \mathbf{u_1^\mathrm{T} (x_n x_n^\mathrm{T} - 2x_n \bar{x}^\mathrm{T} - \bar{x}\ \bar{x}^\mathrm{T}) u_1} } \\ = \frac{1}{N} \sum_{n=1}^N { \mathbf{u_1^\mathrm{T} (x_n-\bar{x})(x_n-\bar{x})^\mathrm{T} u_1} } \\ = \mathbf{u_1^\mathrm{T}} { \frac{1}{N} \sum_{n=1}^N \mathbf{(x_n-\bar{x})(x_n-\bar{x})^\mathrm{T}} } \mathbf{u_1} \\ = \mathbf{u_1^\mathrm{T}} \mathbf{S} \mathbf{u_1} $$

ここで、データ共分散行列を $ \mathbf{S} = { \frac{1}{N} \sum_{n=1}^N \mathbf{(x_n-\bar{x})(x_n-\bar{x})^\mathrm{T}} } $ とおいています。詳しくは補足*2を参考にしてみてください。

次に、射影されたデータの分散を最大化したいが $|\mathbf{u_1}| \to \infty$ を防ぐような制約付き最大化にならないといけない。つまり、$\mathbf{u_1^\mathrm{T}u_1}$ を守りながら、ラグランジュ乗数 $\lambda_1$ を導入して、 ラグランジュ関数 $\mathbf{u_1^\mathrm{T}} \mathbf{S} \mathbf{u_1} + \lambda_1 (1 - \mathbf{u_1^\mathrm{T} u_1}) \tag{12.4}$ を最大化する*3。 なお、最大化するには、$\mathbf{u_1}$ による微分がゼロとなればいいので、まずは微分します。

$$ \frac{\partial}{\partial\mathbf{u_1}} \left\{ \mathbf{u_1^\mathrm{T}} \mathbf{S} \mathbf{u_1} + \lambda_1 (1 - \mathbf{u_1^\mathrm{T} u_1}) \right\} \\ = \frac{\partial}{\partial\mathbf{u_1}} \mathbf{u_1^\mathrm{T}} \mathbf{S} \mathbf{u_1} + \frac{\partial}{\partial\mathbf{u_1}}(\lambda_1 - \lambda_1\mathbf{u_1^\mathrm{T} u_1}) \\ = \frac{\partial}{\partial\mathbf{u_1}} \mathbf{u_1^\mathrm{T}} \mathbf{S} \mathbf{u_1} - \lambda_1\frac{\partial}{\partial\mathbf{u_1}} \mathbf{u_1^\mathrm{T} u_1} \\ = 2 \mathbf{S} \mathbf{u_1} - 2 \lambda_1 \mathbf{u_1} $$

微分した結果をゼロとおいて整理します。

$$ 2 \mathbf{S} \mathbf{u_1} - 2 \lambda_1 \mathbf{u_1} = \mathbf{0} \\ \mathbf{S} \mathbf{u_1} - \lambda_1 \mathbf{u_1} = \mathbf{0} \\ \mathbf{S} \mathbf{u_1} = \lambda_1 \mathbf{u_1} \tag{12.5} $$

固有値問題に帰着することがわかりました*4。    

おわりに

主成分分析、一体何に使うんだ。そう思って応用例を調べてみました。

catano.hatenablog.com

*1:とはいえ、なんでこの式が出てくるんだ、という人もいますよね。僕もそうでした。また、記事にまとめたいですが、急ぎの方は、射影されたデータひとつが $ \mathbf{u_1^\mathrm{T}x_n}$ となるわけを考えてみてください

*2:catano.hatenablog.com

*3:ラグランジュの未定乗数法についてはまた記事を書きたいです

*4:固有値問題についてはまた記事を書きたいです