高斯过程回归(Gaussian Process Regression)的协方差函数选择与超参数优化过程
题目描述
高斯过程回归(GPR)是一种非参数贝叶斯模型,其核心思想是通过协方差函数(核函数)定义函数空间中各点间的相似性,从而对未知数据进行概率预测。协方差函数的选择和超参数优化直接决定了模型的拟合能力和泛化性能。本题目将详细讲解如何根据数据特性选择协方差函数,并利用最大似然估计优化超参数。
解题过程
1. 高斯过程回归的基本设定
- 假设训练集为 \(\{ (x_i, y_i) \}_{i=1}^n\),其中 \(y_i = f(x_i) + \epsilon\),噪声 \(\epsilon \sim \mathcal{N}(0, \sigma_n^2)\)。
- 高斯过程定义为函数的先验分布:\(f(\cdot) \sim \mathcal{GP}(m(\cdot), k(\cdot, \cdot))\),其中 \(m(x)\) 是均值函数(常设为0),\(k(x, x')\) 是协方差函数。
- 预测分布:对于新输入 \(x_*\),预测值 \(f_*\) 与训练标签 \(y\) 的联合分布为:
\[ \begin{bmatrix} y \\ f_* \end{bmatrix} \sim \mathcal{N} \left( 0, \begin{bmatrix} K(X, X) + \sigma_n^2 I & K(X, x_*) \\ K(x_*, X) & k(x_*, x_*) \end{bmatrix} \right) \]
其中 \(K(X, X)\) 是训练点之间的协方差矩阵,\(K(X, x_*)\) 是训练点与测试点间的协方差向量。
2. 协方差函数的选择原则
协方差函数需满足对称性和正定性,常见选择包括:
- 径向基函数(RBF核):
\[ k(x, x') = \sigma_f^2 \exp\left( -\frac{\|x - x'\|^2}{2l^2} \right) \]
适用于平滑函数,超参数 \(l\) 控制长度尺度(函数变化速度),\(\sigma_f^2\) 控制输出幅度。
- 周期核(Periodic Kernel):
\[ k(x, x') = \sigma_f^2 \exp\left( -\frac{2\sin^2(\pi\|x - x'\|/p)}{l^2} \right) \]
适用于周期性数据,超参数 \(p\) 控制周期长度。
- 线性核(Linear Kernel):
\[ k(x, x') = \sigma_b^2 + \sigma_f^2 (x - c)(x' - c) \]
适用于线性关系,可结合其他核处理复杂模式。
- 马顿核(Matérn Kernel):
\[ k(x, x') = \sigma_f^2 \frac{2^{1-\nu}}{\Gamma(\nu)} \left( \frac{\sqrt{2\nu}\|x - x'\|}{l} \right)^\nu K_\nu \left( \frac{\sqrt{2\nu}\|x - x'\|}{l} \right) \]
其中 \(K_\nu\) 是修正贝塞尔函数,\(\nu\) 控制平滑度(\(\nu=1.5\) 或 \(2.5\) 常用)。
选择策略:
- 若数据平滑连续,选择RBF核;
- 若存在周期性,添加周期核;
- 若数据有线性趋势,使用线性核与RBF核的组合(如 \(k_{\text{sum}} = k_{\text{linear}} + k_{\text{RBF}}\));
- 若数据有噪声起伏,用Matérn核替代RBF核。
3. 超参数优化的数学基础
超参数 \(\theta\)(如RBF核的 \(l, \sigma_f, \sigma_n\))通过最大化边缘似然函数确定:
\[\log p(y | X, \theta) = -\frac{1}{2} y^\top (K + \sigma_n^2 I)^{-1} y - \frac{1}{2} \log |K + \sigma_n^2 I| - \frac{n}{2} \log 2\pi \]
其中第一项是数据拟合项,第二项是复杂度惩罚项,第三项是常数。
4. 优化步骤详解
步骤1:初始化超参数
- 根据数据尺度设定初始值:
- 长度尺度 \(l\) 初始化为特征平均距离;
- 信号方差 \(\sigma_f^2\) 初始化为标签方差;
- 噪声方差 \(\sigma_n^2\) 初始化为标签方差的10%。
步骤2:计算梯度并迭代更新
- 使用梯度上升法(或L-BFGS-B等优化器)最大化对数边缘似然。
- 以RBF核为例,需计算对数似然对超参数的偏导:
\[ \frac{\partial \log p(y|X, \theta)}{\partial \theta_j} = \frac{1}{2} y^\top K^{-1} \frac{\partial K}{\partial \theta_j} K^{-1} y - \frac{1}{2} \text{tr} \left( K^{-1} \frac{\partial K}{\partial \theta_j} \right) \]
其中 \(\frac{\partial K}{\partial l} = K \cdot \frac{\|x - x'\|^2}{l^3}\),\(\frac{\partial K}{\partial \sigma_f} = \frac{2K}{\sigma_f}\)。
步骤3:收敛判断与重新初始化
- 当梯度范数小于阈值 \(\epsilon\) 或达到最大迭代次数时停止;
- 若似然函数陷入局部最优,多次随机初始化超参数并选择最优解。
5. 实例演示(一维数据)
假设数据由 \(y = \sin(2\pi x) + \epsilon\) 生成:
- 选择周期核:因数据明显周期性,核函数为:
\[ k(x, x') = \sigma_f^2 \exp\left( -\frac{2\sin^2(\pi|x - x'|)}{l^2} \right) + \sigma_n^2 \delta_{xx'} \]
- 优化超参数:
- 初始值设为 \(l=1, \sigma_f=1, \sigma_n=0.1\);
- 通过梯度上升更新参数,最终得到 \(l \approx 1.2, \sigma_f \approx 0.9, \sigma_n \approx 0.05\);
- 预测:利用优化后的核函数计算后验分布,得到平滑的周期预测曲线。
总结
协方差函数的选择需结合数据特性(平滑性、周期性、噪声等),超参数优化通过最大化边缘似然实现,其梯度计算依赖核函数对超参数的敏感性。该方法使高斯过程回归能自适应数据复杂模式,并提供不确定性量化。