问题引入
熟悉PCA的都知道其是一个降维的算法,那么也知道KPCA是一个降维的算法,这个算法是基于核的,那么KPCA和PCA的区别是啥呢?
问题解答
应用PCA算法前提是假设存在一个线性超平面,进而投影。那如果数据不是线性的呢?该怎么办?这时候就需要KPCA,数据集从n 维映射到线性可分的高维N>n ,然后再从N 维降维到一个低维度。
PCA所做的是对坐标轴线性变换,即变换后的新基还是一条直线。而KPCA对坐标轴做了非线性变换,数据所映射的新基就不再是一条直线了,而是一条曲线或者曲面,如下图所示:
KPCA用到了核函数思想,使用了核函数的主成分分析一般称为核主成分分析(Kernelized PCA, 简称KPCA)。
假设高维空间数据由 n维空间的数据通过映射
产生。
n维空间的特征分解为:
其映射为
通过在高维空间进行协方差矩阵的特征值分解,然后用和PCA一样的方法进行降维。由于KPCA需要核函数的运算,因此它的计算量要比PCA大很多。
欢迎关注我的公众号,第一时间追踪相关面试题和总结:百面机器学习。回复干货获取相关资料和面试题总结(定期更新)。
参考:
[1] https:// baijiahao.baidu.com/s? id=1625132587851239521&wfr=spider&for=pc