PCA基本推导和计算方法

来源:互联网 发布:java递归查询子节点 编辑:程序博客网 时间:2024/04/29 19:20
原文地址:PCA 分解的基本推导和计算方法作者:dengyafeng
PCA是数据降维的一种方法,其目标是找到数据分布方差最大的方向,并将数据向该方向投影并保持投影后恢复数据的残差最小。即找到e和a,使得x的估计值x‘=m+e*a与x残差最小。注意,这里e为一个方向向量(非矩阵),且限定e的模为1(否则a和e不唯一)。

PCA的推导,通过最优化x-x’的均方误差最小,得到a=T(e)*(x-m)。

进一步,将均方误差表示为e的表达式,并在e的模为1的约束下相对e最优化均方误差。

可以推导得到e的最优解需要满足S*e=lamabda*e,从而e转为为求矩阵的特征值和特征向量问题。而S阵为x的散度矩阵,存在S=X*X‘,X为输入特征减去均值向量组成的矩阵。

由于X存在奇异值分解,即X=U*D*T(V),则S=U*D*D*T(U)。

对于特征值和特征向量,存在S=E*D2*T(E),从而可知,存在E=U,D2=D*D。

需要注意,是对X做奇异值分解,而不是对S做。

当然,也可以通过对S求解特征值和特征向量得到投影矩阵。


参考自Duda的模式识别。
0 0