PCA算法步骤(协方差矩阵)
PCA算法步骤(SVD)
选取前d’个主成分
PCA的意义
KPCA与PCA的区别
KPCA
KPCA.中文名称”核主成分分析“,是对PCA算法的非线性扩展。PCA是线性的,其对于非线性数据往往显得无能为力(虽然这二者的主要目的是降维,而不是分类,但也可以用于分类),其中很大一部分原因是,KPCA能够挖掘到数据集中蕴含的非线性信息。
PCA只能解决数据分布是线性的情况(数据大致分布在一个超平面附近)。KPCA 的思想:把原始的非线性的数据映射到高维空间变成线性的,然后用 PCA 来处理映射后的高维数据。
核函数可以直接对特征向量的内积进行变换,等价于先对特征向量做核映射然后做内积。
KPCA算法流程有四步:
1、去除平均值,进行中心化
2、利用核函数计算核矩阵K
3、计算核矩阵的特征值和特征向量
4、将特征向量按对应特征值大小从上到下按行排列成矩阵,取前k行组成降维后 的数据矩阵P,P即为降维后的数据
由于K是n(样本数)维方阵,所以最多有n个特征值,所以理论上讲KPCA的降维结果最高可以达到n维,会比降维之前的特征多。但是核心信息都在前几个轴上面,至于取几个轴,就看经验啦。
核技巧与核函数
因为面对样本线性不可分的时候,可以对特征向量进行映射将它转化到一般来说更高维的空间,使得在该空间中是线性可分的,这种方法在机器学习中被称为核技巧。
满足上面条件的函数称为核函数,常用的核函数有以下几种:
为了让不同的数据集都能表现良好,调优参数r并没有一个普适性的数值,对于特定问题需要实验才能确定γ值。
核函数的精妙之处在于不用真的对特征向量做核映射,而是直接对特征向量的内积进行变换,而这种变换却等价于先对特征向量做核映射然后做内积
矩阵K计算方式:
通过变换使得核矩阵k更为聚集(中心化):
参考文献
1、pca数学原理
2、核化线性降维(KPCA)的理解
3、特征工程之降维(KPCA)