核岭回归(Kernel Ridge Regression)的原理与计算过程
题目描述
核岭回归是一种结合了核技巧与岭回归的机器学习算法,用于解决非线性回归问题。给定训练数据集 \(D = \{ (\mathbf{x}_i, y_i) \}_{i=1}^n\),其中 \(\mathbf{x}_i \in \mathbb{R}^d\) 是输入特征,\(y_i \in \mathbb{R}\) 是连续目标值,目标是学习一个非线性函数 \(f(\mathbf{x})\),使得对新样本 \(\mathbf{x}_*\) 的预测 \(f(\mathbf{x}_*)\) 尽可能准确。核岭回归通过核函数隐式地将输入数据映射到高维特征空间,并在该空间中应用岭回归(L2正则化线性回归),从而避免显式计算高维特征映射。
解题过程
- 问题形式化
- 岭回归的目标函数为:
\[ \min_{\mathbf{w}} \sum_{i=1}^n (y_i - \mathbf{w}^T \phi(\mathbf{x}_i))^2 + \lambda \|\mathbf{w}\|^2 \]
其中 $\phi(\cdot)$ 是将输入映射到高维特征空间的函数,$\lambda > 0$ 是正则化参数。
- 直接求解需计算高维权重向量 \(\mathbf{w}\),但核技巧允许我们通过核函数 \(K(\mathbf{x}_i, \mathbf{x}_j) = \phi(\mathbf{x}_i)^T \phi(\mathbf{x}_j)\) 避免显式处理 \(\phi(\cdot)\)。
- 表示定理的应用
- 根据表示定理,最优解 \(\mathbf{w}\) 可表示为训练样本的线性组合:\(\mathbf{w} = \sum_{i=1}^n \alpha_i \phi(\mathbf{x}_i)\)。
- 代入目标函数,将问题转化为求解系数 \(\boldsymbol{\alpha} = (\alpha_1, \dots, \alpha_n)^T\):
\[ \min_{\boldsymbol{\alpha}} \|\mathbf{y} - \mathbf{K} \boldsymbol{\alpha}\|^2 + \lambda \boldsymbol{\alpha}^T \mathbf{K} \boldsymbol{\alpha} \]
其中 $\mathbf{K}$ 是核矩阵,满足 $K_{ij} = K(\mathbf{x}_i, \mathbf{x}_j)$,$\mathbf{y} = (y_1, \dots, y_n)^T$。
- 求解系数 \(\boldsymbol{\alpha}\)
- 目标函数是凸函数,求导并令导数为零:
\[ \frac{\partial}{\partial \boldsymbol{\alpha}} \left[ (\mathbf{y} - \mathbf{K}\boldsymbol{\alpha})^T (\mathbf{y} - \mathbf{K}\boldsymbol{\alpha}) + \lambda \boldsymbol{\alpha}^T \mathbf{K} \boldsymbol{\alpha} \right] = 0 \]
- 展开并求导得:
\[ -2\mathbf{K}(\mathbf{y} - \mathbf{K}\boldsymbol{\alpha}) + 2\lambda \mathbf{K} \boldsymbol{\alpha} = 0 \]
- 化简后得到线性系统:
\[ (\mathbf{K} + \lambda \mathbf{I}) \boldsymbol{\alpha} = \mathbf{y} \]
其中 $\mathbf{I}$ 是单位矩阵。
- 预测新样本
- 对于新样本 \(\mathbf{x}_*\),预测值为:
\[ f(\mathbf{x}_*) = \mathbf{w}^T \phi(\mathbf{x}_*) = \sum_{i=1}^n \alpha_i K(\mathbf{x}_i, \mathbf{x}_*) \]
- 计算时仅需核函数值,无需显式构造 \(\phi(\cdot)\)。
- 算法总结
- 输入:训练数据 \(\{(\mathbf{x}_i, y_i)\}_{i=1}^n\),核函数 \(K\),正则化参数 \(\lambda\)。
- 步骤:
- 计算核矩阵 \(\mathbf{K} \in \mathbb{R}^{n \times n}\),其中 \(K_{ij} = K(\mathbf{x}_i, \mathbf{x}_j)\)。
- 求解线性系统 \((\mathbf{K} + \lambda \mathbf{I}) \boldsymbol{\alpha} = \mathbf{y}\) 得到 \(\boldsymbol{\alpha}\)。
- 预测新样本:\(f(\mathbf{x}_*) = \sum_{i=1}^n \alpha_i K(\mathbf{x}_i, \mathbf{x}_*)\)。
- 关键点:核函数需满足Mercer条件(如高斯核、多项式核),确保 \(\mathbf{K}\) 半正定;正则化参数 \(\lambda\) 控制模型复杂度,需通过交叉验证选择。