PCA (Principle Component Analysis)
此处感谢 shuhuai008 大佬!
主成分分析主要用于降维
给出一个数据集 (D={(X_i,Y_i)}_{i=1}^{N}),其中(X_iin 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}=argmaxunderset{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^TSigma W+lambda(1-W^TW))
(frac{partial{L}}{partial{W}}=2Sigma W-2lambda W=0RightarrowSigma W=lambda W)
最后求解矩阵 (Sigma_{p imes p}) 的特征值特征向量即可:
特征值:(lambda_1,lambda_2,...,lambda_p)
特征值对应的特征向量:(mathbb{alpha_1},mathbb{alpha_1},...,mathbb{alpha_p})
将特征值从大到小进行排序,最大的那个特征值 (lambda_i) 所对应的特征向量 (mathbb{alpha_i}) 就是我们要求的投影向量 (W),此时投影方差是多少呢?其实就是 (lambda_i) :
(ecauseSigma W=lambda WRightarrow W^{T}Sigma W=lambda W^TW=lambda)
( herefore S=W^TSigma 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^Talpha_k=1)
接下来就是求带约束的最优化问题了:
因为 (alpha_i) 之间相互独立,所以可以每次求一个 (alpha_i) ,最后得到所有的 (alpha)
具体可通过拉格朗日乘数法求解:
(L(alpha_i,lambda)=alpha_i^TSigmaalpha_i+lambda(1-alpha_i^Talpha_i))
最后你会发现,不管是通过最大化投影方差还是通过最小化重构距离,得出的解都是一样的,这说明这里个基本点仅仅是观察的角度不同,殊途同归是也~~~