【机器学习基础】第二十课:支持向量回归

【机器学习基础】系列博客为参考周志华老师的《机器学习》一书,自己所做的读书笔记。

1.支持向量回归

现在我们来考虑回归问题,给定训练样本 D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x m , y m ) } , y i ∈ R D=\{(\mathbf x_1,y_1),(\mathbf x_2,y_2),...,(\mathbf x_m,y_m) \},y_i \in \mathbb R D={(x1,y1),(x2,y2),...,(xm,ym)},yiR,希望学得一个形如 f ( x ) = w T x + b f(\mathbf x)=\mathbf w^T \mathbf x + b f(x)=wTx+b的回归模型,使得 f ( x ) f(\mathbf x) f(x) y y y尽可能接近, w \mathbf w w b b b是待确定的模型参数。

对样本 ( x , y ) (\mathbf x,y) (x,y),传统回归模型通常直接基于模型输出 f ( x ) f(\mathbf x) f(x)与真实输出 y y y之间的差别来计算损失,当且仅当 f ( x ) f(\mathbf x) f(x) y y y完全相同时,损失才为零。与此不同,支持向量回归(Support Vector Regression,简称SVR) 假设我们能容忍 f ( x ) f(\mathbf x) f(x) y y y之间最多有 ϵ \epsilon ϵ的偏差,即仅当 f ( x ) f(\mathbf x) f(x) y y y之间的差别绝对值大于 ϵ \epsilon ϵ时才计算损失。如下图所示,这相当于以 f ( x ) f(\mathbf x) f(x)为中心,构建了一个宽度为 2 ϵ 2 \epsilon 2ϵ的间隔带,若训练样本落入此间隔带,则认为是被预测正确的:

于是,SVR问题可形式化为:

min ⁡ w , b 1 2 ∥ w ∥ 2 + C ∑ i = 1 m ℓ ϵ ( f ( x i ) − y i ) (1) \min \limits_{\mathbf w,b} \frac{1}{2} \parallel \mathbf w \parallel ^2 + C \sum^m_{i=1} \ell_{\epsilon} (f(\mathbf x_i)-y_i) \tag{1} w,bmin21w2+Ci=1mϵ(f(xi)yi)(1)

其中 C C C为正则化常数, ℓ ϵ \ell_{\epsilon} ϵ是下图所示的 ϵ \epsilon ϵ-不敏感损失( ϵ \epsilon ϵ-insensitive loss) 函数:

