【机器学习】支持向量回归

news2024/9/22 18:24:21

有任何的书写错误、排版错误、概念错误等,希望大家包含指正。

在阅读本篇之前建议先学习:
【机器学习】支持向量机【上】硬间隔
【机器学习】支持向量机【下】软间隔与核函数

支持向量回归

支持向量回归(support vector regression,SVR)是指,将支持向量机的思想推广到回归问题中。与传统回归模型类似,支持向量回归以 w w w b b b 为待确定的模型参数,希望模型输出 f ( x ) f(x) f(x) 与真实输出 y y y 之间的差值对应的损失尽可能小;不过,在传统回归模型中,当且仅当 f ( x ) f(x) f(x) y y y 完全相同时,损失才为零,与此不同,支持向量回归假设我们容忍 f ( x ) f(x) f(x) y y y 之间最多有 ϵ \epsilon ϵ 的偏差,即仅当 f ( x ) f(x) f(x) y y y 之间的差别绝对值大于 ϵ \epsilon ϵ 时才计算损失。如图 1 1 1 所示,这相当于以 f ( x ) f(x) f(x) 为中心,构建了一个上边界和下边界分别为 f ( x ) + ϵ f(x) +\epsilon f(x)+ϵ f ( x ) − ϵ f(x)-\epsilon f(x)ϵ 的“管道”, ϵ \epsilon ϵ 为人为固定值且 ϵ > 0 \epsilon>0 ϵ>0,若训练样本落入此管道内,则认为被预测正确。

在这里插入图片描述

图 1    支持向量回归示意图

注意观察和理解图 1 1 1 与参考 [3] 中图 1 1 1 的区别。

  1. 本图中样本用同样的圆形表示,而它图中分别用 + + + − - 表示正、负两种样本,这体现了回归问题与分类问题的本质区别;
  2. 本图中横轴表示样本特征,纵轴表示样本对应的预测值,描述的样本是一维的,而它图中横、纵坐标分别表示不同的特征,描述的样本是二维的。

支持向量回归也大致可以分为,硬间隔 SVR、软间隔 SVR 和核函数 SVR。

硬间隔 SVR 适合样本全部落在管道内;软间隔 SVR 适合少量样本落在管道外;核函数 SVR 适合非线性分布的样本。

重点讲解软间隔 SVR,另外两个相对简单。

软间隔支持向量回归

对于软间隔支持向量回归而言,我们不要求样本分布得非常贴近一条线,允许少量样本出现偏差,即噪声,而大部分点可以落在管道内。与软间隔支持向量机类似,软间隔支持向量回归也引入松弛变量。每个样本 ( x i , y i ) (x_i,y_i) (xi,yi) 对应两个松弛变量 ξ ^ i \hat\xi_i ξ^i ξ i \xi_i ξi,分别表示向上松弛量和向下松弛量。当样本 ( x i , y i ) (x_i,y_i) (xi,yi) 位于上边界上方(above),那么该样本将贡献损失,即 y i − ( f ( x i ) + ϵ ) y_i - \big(f(x_i)+\epsilon\big) yi(f(xi)+ϵ),超出上边界的(纵轴方向)距离也就是 ξ ^ i \hat \xi_i ξ^i,故对于落在上边界上方的样本有 y i − ( f ( x i ) + ϵ ) = ξ ^ i y_i - \big( f(x_i) + \epsilon \big)=\hat \xi_i yi(f(xi)+ϵ)=ξ^i,而且直观上,此时不可能存在向下的松弛,所以 ξ i = 0 \xi_i=0 ξi=0;类似地,对于落在下边界下方的样本有 ( f ( x i ) + ϵ ) − y i = ξ i \big( f(x_i) + \epsilon \big) - y_i=\xi_i (f(xi)+ϵ)yi=ξi ξ ^ i = 0 \hat \xi_i = 0 ξ^i=0;对于落在管道内的样本,显然不存在向上或向下的松弛,所以 ξ ^ i = ξ i = 0 \hat \xi_i = \xi_i = 0 ξ^i=ξi=0,同时这些样本不贡献损失。不难总结,每个样本带来的损失可以统一表示为 ξ ^ i + ξ i \hat \xi_i + \xi_i ξ^i+ξi,因此全部样本贡献的损失为 ∑ i = 1 n ξ ^ i + ξ i \sum_{i=1}^n \hat \xi_i + \xi_i i=1nξ^i+ξi

