1.PCA

先上例子:

1.PCA_第1张图片
代码
1.PCA_第2张图片
生成结果

图1根本看不出是什么分布,将图一的数据进行PCA分析,可以得到图二所示:
PCA过程:
1.特征值分解
2.选择特征值较大的k个所对应的特征向量
3.将原数据减去均值(mXn),协方差为(nXn), 选取的k个特征向量组成的矩阵为EigenVectors(n*k)。那么投影后的数据FinalData为
FinalData(mXk) = DataAdjust(mXn矩阵) x 特征向量(nXk)
但是,还是会丢失一些信息~

PCA的思想是将n维特征映射到k维上(k

PCA解释

1.PCA_第3张图片

左边的图L1与L2范围太接近了,不适合降维;如果将坐标轴旋转到右边图所示,那么L1与L2的值相差较大就适合降维。椭圆的长短轴相差得越大,降维也越有道理。
这样的过程就相当于寻找一个旋转矩阵,经过推导,这个旋转矩阵是与特征值有关。
具体推导看reference。

值得注意的是:
PCA是一个无标签的分类,他不考虑数据是否有标签,这样会导致原本可以分开的数据做了PCA后就分不开了。这时候可以用LDA( Linear Discriminant Analysis)

reference:
http://blog.jobbole.com/109015/

你可能感兴趣的:(1.PCA)