主成分分析(PCA)

PCA(Principal Component Analysis),即主成分分析方法,是一种使用最广泛的无监督数据维度约减算法,其主要思想是将n维特征映射到k维主成分上,k维主成分是在原有n维特征的基础上重新构造出来的k维特征,且k<n。当然,降维会导致损失,为了尽可能减小它,需要谨慎选择主成分,最好是能够让所有的样本点尽量靠近主成分对应的轴,也就是所谓“方差(协方差)最大”。

PCA需要从原始的空间中顺序寻找多个主成分,其选择与数据本身相关。其中,每一个主成分对应的坐标轴都与前后主成分对应的坐标轴正交,且第i个主成分在样本集中具有第i大的方差。依次类推,可以得到n个这样的坐标轴。

为了得到这些具有最大差异的主成分的方向,PCA算法需要计算样本矩阵的协方差矩阵及其特征值和特征向量。

对于二维样本,方差Var\left (\boldsymbol{x} \right )=\frac{1}{n}\sum_{i=1}^{n}(x_i-\overline{x})^2

更高的维度下,可以首先找到一个使得投影方差最大的主成分,然后在这个基础上,找到和这个方向正交的另外一个使得余下的投影方差最大的主成分,也就是计算各维之间协方差Cov(x,y)=\frac{1}{n-1}\sum_{i=1}^{n}\left (x- \overline{x_i} \right )\left ( y-\overline{y_i} \right )。各维之间的协方差构成了协方差矩阵C,且C=\frac{1}{n}X^TX

计算第一主成分a_1:利用拉格朗日乘子法,设\lambda为一个拉格朗日乘子,为了使第一个特征z_1的方差a_1^TCa_1最大,且a_1^Ta_1=1,令L=a_1^TCa_1-\lambda (a_1^Ta_1-1)

L_{a_1}'=2Sa_1-2\lambda a_1=0

\therefore Sa_1=\lambda a_1,即a_1S的特征向量,此时特征值为\lambda

可以证明,a_1S最大的特征向量。

在此基础上,要计算第二主成分,显然Cov[z_2,z_1]=a_1^TSa_2=0a_2^Ta_2=1,即最大化:

L=a_2^TSa_2-\lambda (a_2^Ta_2-1)-\phi a_2^Ta_1\lambda\phi均为拉格朗日乘子)。

SVD算法:直接针对样本作奇异值分解

X_{N\times m}=U\Sigma V^T

U=\left \{ u_k\right \}(k=1,...,n)为主向量,与V^T(行向量)可一起还原原始数据。

\Sigma为对角矩阵,对角线上的值,表示相应向量的重要程度。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值