观察图 1 1 1 发现,上、下边界的欧式距离可以表示为 2 ϵ / ∥ w ∥ 2 + 1 2\epsilon/\sqrt{\Vert w \Vert^2 + 1} 2ϵ/w2+1 ,当 ∥ w ∥ \Vert w\Vert w 越小时,划分超平面倾斜程度越小,上下边界的欧式距离越大,当 ∣ ∣ w ∣ ∣ = 0 ||w||=0 w=0 时距离取到最大值 2 ϵ 2\epsilon 2ϵ。直观上,距离越大,划分超平面越倾斜程度越小,管道覆盖面越大,所能容纳的样本越多,管道外的样本越少,带来的损失也可能减少。这与支持向量机中“最大间隔”的思想一致。

当然,严谨来说,“划分超平面越倾斜程度越小容纳的样本越多”的说法是不准确的,比如图 2 2 2 所示情况。对于同样的六个样本点,倾斜程度大的管道(左)反而损失值为零。

在这里插入图片描述

图 2    大倾斜程度管道(左)和小倾斜程度管道(右)

基于上面的松弛思想和最大间隔思想,目标函数为
1 2 ∥ w ∥ 2 + C ∑ i = 1 n ( ξ ^ i + ξ i ) \frac{1}{2} \Vert w\Vert^2 + C\sum_{i=1}^n (\hat \xi_i + \xi_i) 21w2+Ci=1n(ξ^i+ξi)
其中, C > 0 C>0 C>0 称为惩罚(超)参数,一般根据应用问题人为决定, C C C 值越大对管道外样本的惩罚越大。

定义原始问题
min ⁡ w , b , ξ ^ i , ξ i 1 2 ∥ w ∥ 2 + C ∑ i = 1 n ( ξ ^ i + ξ i ) \min_{w,b,\hat \xi_i,\xi_i}\frac{1}{2} \Vert w\Vert^2 + C\sum_{i=1}^n (\hat \xi_i + \xi_i) \\ w,b,ξ^i,ξimin21w2+Ci=1n(ξ^i+ξi)

s . t . y i − f ( x i ) ≤ ϵ + ξ ^ i f ( x i ) − y i ≤ ϵ + ξ i ξ ^ i ≥ 0 ,      ξ i ≥ 0 ,      i = 1 , 2 , … , n \begin{matrix} s.t. & y_i - f(x_i)\le \epsilon + \hat \xi_i\\ & f(x_i) - y_i \le \epsilon + \xi_i \\ & \hat \xi_i\ge 0,\space\space\space\space\xi_i\ge 0,\space\space\space\space i = 1,2,\dots,n \end{matrix} s.t.yif(xi)ϵ+ξ^if(xi)yiϵ+ξiξ^i0,    ξi0,    i=1,2,,n

构建广义拉格朗日函数
L ( w , b , α ^ , α , ξ ^ i , ξ i , μ ^ i , μ i ) = 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 n ( ξ ^ i + ξ i ) − ∑ i = 1 n μ ^ i ξ ^ i − ∑ i = 1 n μ i ξ i + ∑ i = 1 n α ^ i ( y i − f ( x i ) − ϵ − ξ ^ i ) + ∑ i = 1 n α i ( f ( x i ) − y i − ϵ − ξ i ) \begin{aligned} &L(w, b,\hat \alpha,\alpha,\hat \xi_i,\xi_i,\hat \mu_i, \mu_i) \\ &= \frac{1}{2} ||w||^2 + C\sum_{i=1}^n (\hat \xi_i + \xi_i) - \sum_{i=1}^n\hat \mu_i\hat \xi_i - \sum_{i=1}^n\mu_i\xi_i +\sum_{i=1}^n\hat \alpha_i (y_i - f(x_i)-\epsilon-\hat \xi_i) + \sum_{i=1}^n \alpha_i(f(x_i)-y_i-\epsilon - \xi_i) \end{aligned} L(w,b,α^,α,ξ^i,ξi,μ^i,μi)=21w2+Ci=1n(ξ^i+ξi)i=1nμ^iξ^ii=1nμiξi+i=1nα^i(yif(xi)ϵξ^i)+i=1nαi(f(xi)yiϵξi)
f ( x i ) = w T x i + b f(x_i) = w^Tx_i+b f(xi)=wTxi+b 代入,再令 L ( w , b , α ^ , α , ξ ^ i , ξ i , μ ^ i , μ i ) L(w, b,\hat \alpha,\alpha,\hat \xi_i,\xi_i,\hat \mu_i, \mu_i) L(w,b,α^,α,ξ^i,ξi,μ^i,μi) w w w b b b ξ ^ i \hat \xi_i ξ^i ξ i \xi_i ξi 的偏导为零可得
w = ∑ i = 1 n ( α ^ i − α i ) x i (1-1) w = \sum_{i=1}^n(\hat \alpha_i - \alpha_i)x_i \tag{1-1} w=i=1n(α^iαi)xi(1-1)