ℓ ϵ ( z ) = { 0 , i f   ∣ z ∣ ⩽ ϵ ; ∣ z ∣ − ϵ , o t h e r w i s e (2) \ell_{\epsilon} (z) = \left \{ \begin{array}{l} 0, \quad if \ \mid z\mid \leqslant \epsilon; \\ \mid z \mid - \epsilon, \quad otherwise \end{array} \right. \tag{2} ϵ(z)={0,if zϵ;zϵ,otherwise(2)

引入松弛变量 ξ i \xi _i ξi ξ ^ i \hat \xi _i ξ^i,可将式(1)重写为:

在这里插入图片描述

间隔带两侧的松弛程度可有所不同。

通过引入拉格朗日乘子 μ i ⩾ 0 , μ ^ i ⩾ 0 , α i ⩾ 0 , α ^ i ⩾ 0 \mu_i \geqslant 0, \hat \mu_i \geqslant 0,\alpha_i \geqslant 0 , \hat \alpha_i \geqslant 0 μi0,μ^i0,αi0,α^i0,由拉格朗日乘子法可得到式(3)的拉格朗日函数:

L ( w , b , α , α ^ , ξ , ξ ^ , μ , μ ^ ) = 1 2 ∥ w ∥ 2 + C ∑ i = 1 m ( ξ i + ξ ^ i ) − ∑ i = 1 m μ i ξ i − ∑ i = 1 m μ ^ i ξ ^ i + ∑ i = 1 m α i ( f ( x i ) − y i − ϵ − ξ i ) + ∑ i = 1 m α ^ i ( y i − f ( x i ) − ϵ − ξ ^ i ) (4) L(\mathbf w,b,\mathbf \alpha, \hat{\mathbf \alpha},\mathbf \xi, \hat{\mathbf \xi},\mathbf \mu , \hat{\mathbf \mu})=\frac{1}{2} \parallel \mathbf w \parallel ^2 + C \sum^m_{i=1}(\xi_i+\hat \xi_i)-\sum^m_{i=1} \mu_i \xi_i - \sum^m_{i=1} \hat \mu_i \hat \xi_i+ \sum^m_{i=1} \alpha_i (f(\mathbf x_i)-y_i-\epsilon - \xi_i)+\sum^m_{i=1}\hat \alpha_i (y_i-f(\mathbf x_i)-\epsilon-\hat \xi_i) \tag{4} L(w,b,α,α^,ξ,ξ^,μ,μ^)=21w2+Ci=1m(ξi+ξ^i)i=1mμiξii=1mμ^iξ^i+i=1mαi(f(xi)yiϵξi)+i=1mα^i(yif(xi)ϵξ^i)(4)

f ( x ) = w T x + b f(\mathbf x)=\mathbf w^T \mathbf x + b f(x)=wTx+b代入,再令 L ( w , b , α , α ^ , ξ , ξ ^ , μ , μ ^ ) L(\mathbf w,b,\mathbf \alpha, \hat{\mathbf \alpha},\mathbf \xi, \hat{\mathbf \xi},\mathbf \mu , \hat{\mathbf \mu}) L(w,b,α,α^,ξ,ξ^,μ,μ^) w , b , ξ i , ξ ^ i \mathbf w,b,\xi_i,\hat \xi_i w,b,ξi,ξ^i的偏导为零可得:

w = ∑ i = 1 m ( α ^ i − α i ) x i (5) \mathbf w=\sum^m_{i=1} (\hat \alpha_i - \alpha_i) \mathbf x_i \tag{5} w=i=1m(α^iαi)xi(5)

0 = ∑ i = 1 m ( α ^ i − α i ) (6) 0=\sum^m_{i=1} (\hat \alpha_i - \alpha_i) \tag{6} 0=i=1m(α^iαi)(6)

C = α i + μ i (7) C=\alpha_i+\mu_i \tag{7} C=αi+μi(7)

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

将式(5)-(8)代入式(4),即可得到SVR的对偶问题:

在这里插入图片描述

上述过程中需满足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. (10) \left\{ \begin{array}{c} \alpha_i (f(\mathbf x_i)-y_i-\epsilon - \xi_i)=0, \\ \hat \alpha_i (y_i-f(\mathbf 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{array} \right. \tag{10} α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.(10)

将式(5)代入 f ( x ) = w T x + b f(\mathbf x)=\mathbf w^T \mathbf x + b f(x)=wTx+b,则SVR的解形如:

f ( x ) = ∑ i = 1 m ( α ^ i − α i ) x i T x + b (11) f(\mathbf x)=\sum^m_{i=1}(\hat \alpha_i - \alpha_i) \mathbf x^T_i \mathbf x + b \tag{11} f(x)=i=1m(α^iαi)xiTx+b(11)

能使式(11)中的 ( α ^ i − α i ) ≠ 0 (\hat \alpha_i - \alpha_i) \neq 0 (α^iαi)=0的样本即为SVR的支持向量,它们必落在 ϵ \epsilon ϵ-间隔带之外。显然,SVR的支持向量仅是训练样本的一部分,即其解仍具有稀疏性。

落在 ϵ \epsilon ϵ-间隔带中的样本都满足 α i = 0 \alpha_i=0 αi=0 α ^ i = 0 \hat \alpha_i=0 α^i=0

原因:因为样本是落在 ϵ \epsilon ϵ-间隔带内,所以有 f ( x i ) − y i < ϵ f(\mathbf x_i) -y_i < \epsilon f(xi)yi<ϵ y i − f ( x i ) < ϵ y_i-f(\mathbf x_i) < \epsilon yif(xi)<ϵ,又因为 ξ i ⩾ 0 , ξ ^ i ⩾ 0 \xi_i \geqslant 0 , \hat \xi_i \geqslant 0 ξi0,ξ^i0。因此 f ( x i ) − y i − ϵ − ξ i < 0 f(\mathbf x_i)-y_i-\epsilon - \xi_i<0 f(xi)yiϵξi<0 y i − f ( x i ) − ϵ − ξ ^ i < 0 y_i-f(\mathbf x_i)-\epsilon-\hat \xi_i<0 yif(xi)ϵξ^i<0,根据式(10),此时必须有 α i = 0 \alpha_i=0 αi=0 α ^ i = 0 \hat \alpha_i=0 α^i=0

由KKT条件(10)可看出,对每个样本 ( x i , y i ) (\mathbf x_i,y_i) (xi,yi)都有 ( C − α i ) ξ i = 0 (C-\alpha_i) \xi_i=0 (Cαi)ξi=0 α i ( f ( x i ) − y i − ϵ − ξ i ) = 0 \alpha_i (f(\mathbf x_i)-y_i-\epsilon - \xi_i)=0 αi(f(xi)yiϵξi)=0。于是,在得到 α i \alpha_i αi后,若 0 < α i < C 0<\alpha_i<C 0<αi<C,则必有 ξ i = 0 \xi_i=0 ξi=0,进而有:

b = y i + ϵ − ∑ i = 1 m ( α ^ i − α i ) x i T x (12) b=y_i + \epsilon - \sum^m_{i=1}(\hat \alpha_i - \alpha_i) \mathbf x^T_i \mathbf x \tag{12} b=yi+ϵi=1m(α^iαi)xiTx(12)

因此,在求解式(9)得到 α i \alpha_i αi后,理论上来说,可任意选取满足 0 < α i < C 0<\alpha_i<C 0<αi<C的样本通过式(12)求得 b b b。实践中常采用一种更鲁棒的办法:选取多个(或所有)满足条件 0 < α i < C 0<\alpha_i<C 0<αi<C的样本求解 b b b后取平均值。

若考虑特征映射形式 f ( x ) = w T ϕ ( x ) + b f(\mathbf x)=\mathbf w ^T \phi (\mathbf x)+b f(x)=wTϕ(x)+b,则相应的,式(5)将形如:

w = ∑ i = 1 m ( α ^ i − α i ) ϕ ( x i ) (13) \mathbf w=\sum^m_{i=1} (\hat \alpha_i - \alpha_i) \phi (\mathbf x_i) \tag{13} w=i=1m(α^iαi)ϕ(xi)(13)

将式(13)代入 f ( x ) = w T ϕ ( x ) + b f(\mathbf x)=\mathbf w ^T \phi (\mathbf x)+b f(x)=wTϕ(x)+b,则SVR可表示为:

f ( x ) = ∑ i = 1 m ( α ^ i − α i ) κ ( x , x i ) + b (14) f(\mathbf x)=\sum^m_{i=1}(\hat \alpha_i - \alpha_i) \kappa (\mathbf x,\mathbf x_i)+b \tag{14} f(x)=i=1m(α^iαi)κ(x,xi)+b(14)

其中 κ ( x i , x j ) = ϕ ( x i ) T ϕ ( x j ) \kappa (\mathbf x_i,\mathbf x_j)=\phi (\mathbf x_i)^T \phi (\mathbf x_j) κ(xi,xj)=ϕ(xi)Tϕ(xj)为核函数。

2.式(10)的推导

将式(3)的约束条件全部恒等变形为小于等于0的形式可得:

{ f ( x i ) − y i − ϵ − ξ i ⩽ 0 y i − f ( x i ) − ϵ − ξ ^ i ⩽ 0 − ξ i ⩽ 0 − ξ ^ i ⩽ 0 \left\{ \begin{array}{c} f(\mathbf x_i)-y_i-\epsilon - \xi_i \leqslant 0 \\ y_i-f(\mathbf x_i)-\epsilon-\hat \xi_i \leqslant 0 \\ -\xi_i \leqslant 0 \\ -\hat \xi_i \leqslant 0 \end{array} \right. f(xi)yiϵξi0yif(xi)ϵξ^i0ξi0ξ^i0

由于以上四个约束条件的拉格朗日乘子分别为 α i , α ^ i , μ i , μ ^ i \alpha _i , \hat \alpha_i , \mu_i , \hat \mu_i αi,α^i,μi,μ^i,可相应转化为以下KKT条件:

{ α i ( f ( x i ) − y i − ϵ − ξ i ) = 0 α ^ i ( y i − f ( x i ) − ϵ − ξ ^ i ) = 0 − μ i ξ i = 0 ⇒ μ i ξ i = 0 − μ ^ i ξ ^ i = 0 ⇒ μ ^ i ξ ^ i = 0 \left\{ \begin{array}{c} \alpha_i (f(\mathbf x_i)-y_i-\epsilon - \xi_i) = 0 \\ \hat \alpha_i (y_i-f(\mathbf x_i)-\epsilon-\hat \xi_i) = 0 \\ -\mu_i \xi_i = 0 \Rightarrow \mu_i \xi_i = 0 \\ -\hat \mu_i \hat \xi_i = 0 \Rightarrow \hat \mu_i \hat \xi_i = 0 \end{array} \right. αi(f(xi)yiϵξi)=0α^i(yif(xi)ϵξ^i)=0μiξi=0μiξi=0μ^iξ^i=0μ^iξ^i=0

由式(7)、式(8)可知:

μ i = C − α i \mu_i = C-\alpha_i μi=Cαi

μ ^ i = C − α ^ i \hat \mu_i = C - \hat \alpha_i μ^i=Cα^i

所以上述KKT条件可以进一步变形为:

{ α i ( f ( x i ) − y i − ϵ − ξ i ) = 0 α ^ i ( y i − f ( x i ) − ϵ − ξ ^ i ) = 0 ( C − α i ) ξ i = 0 ( C − α ^ i ) ξ ^ i = 0 \left\{ \begin{array}{c} \alpha_i (f(\mathbf x_i)-y_i-\epsilon - \xi_i) = 0 \\ \hat \alpha_i (y_i-f(\mathbf x_i)-\epsilon-\hat \xi_i) = 0 \\ (C-\alpha_i) \xi_i = 0 \\ (C - \hat \alpha_i) \hat \xi_i = 0 \end{array} \right. αi(f(xi)yiϵξi)=0α^i(yif(xi)ϵξ^i)=0(Cαi)ξi=0(Cα^i)ξ^i=0

又因为样本 ( x i , y i ) (\mathbf x_i,y_i) (xi,yi)只可能处在间隔带的某一侧,那么约束条件 f ( x i ) − y i − ϵ − ξ i = 0 f(\mathbf x_i)-y_i-\epsilon - \xi_i=0 f(xi)yiϵξi=0 y i − f ( x i ) − ϵ − ξ ^ i = 0 y_i-f(\mathbf x_i)-\epsilon-\hat \xi_i=0 yif(xi)ϵξ^i=0不可能同时成立,所以 α i \alpha_i αi α ^ i \hat \alpha_i α^i中至少有一个为0,也即 α i α ^ i = 0 \alpha_i \hat \alpha_i=0 αiα^i=0。在此基础上再进一步分析可知,如果 α i = 0 \alpha_i=0 αi=0的话,那么根据约束 ( C − α i ) ξ i = 0 (C-\alpha_i) \xi_i = 0 (Cαi)ξi=0可知此时 ξ i = 0 \xi_i=0 ξi=0;同理,如果 α ^ i = 0 \hat \alpha_i=0 α^i=0的话,那么根据约束 ( C − α ^ i ) ξ ^ i = 0 (C - \hat \alpha_i) \hat \xi_i = 0 (Cα^i)ξ^i=0可知此时 ξ ^ i = 0 \hat \xi_i=0 ξ^i=0。所以 ξ i \xi_i ξi ξ ^ i \hat \xi_i ξ^i中也是至少有一个为0,也即 ξ i ξ ^ i = 0 \xi_i \hat \xi_i=0 ξiξ^i=0。将 α i α ^ i = 0 , ξ i ξ ^ i = 0 \alpha_i \hat \alpha_i=0,\xi_i \hat \xi_i=0 αiα^i=0,ξiξ^i=0整合进上述KKT条件中即可得到式(10)。

3.参考资料

  1. 南瓜书PumpkinBook

想要获取最新文章推送或者私聊谈人生,请关注我的个人微信公众号:⬇️x-jeff的AI工坊⬇️

个人博客网站:https://shichaoxin.com

GitHub:https://github.com/x-jeff


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值