
204
|
第
8
章
8.4 内核 PCA
在第 5 章中,我们讨论了内核,这是一种数学技术,它可以将实例隐式映射到一个高维
空间(称为特征空间),从而可以使用支持向量机来进行非线性分类和回归。回想一下,
高维特征空间中的线性决策边界对应于原始空间中的复杂非线性决策边界。
事实证明,可以将相同的技术应用于 PCA,从而可以执行复杂的非线性投影来降低维
度。这叫作内核
PCA
(kPCA)
注 6
。它通常擅长在投影后保留实例的聚类,有时甚至可
以展开位于扭曲流形附近的数据集。
1
下面的代码使用 Scikit-Learn 的 KernelPCA 类以及用 RBF 内核来执行 kPCA(有关 RBF
内核和其他内核的更多详细信息,请参见第 5 章 ):
from sklearn.decomposition import
KernelPCA
rbf_pca = KernelPCA(n_components = 2, kernel="rbf", gamma=0.04)
X_reduced = rbf_pca.fit_transform(X)
图 8-10 显示了瑞士卷,它使用线性内核(相当于简单地使用 PCA 类 )、 RBF 内核和 sigmoid
内核减小为二维。
线性内核 RBF 内核
,
γ
= 0.4 Sigmoid 内核
,
γ
= 10
-
3
,
r
= 1
图 8-10:使用各种内核的 kPCA 将瑞士卷缩减为 2D
选择内核并调整超参数
由于 kPCA 是一种无监督学习算法,因此没有明显的性能指标可以帮助你选择最好的内
核和超参数值。也就是说 ...