0 = ∑ i = 1 n ( α ^ i − α i ) (1-2) 0 = \sum_{i=1}^n (\hat \alpha_i - \alpha_i) \tag{1-2} 0=i=1n(α^iαi)(1-2)

C = α ^ i + μ ^ i (1-3) C = \hat \alpha_i + \hat \mu_i\tag{1-3} C=α^i+μ^i(1-3)

C = α i + μ i (1-4) C = \alpha_i + \mu_i\tag{1-4} C=αi+μi(1-4)

将式 ( 1 ~ 1 ) ∼ ( 1 ~ 4 ) (1\text{\textasciitilde}1)\sim (1\text{\textasciitilde}4) (1~1)(1~4) 代入拉格朗日函数
L ( w , b , α ^ , α , ξ ^ i , ξ i , μ ^ i , μ i ) = ( 1 2 ∣ ∣ w ∣ ∣ 2 + ∑ i = 1 n α ^ i ( y i − f ( x i ) − ϵ ) + ∑ i = 1 n α i ( f ( x i ) − y i − ϵ ) ) + ( C ∑ i = 1 n ( ξ ^ i + ξ i ) − ∑ i = 1 n μ ^ i ξ ^ i − ∑ i = 1 n μ i ξ i − ∑ i = 1 α ^ i ξ ^ i − ∑ i = 1 α i ξ i ) = ( 1 2 ∣ ∣ w ∣ ∣ 2 + ∑ i = 1 n α ^ i ( y i − f ( x i ) ) + ∑ i = 1 n α i ( f ( x i ) − y i ) − ϵ ∑ i = 1 n ( α ^ i + α i ) ) + ( C ∑ i = 1 n ( ξ ^ i + ξ i ) − ( ∑ i = 1 n μ ^ i ξ ^ i + ∑ i = 1 α ^ i ξ ^ i ) − ( ∑ i = 1 n μ i ξ i + ∑ i = 1 α i ξ i ) ) = ( 1 2 ∣ ∣ w ∣ ∣ 2 + ∑ i = 1 n y i ( α ^ i − α i ) − ∑ i = 1 n ( α ^ i − α i ) ( w T x i + b ) − ϵ ∑ i = 1 n ( α ^ i + α i ) ) + ( C ∑ i = 1 n ( ξ ^ i + ξ i ) − C ∑ i = 1 ξ ^ i − C ∑ i = 1 n ξ i ) = ( 1 2 ∣ ∣ w ∣ ∣ 2 + ∑ i = 1 n y i ( α ^ i − α i ) − ( w T ∑ i = 1 n ( α ^ i − α i ) x i + b ∑ i = 1 m ( α ^ i − α i ) ) − ϵ ∑ i = 1 n ( α ^ i + α i ) ) + 0 = 1 2 w T w + ∑ i = 1 n y i ( α ^ i − α i ) − ( w T w + 0 ) − ϵ ∑ i = 1 n ( α ^ i + α i ) = ∑ i = 1 n y i ( α ^ i − α i ) − ϵ ∑ i = 1 n ( α ^ i + α i ) − 1 2 w T w = ∑ i = 1 n y i ( α ^ i − α i ) − ϵ ∑ i = 1 n ( α ^ i + α i ) − 1 2 ∑ i = 1 n ∑ i = 1 n ( α ^ i − α i ) ( α ^ j − α j ) ( x i T x j ) \begin{aligned} &L(w, b,\hat \alpha,\alpha,\hat \xi_i,\xi_i,\hat \mu_i, \mu_i) \\ &= \Big(\frac{1}{2} ||w||^2 +\sum_{i=1}^n\hat \alpha_i (y_i - f(x_i)-\epsilon) + \sum_{i=1}^n \alpha_i(f(x_i)-y_i-\epsilon) \Big) + \Big( C\sum_{i=1}^n (\hat \xi_i + \xi_i) - \sum_{i=1}^n\hat \mu_i\hat \xi_i - \sum_{i=1}^n\mu_i\xi_i -\sum_{i=1}\hat \alpha_i\hat\xi_i-\sum_{i=1} \alpha_i\xi_i \Big) \\ %%%% &=\Big(\frac{1}{2} ||w||^2 +\sum_{i=1}^n\hat \alpha_i (y_i - f(x_i)) + \sum_{i=1}^n \alpha_i(f(x_i)-y_i) - \epsilon\sum_{i=1}^n(\hat \alpha_i + \alpha_i) \Big) + \Big( C\sum_{i=1}^n (\hat \xi_i + \xi_i) - \big(\sum_{i=1}^n\hat \mu_i\hat \xi_i +\sum_{i=1}\hat \alpha_i\hat\xi_i\big) - \big(\sum_{i=1}^n\mu_i\xi_i +\sum_{i=1} \alpha_i\xi_i\big) \Big) \\ %%%% &=\Big(\frac{1}{2} ||w||^2 +\sum_{i=1}^n y_i(\hat \alpha_i - \alpha_i) - \sum_{i=1}^n (\hat \alpha_i-\alpha_i)(w^Tx_i+b) - \epsilon\sum_{i=1}^n(\hat \alpha_i + \alpha_i) \Big) + \Big( C\sum_{i=1}^n (\hat \xi_i + \xi_i) - C\sum_{i=1}\hat\xi_i - C\sum_{i=1}^n\xi_i \Big) \\ %%%% &=\Big(\frac{1}{2} ||w||^2 +\sum_{i=1}^n y_i(\hat \alpha_i - \alpha_i) -\big(w^T\sum_{i=1}^n (\hat \alpha_i-\alpha_i)x_i +b\sum_{i=1}^m (\hat \alpha_i - \alpha_i)\big) - \epsilon\sum_{i=1}^n(\hat \alpha_i + \alpha_i) \Big) + 0 \\ %%%% &=\frac{1}{2} w^Tw +\sum_{i=1}^n y_i(\hat \alpha_i - \alpha_i) - \big(w^Tw +0\big) - \epsilon\sum_{i=1}^n(\hat \alpha_i + \alpha_i) \\ %%%% &=\sum_{i=1}^n y_i(\hat \alpha_i - \alpha_i)- \epsilon\sum_{i=1}^n(\hat \alpha_i + \alpha_i) - \frac{1}{2} w^Tw \\ %%%% &=\sum_{i=1}^n y_i(\hat \alpha_i - \alpha_i)- \epsilon\sum_{i=1}^n(\hat \alpha_i + \alpha_i) - \frac{1}{2} \sum_{i=1}^n \sum_{i=1}^n (\hat \alpha_i- \alpha_i)(\hat \alpha_j - \alpha_j)(x_i^Tx_j) \\ \end{aligned} L(w,b,α^,α,ξ^i,ξi,μ^i,μi)=(21w2+i=1nα^i(yif(xi)ϵ)+i=1nαi(f(xi)yiϵ))+(Ci=1n(ξ^i+ξi)i=1nμ^iξ^ii=1nμiξii=1α^iξ^ii=1αiξi)=(21w2+i=1nα^i(yif(xi))+i=1nαi(f(xi)yi)ϵi=1n(α^i+αi))+(Ci=1n(ξ^i+ξi)(i=1nμ^iξ^i+i=1α^iξ^i)(i=1nμiξi+i=1αiξi))=(21w2+i=1nyi(α^iαi)i=1n(α^iαi)(wTxi+b)ϵi=1n(α^i+αi))+(Ci=1n(ξ^i+ξi)Ci=1ξ^iCi=1nξi)=(21w2+i=1nyi(α^iαi)(wTi=1n(α^iαi)xi+bi=1m(α^iαi))ϵi=1n(α^i+αi))+0=21wTw+i=1nyi(α^iαi)(wTw+0)ϵi=1n(α^i+αi)=i=1nyi(α^iαi)ϵi=1n(α^i+αi)21wTw=i=1nyi(α^iαi)ϵi=1n(α^i+αi)21i=1ni=1n(α^iαi)(α^jαj)(xiTxj)
拉格朗日函数为
L ( w , b , α ^ , α , ξ ^ i , ξ i , μ ^ i , μ i ) = ∑ i = 1 n y i ( α ^ i − α i ) − ϵ ∑ i = 1 n ( α ^ i + α i ) − 1 2 ∑ i = 1 n ∑ i = 1 n ( α ^ i − α i ) ( α ^ j − α j ) ( x i T x j ) L(w, b,\hat \alpha,\alpha,\hat \xi_i,\xi_i,\hat \mu_i, \mu_i)=\sum_{i=1}^n y_i(\hat \alpha_i - \alpha_i)- \epsilon\sum_{i=1}^n(\hat \alpha_i + \alpha_i) - \frac{1}{2} \sum_{i=1}^n \sum_{i=1}^n (\hat \alpha_i- \alpha_i)(\hat \alpha_j - \alpha_j)(x_i^Tx_j) \\ L(w,b,α^,α,ξ^i,ξi,μ^i,μi)=i=1nyi(α^iαi)ϵi=1n(α^i+αi)21i=1ni=1n(α^iαi)(α^jαj)(xiTxj)
可得到 SVR 的对偶问题
max ⁡ α ^ , α ∑ i = 1 n y i ( α ^ i − α i ) − ϵ ∑ i = 1 n ( α ^ i + α i ) − 1 2 ∑ i = 1 n ∑ i = 1 n ( α ^ i − α i ) ( α ^ j − α j ) ( x i T x j ) \max_{\hat \alpha,\alpha} \sum_{i=1}^n y_i(\hat \alpha_i - \alpha_i)- \epsilon\sum_{i=1}^n(\hat \alpha_i + \alpha_i) - \frac{1}{2} \sum_{i=1}^n \sum_{i=1}^n (\hat \alpha_i- \alpha_i)(\hat \alpha_j - \alpha_j)(x_i^Tx_j) α^,αmaxi=1nyi(α^iαi)ϵi=1n(α^i+αi)21i=1ni=1n(α^iαi)(α^jαj)(xiTxj)

