机器学习基础---回归方法---支持向量回归(SVR)

支持向量回归(SVR)

方法描述

核心思想:
  • 线性模型 f ( x ) = w T x + b f(x)=w^Tx+b f(x)=wTx+b)对回归问题进行拟合

  • 确定的线性模型对应 w , b w,b wb唯一确定一个超平面 w T x + b = 0 w^Tx+b=0 wTx+b=0

  • 不同于一般线性模型,在超平面两侧定义间隔 ϵ \epsilon ϵ,在间隔带内则不计算损失,当且仅当f(x)与y之间的差距的绝对值大于 ϵ \epsilon ϵ才计算损失

在这里插入图片描述

  • 通过最大化间隔带的宽度最小化总损失来优化模型

相关概念

  • 硬间隔

    • 最大容忍偏差为 ϵ \epsilon ϵ,仅当 ∣ f ( x ) − y ∣ > ϵ |f(x)-y|>\epsilon f(x)y>ϵ时计算误差

    • 即形式化目标为:
      m i n w , b   1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 n l ϵ ( f ( x i ) , y i ) l ϵ ( f ( x i ) , y i ) = { 0                                     ∣ f ( x i ) − y i ∣ < ϵ ∣ f ( x i ) − y i ∣ − ϵ              e l s e \underset{w,b}{min}\ \frac12||w||^2+C\sum_{i=1}^nl_{\epsilon}(f(x_i),y_i)\\ l_{\epsilon}(f(x_i),y_i)=\begin{cases} 0\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ |f(x_i)-y_i|<\epsilon\\ |f(x_i)-y_i|-\epsilon\ \ \ \ \ \ \ \ \ \ \ \ else \end{cases} w,bmin 21w2+Ci=1nlϵ(f(xi),yi)lϵ(f(xi),yi)={0                                   f(xi)yi<ϵf(xi)yiϵ            else

  • 软间隔

    • 实际任务中,往往很难直接确定合适的 ϵ \epsilon ϵ,使大部分点都在间隔带之内

    • 因此引入松弛变量 ξ , ξ ˉ \xi,\bar\xi ξ,ξˉ,从而使函数的间隔要求变的放松,允许一些训练样本不在间隔内

      对于任意样本 x i x_i xi,如果它在间隔带里面或者边缘上, ξ i = ( ξ i ˉ ) = 0 \xi_i=\bar{(\xi_i})=0 ξi=(ξiˉ)=0

      样本 x i x_i xi在间隔带外,需要通过松弛变量将点移动到间隔带内,此处需要进行两个约束:能移进间隔,不会超出间隔

    • 此时,所有样本满足条件
      ∣ y i − f ( x i ) ∣ ≤ ϵ + ξ i |y_i-f(x_i)|\leq\epsilon+\xi_i yif(xi)ϵ+ξi

    • 优化目标可以重写为:
      m i n w , b , ξ o , ξ ˉ i   1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 n ( ξ i + ξ i ˉ ) s . t . f ( x i ) − y i ≤ ϵ + ξ i y i − f ( x i ) ≤ ϵ + ξ i ˉ ξ i > 0 ,   ξ i ˉ > 0 \underset{w,b,\xi_o,\bar\xi_i}{min}\ \frac12||w||^2+C\sum_{i=1}^n(\xi_i+\bar{\xi_i})\\ \begin{aligned} s.t. &f(x_i)-y_i\leq\epsilon+\xi_i\\ &y_i-f(x_i)\leq\epsilon+\bar{\xi_i}\\ &\xi_i>0,\ \bar{\xi_i}>0 \end{aligned} w,b,ξo,ξˉimin 21w2+Ci=1n(ξi+ξiˉ)s.t.f(xi)yiϵ+ξiyif(xi)ϵ+ξiˉξi>0, ξiˉ>0

方法推导

针对软间隔目标进行优化

  • 构建拉格朗日方程:
    L ( w , b , ξ , ξ ˉ , α , α ˉ , μ , μ ˉ ) = 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 n ( ξ i + ξ i ˉ ) + ∑ i = 1 n α i ( f ( x i ) − y i − ϵ − ξ i ) + ∑ i = 1 n α i ˉ ( y i − f ( x i ) − ϵ − ξ i ˉ ) + ∑ i = 1 n μ i ( 0 − ξ i ) + ∑ i = 1 n μ i ˉ ( 0 − ξ i ˉ ) L(w,b,\xi,\bar{\xi},\alpha,\bar{\alpha},\mu,\bar\mu)=\\ \frac12||w||^2+C\sum_{i=1}^n(\xi_i+\bar{\xi_i})+\sum_{i=1}^n\alpha_i(f(x_i)-y_i-\epsilon-\xi_i)+\sum_{i=1}^n\bar{\alpha_i}(y_i-f(x_i)-\epsilon-\bar{\xi_i})+\sum_{i=1}^n\mu_i(0-\xi_i)+\sum_{i=1}^n\bar{\mu_i}(0-\bar{\xi_i}) L(w,b,ξ,ξˉ,α,αˉ,μ,μˉ)=21w2+Ci=1n(ξi+ξiˉ)+i=1nαi(f(xi)yiϵξi)+i=1nαiˉ(yif(xi)ϵξiˉ)+i=1nμi(0ξi)+i=1nμiˉ(0ξiˉ)

  • 求对 w w w偏导,令为0,得:
    ∂ L ∂ w = w + ∑ i = 1 n α i x i − ∑ i = 1 n α i ˉ x i = 0 有 : w = ∑ i = 1 n ( α i ˉ − α i ) x i \frac{\partial{L}}{\partial{w}}=w+\sum_{i=1}^n\alpha_ix_i-\sum_{i=1}^n\bar{\alpha_i}x_i=0\\ 有:w=\sum_{i=1}^n(\bar{\alpha_i}-\alpha_i)x_i wL=w+i=1nαixii=1nαiˉxi=0w=i=1n(αiˉαi)xi
    同时又有其他偏导约束:
    ∂ L ∂ b = ∑ i = 1 n α i − ∑ i = 1 n α i ˉ = 0 \frac{\partial{L}}{\partial{b}}=\sum_{i=1}^n\alpha_i-\sum_{i=1}^n\bar{\alpha_i}=0\\ bL=i=1nαii=1nαiˉ=0

  • 同时,满足KKT条件:
    α i ∗ ( f ( x i ∗ ) − y i ∗ − ϵ − ξ i ∗ ) = 0 α i ∗ ˉ ( f ( x i ∗ ) − y i ∗ − ϵ − ξ i ∗ ˉ ) = 0 α i ∗ α i ∗ ˉ = 0 ,   ξ i ∗ ξ i ∗ ˉ = 0 ( C − α i ∗ ) ξ i ∗ = 0 ,   ( C − α i ∗ ˉ ) ξ i ∗ ˉ = 0 \alpha_i^*(f(x_i^*)-y_i^*-\epsilon-\xi_i^*)=0\\ \bar{\alpha_i^*}(f(x_i^*)-y_i^*-\epsilon-\bar{\xi_i^*})=0\\ \alpha_i^*\bar{\alpha_i^*}=0,\ \xi_i^*\bar{\xi_i^*}=0\\ (C-\alpha_i^*)\xi_i^*=0,\ (C-\bar{\alpha_i^*})\bar{\xi_i^*}=0 αi(f(xi)yiϵξi)=0αiˉ(f(xi)yiϵξiˉ)=0αiαiˉ=0, ξiξiˉ=0(Cαi)ξi=0, (Cαiˉ)ξiˉ=0

  • α ∗ , α ∗ ˉ \alpha^*,\bar{\alpha^*} α,αˉ确定情况下,有:
    w ∗ = ∑ i = 1 n ( α i ˉ − α i ) x i b ∗ = y i ∗ − w ∗ T x w^*=\sum_{i=1}^n(\bar{\alpha_i}-\alpha_i)x_i\\ b^*=y_i^*-{w^*}^Tx w=i=1n(αiˉαi)xib=yiwTx

  • SVR的解形如:
    f ( x ) = ∑ i = 1 n ( α i ˉ − α i ) x i T ⋅ x + b f(x)=\sum_{i=1}^n(\bar{\alpha_i}-\alpha_i)x_i^T·x+b f(x)=i=1n(αiˉαi)xiTx+b
    满足 α i ˉ − α i ≠ 0 \bar{\alpha_i}-\alpha_i\neq0 αiˉαi=0的样本(间隔带之外样本)是SVR的支持向量,即 w w w可以视作支持向量线性组合

  • 为完成优化,通过SMO方法求解
    m i n α , α ˉ   L \underset{\alpha,\bar{\alpha}}{min}\ L α,αˉmin L
    得到 α ∗ , α ∗ ˉ \alpha^*,\bar{\alpha^*} α,αˉ,计算 w = ∑ i = 1 n ( α i ˉ − α i ) x i w=\sum_{i=1}^n(\bar{\alpha_i}-\alpha_i)x_i w=i=1n(αiˉαi)xi

方法流程

  • 构造输入数据矩阵 X = [ x 1 , x 2 , . . . , x n ] X=[x_1,x_2,...,x_n] X=[x1,x2,...,xn],标签矩阵 Y = [ y 1 , y 2 , . . . , y n ] T Y=[y_1,y_2,...,y_n]^T Y=[y1,y2,...,yn]T
  • 构造拉格朗日方程L,并用SMO方法求解令 L L L最小的 α ∗ 与 α ∗ ˉ \alpha^*与\bar{\alpha^*} ααˉ
  • 计算 w ∗ = ∑ i = 1 n ( α i ˉ − α i ) x i w*=\sum_{i=1}^n(\bar{\alpha_i}-\alpha_i)x_i w=i=1n(αiˉαi)xi b ∗ = y i ∗ − w ∗ T x b^*=y_i^*-{w^*}^Tx b=yiwTx
  • 得到SVR模型: f ( x ) = w T x + b ∗ f(x)=w^Tx+b^* f(x)=wTx+b

参考资料

【1】支持向量机SVM、支持向量回归SVR详细推导

  • 5
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值