主成分分析是一种线性数据降维方法,它假设从高维空间到低维空间的函数映射是线性的。然而,在许多情况下,可能需要非线性映射才能达到更好的降维效果。核主成分分析的基本思想是:把原始空间中的样本点通过非线性映射
映射到一个高维特征空间
,然后在这个高维特征空间
中进行线性主成分分析。由于是对经由非线性映射得到的数据进行线性降维,这等价于对原始空间中的数据进行非线性降维,因此KPCA是一种非线性数据降维方法。
核主成分分析算法的主要步骤有:①选定核函数并构建核矩阵
;②为了在高维特征空间
中均值为0的数据上求解主成分,对核矩阵
进行中心化:
,式中
为训练样本数,
为一个每个元素值为
的
大小的矩阵;③计算
的特征值和特征向量,即求解
中的
和
;④假设
,
为对应的特征向量,
是第一个非0特征值,对于每个
,
,对它除以
进行归一化,保证
;⑤对于一组测试样本点
,定义一个
大小的矩阵
,则
可以中心化为
,式中
是一个每个元素值为
的
大小的矩阵。这样,
在高维特征空间
中的像的第
维分量就可以通过
计算得到,其中
为
的第
行。
在实际应用中,数据规模较大时构建出的核矩阵会很大,对这个大的核矩阵进行特征值分解就会有计算上的困难。这种情况下,一种常用的解决方法是仅计算它的最大的个特征值及其对应的特征向量。