s . t . ∑ i = 1 n ( α ^ i − α i ) = 0 0 ≤ α ^ i , α i ≤ C \begin{matrix} s.t. &\sum_{i=1}^n (\hat \alpha_i - \alpha_i) = 0\\ & 0\le \hat \alpha_i,\alpha_i \le C \end{matrix} s.t.i=1n(α^iαi)=00α^i,αiC

满足的部分 KKT 条件为
α ^ i ( y i − f ( x i ) − ϵ − ξ ^ i ) = 0 (2-1) \hat \alpha_i (y_i - f(x_i) - \epsilon - \hat \xi_i)=0\tag{2-1} α^i(yif(xi)ϵξ^i)=0(2-1)

α i ( f ( x i ) − y i − ϵ − ξ i ) = 0 (2-2) \alpha_i (f(x_i) - y_i - \epsilon - \xi_i)=0\tag{2-2} αi(f(xi)yiϵξi)=0(2-2)

( C − α ^ i ) ξ ^ i = 0 (2-3) (C-\hat\alpha_i)\hat\xi_i = 0 \tag{2-3} (Cα^i)ξ^i=0(2-3)

( C − α i ) ξ i = 0 (2-4) (C-\alpha_i)\xi_i = 0\tag{2-4} (Cαi)ξi=0(2-4)

