概述
再生核希尔伯特空间(Reproducing Kernel Hilbert Space, RKHS)是核方法的数学理论基础。它提供了一种优雅的框架,将隐式的、高维的(甚至无限维的)特征空间表示与高效的核计算统一起来。1
核心洞察:我们不需要显式计算特征映射 ,只需要定义核函数 ,就可以在特征空间中”工作”。
从特征空间到核函数
显式特征映射的问题
假设我们想将数据映射到高维特征空间:
然后在特征空间中做线性分类/回归。
问题:
- 当 很大或无限时,计算 可能不可行
- 即使 可行,存储和计算 的复杂度也可能很高
核函数的引入
定义:对称正定函数 称为核函数(Kernel),如果存在某个特征映射 使得:
直观理解:
特征空间视角: 核函数视角:
φ(x) ──────┐ K(x, y)
│ ⟹ 直接计算
φ(y) ──────┘ ↑ 一步到位!
│
特征映射 φ 可能很高维/无限维 直接计算 K(x,y)
常见的核函数
| 核函数 | 公式 | 特征空间维度 |
|---|---|---|
| 线性核 | 原空间 | |
| 多项式核 | ||
| 高斯核(RBF) | 无限维 | |
| 拉普拉斯核 | 无限维 | |
| Sigmoid核 | 取决于参数 |
高斯核的无限维特征空间
高斯核可以展开为泰勒级数:
每个幂次对应一个多项式特征,因此是无限维的。
正定核的数学定义
对称正定性
定义:函数 称为正定核(Positive Definite Kernel),如果:
- 对称性:
- 正定性:对任意有限点集 和任意实数 :
用矩阵语言:Gram矩阵 必须是半正定的。
Gram矩阵示例
import numpy as np
def check_kernel_positive_definite(K):
"""
检查核矩阵是否半正定
"""
eigenvalues = np.linalg.eigvalsh(K)
print(f"特征值: {eigenvalues}")
print(f"最小特征值: {eigenvalues.min():.6f}")
return eigenvalues.min() >= -1e-10
# 高斯核
def gaussian_kernel(X, sigma=1.0):
"""计算高斯核矩阵"""
pairwise_sq_dists = np.sum((X[:, np.newaxis] - X[np.newaxis, :]) ** 2, axis=-1)
return np.exp(-pairwise_sq_dists / (2 * sigma ** 2))
X = np.array([[1, 2], [2, 1], [3, 3]])
K = gaussian_kernel(X)
print("高斯核矩阵:")
print(K)
check_kernel_positive_definite(K)再生核希尔伯特空间(RKHS)
希尔伯特空间回顾
希尔伯特空间 是完备的内积空间:
- 内积:
- 范数:
- 完备性:所有Cauchy列收敛到空间中的元素
RKHS的定义
定义:设 是定义在 上的希尔伯特空间, 是函数。如果:
- ,对所有 (可再生性)
- (再生性质)
则 称为再生核希尔伯特空间, 称为再生核。
再生性质的含义
核心公式:
这意味着:
- 核函数 是”评估泛函”的表示
- 通过内积可以计算函数值
RKHS的存在唯一性
Moore-Aronszajn定理:每个正定核 唯一确定一个RKHS 。
构造方法:设 是正定核,考虑所有形如
的函数的线性组合,并在内积
下闭包得到 。
Mercer定理
定理陈述
定理(Mercer):设 是紧集, 是连续的半正定核函数。则存在正交基 (由特征函数组成)和非负特征值 使得:
其中特征值按递减顺序排列:。
Mercer特征映射
Mercer定理允许我们定义Mercer特征映射:
其中 是归一化的特征函数。那么:
其中 是无限维特征向量。
有限维近似
当特征值快速衰减时(常见于实践中),可以用前 个特征函数近似:
这正是PCA/Nyström近似的理论基础。
核函数的构建规则
基本运算保持正定性
设 是正定核,, 是实值函数。则以下核函数也是正定的:
| 运算 | 结果核函数 |
|---|---|
| 加法 | |
| 数乘 | |
| 乘法 | |
| 函数组合 | |
| 多项式 | ,其中 系数非负 |
| 指数 | |
| 逆 |
证明思路:乘法核
设 ,,则:
定义张量积特征映射:,则:
RKHS中的函数类
范数的物理意义
RKHS范数 度量了函数的”复杂度”或”光滑性”:
- 小范数:简单、平滑的函数
- 大范数:复杂、多变的函数
这与正则化理论直接相关: 可以作为正则项。
核再生空间中的范数计算
设 ,则:
其中 是Gram矩阵。
正则化风险最小化
在RKHS中的正则化学习问题:
利用表示定理,最优解具有形式:
这将无限维优化问题转化为有限维的核矩阵求解。
表示定理(Representer Theorem)
标准形式
定理(Kimeldorf-Wahba表示定理):考虑优化问题:
其中 是损失函数,。则最优解 具有表示:
证明直觉
- RKHS中的范数鼓励”简单”的函数
- 在子空间 中搜索已经足够
- 因为任何正交补方向的函数在训练点上的值为0,不影响损失函数
推论
- SVM:支持向量机是最小间隔损失的特例
- 核岭回归: 损失的闭式解
- 核PCA:主成分分析在RKHS中的扩展
与神经网络的深层联系
神经切核(Neural Tangent Kernel, NTK)
定义:设 是参数为 的神经网络,考虑其在一组随机初始化的参数附近的一阶泰勒展开:
神经切核定义为:
NTK的理论意义
定理(大宽度极限):当网络宽度无限大且使用梯度下降训练时,网络的行为由NTK决定:
- 训练动态变得线性:
- 最终解等价于在RKHS中用NTK作为核函数的核岭回归
NTK vs 标准核
| 特性 | 标准核(RBF等) | 神经切核 |
|---|---|---|
| 特征映射 | 固定的 | 从数据学习 |
| 表达能力 | 受限于核函数形式 | 取决于网络架构 |
| 计算复杂度 | 需要网络前向传播 | |
| 自适应 | 否 | 是 |
有限宽度修正
现代研究表明,有限宽度网络表现出偏离NTK预测的行为:
- Tensor Program 理论(ICML 2022)提供了系统性的有限宽度修正
- 边缘核(Edge of Chaos)理论描述了网络在NTK和非NTK regime之间的转变
核方法在现代深度学习中的角色
1. 核蒸馏(Kernel Distillation)
将大网络的表示蒸馏为小网络,同时保留核相似性结构。
2. 核作为注意力
某些注意力机制可以解释为核平滑:
高斯核注意力:
3. 无限宽网络作为核方法
import torch
import torch.nn as nn
class InfiniteWidthNetwork(nn.Module):
"""
模拟无限宽网络(NTK regime)
实际使用时,参数应该随机固定不更新
"""
def __init__(self, input_dim, hidden_dim, output_dim):
super().__init__()
self.phi = nn.Sequential(
nn.Linear(input_dim, hidden_dim),
nn.ReLU(),
nn.Linear(hidden_dim, hidden_dim),
nn.ReLU(),
nn.Linear(hidden_dim, output_dim)
)
def forward(self, x):
return self.phi(x)
# 冻结随机特征(模拟NTK)
def ntk_predict(model, x, y_train, alpha):
"""NTK预测:使用核回归"""
K = compute_kernel(x, x_train) # n × m 核矩阵
return K @ alpha核函数选择指南
问题类型与核函数选择
| 问题类型 | 推荐核函数 | 理由 |
|---|---|---|
| 文本分类 | 线性核 / 多项式核 | 高维稀疏数据 |
| 图像分类 | 高斯核 / χ²核 | 非线性模式 |
| 生物序列 | 谱核 / string kernel | 序列相似性 |
| 图结构 | 图核 / random walk kernel | 图同构测试 |
| 时间序列 | 动态时间归整核 | 时间对齐 |
超参数调优
from sklearn.kernel_approximation import Nystroem
from sklearn.svm import SVC
from sklearn.pipeline import Pipeline
def create_kernel_svm_pipeline(kernel_type='rbf', gamma='scale', C=1.0):
"""
创建核SVM流水线
"""
if kernel_type == 'nystroem':
# Nystroem近似:大数据时的有效策略
return Pipeline([
('nystroem', Nystroem(kernel=kernel_type, gamma=gamma, n_components=500)),
('svm', SVC(C=C))
])
else:
return SVC(kernel=kernel_type, gamma=gamma, C=C)
# 参数网格搜索
param_grid = {
'gamma': [0.001, 0.01, 0.1, 1],
'C': [0.1, 1, 10, 100]
}总结
| 概念 | 核心要点 |
|---|---|
| 正定核 | Gram矩阵半正定的对称函数 |
| RKHS | 核唯一确定的函数空间,具有再生性质 |
| Mercer定理 | 核函数的特征值展开 |
| 表示定理 | RKHS中的最优解具有有限核表示 |
| 神经切核 | 无限宽网络的线性化动态 |
核方法是连接经典机器学习和现代深度学习的重要桥梁。理解RKHS理论不仅有助于掌握SVM、GP等核方法,还能深化对神经网络工作原理的理解。
参考
Footnotes
-
Schölkopf, B., & Smola, A. J. (2002). Learning with Kernels: Support Vector Machines, Regularization, Optimization, and Beyond. MIT Press. ↩