什么是 核主成分分析(Kernel PCA)?
核主成分分析(Kernel PCA)是在正半定 Kernel 定义的隐式特征空间中执行主成分分析的非线性降维方法。
快速了解
| 全称 | Kernel Principal Component Analysis |
|---|---|
| 创建时间 | 1998 年由 Bernhard Schölkopf、Alexander Smola 与 Klaus-Robert Müller 提出 |
| 规范文档 | 官方规范 |
工作原理
在特征空间中正确中心化 Kernel
Kernel PCA 原始论文把 PCA 改写为只依赖内积的形式,再以内积核矩阵 K 替代,并求解相应特征值问题。由于 PCA 假设观测已经中心化,Kernel PCA 必须使用 Kc = H K H 对训练 Gram Matrix 做双中心化,其中 H = I - 11^T / n。
新样本 Kernel 必须复用训练集均值,不能针对输入 Batch 重新中心化。预处理、训练参考点或近似基、Kernel 参数、中心化特征向量、特征值与符号约定应作为同一个 Transform 固化。
把 Kernel 本身视为模型
RBF Bandwidth 过小时,几乎每个样本都会变成孤立点;过大时,Gram Matrix 又会接近常数。Polynomial Kernel 的 Degree 与 Offset 也可能主导尺度。应在训练协议内调参,并检查 Kernel Spectrum、Effective Rank、重复行及跨重采样敏感度。
特征空间中的最大方差不一定是最有预测力或语义价值的信号。应保留线性 PCA 基线,在留出数据上比较下游指标,不能根据最终二维图反向选择参数。
预算二次状态并单独评估逆重构
完整 Gram Matrix 的内存随训练样本数平方增长,特征分解也可能成为主要耗时。Nyström 等低秩近似会改变学习到的子空间,必须作为独立 Artifact 重新评测。
当前 scikit-learn KernelPCA 文档提供 Kernel、Eigensolver、Inverse Fitting 与新样本转换选项。由于特征空间坐标通常不存在精确输入空间逆映射,Inverse Transform 是学习得到的 Pre-image 近似;其重构误差同时衡量辅助模型和 Embedding。
主要特点
- 在 Kernel 定义的隐式特征空间中执行线性 PCA
- 要求对训练 Gram Matrix 做双中心化
- 无需显式构造特征坐标即可表达非线性成分
- 高度依赖 Kernel 类型、尺度、预处理与样本覆盖
- 精确拟合通常需要保存随样本数平方增长的 Kernel 状态
- 保留成分通常不存在通用的精确输入空间 Pre-image
常见用途
- 在线性 PCA 基线之后验证非线性结构
- 从中小型数值数据中提取弯曲特征
- 在经过验证的 Kernel 能表达目标几何时降噪
- 比较受控数据版本之间的 Kernel Eigenspace
- 讲解 Kernel、Gram Matrix 与 PCA 的关系
示例
Loading code...常见问题
Kernel PCA 与普通 PCA 有什么区别?
普通 PCA 在输入坐标中寻找线性子空间;Kernel PCA 在隐式特征空间中做同类方差分析,所以输入到成分的映射可以是非线性的。该灵活性也会引入 Kernel 选择、二次状态与 Pre-image 问题。
Kernel PCA 为什么必须对 Kernel Matrix 中心化?
PCA 假设测量协方差的空间中观测均值为零。Kernel Value 是隐式特征向量的内积,双中心化可以在不显式构造这些向量的前提下减去其特征空间均值。
Kernel PCA 的 RBF Gamma 应如何选择?
应在交叉验证或其他只使用训练数据的协议中,根据下游效果和稳定性选择 Gamma。同时检查 Kernel Spectrum 与两两相似度;极端 Gamma 会让矩阵接近单位阵或常数阵,产生无用成分。
Kernel PCA 能转换未见过的新样本吗?
实现保留训练参考点或近似基时可以。先计算新样本到训练集的 Kernel,应用训练期中心化项,再使用冻结特征向量投影。不能针对新 Batch 重新计算中心化基准。
Kernel PCA 能精确重构原始输入吗?
通常不能。保留的特征空间坐标未必存在精确输入空间 Pre-image。Inverse Transform 一般是单独拟合的近似,其误差会同时受 Kernel、成分数量、正则化和训练数据覆盖影响。