( 2 ~ 1 ) ∼ ( 2 ~ 4 ) (2\text{\textasciitilde}1)\sim(2\text{\textasciitilde}4) (2~1)(2~4) 为互补松弛条件。其中, ( 2 ~ 3 ) (2\text{\textasciitilde}3) (2~3) ( 2 ~ 4 ) (2\text{\textasciitilde}4) (2~4) 分别运用了式 ( 1 ~ 3 ) (1\text{\textasciitilde}3) (1~3) ( 1 ~ 4 ) (1\text{\textasciitilde}4) (1~4)

这里四个等式带来的信息量非常大。根据式 ( 2 ~ 1 ) (2\text{\textasciitilde}1) (2~1) 可知,当 α ^ i ≠ 0 \hat \alpha_i\ne0 α^i=0 时, y i − f ( x i ) − ϵ − ξ ^ i = 0 y_i - f(x_i) - \epsilon - \hat \xi_i=0 yif(xi)ϵξ^i=0,样本 ( x i , y i ) (x_i,y_i) (xi,yi) 要么在管道的上边界上(lie on),对应 ξ ^ i = 0 \hat \xi_i=0 ξ^i=0,要么在管道的上边界上方(above),对应 ξ ^ i > 0 \hat \xi_i>0 ξ^i>0;当 α i ≠ 0 \alpha_i\ne 0 αi=0 时,根据式 ( 2 ~ 2 ) (2\text{\textasciitilde}2) (2~2) 可以推出类似的结果。但是 α ^ i \hat\alpha_i α^i α i \alpha_i αi 不能同时非零,即满足 α ^ i α i = 0 \hat \alpha_i\alpha_i =0 α^iαi=0,这是因为两个限制 y i − f ( x i ) − ϵ − ξ ^ i = 0 y_i - f(x_i) - \epsilon - \hat \xi_i = 0 yif(xi)ϵξ^i=0 f ( x i ) − y i − ϵ − ξ i = 0 f(x_i) - y_i - \epsilon - \xi_i=0 f(xi)yiϵξi=0 是不兼容的。可以这样证明:将两个式子相加得到等式 2 ϵ + ξ i + ξ ^ i = 0 2\epsilon+\xi_i+\hat\xi_i=0 2ϵ+ξi+ξ^i=0,由于 ϵ > 0 \epsilon>0 ϵ>0 ξ i ≥ 0 \xi_i\ge 0 ξi0 ξ ^ i ≥ 0 \hat \xi_i\ge0 ξ^i0,所以等式不成立,究其原因为两个限制不兼容。

