主成分分析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数学原理
相关文章推荐
- 主成分分析(PCA)简介
- [PCA]主成分分析算法
- 主成分分析见解——Principal Components Analysis(PCA)
- PCA(主成分分析)的简单理解
- 基于GDAL实现的PCA变换(主成分分析)
- SparkML之特征提取(一)主成分分析(PCA)
- OpenCV主成分分析PCA
- 主成分分析pca和白化
- 主成分分析(PCA)
- 机器学习中的数学(4)-线性判别分析(LDA), 主成分分析(PCA)
- OpenCV主成分分析PCA
- PCA (主成分分析)详解 (写给初学者) 结合matlab
- 第八章 采用PCA(主成分分析)或LDA(线性判别分析)的人脸识别(二)
- 协方差矩阵与主成分分析PCA
- PCA(Principal Components Analysis,主成分分析)
- 主成分分析 PCA 理解
- 主成分分析PCA与核主成分分析KPCA
- 机器学习降维算法一:PCA(主成分分析算法)
- Principal components analysis(PCA) 主成分分析
- 机器学习教程 之 独立成分分析:PCA的高阶版