5.3 使用核主成分分析进行非线性映射
0 引子许多机器学习算法都假定输入数据是线性可分的。
感知器为了保证其收敛性,甚至要求训练数据是完美线性可分的。
我们目前学习的算法中,像Adaline、logistic回归和支持向量机等,都将无法实现完美线性划分的原因归咎于噪声。然而,在现实世界中,大多数情况下我们面对的是非线性问题,针对此类问题,通过降维技术,如PCA和LDA等,将其转化为线性问题并不是最好的方法。
在本小节中,我们将了解一下利用核技巧的PCA,或者称为核PCA,这与在第三章中我们介绍过的核支持向量机的概念有一定相关性。使用核PCA,我们将学习如何将非线性的数据转换到一个适合对其进行线性分类的新的低维子空间中。
1 核函数与核技巧思路回忆一下我们在第三章中曾讨论过的基于核的支持向量机,通过将非线性可分问题映射到维度更高的特征空间,使其在新的特征空间上线性可分。
为了将样本
转换到维度更高的k维子空间,我们定义非线性映射函数
:
我们可以将
看成是一个函数,它能够对原始特征进行非线性组合,以将原始的d维数据集映射到更高维的k维特征空间。问题利用核 PCA,我们可以通过非线性映射将数据转换到一个高维空间,然后在此高维空间中使用标准 PCA将其映射到另一个低维空间中,并通过线性分类器对样本进行划分。
但是这种方法的缺点是会带来高昂的计算成本,这也正式我们为什么要使用核技巧的原因,通过核技巧,我们可以再原始特征空间中计算两个高维特征空间中向量的相似度。解决通过核 PCA,我们能够得到已经映射到各成本的样本,而不像标准PCA方法那样去构建一个转换矩阵。简单的说,可以将核函数理解为:通过两个向量点击来度量向量间相似度的函数。常用核函数多项式核:
其中阈值
和幂的值p需自行定义
双曲正切核:
径向基核函数(Radial Basis Function, RBF)或者称为高斯核函数
实现基于RBF核的PCA1)为了计算核矩阵k,我们需要做如下计算:
i)
其中:
ii)计算任意两个样本之间的值:
例如&#