您的位置:首页 > 其它

主成分分析PCA

2017-10-12 14:42 162 查看

向量空间



我们所说的向量其实是向量坐标和向量空间的基构成的线性组合。

要准确的描述向量,首先需要确定向量空间的一组基,然后

在通常的二维坐标系中,我们选中基为(1,0)T和(0,1)T,那么对于向量(3,2),其实它是3∗(1,0)T+2∗(0,1)T。

通常基为列向量,在进行坐标变换时,通常将基作为行向量,与原空间的坐标(列向量)做点乘。

一般地,我们设定基向量为单位向量,因为这样可以直接用向量点乘基向量获取基上的坐标表示,否则需要除以基向量的模长。

基变换的矩阵表示

[1001]∗[32]=[32]

上式的意义是,将右边矩阵每一列的列向量,变换到左边矩阵每一行的行向量为基所表示的空间中去。

PCA

PCA是一种常用的降维方法。其思想是希望用一个低维超平面对正交属性空间中的样本点进行恰当的表达。

这样的超平面具有以下性质

最近重构性:样本点到这个超平面的距离都足够近

最大可分性:样本点在这个超平面上的投影能尽可能分开

最近重构性

假定样本进行了中心化处理,即∑ixi=0,假定投影变换后得到的新坐标系为[w1,w2,...,wd],其中wi是标准正交基向量,||wi||2=1,wTiwj=0(i≠j)

设新坐标系的维度为d′<d,则样本点在低维坐标系中的投影是zi,其中zij=wTjxi是xi在低维坐标系下第j维的坐标。若基于zi来重构xi,则会得到x^i=∑d′j=1zijwj。

现在考虑整个数据集上原样本点xi与投影筹够的样本点x^i之间的距离

loss=∑i=1m||∑j=1d′zijwj−xi||22=∑i=1m[(∑j=1d′zijwj−xi)T(∑k=1d′zijwj−xi)]=∑i=1m[(∑j=1d′zijwj)T(∑k=1d′zijwj)−(∑j=1d′zijwj)Txi−xTi(∑k=1d′zijwj)+xTixi]=∑i=1m[(∑j=1d′wTjzTijzijwj)−2xTi(∑k=1d′zijwj)+xTixi]=∑i=1m[(∑j=1d′wTjxixTiwj)−2(∑k=1d′xTiwTjxiwj)+xTixi]=−∑j=1d′(wTj(∑i=1mxixTi)wj)+∑i=1mxTixi=−tr(WTXXTW)+const

其中∑ixixTi是协方差矩阵,为XXT

所以,优化目标为

minWs.t.−tr(WTXXTW)WTW=I

最大可分性

样本点xi在新空间中超平面上的投影是WTxi,若所有投影能尽可能分开,则应该使投影后样本点的方差最大化,投影后样本点的方差是∑iWTxixTiW

优化目标可写为

maxWs.t.tr(WTXXTW)WTW=I

拉格朗日乘子法

minWWTXXTW+λ(WTW−I)

解得

XXTW=λW

于是,只需要对协方差矩阵XXT进行特征值分解(实践中通常对X进行奇异值分解来代替协方差矩阵的特征值分解),将求得的特征值排序;取前d′个特征值对应得特征向量构成W=[w1,w2,...,wd′]就求出了投影矩阵。

伪代码



评价



Kernel PCA

PCA也存在一些限制,例如它可以很好的解除线性相关,但是对于高阶相关性就没有办法了,对于存在高阶相关性的数据,可以考虑Kernel PCA,通过Kernel函数将非线性相关转为线性相关。另外,PCA假设数据各主特征是分布在正交方向上,如果在非正交方向上存在几个方差较大的方向,PCA的效果就大打折扣了。—转自知乎

参考资料

《机器学习》第10章

向量的表示及协方差矩阵

PCA数学原理
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: