1.PCA

先上例子:

代码
生成结果

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

PCA的思想是将n维特征映射到k维上(k<n),这k维是全新的正交特征。这k维特征称为主成分,是重新构造出来的k维特征,而不是简单地从n维特征中去除其余n-k维特征。

PCA解释

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

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容