高斯过程回归(Gaussian Process Regression)的超参数优化方法
题目描述
高斯过程回归(GPR)是一种非参数贝叶斯模型,其预测结果以概率分布形式呈现。GPR的性能高度依赖超参数(如核函数的长度尺度、方差等),这些参数无法通过模型直接学习,需通过优化边际似然函数来确定。本题要求详细讲解GPR超参数优化的原理、目标函数构建及梯度下降求解过程。
解题过程
- 超参数的作用与类型
- GPR的超参数包括核函数参数(如径向基函数核的长度尺度\(l\)和方差\(\sigma_f^2\))以及噪声方差\(\sigma_n^2\)。
- 例如,对于RBF核:
\[ k(x_i, x_j) = \sigma_f^2 \exp\left(-\frac{\|x_i - x_j\|^2}{2l^2}\right) + \sigma_n^2 \delta_{ij} \]
其中$\delta_{ij}$是指示函数($i=j$时为1,否则为0)。
- 超参数影响函数的平滑度、波动幅度和噪声容忍度。
- 优化目标:边际似然函数
- 假设训练数据\(\mathbf{X}, \mathbf{y}\)服从多元高斯分布\(\mathbf{y} \sim \mathcal{N}(0, K(\mathbf{X}, \mathbf{X}) + \sigma_n^2 I)\),其对数边际似然为:
\[ \log p(\mathbf{y} \mid \mathbf{X}, \theta) = -\frac{1}{2} \mathbf{y}^T (K + \sigma_n^2 I)^{-1} \mathbf{y} - \frac{1}{2} \log |K + \sigma_n^2 I| - \frac{n}{2} \log 2\pi \]
其中$\theta = (l, \sigma_f^2, \sigma_n^2)$为超参数,$K$是核矩阵。
- 第一项是数据拟合项,第二项是模型复杂度惩罚项,第三项是常数。
- 梯度计算
- 为使用梯度下降法,需计算对数边际似然对超参数\(\theta_j\)的偏导:
\[ \frac{\partial}{\partial \theta_j} \log p(\mathbf{y} \mid \mathbf{X}, \theta) = \frac{1}{2} \mathbf{y}^T K^{-1} \frac{\partial K}{\partial \theta_j} K^{-1} \mathbf{y} - \frac{1}{2} \text{tr}\left(K^{-1} \frac{\partial K}{\partial \theta_j}\right) \]
- 以RBF核的\(l\)为例:
\[ \frac{\partial k}{\partial l} = \sigma_f^2 \exp\left(-\frac{\|x_i - x_j\|^2}{2l^2}\right) \cdot \frac{\|x_i - x_j\|^2}{l^3} \]
其他超参数的梯度类似计算。
- 优化算法步骤
- 初始化:随机设置超参数初值(如\(l=1.0, \sigma_f^2=1.0, \sigma_n^2=0.1\))。
- 迭代更新:
- 计算当前核矩阵\(K\)及其逆矩阵(可用Cholesky分解避免数值不稳定)。
- 计算对数边际似然和梯度。
- 使用梯度上升或优化器(如L-BFGS)更新超参数:
\[ \theta_{\text{new}} = \theta_{\text{old}} + \alpha \nabla_\theta \log p(\mathbf{y} \mid \mathbf{X}, \theta) \]
其中$\alpha$为学习率。
- 终止条件:当梯度范数小于阈值或达到最大迭代次数时停止。
- 注意事项
- 需避免陷入局部最优:多次随机初始化并选择最优结果。
- 核矩阵求逆的复杂度为\(O(n^3)\),大数据集需用近似方法(如随机傅里叶特征)。
- 超参数可能需约束(如正值),可通过取对数后优化或使用约束优化器。
总结
GPR的超参数优化通过最大化对数边际似然,平衡拟合优度与模型复杂度,利用梯度下降高效搜索参数空间,最终提升模型预测的准确性与泛化能力。