本文仅就PCA原理及应用作一简单总结, 具体的数学原理等考试后再补上.
1. PCA推导
目标
对于正交空间中的样本点,现想将其投影到一个低维超平面中使得所有样本可在该平面中得到恰当的表达.
什么叫恰当的表达?
- 最近重构性:样本点到该超平面的距离都足够近(距离最小).
- 最大可分性:样本点到该超平面上的投影尽可能分开(方差最大, 协方差为0)
可以证明,上面两个表述可推出等价的投影矩阵.
基于最近重构性的PCA推导
假设样本已中心化\(\sum x_i=0\),设新坐标系为\(W=\{w_1,w_2,\dots,w_d\}\),其中\(w_i\)是标准正交基向量, 即\(||w_i||=1,w_i^Tw_j=0(i\neq j)\)
现欲降维至\(d'<d\),则样本点\(x_i\)在低维坐标系中的投影为\(z_i=(z_{i1},z_{i2},\dots,z_{id'})\),其中\(z_{ij}=w_j^Tx_i\)
此时再将新坐标反投影回原坐标系(重构)可得\(x_i'=\sum_{j=1}^{d'}z_{ij}w_j\)
考虑原样本点\(x_i\)与重构后\(x_i'\)的距离为:
根据最小重构性,可得优化目标:找满足\(W^TW=1\)且使得\(-tr(W^TXX^TW)\)最小的\(W\).
根据拉格朗日乘子法(需补充详细过程),可得\(XX^TW=\lambda W\).故只需对\(XX^T\)进行特征值分解.将求得的特征值排序取前\(d'\)个构成\(W=(w_1,\dots,w_{d'})\). 投影坐标为\(y=W^Tx\)
也可以理解为求得的是使得\(XX^T\)对角化(协方差为0)且方差最大(对角元取最大的几个特征值)的\(W\)
-
逐一选取特征向量与直接选取具有等价性
-
实践中常用奇异值分解代替特征值分解
2. PCA应用(做题)
一些细节
-
如何组织数据?
\[\left \{ \begin{matrix} &a_1&\dots&a_n\\ &b_1&...&b_n\\ &...&...&...\\ &z_1&...&z_n\\ \end{matrix} \right\}\tag{1} \]\(m\)维\(n\)个数据
-
如何中心化?
每行数据减去均值
-
计算步骤
- 中心化数据
- 计算协方差矩阵
- 求特征值
- 取最大的前\(d'\)个特征值对应的特征向量标准正交化后得到\(W\)
- 如果有重特征值排在前\(d'\)则需施密特正交化
- 新坐标\(y=W^Tx\)