⽀持向量是对于目标函数有贡献的样本,换句话说,就是那些使得 α ^ i ≠ 0 \hat\alpha_i\ne0 α^i=0 α i ≠ 0 \alpha_i\ne0 αi=0 成立的样本,也就是 ( α ^ i − α i ) ≠ 0 (\hat \alpha_i - \alpha_i) \ne 0 (α^iαi)=0 的样本。根据上面的讨论,我们可以知道 SVR 中的支持向量是位于管道上或者管道外的样本。

另外,可以根据式 ( 2 ~ 3 ) (2\text{\textasciitilde}3) (2~3) ( 2 ~ 4 ) (2\text{\textasciitilde}4) (2~4) 可以讨论三种情况:① 当 α i = 0 \alpha_i=0 αi=0 α ^ i ≠ 0 \hat \alpha_i\ne 0 α^i=0 时,由 α i = 0 \alpha_i=0 αi=0 可得 ξ i = 0 \xi_i=0 ξi=0,由 α ^ i ≠ 0 \hat \alpha_i\ne0 α^i=0 可得 ξ ^ i ≥ 0 \hat \xi_i\ge0 ξ^i0;② 当 α i ≠ 0 \alpha_i\ne0 αi=0 α ^ i = 0 \hat \alpha_i= 0 α^i=0 时,由 α i ≠ 0 \alpha_i\ne0 αi=0 可得 ξ i ≥ 0 \xi_i\ge0 ξi0,由 α ^ i = 0 \hat \alpha_i=0 α^i=0 可得 ξ ^ i = 0 \hat \xi_i=0 ξ^i=0;③ 当 α i = α ^ i = 0 \alpha_i = \hat \alpha_i = 0 αi=α^i=0 时, ξ i = ξ ^ i = 0 \xi_i = \hat \xi_i = 0 ξi=ξ^i=0。这三种情况可以统一表示为 ξ ^ i ξ i = 0 \hat \xi_i\xi_i = 0 ξ^iξi=0。巧妙的是,这四个等式带来的信息与我们本小节对松弛变量的直观理解不谋而合。

参数 b b b 可以这样得到:考虑一个满足 0 < α j < C 0 < \alpha_j < C 0<αj<C 的样本。根据式 ( 2 ~ 4 ) (2\text{\textasciitilde}4) (2~4) 可知 ξ j = 0 \xi_j = 0 ξj=0,再根据式 ( 2 ~ 2 ) (2\text{\textasciitilde}2) (2~2) 可知一定有 f ( x j ) − y j − ϵ = 0 f(x_j)-y_j-\epsilon=0 f(xj)yjϵ=0。将 f ( x j ) = w T x j + b f(x_j) = w^Tx_j+b f(xj)=wTxj+b 代入求解 b b b,同时将式 ( 1 ~ 1 ) (1\text{\textasciitilde}1) (1~1) 代入,得
b = y j + ϵ − w T x j = y j + ϵ − ∑ i = 1 n ( α ^ i − α i ) ( x i T x j ) (3) \begin{aligned} b &= y_j + \epsilon - w^Tx_j \\ &=y_j + \epsilon - \sum_{i=1}^n(\hat \alpha_i - \alpha_i)(x_i^Tx_j) \\ \end{aligned}\tag{3} b=yj+ϵwTxj=yj+ϵi=1n(α^iαi)(xiTxj)(3)
当然,也可以通过考虑一个满足 0 < α ^ j < C 0 < \hat\alpha_j < C 0<α^j<C 的样本,得到类似的结果。在实际应用中,更好的做法是对所有的这些 b b b 的估计进⾏平均。

使用训练好的模型进行预测也非常简单,根据式 ( 1 ~ 1 ) (1\text{\textasciitilde}1) (1~1) 计算出最优解 w ∗ w^* w,根据式 ( 3 ) (3) (3) 计算出最优解 b ∗ b^* b。预测函数为
f ( x ) = w ∗ T x + b ∗ = ∑ i = 1 n ( α ^ i − α i ) ( x i T x ) + b ∗ (4) \begin{aligned} f(x) &= {w^*}^Tx + b^* \\ &= \sum_{i=1}^n (\hat \alpha_i - \alpha_i) (x_i^T x) + b^* \end{aligned} \tag{4} f(x)=wTx+b=i=1n(α^iαi)(xiTx)+b(4)

