线性支持向量回归(Linear Support Vector Regression, Linear SVR)的原理与优化过程
题目描述
线性支持向量回归(Linear SVR)是支持向量机(SVM)思想在回归问题上的扩展。其核心目标是寻找一个线性函数 \(f(\mathbf{x}) = \mathbf{w}^T \mathbf{x} + b\),使得该函数与所有训练样本的真实输出 \(y_i\) 之间的偏差不超过一个预设的容忍误差 \(\epsilon\),同时尽可能保持函数自身的“平坦”(即权重向量 \(\mathbf{w}\) 的范数尽可能小)。对于超出 \(\epsilon\) 带的样本,会引入松弛变量 \(\xi_i, \xi_i^*\) 进行惩罚。本题目要求详细讲解Linear SVR的数学模型构建、优化目标的推导,以及如何通过拉格朗日对偶和二次规划进行求解的完整过程。
解题过程
- 问题形式化与损失函数
- 在回归任务中,给定训练数据集 \(\{ (\mathbf{x}_i, y_i) \}_{i=1}^{n}\),其中 \(\mathbf{x}_i \in \mathbb{R}^d\), \(y_i \in \mathbb{R}\)。
- SVR采用 \(\epsilon\)-不敏感损失函数 \(L_{\epsilon}\):
\[ L_{\epsilon}(y, f(\mathbf{x})) = \max(0, |y - f(\mathbf{x})| - \epsilon) \]
该函数的特点是:如果预测值 $ f(\mathbf{x}) $ 与真实值 $ y $ 的绝对差不超过 $ \epsilon $,则损失为0;否则损失为差值减去 $ \epsilon $。这定义了一个“$\epsilon$-带”($\epsilon$-tube),落在带内的样本不计损失。
- 我们的目标是学习一个线性模型 \(f(\mathbf{x}) = \mathbf{w}^T \mathbf{x} + b\)。
- 优化目标的构建(软间隔SVR)
- 为了容忍部分样本偏离 \(\epsilon\)-带,引入两对松弛变量 \(\xi_i \geq 0\) 和 \(\xi_i^* \geq 0\),分别对应真实值在带上方和下方的偏差。
- 约束条件可以写为:
\[ \begin{align} y_i - \mathbf{w}^T \mathbf{x}_i - b &\leq \epsilon + \xi_i \\ \mathbf{w}^T \mathbf{x}_i + b - y_i &\leq \epsilon + \xi_i^* \\ \xi_i, \xi_i^* &\geq 0 \quad \forall i \end{align} \]
- 优化目标由两部分组成:最小化权重范数 \(\frac{1}{2} \|\mathbf{w}\|^2\)(正则化项,确保函数平坦)和最小化所有超出 \(\epsilon\)-带的偏差总和 \(C \sum_{i=1}^{n} (\xi_i + \xi_i^*)\)(经验损失项)。其中 \(C > 0\) 是正则化参数,平衡两者。
- 因此,原始的优化问题(原始问题,Primal)为:
\[ \begin{align} \min_{\mathbf{w}, b, \boldsymbol{\xi}, \boldsymbol{\xi}^*} \quad & \frac{1}{2} \|\mathbf{w}\|^2 + C \sum_{i=1}^{n} (\xi_i + \xi_i^*) \\ \text{s.t.} \quad & y_i - \mathbf{w}^T \mathbf{x}_i - b \leq \epsilon + \xi_i \\ & \mathbf{w}^T \mathbf{x}_i + b - y_i \leq \epsilon + \xi_i^* \\ & \xi_i, \xi_i^* \geq 0 \quad \forall i \end{align} \]
- 构建拉格朗日函数
- 为处理不等式约束,引入拉格朗日乘子 \(\alpha_i \geq 0\)、\(\alpha_i^* \geq 0\) 对应前两组约束,以及 \(\eta_i \geq 0\)、\(\eta_i^* \geq 0\) 对应松弛变量的非负约束。
- 拉格朗日函数为:
\[ \begin{align} L = & \frac{1}{2} \|\mathbf{w}\|^2 + C \sum_{i=1}^{n} (\xi_i + \xi_i^*) \\ & - \sum_{i=1}^{n} \alpha_i (\epsilon + \xi_i - y_i + \mathbf{w}^T \mathbf{x}_i + b) \\ & - \sum_{i=1}^{n} \alpha_i^* (\epsilon + \xi_i^* + y_i - \mathbf{w}^T \mathbf{x}_i - b) \\ & - \sum_{i=1}^{n} (\eta_i \xi_i + \eta_i^* \xi_i^*) \end{align} \]
- 导出对偶问题
- 根据KKT条件,对原始变量 \(\mathbf{w}, b, \xi_i, \xi_i^*\) 求偏导并令其为零:
\[ \begin{align} \frac{\partial L}{\partial \mathbf{w}} &= 0 \Rightarrow \mathbf{w} = \sum_{i=1}^{n} (\alpha_i - \alpha_i^*) \mathbf{x}_i \\ \frac{\partial L}{\partial b} &= 0 \Rightarrow \sum_{i=1}^{n} (\alpha_i - \alpha_i^*) = 0 \\ \frac{\partial L}{\partial \xi_i} &= 0 \Rightarrow C - \alpha_i - \eta_i = 0 \\ \frac{\partial L}{\partial \xi_i^*} &= 0 \Rightarrow C - \alpha_i^* - \eta_i^* = 0 \end{align} \]
- 从后两式可得 \(\eta_i = C - \alpha_i\),\(\eta_i^* = C - \alpha_i^*\)。由于 \(\eta_i, \eta_i^* \geq 0\),我们得到约束 \(0 \leq \alpha_i, \alpha_i^* \leq C\)。
- 将上述关系代入拉格朗日函数 \(L\),消去原始变量和 \(\eta_i, \eta_i^*\),得到对偶优化问题:
\[ \begin{align} \max_{\boldsymbol{\alpha}, \boldsymbol{\alpha}^*} \quad & -\frac{1}{2} \sum_{i=1}^{n} \sum_{j=1}^{n} (\alpha_i - \alpha_i^*) (\alpha_j - \alpha_j^*) \mathbf{x}_i^T \mathbf{x}_j \\ & - \epsilon \sum_{i=1}^{n} (\alpha_i + \alpha_i^*) + \sum_{i=1}^{n} y_i (\alpha_i - \alpha_i^*) \\ \text{s.t.} \quad & \sum_{i=1}^{n} (\alpha_i - \alpha_i^*) = 0 \\ & 0 \leq \alpha_i, \alpha_i^* \leq C \quad \forall i \end{align} \]
这是一个标准的凸二次规划问题。
- 模型求解与表示
- 求解上述对偶问题得到最优的 \(\alpha_i\) 和 \(\alpha_i^*\)。
- 根据 \(\mathbf{w} = \sum_{i=1}^{n} (\alpha_i - \alpha_i^*) \mathbf{x}_i\) 可以直接得到权重向量。
- 截距项 \(b\) 可以利用KKT互补松弛条件求出。对于满足 \(0 < \alpha_i < C\) 的样本(落在 \(\epsilon\)-带上方边界上),有 \(\xi_i = 0\) 且 \(\epsilon + \xi_i - y_i + \mathbf{w}^T \mathbf{x}_i + b = 0\),因此:
\[ b = y_i - \mathbf{w}^T \mathbf{x}_i - \epsilon \]
类似地,对于满足 $ 0 < \alpha_i^* < C $ 的样本(落在下方边界上),有:
\[ b = y_i - \mathbf{w}^T \mathbf{x}_i + \epsilon \]
实践中,常对所有满足条件的样本计算 $ b $ 后取平均值以增加数值稳定性。
- 最终,线性SVR模型为:
\[ f(\mathbf{x}) = \sum_{i=1}^{n} (\alpha_i - \alpha_i^*) \mathbf{x}_i^T \mathbf{x} + b \]
只有那些 $ \alpha_i - \alpha_i^* \neq 0 $ 对应的样本(即落在 $\epsilon$-带外或边界上的样本)才对模型有贡献,这些样本称为**支持向量**。这体现了SVR的解具有稀疏性。
- 总结与扩展
- Linear SVR的核心是通过 \(\epsilon\)-不敏感损失和正则化项,在容忍一定误差的前提下,寻找一个最平坦的线性函数。
- 通过拉格朗日对偶,将原始带复杂约束的优化转化为一个更易求解的凸二次规划问题。
- 解具有稀疏性,模型仅由支持向量决定。
- 要处理非线性回归,可通过核技巧(Kernel Trick)将内积 \(\mathbf{x}_i^T \mathbf{x}_j\) 替换为核函数 \(K(\mathbf{x}_i, \mathbf{x}_j)\),从而将算法扩展为非线性支持向量回归(Kernel SVR)。