ARTICLE

支持向量回归

支持向量回归 (Support Vector Regression, SVR) 支持向量回归(Support Vector Regression,SVR)是将支持向量机的分类原理推广至回归问题的监督学习方法。SVR由Vapnik等人基于统计学习理论提出,其核心思想是:不追求最小化预测误差平方和,而试图在特征空间中拟合一个宽度为ε的"不敏感管"(ε-Insen

浏览 0 更新 2025-11-08

支持向量回归 (Support Vector Regression, SVR)

支持向量回归(Support Vector Regression,SVR)是将支持向量机的分类原理推广至回归问题的监督学习方法。SVR由Vapnik等人基于统计学习理论提出,其核心思想是:不追求最小化预测误差平方和,而试图在特征空间中拟合一个宽度为ε的"不敏感管"(ε-Insensitive Tube),使尽可能多的训练样本落入管内,仅对管外样本施加惩罚。这一策略赋予SVR优秀的泛化能力和对高维数据、小样本的适应性,使其成为机器学习回归任务中的重要方法。

核心机制:ε-不敏感损失

SVR与普通最小二乘回归(OLS)的根本区别在于损失函数的定义。OLS最小化残差平方和,对所有样本等权重地施加惩罚,因此对离群值极为敏感。SVR则采用ε-不敏感损失函数

L(y,f(x))=max(0,yf(x)ε)L(y, f(x)) = \max(0, |y - f(x)| - \varepsilon)

当预测值与实际值的偏差不超过ε时,损失为零;仅当偏差超过ε时才产生线性惩罚。ε定义了一个包围回归超平面的"管道",管道内的样本被视为已充分拟合,不产生任何损失。这一设计使SVR天然具有稀疏性——只有位于管道边界上或边界外的样本(即支持向量)才决定回归函数的形态,其余样本不参与模型表达,显著降低了计算复杂度。

数学形式与核技巧

SVR求解一个凸优化问题,目标是最小化正则化项与惩罚项之和:

min12w2+Ci=1n(ξi+ξi)\min \frac{1}{2}\|\mathbf{w}\|^2 + C\sum_{i=1}^n (\xi_i + \xi_i^*)

约束于 yiw,ϕ(xi)bε+ξiy_i - \langle\mathbf{w}, \phi(\mathbf{x}_i)\rangle - b \leq \varepsilon + \xi_i 等。权重向量范数w2\|\mathbf{w}\|^2控制模型复杂度,参数C(惩罚系数)权衡经验风险与结构风险——C越大对超出管道样本的惩罚越严厉,易过拟合;C越小则可能欠拟合。松弛变量ξi,ξi\xi_i, \xi_i^*允许个别样本超出管道。

通过拉格朗日乘子法转化为对偶问题后,核技巧(Kernel Trick)得以应用:无需显式计算高维映射ϕ()\phi(\cdot),只需指定核函数即可在高维空间中完成回归。最终回归函数为:

f(x)=i=1n(αiαi)K(xi,x)+bf(\mathbf{x}) = \sum_{i=1}^n (\alpha_i - \alpha_i^*) K(\mathbf{x}_i, \mathbf{x}) + b

其中仅αiαi0\alpha_i - \alpha_i^* \neq 0的样本为支持向量,K(xi,xj)=ϕ(xi),ϕ(xj)K(\mathbf{x}_i, \mathbf{x}_j) = \langle\phi(\mathbf{x}_i), \phi(\mathbf{x}_j)\rangle为核函数。

核函数与关键参数

常用核函数包括:

  • 线性核K(xi,xj)=xi,xjK(\mathbf{x}_i, \mathbf{x}_j) = \langle\mathbf{x}_i, \mathbf{x}_j\rangle,退化为标准线性SVR,计算高效。
  • 多项式核K(xi,xj)=(γxi,xj+r)dK(\mathbf{x}_i, \mathbf{x}_j) = (\gamma\langle\mathbf{x}_i, \mathbf{x}_j\rangle + r)^d,可拟合多项式非线性关系,但高阶易过拟合。
  • RBF核(高斯径向基核):K(xi,xj)=exp(γxixj2)K(\mathbf{x}_i, \mathbf{x}_j) = \exp(-\gamma\|\mathbf{x}_i - \mathbf{x}_j\|^2),最常用的非线性核,对应无穷维特征空间,灵活度极高。
  • Sigmoid核K(xi,xj)=tanh(γxi,xj+r)K(\mathbf{x}_i, \mathbf{x}_j) = \tanh(\gamma\langle\mathbf{x}_i, \mathbf{x}_j\rangle + r),与神经网络激活函数有关。

三个关键超参数:C(惩罚系数,通过对数网格搜索加交叉验证确定)、ε(管道宽度,控制稀疏程度,取值应与数据噪声水平相关)和γ(RBF核参数,决定样本影响半径,与模型复杂度正相关)。通常以网格搜索配合k-折交叉验证优化选择。

比较与应用

相较于OLS,SVR对离群值具有内在鲁棒性且可捕获非线性模式;相较于岭回归Lasso回归,三者均涉及正则化,但SVR产生样本级别的稀疏(仅保留支持向量)而非系数级别的稀疏;相较于神经网络,SVR具有全局最优解保证(凸优化,无局部极小值困扰),在小样本高维场景泛化更优,但大规模数据训练效率不及深度学习。

SVR在经济金融预测(股价趋势预测、波动率建模与GARCH互补、信用评分)、时间序列分析、能源负荷预测、生物信息学等领域表现突出,尤其适用于小样本、高维度、非线性的回归场景。与VARARIMA等传统计量方法不同,SVR无需预设数据生成过程的参数形式,具有更强的数据驱动适应性。

理论渊源

SVR的理论根基在于Vapnik和Chervonenkis发展的统计学习理论和VC维概念。其核心原则——结构风险最小化(Structural Risk Minimization,SRM)——主张在经验风险与模型复杂度之间寻求最优权衡,从而获得最小的泛化误差上界。这一原则通过C和ε两个参数在SVR中具体实现。与经验风险最小化的OLS不同,SRM使SVR即使在小样本条件下也能避免严重过拟合,这正是SVR在高维稀疏数据场景中表现优异的原因。从计算角度,SVR的优化是带线性约束的二次规划问题,中小规模数据常用SMO算法变体求解。主流库scikit-learn中\texttt{sklearn.svm.SVR}封装了基于LIBSVM的高效实现,支持多种核函数和关键参数接口。