另外,我们也可以从正则化的角度理解原始问题的目标函数,将 ∣ ∣ w ∣ ∣ 2 ||w||^2 w2 视为正则化项,另一部分视为未引入正则化项的损失函数,这与软间隔支持向量机类似。

硬间隔与核函数支持向量回归

硬间隔认为全部的样本点都可以被容纳在 ϵ ~ \epsilon\text{\textasciitilde} ϵ~管道中,也就不存在松弛变量及其对应约束。求解过程与软间隔类似,甚至可以认为硬间隔是软间隔的一种特殊情况。

使用核函数的方法与支持向量机中使用核函数的方法一致,目的都是实现划分超平面非线性化,如图 3 3 3 所示。

在这里插入图片描述

图 3    核函数支持向量回归

若考虑特征映射式 ( 1 ~ 1 ) (1\text{\textasciitilde}1) (1~1) 对应
w ∗ = ∑ i = 1 n ( α ^ i − α i ) ϕ ( x i ) w^* = \sum_{i=1}^n (\hat \alpha_i - \alpha_i)\phi(x_i) w=i=1n(α^iαi)ϕ(xi)
( 3 ) (3) (3) 对应
b ∗ = y j + ϵ − ∑ i = 1 n ( α ^ i − α i ) K ( x i , x j ) b^* =y_j + \epsilon - \sum_{i=1}^n(\hat \alpha_i - \alpha_i)K(x_i,x_j) b=yj+ϵi=1n(α^iαi)K(xi,xj)
( 4 ) (4) (4) 对应
f ( x ) = ∑ i = 1 n ( α ^ i − α i ) K ( x i , x ) + b ∗ f(x) = \sum_{i=1}^n (\hat \alpha_i - \alpha_i) K(x_i, x) + b^* f(x)=i=1n(α^iαi)K(xi,x)+b

REF

[1]《Pattern Recognition and Machine Learning》

[2]《机器学习》周志华著

[3] 【机器学习】支持向量机【上】硬间隔_不牌不改的博客 - CSDN

[4] 【机器学习】支持向量机【下】软间隔与核函数 - CSDN

[5] 支持向量回归(Support Vector Regression) - CSDN

[6] 如何通俗易懂地解释支持向量回归(support vector regression)? - 知乎

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/61274.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[附源码]计算机毕业设计基于SpringBoot的党务管理系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

《人类简史》笔记三—— 历史从无正义

目录 一、尽管把人人生而平等喊得震天响&#xff0c;其实还是把人分成了上下等级 二、恶性循环 三、当男人究竟有什么好的&#xff1f; 一、尽管把人人生而平等喊得震天响&#xff0c;其实还是把人分成了上下等级 古时候&#xff1a; 上等人 平民和奴隶 现在&#xff1a;…

网络结构模式,协议,端口,网络模型,arp

网络结构模式&#xff08;软件结构&#xff09; C/S结构 服务器 - 客户机&#xff0c;即 Client - Server&#xff08;C/S&#xff09;结构 C/S 结构通常采取两层结构: 服务器负责数据的管理客户机负责完成与用户的交互任务 在C/S结构中&#xff0c;应用程序分为两部分: 服务…

koa 和 express 的对比

前言 天冷了&#xff0c;唯有学习来温暖自己。 最近利用业余的时间&#xff0c;跟着 coderwhy 老师学习 node.js&#xff0c;了解以及掌握一些服务端的常见知识&#xff1a; fileSystem&#xff1a;文件读取模块。events&#xff1a;事件流Buffer&#xff1a;node 中处理二进…

高仿英雄联盟游戏网页制作作业 英雄联盟LOL游戏HTML网页设计模板 简单学生网页设计 静态HTML CSS网站制作成品

&#x1f389;精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业…

Java—代理

文章目录先举一个例子&#xff1a;开闭原则什么是代理两种调用的方式&#xff1a;代理定义&#xff1a;代理的实现方式静态代理代理的目的&#xff1a;如何让程序知道要增强的功能是谁&#xff1f;静态代理缺点&#xff1a;动态代理什么是动态代理动态代理的实现静态代理和动态…

26. SAP ABAP OData Gateway 框架里 /IWFND, /IWBEP 这些缩写代表了什么含义?

文章目录 GWFNDBEP本文参考链接本教程前一篇文章 - 25. 答疑 - SAP OData 框架处理 Metadata 元数据请求的实现细节,前后端组件部署在同一台物理服务器,我们深入了 SAP ABAP OData 框架来学习其元数据请求的执行明细。 我们在文章里看到了不少以 /IWFND/, /IWBEP 这些命名空…

MAUI Blazor (Windows) App 动态设置窗口标题

