线性支持向量回归(Linear Support Vector Regression, Linear SVR)的原理与优化过程
字数 4530 2025-12-15 06:15:08

线性支持向量回归(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的数学模型构建、优化目标的推导,以及如何通过拉格朗日对偶和二次规划进行求解的完整过程。

解题过程

  1. 问题形式化与损失函数
    • 在回归任务中,给定训练数据集 \(\{ (\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\)
  1. 优化目标的构建(软间隔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} \]

  1. 构建拉格朗日函数
    • 为处理不等式约束,引入拉格朗日乘子 \(\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} \]

  1. 导出对偶问题
    • 根据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} \]

 这是一个标准的凸二次规划问题。
  1. 模型求解与表示
    • 求解上述对偶问题得到最优的 \(\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的解具有稀疏性。
  1. 总结与扩展
    • Linear SVR的核心是通过 \(\epsilon\)-不敏感损失和正则化项,在容忍一定误差的前提下,寻找一个最平坦的线性函数。
    • 通过拉格朗日对偶,将原始带复杂约束的优化转化为一个更易求解的凸二次规划问题。
    • 解具有稀疏性,模型仅由支持向量决定。
    • 要处理非线性回归,可通过核技巧(Kernel Trick)将内积 \(\mathbf{x}_i^T \mathbf{x}_j\) 替换为核函数 \(K(\mathbf{x}_i, \mathbf{x}_j)\),从而将算法扩展为非线性支持向量回归(Kernel SVR)。
线性支持向量回归(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)。