赞
踩
关键字: 矩阵分解; 主成分分析; PCA
KPCA的算法原理和PCA的基本一致,唯一的不同就是先将原数据X映射到高维空间中,再进行求协方差矩阵、求特征向量并排列等后续操作。详细的介绍可以参考博客KPCA非线性降维与核函数,这里不再介绍。
首先生成线性不可分的三组数据,如图2.1所示,分别用红绿蓝三种颜色标记。
以上数据经PCA处理后的结果如图2.2所示。
在图2.2中,右上侧三组数据(三个近似同心圆)是原始数据,左下角的是经过PCA处理后的数据。可见,PCA处理结果仅仅是将原数据整体旋转,并不改变数据之间的相对位置,处理过后仍然线性不可分。
原始数据经KPCA处理后的结果如图2.3所示。
对比图2.3和图2.1可知,KPCA对原数据进行了非线性处理,改变了原数据的相对关系,打破了数据的原有结构。图2.3中,蓝色数据已经可以和绿色红色数据线性分开,而绿色红色数据也可以同理进行后续处理。从图2.1得到图2.3使的参数如下。
kernel: Gaussian
sigma: 8
迄今为止,关于何种场景下采用何种核函数的问题仍然没有很好的解决方法,当前常用的办法还是不断尝试、择优使用。在大量使用中积累的经验表明,首先尝试径向基核函数(Radial Basis Function, RBF),例如高斯核等,总是一个不错的选择。
结合了核函数的PCA有很多花式玩法和应用,这里只介绍了其最基本的概念和应用,代码已上传至我的github。
本文为原创文章,转载或引用务必注明来源及作者。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。