支持向量回归(SVR)的原理与非线性拟合过程
题目描述
支持向量回归(Support Vector Regression, SVR)是支持向量机在回归问题上的扩展,其核心思想是找到一个函数 \(f(x)\),使得预测值与真实值的偏差不超过阈值 \(\epsilon\),同时保持函数尽可能平坦。与SVM类似,SVR通过核函数处理非线性关系,并引入松弛变量容忍异常点。本题将详细讲解SVR的数学模型、损失函数定义、优化目标推导及核函数应用。
解题过程
-
问题定义
给定训练集 \(\{(x_i, y_i)\}_{i=1}^n\),SVR的目标是学习一个回归函数 \(f(x) = w^T \phi(x) + b\),其中 \(\phi(x)\) 是将输入映射到高维特征空间的函数。SVR的优化目标如下:- 允许预测值 \(f(x_i)\) 与真实值 \(y_i\) 的偏差不超过 \(\epsilon\)(即 \(|y_i - f(x_i)| \leq \epsilon\) 时无损失)。
- 对于偏差大于 \(\epsilon\) 的点,引入松弛变量 \(\xi_i, \xi_i^*\) 表示超出阈值的误差。
-
损失函数与优化目标
SVR使用 \(\epsilon\)-不敏感损失函数:
\[ L_\epsilon(y, f(x)) = \begin{cases} 0 & \text{if } |y - f(x)| \leq \epsilon \\ |y - f(x)| - \epsilon & \text{otherwise} \end{cases} \]
优化问题形式化为:
\[ \min_{w,b,\xi,\xi^*} \frac{1}{2} \|w\|^2 + C \sum_{i=1}^n (\xi_i + \xi_i^*) \]
约束条件为:
\[ \begin{aligned} y_i - f(x_i) &\leq \epsilon + \xi_i, \\ f(x_i) - y_i &\leq \epsilon + \xi_i^*, \\ \xi_i, \xi_i^* &\geq 0. \end{aligned} \]
其中 \(C\) 是正则化参数,平衡函数平坦性与误差容忍度。
- 拉格朗日对偶问题
引入拉格朗日乘子 \(\alpha_i, \alpha_i^*, \eta_i, \eta_i^*\),构建拉格朗日函数:
\[ \begin{aligned} L = &\frac{1}{2} \|w\|^2 + C \sum_i (\xi_i + \xi_i^*) - \sum_i \alpha_i(\epsilon + \xi_i - y_i + f(x_i)) \\ &- \sum_i \alpha_i^*(\epsilon + \xi_i^* + y_i - f(x_i)) - \sum_i (\eta_i \xi_i + \eta_i^* \xi_i^*). \end{aligned} \]
对 \(w, b, \xi_i, \xi_i^*\) 求偏导并令其为零,得到关系:
\[ \begin{aligned} w &= \sum_i (\alpha_i - \alpha_i^*) \phi(x_i), \\ \sum_i (\alpha_i - \alpha_i^*) &= 0, \\ C &= \alpha_i + \eta_i = \alpha_i^* + \eta_i^*. \end{aligned} \]
代入原问题后,得到对偶问题:
\[ \max_{\alpha,\alpha^*} -\frac{1}{2} \sum_{i,j} (\alpha_i - \alpha_i^*)(\alpha_j - \alpha_j^*) K(x_i, x_j) - \epsilon \sum_i (\alpha_i + \alpha_i^*) + \sum_i y_i (\alpha_i - \alpha_i^*) \]
约束为:
\[ \sum_i (\alpha_i - \alpha_i^*) = 0, \quad 0 \leq \alpha_i, \alpha_i^* \leq C. \]
其中 \(K(x_i, x_j) = \phi(x_i)^T \phi(x_j)\) 是核函数。
- 支持向量与预测函数
- 支持向量对应 \(\alpha_i \neq 0\) 或 \(\alpha_i^* \neq 0\) 的样本,即偏差超过 \(\epsilon\) 的样本。
- 预测函数为:
\[ f(x) = \sum_{i \in SV} (\alpha_i - \alpha_i^*) K(x_i, x) + b. \]
参数 $ b $ 通过支持向量满足 $ |y_i - f(x_i)| = \epsilon $ 计算。
- 核函数处理非线性
对于非线性回归,使用核函数(如高斯核 \(K(x_i, x_j) = \exp(-\gamma \|x_i - x_j\|^2)\))隐式映射到高维空间,避免显式计算 \(\phi(x)\)。
总结
SVR通过 \(\epsilon\)-不敏感损失控制拟合精度,利用核函数扩展至非线性场景,其解仅依赖支持向量,具有稀疏性和鲁棒性。