原文链接 https://www.cnblogs.com/densen2014/p/16950996.html 接着上一篇"如何为面向 Windows 的 MAUI Blazor 应用程序设置窗口标题&#xff1f;" Tips: 总所周知,MAUI 除了 Windows App 其他平台窗口是没有 Title 这回事的. 在 Blazor 里面可以直接给页面打上…

时间轴-新年倒计时(实操java)

文章目录一、前言二、前端代码实现1、效果图年月日倒计时秒杀1天倒计时秒杀60秒倒计时2、代码实操&#xff08;微信小程序前端&#xff09;①在utils文件夹下新建js文件&#xff1a;getperiod.js工具类②引入js&#xff0c;在页面index.js开头引入③完整代码3、倒计时实现①1天…

学习python第一天(数据类型)

关于Python的数据类型 Python数据类型包括&#xff1a; 数字类型&#xff0c;字符类型&#xff0c;布尔类型&#xff0c;空类型&#xff0c;列表类型&#xff0c;元组类型&#xff0c;字典类型 1、数字类型 包括&#xff1a;整型int 浮点型float(有小数位的都是是浮点型) 注…

自己写Spring组件-01手写Bean注册器

简介 在进行web开发的时候&#xff0c;我们经常使用Component、Services、Controller等注解去声明Bean&#xff0c;然后Spring就会帮我们注册。 如果我们想要自己写一个组件&#xff08;方便后期使用&#xff09;&#xff0c;进行无感引入的时候&#xff0c;就需要自己去注册B…

【计算机网络】计算机网络复习总结 ----- 链路层

计算机网络 内容管理数据链路层 Data Link Layer相关概念术语link 链路data link 数据链路帧 frameMTU maximum transfer Unit 最大传送单元PPP point to point Protcol 点对点协议MAC 地址 media access control网桥 bridge交换机 switch成帧 规则成帧定界字符计数法字符填充分…

QT:文件介绍

UI&#xff1a;QT程序中使用的ui界面就保存在该文件中 组件 设置当前组件的属性 点谁显示谁的属性 调整最终页面的布局&#xff0c;使组件控件在水平或对齐 调整因页面放大缩小时&#xff0c;控件与控件之间的水平和垂直间距 各种各样的按钮 图像显示有关的视图 列表框 各…

Gradle学习笔记之Groovy简单使用

简介 groovy可以当成java的脚本化改良版&#xff0c;同样运行于JVM之上&#xff0c;可以很好地和java代码及相关库进行交互&#xff0c;既可以面向对象编程&#xff0c;也可以用作纯粹的脚本语言。Groovy支持动态类型转换、闭包、元编程、函数式编程、默认作用域为public&…

ArcGIS基础:使用线段分割面数据操作

本操作主要是实现线要素对面要素的分割。 先看一下原始数据&#xff0c;如下所示&#xff0c;2个面&#xff0c;1条线&#xff0c;面被线贯穿过去。 首先进行【面转线】操作&#xff0c;以提取面要素的边界线&#xff0c;如下所示 提取结果如下所示&#xff1a; 然后进行【…

java认证与证书

本文内容主要来自《Java加密与解密的艺术》 目前主要有JKS和PEM两种编码格式文件。 JKS&#xff08;Java Key Store&#xff09;&#xff0c;Java原生的密钥库/信任库文件。**PEM&#xff08;Privacy Enbanced Mail&#xff0c;隐私增强邮件&#xff09;**是使用多种加密方法提…

2022-12-04一周学习

这周基本上还是在对前端学习的更多一点&#xff0c;主要是之前没有重视vue3的学习,现在在补上来&#xff0c;学习了vue3的一些知识&#xff0c;前端的权限管理&#xff0c;设置路由守卫&#xff0c;pinia&#xff0c;还学习了redis的一些基本操作&#xff0c;之前只是照搬了别人…

Linux的线程创建

对于任何一个进程来讲&#xff0c;即便我们没有主动去创建线程&#xff0c;进程也是默认有一个主线程的。线程是负责执行二进制指令的&#xff0c;它会根据项目执行计划书&#xff0c;一行一行执行下去。进程要比线程管的宽多了&#xff0c;除了执行指令之外&#xff0c;内存、…

二、演练领域驱动的设计过程

一、业务分析&#xff1a;统一语言与事件风暴 1、统一语言&#xff1a; 客户明白自己的领域知识也就是业务&#xff0c;以及自己需要解决的问题&#xff0c;也叫做痛点&#xff0c;但是不知道技术。技术人员知道技术&#xff0c;但是不了解客户的业务。所以两者交流起来往往会…

[附源码]计算机毕业设计物品捎带系统Springboot程序

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…