许多机器学习算法都假定输入数据是线性可分的。感知器为了保证其收敛性,甚至要求训练数据是完美线性可分的。我们目前学习过的算法中,像Adaline、逻辑斯谛回归和(标准)支持向量机等,都将无法实现完美线性划分的原因归咎于噪声。然而,在现实世界中,大多数情况下我们面对的是非线性问题,针对此类问题,通过降维技术,如PCA和LDA等,将其转化为线性问题并不是最好的方法。在本小节中,我们将了解一下利用核技巧的PCA,或者称为核PCA,这与在第3章中我们介绍过的核支持向量机的概念有一定相关性。使用核PCA,我们将学习如何将非线性可分的数据转换到一个适合对其进行线性分类的新的低维子空间上。