Principle Component Analysis (PCA)
PCA (Principle Component Analysis)
此处感谢 shuhuai008 大佬!
主成分分析主要用于降维
给出一个数据集 \(D=\{(X_i,Y_i)\}_{i=1}^{N}\),其中\(X_i\in \mathbb{R}^p\),由于是对特征进行降维,所以 PCA 中不需要用到 \(Y_i\)
PCA 就是就是一句话:一个中心,两个基本点!
原始特征空间重构后各特征之间相互独立
最大投影方差
故名意思,最大投影方差就是想让特征向量 \(X_i\) 投影到向量 \(W\) 后各个投影点分得越开越好。我们可以提出一个策略,那就是规定一个基准点(其实就是 \(\overline{X}\) 投影在向量 \(W\) 上的点 ),让投影后的点到这个基准点的距离之和越大。
向量 \(X_i\) 到向量 \(W\) 的投影为 \(W^TX_i\),为了后续计算方便,我们需要对特征向量进行中心化,即对所有的 \(X_i\) 都减去一个 \(\overline {X}\),这样我们可以得到中心化后的向量 \(X_i-\overline{X}\) 到 \(W\) 的投影:\(L_i = W^T(X_i-\overline{X})\),由于 \(L_i\) 可正可负,因此我们对 \(L_i\) 进行平方运算。最后求 \(\hat{W}=argmax\underset{w}{}\sum_{i=1}^{N}L_i(W)\) 就可以得到我们的期望向量 \(W\) 了!
数学推导如下:
\(\overline{X}=\frac{1}{N}\sum_{i=1}^{N}X_i\)
将 \(\overline{X}\) 带入得:
令 \(\Sigma = \frac{1}{N}\sum_{i=1}^{N}(X_i-\overline{X})(X_i-\overline{X})^T\) 带入得:
如果向量 \(W\) 不加约束,向量 \(W\) 本身也会对 \(S\) 得值产生影响,所以加一个约束: \(W^TW=1\),即 \(W\) 是单位向量。最后变成了一个求带约束得最优化问题:
用拉格朗日乘数法:
\(L(W, \lambda)=W^T\Sigma W+\lambda(1-W^TW)\)
\(\frac{\partial{L}}{\partial{W}}=2\Sigma W-2\lambda W=0\Rightarrow\Sigma W=\lambda W\)
最后求解矩阵 \(\Sigma_{p\times p}\) 的特征值特征向量即可:
特征值:\(\lambda_1,\lambda_2,...,\lambda_p\)
特征值对应的特征向量:\(\mathbb{\alpha_1},\mathbb{\alpha_1},...,\mathbb{\alpha_p}\)
将特征值从大到小进行排序,最大的那个特征值 \(\lambda_i\) 所对应的特征向量 \(\mathbb{\alpha_i}\) 就是我们要求的投影向量 \(W\),此时投影方差是多少呢?其实就是 \(\lambda_i\) :
\(\because\Sigma W=\lambda W\Rightarrow W^{T}\Sigma W=\lambda W^TW=\lambda\)
\(\therefore S=W^T\Sigma W=\lambda\)
最小重构距离
设特征空间重构后的一组基为 \(\alpha_1,\alpha_2,...,\alpha_p\),特征向量投影到对应的基上得到的方差分别为 \(\lambda_1>\lambda_2>...>\lambda_p\) (其中\(\alpha_i 与 \lambda_i\) 一一对应)
因此我们能用得到的这组基来重新构造特征向量 \(X_i\):
\(X_i = \sum_{k=1}^{p}(\alpha_k^T(X_i-\overline{X}))\alpha_k\)
\(\hat{X_i}=\sum_{k=1}^{q}(\alpha_k^T(X_i-\overline{X}))\alpha_k\)
其中 \(X_i\) 是原始特征向量, \(\hat{X_i}\) 是降到 q 维的特征向量。所以 \(X_i\) 与 \(\hat{X_i}\) 之间存在这一定的距离,我们的目标就是最小化这个距离,也就是最小化重构代价。
数学推导如下:
其中 \(\alpha_k^T\alpha_k=1\)
接下来就是求带约束的最优化问题了:
因为 \(\alpha_i\) 之间相互独立,所以可以每次求一个 \(\alpha_i\) ,最后得到所有的 \(\alpha\)
具体可通过拉格朗日乘数法求解:
\(L(\alpha_i,\lambda)=\alpha_i^T\Sigma\alpha_i+\lambda(1-\alpha_i^T\alpha_i)\)
最后你会发现,不管是通过最大化投影方差还是通过最小化重构距离,得出的解都是一样的,这说明这里个基本点仅仅是观察的角度不同,殊途同归是也~~~