02-36 支持向量回归

支持向量回归

在这里插入图片描述

  传统回归模型如线性回归,对于样本 ( x , y ) (x,y) (x,y)是直接基于模型,通过预测值 f ( x i ) y f(x_i){y} f(xi)y和真实值 y y y之间的差别计算损失,并且当 f ( x i ) y = y f(x_i){y}=y f(xi)y=y时损失才为零。

  支持向量回归(support vector regression, SVR)则可以容忍 f ( x i ) y f(x_i){y} f(xi)y y y y之间有最多 ϵ \epsilon ϵ的偏差,即当 ∣ f ( x i ) y − y ∣ > ϵ |f(x_i){y}-y|>\epsilon f(xi)yy>ϵ的时候才计算损失,这相当于以 f ( x i ) y f(x_i){y} f(xi)y为中心,构建了一个宽度为 2 ϵ 2\epsilon 2ϵ的间隔带,如果样本落入间隔带,则他的分类就是正确的。

支持向量回归学习目标

  1. 支持向量机和支持向量回归的优化问题
  2. 支持向量回归目标函数的对偶形式
  3. 支持向量回归模型系数的稀疏性
  4. 核支持向量回归
  5. 支持向量机的优缺点

支持向量回归详解

支持向量机目标函数优化问题回顾

  线性可分SVM目标函数优化问题为
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ & \underbrace{…
  线性SVM由于在目标函数中加入了松弛因子 ξ i > 0 \xi_i>0 ξi>0,目标函数优化问题为
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ & \underbrace{…

支持向量回归损失度量函数

  支持向量回归由于有一个间隔带,因此它的损失度量函数为
l ( f ( x i ) , y i ) = { 0 , i f   ∣ f ( x i ) − y i ∣ ≤ ϵ ∣ f ( x i ) − y i ∣ − ϵ , i f   ∣ f ( x i ) − y i ∣ > ϵ l(f(x_i),y_i) = \begin{cases} 0, & if\,|f(x_i)-y_i|\leq\epsilon \\ |f(x_i)-y_i|-\epsilon, & if\,|f(x_i)-y_i|>\epsilon \\ \end{cases} l(f(xi),yi)={0,f(xi)yiϵ,iff(xi)yiϵiff(xi)yi>ϵ

支持向量回归目标函数优化问题

  由于SVR的间隔带是自己引入的,所以SVR的目标函数变为
min ⁡ ⏟ ω , b   1 2 ∣ ∣ ω ∣ ∣ 2 + C ∑ i = 1 m l ( f ( x i ) − y i ) \underbrace{\min}_{\omega,b}\,{\frac{1}{2}}{||\omega||}^2 + C\sum_{i=1}^ml(f(x_i)-y_i) ω,b min21ω2+Ci=1ml(f(xi)yi)
  如果和线性SVM一样引入松弛因子,但是由于我们的误差度量中的 ∣ f ( x i ) − y i ∣ ≤ ϵ |f(x_i)-y_i|\leq\epsilon f(xi)yiϵ是绝对值小于,因此这个不等式其实是两个不等式,则SVR需要引入两个松弛因子 ξ i \xi_i ξi ξ i ^ \hat{\xi_i} ξi^,则SVR的优化问题将变成
min ⁡ ⏟ ω , b , ξ i , ξ i ^ 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 m ( ξ i + ξ i ^ ) \underbrace{\min}_{\omega,b,\xi_i,\hat{\xi_i}}{\frac{1}{2}}||w||^2+C\sum_{i=1}^m(\xi_i+\hat{\xi_i}) ω,b,ξi,ξi^ min21w2+Ci=1m(ξi+ξi^)
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ s.t. & f(x_i)-…
  对SVR的优化问题引入拉格朗日乘子 μ i ≥ 0 , μ i ^ ≥ 0 , α i ≥ 0 , α i ^ ≥ 0 \mu_i\geq0,\hat{\mu_i}\geq0,\alpha_i\geq0,\hat{\alpha_i}\geq0 μi0,μi^0,αi0,αi^0,通过拉格朗日乘子法即可得到拉格朗日函数
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ & L(w,b,\alpha…

支持向量回归目标函数对偶形式

  通过拉格朗日即可得到支持向量回归目标函数的原始形式
m i n ⏟ w , b , ξ i , ξ i ^ m a x ⏟ μ i ≥ 0 , μ i ^ ≥ 0 , α i ≥ 0 , α i ^ ≥ 0 L ( w , b , α , α ^ , ξ , ξ ^ , μ , μ ^ ) \underbrace{min}_{w,b,\xi_i,\hat{\xi_i}} \quad \underbrace{max}_{\mu_i\geq0,\hat{\mu_i}\geq0,\alpha_i\geq0,\hat{\alpha_i}\geq0} L(w,b,\alpha,\hat{\alpha},\xi,\hat{\xi},\mu,\hat{\mu}) w,b,ξi,ξi^ minμi0,μi^0,αi0,αi^0 maxL(w,b,α,α^,ξ,ξ^,μ,μ^)
  可以发现支持向量回归的目标函数的原始形式也满足KTT条件,即可以通过拉格朗日对偶将我们的问题转化为等价的对偶问题,即
m a x ⏟ μ i ≥ 0 , μ i ^ ≥ 0 , α i ≥ 0 , α i ^ ≥ 0 m i n ⏟ w , b , ξ i , ξ i ^ L ( w , b , α , α ^ , ξ , ξ ^ , μ , μ ^ ) \underbrace{max}_{\mu_i\geq0,\hat{\mu_i}\geq0,\alpha_i\geq0,\hat{\alpha_i}\geq0} \quad \underbrace{min}_{w,b,\xi_i,\hat{\xi_i}}L(w,b,\alpha,\hat{\alpha},\xi,\hat{\xi},\mu,\hat{\mu}) μi0,μi^0,αi0,αi^0 maxw,b,ξi,ξi^ minL(w,b,α,α^,ξ,ξ^,μ,μ^)
  首先求优化函数对让 w , b , ξ i , ξ i ^ {w,b,\xi_i,\hat{\xi_i}} w,b,ξi,ξi^的极小值,再求拉格朗日乘子 μ i , μ i ^ , α i , α i ^ {\mu_i,\hat{\mu_i},\alpha_i,\hat{\alpha_i}} μi,μi^,αi,αi^的极大值,即先得到拉格朗日函数 L ( w , b , α , α ^ , ξ , ξ ^ , μ , μ ^ ) L(w,b,\alpha,\hat{\alpha},\xi,\hat{\xi},\mu,\hat{\mu}) L(w,b,α,α^,ξ,ξ^,μ,μ^)分别对 w , b , ξ i , ξ i ^ w,b,\xi_i,\hat{\xi_i} w,b,ξi,ξi^求偏导为0可得
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ & w = \sum_{i=…
  将拉格朗日函数对 w , b , ξ i , ξ i ^ w,b,\xi_i,\hat{\xi_i} w,b,ξi,ξi^的偏导代入拉格朗日函数,即可得SVR的对偶问题
m a x ⏟ α , α ^ ∑ i = 1 m y i ( α i ^ − α i ) − ϵ ( α i ^ + α i ) − 1 2 ∑ i = 1 m ∑ j = 1 m ( α i ^ − α i ) ( α i ^ − α j ) x i T x j \underbrace{max}_{\alpha,\hat{\alpha}} \sum_{i=1}^my_i(\hat{\alpha_i}-\alpha_i)-\epsilon(\hat{\alpha_i}+\alpha_i) - \frac{1}{2} \sum_{i=1}^m\sum_{j=1}^m(\hat{\alpha_i}-\alpha_i)(\hat{\alpha_i}-\alpha_j)x_i^Tx_j α,α^ maxi=1myi(αi^αi)ϵ(αi^+αi)21i=1mj=1m(αi^αi)(αi^αj)xiTxj
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ s.t. & \sum_{i…
  对于上述SVR的目标函数的对偶形式取对数,即可变成最小化目标函数的优化问题,即
m i n ⏟ α , α ^ − ∑ i = 1 m y i ( α i ^ − α i ) + ϵ ( α i ^ + α i ) + 1 2 ∑ i = 1 m ∑ j = 1 m ( α i ^ − α i ) ( α i ^ − α j ) x i T x j \underbrace{min}_{\alpha,\hat{\alpha}} -\sum_{i=1}^my_i(\hat{\alpha_i}-\alpha_i)+\epsilon(\hat{\alpha_i}+\alpha_i) + \frac{1}{2} \sum_{i=1}^m\sum_{j=1}^m(\hat{\alpha_i}-\alpha_i)(\hat{\alpha_i}-\alpha_j)x_i^Tx_j α,α^ mini=1myi(αi^αi)+ϵ(αi^+αi)+21i=1mj=1m(αi^αi)(αi^αj)xiTxj
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ s.t. & \sum_{i…
  对于这个目标函数,依然可以使用SMO算法求出对应的 α i , α i ^ \alpha_i,\hat{\alpha_i} αi,αi^,进而求出回归模型的 w , b w,b w,b

支持向量回归模型系数的稀疏性

在这里插入图片描述

  在对支持向量回归的目标函数优化的时候,我们假设该目标函数满足KKT条件,该KKT条件为
{ α i ( f ( x i ) − y i − ϵ − ξ i ) = 0 , α i ^ ( y i − f ( x i ) − ϵ − ξ i ^ ) = 0 , α i α i ^ = 0 , ξ i ξ i ^ = 0 , ( C − α i ) ξ i = 0 , ( C − α i ^ ξ i ^ = 0 \begin{cases} \alpha_i(f(x_i)-y_i-\epsilon-\xi_i)=0, \\ \hat{\alpha_i}(y_i-f(x_i)-\epsilon-\hat{\xi_i})=0, \\ \alpha_i\hat{\alpha_i}=0,\xi_i\hat{\xi_i}=0, \\ (C-\alpha_i)\xi_i=0,(C-\hat{\alpha_i}\hat{\xi_i}=0 \end{cases} αi(f(xi)yiϵξi)=0,αi^(yif(xi)ϵξi^)=0,αiαi^=0,ξiξi^=0,(Cαi)ξi=0,(Cαi^ξi^=0
  从上式可以看出,只有当 f ( x i ) − y i − ϵ − ξ i = 0 f(x_i)-y_i-\epsilon-\xi_i=0 f(xi)yiϵξi=0的时候 α i \alpha_i αi才可以为非0解,并且只有当 y i − f ( x i ) − ϵ − ξ i ^ = 0 y_i-f(x_i)-\epsilon-\hat{\xi_i}=0 yif(xi)ϵξi^=0的时候 α i ^ \hat{\alpha_i} αi^才可以为非0解。

  首先根据松弛变量的定义,如果 ∣ f ( x i ) − y i − ϵ − ξ i ∣ < ϵ |f(x_i)-y_i-\epsilon-\xi_i|<\epsilon f(xi)yiϵξi<ϵ,则样本点落在间隔带中,则 ξ i = 0 , ξ i ^ = 0 \xi_i=0,\hat{\xi_i}=0 ξi=0,ξi^=0,既可以得到 f ( x i ) − y i − ϵ − ξ i ≠ 0 , y i − f ( x i ) − ϵ − ξ i ^ ≠ 0 f(x_i)-y_i-\epsilon-\xi_i\neq0,y_i-f(x_i)-\epsilon-\hat{\xi_i}\neq0 f(xi)yiϵξi=0,yif(xi)ϵξi^=0,则可以得到 α i = 0 , α i ^ = 0 \alpha_i=0,\hat{\alpha_i}=0 αi=0,αi^=0,则 α i ^ − α i = 0 \hat{\alpha_i}-\alpha_i=0 αi^αi=0

  即只有样本点 ( x i , y i ) (x_i,y_i) (xi,yi)不落入间隔带中才能使得相应的 α i \alpha_i αi α i ^ \hat{\alpha_i} αi^为非0解,并且由于样本点既不能同时在分隔超平面的两边,即 f ( x i ) − y i − ϵ − ξ i = 0 f(x_i)-y_i-\epsilon-\xi_i=0 f(xi)yiϵξi=0 y i − f ( x i ) − ϵ − ξ i ^ = 0 y_i-f(x_i)-\epsilon-\hat{\xi_i}=0 yif(xi)ϵξi^=0不能同时存在,即 α i \alpha_i αi α i ^ \hat{\alpha_i} αi^至少有一个为0并且不能同时为0,则 α i ^ − α i ≠ 0 \hat{\alpha_i}-\alpha_i\neq0 αi^αi=0

  假设 α i \alpha_i αi已经通过SMO算法得到,则可以得到 w = ∑ i = 1 m ( α i ^ − α i ) x i w=\sum_{i=1}^m(\hat{\alpha_i}-\alpha_i)x_i w=i=1m(αi^αi)xi,即可得SVR的分离超平面为
f ( x ) = ∑ i = 1 m ( α i ^ − α i ) x i T x + b f(x) = \sum_{i=1}^m(\hat{\alpha_i}-\alpha_i)x_i^Tx+b f(x)=i=1m(αi^αi)xiTx+b
  从上式可以看出当样本点落在间隔带,由于 α i ^ − α i = 0 \hat{\alpha_i}-\alpha_i=0 αi^αi=0,即 w = 0 w=0 w=0,则 w w w不受这些间隔带内点的影响,对于间隔带外的样本点,则会对 w w w造成影响,即这些点为SVR的支持向量。并且由于SVR的支持向量仅仅是训练样本的一部分,所以SVR的解 w w w具有稀疏性。

  SVR对于 b b b的求解类似于SVM,由于能得到多个 b b b值,所以最后对 b b b取平均值。

核支持向量回归

在这里插入图片描述

  上一节得到了SVR的分离超平面为
f ( x ) = ∑ i = 1 m ( α i ^ − α i ) x i T x + b f(x) = \sum_{i=1}^m(\hat{\alpha_i}-\alpha_i)x_i^Tx+b f(x)=i=1m(αi^αi)xiTx+b
  如果我们使用和SVM一样的核技巧,即对SVR训练数据做一个样本映射,即另 ϕ ( x ) \phi(x) ϕ(x)表示 x x x映射后的特征向量。则分离超平面可以变为
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ f(x) & = \sum_…
其中 k ( x , x i ) k(x,x_i) k(x,xi)为核函数。

小结

  SVR除了可以支持回归问题外,其他方面和SVM差不多,由于SVR也算作是SVM的一个分支,此处不多说什么,参考SVM即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值