机器学习——SVM的回归形式(SVR)

岭回归(ridge regression)
在前面的一篇博客(机器学习——线性回归(Linear Regression))中提到,线性回归的解析解如下,
w = ( X T X ) − 1 X T y w = {({X^T}X)^{ - 1}}{X^T}y w=(XTX)1XTy
其中,X的维数为 N × ( d + 1 ) N \times (d + 1) N×(d+1)。因为大多数情况下样本量(N)是远大于特征数(d)的,所以, X T X X^TX XTX常常是可逆的。但当X不是列满秩矩阵时,即特征数比样本数还要多,则 X T X X^TX XTX的行列式为0, X T X X^TX XTX不可逆;或者X的某些列的线性相关性比较大时, X T X X^TX XTX的行列式接近0,此时 X T X X^TX XTX为病态矩阵,此时计算逆矩阵误差会比较大。

为了解决 X T X X^TX XTX矩阵求逆的问题,给矩阵 X T X X^TX XTX加上一个 λ I \lambda I λI,从而使矩阵非奇异,进而能对 X T X + λ I {X^T}X + \lambda I XTX+λI求逆,这就是岭回归。

即岭回归的系数计算式为,
W = ( X T X + λ I ) − 1 X T Y W = {({X^T}X + \lambda I)^{ - 1}}{X^T}Y W=(XTX+λI)1XTY

上式中的 λ I \lambda I λI其实是正则化的一种体现,上式是L2-regularized linear regression的解析解,计算过程描述如下:
首先,L2-regularized linear regression的问题可以描述为,
min ⁡ w    λ N w T w + 1 N ∑ n = 1 N ( y n − w T x n ) 2 \mathop {\min }\limits_w \;\frac{\lambda }{N}{w^T}w + \frac{1}{N}\sum\limits_{n = 1}^N {{{({y_n} - {w^T}{x_n})}^2}} wminNλwTw+N1n=1N(ynwTxn)2
写成矩阵形式为,
min ⁡ w    λ N w T w + 1 N ∥ X w − y ∥ 2 \mathop {\min }\limits_w \;\frac{\lambda }{N}{w^T}w + \frac{1}{N}{\left\| {Xw - y} \right\|^2} wminNλwTw+N1Xwy2
对上式求梯度,
∇ ( w ) = 2 λ N w + 1 N ( 2 X T X w − 2 X T y ) = 2 N ( ( λ I + X T X ) w − X T y ) = 0 \nabla (w) = \frac{{2\lambda }}{N}w + \frac{1}{N}(2{X^T}Xw - 2{X^T}y) = \frac{2}{N}((\lambda I + {X^T}X)w - {X^T}y) = 0 (w)=N2λw+N1(2XTXw2XTy)=N2((λI+XTX)wXTy)=0
令梯度为0,求得系数w,为,
w = ( X T X + λ I ) − 1 X T Y w = {({X^T}X + \lambda I)^{ - 1}}{X^T}Y w=(XTX+λI)1XTY

所以,岭回归的系数解析解其实是对线性回归进行L2正则化的一种体现。



最小二乘支持向量机(LSSVM)

在上一篇博客中,提到了Representer Theorem,即对于任意的L2正则化的线性模型,其最佳化的 w w w均可表示为资料线性组合的形式,所以可以考虑把Kernel用在岭回归里,叫做kernel ridge regression

由于 w = ∑ i = 0 N β n z n w = \sum\limits_{i = 0}^N {{\beta _n}{z_n}} w=i=0Nβnzn,所以一旦把岭回归kernel化之后,实际上就是用参数 β \beta β取代了原来的参数 w w w,则现在的kernel ridge regression问题可以描述如下,
min ⁡ β    λ N ∑ n = 1 N ∑ m = 1 N β n β m K ( x n , x m ) + 1 N ∑ n = 1 N ( y n − ∑ m = 1 N β m K ( x n , x m ) ) 2      = λ N β T K β + 1 N ( ∥ y − K β ∥ 2 )                − 转 化 为 矩 阵 形 式      = λ N β T K β + 1 N ( β T K T K β − 2 β T K T y + y T y ) \begin{array}{l} \mathop {\min }\limits_\beta \;\frac{\lambda }{N}\sum\limits_{n = 1}^N {\sum\limits_{m = 1}^N {{\beta _n}{\beta _m}K({x_n},{x_m})} + \frac{1}{N}} \sum\limits_{n = 1}^N {{{({y_n} - \sum\limits_{m = 1}^N {{\beta _m}K({x_n},{x_m})} )}^2}} \\\\ \;\; = \frac{\lambda }{N}{\beta ^T}K\beta + \frac{1}{N}({\left\| {y - K\beta } \right\|^2})\;\;\;\;\;\;\;-转化为矩阵形式\\\\ \;\; = \frac{\lambda }{N}{\beta ^T}K\beta + \frac{1}{N}({\beta ^T}{K^T}K\beta - 2{\beta ^T}{K^T}y + {y^T}y) \end{array} βminNλn=1Nm=1NβnβmK(xn,xm)+N1n=1N(ynm=1NβmK(xn,xm))2=NλβTKβ+N1(yKβ2)=NλβTKβ+N1(βTKTKβ2βTKTy+yTy)
求上式的梯度,如下,
∇ E ( β ) = 2 N ( λ K T I β + K T K β − K T y )                          = 2 N K T ( ( λ I + K ) β − y ) ( 这 里 的 K 是 一 个 半 正 定 的 对 称 矩 阵 ) \begin{array}{l} \nabla E(\beta ) = \frac{2}{N}(\lambda {K^T}I\beta + {K^T}K\beta - {K^T}y)\\\\ \;\;\;\;\;\;\;\;\;\;\;\; = \frac{2}{N}{K^T}((\lambda I + K)\beta - y)\\\\ (这里的K是一个半正定的对称矩阵) \end{array} E(β)=N2(λKTIβ+KTKβKTy)=N2KT((λI+K)βy)(K)
∇ E ( β ) = 0 \nabla {\rm{E}}(\beta ) = 0 E(β)=0,可以得到如下的解析解,
β = ( λ I + K ) − 1 y \beta = {(\lambda I + K)^{ - 1}}y β=(λI+K)1y
该解一定存在,因为 λ > 0 \lambda > 0 λ>0,并且K一定是一个半正定矩阵,所以, λ I + K \lambda I + K λI+K一定可逆。

上面的是kernel ridge regression的参数求解过程,而LSSVM实际上就是kernel ridge regression用于分类的情况,即,

Least-squares SVM(LSSVM)= kernel ridge regression for classification

但LSSVM求解的时间复杂度达到了 O ( N 3 ) O(N^3) O(N3),且求解过程中,矩阵K是稠密的。

下面是linear ridge regression和kernel ridge regression的一个对比,

linear ridge regressionkernel ridge regression
在这里插入图片描述在这里插入图片描述
w = ( X T X + λ I ) − 1 X T Y w = {({X^T}X + \lambda I)^{ - 1}}{X^T}Y w=(XTX+λI)1XTY β = ( λ I + K ) − 1 y \beta = {(\lambda I + K)^{ - 1}}y β=(λI+K)1y
限制更多,形状比较简单更加灵活,边界可以很复杂
训练复杂度: O ( d 3 + d 2 N ) O(d^3+d^2N) O(d3+d2N)
预测复杂度: O ( d ) O(d) O(d)
训练复杂度: O ( N 3 ) O(N^3) O(N3)
预测复杂度: O ( N ) O(N) O(N)
N > > d N>>d N>>d时,计算很高效对于样本数多的情况,计算量太大

所以,从上表可以看出,linear与kernel其实就是对efficiency和flexibility的一个取舍。



Tube Regression

在介绍Tube Regression之前,首先先对Soft-Margin SVM和LSSVM做一个对比,下面两张图是对同一个案例,分别用这两方法所求得的边界示意,
在这里插入图片描述
图中,正方形所框选出的都是支持向量(SVs),从中可以看出,LSSVM有更多的SVs,这就意味着其参数 β \beta β是稠密的,预测起来,也会更慢。但之前说过 ,标准的SVM求得的系数 α \alpha α是稀疏的,所以,要找到一种方法,获得一个稀疏的 β \beta β——Tube Regression

在这里插入图片描述

  • 在tube内(紫色区域内):没有错误
  • 在tube外:计算到tube的距离当作error(红色线为error)

则其误差衡量方式为,
e r r ( y , s ) = max ⁡ ( 0 , ∣ s − y ∣ − ε ) err(y,s) = \max (0,\left| {s - y} \right| - \varepsilon ) err(y,s)=max(0,syε)
这中误差叫做 ε − i n s e n s i t i v e      e r r o r {\rm{\varepsilon - insensitive\;\; error}} εinsensitiveerror,有如下关系,

当 ∣ s − y ∣ ≤ ε : 误 差 为 0 当 ∣ s − y ∣ > ε : 误 差 为 ∣ s − y ∣ − ε \begin{array}{l} 当\left| {s - y} \right| \le \varepsilon :误差为0\\ 当\left| {s - y} \right| > \varepsilon :误差为\left| {s - y} \right|{\rm{ - }}\varepsilon \end{array} syε:0sy>ε:syε

下面将Tube Regression和Squared Regression做一个对比,

Tube RegressionSquared Regression
在这里插入图片描述在这里插入图片描述

误差图像如下,
在这里插入图片描述

  • ∣ s − y ∣ \left| {s - y} \right| sy很小时, t u b e ≈ s q u a r e d tube \approx squared tubesquared;
  • ∣ s − y ∣ \left| {s - y} \right| sy越来越小时,即从中间向两边,tube增长缓慢,不容易受noise影响。

加入L2 regularizer之后,即L2-Regularized Tube Regression描述如下,

min ⁡ w    λ N w T w + 1 N ∑ n = 1 N max ⁡ ( 0 , ∣ w T z n − y ∣ − ε ) \mathop {\min }\limits_w \;\frac{\lambda }{N}{w^T}w + \frac{1}{N}\sum\limits_{n = 1}^N {\max (0,\left| {{w^T}{z_n} - y} \right| - \varepsilon )} wminNλwTw+N1n=1Nmax(0,wTznyε)

将上式改写,可得到SVR的原始形式如下,

min ⁡ b , w    1 2 w T w + C ∑ n = 1 N max ⁡ ( 0 , ∣ w T z n + b − y n ∣ − ε )                                  — — S t a n d a r d      S V R      P r i m a l \mathop {\min }\limits_{b,w} \;\frac{1}{2}{w^T}w + C\sum\limits_{n = 1}^N {\max (0,\left| {{w^T}{z_n} + b - {y_n}} \right| - \varepsilon )}\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;——Standard \;\;SVR \;\;Primal b,wmin21wTw+Cn=1Nmax(0,wTzn+bynε)StandardSVRPrimal

上述问题的形式,比方便求解,对比之前SVM部分的推导,将其进行改写,改写后的等价最优化问题如下,
min ⁡ b , w , ξ ∧ , ξ ∨      1 2 w T w + C ∑ n = 1 N ( ξ n ∨ + ξ n ∧ )        s . t .        − ε − ξ n ∨ ≤ y n − w T z n − b ≤ ε + ξ n ∧                              ξ n ∨ ≥ 0 , ξ n ∧ ≥ 0 \begin{array}{l} \mathop {\min }\limits_{b,w,{\xi ^ \wedge },{\xi ^ \vee }} \;\;\frac{1}{2}{w^T}w + C\sum\limits_{n = 1}^N {(\xi _n^ \vee + \xi _n^ \wedge )} \\\\ \;\;\;s.t.\;\;\; - \varepsilon - \xi _n^ \vee \le {y_n} - {w^T}{z_n} - b \le \varepsilon + \xi _n^ \wedge \\\\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;\xi _n^ \vee \ge 0,\xi _n^ \wedge \ge 0 \end{array} b,w,ξ,ξmin21wTw+Cn=1N(ξn+ξn)s.t.εξnynwTznbε+ξnξn0,ξn0

其中,参数C的含义:regularization和tube violation的权衡
           参数 ε \varepsilon ε的含义:tube的宽度

上述问题可用QP来求解,共有 d ~ + 1 + 2 N \tilde d + 1 + 2N d~+1+2N个变量,4N条约束,接下来,就是把primal问题转为dual问题,移除对 d ~ \tilde d d~的依赖。

引入拉格朗日乘子 α ∧ & α ∨ {\alpha ^ \wedge }\& {\alpha ^ \vee } α&α
目 标 方 程                    1 2 w T w + C ∑ n = 1 N ( ξ n ∨ + ξ n ∧ ) 加 入 α n ∧          f o r            y n − w T z n − b ≤ ε + ξ n ∧ 加 入 α n ∨          f o r      − ε − ξ n ∨ ≤ y n − w T z n − b \begin{array}{l} 目标方程\;\;\;\;\;\;\;\;\;\frac{{\rm{1}}}{{\rm{2}}}{w^T}w + C\sum\limits_{n = 1}^N {(\xi _n^ \vee + \xi _n^ \wedge )} \\\\ 加入\alpha _n^ \wedge \;\;\;\;for\;\;\;\;\;{y_n} - {w^T}{z_n} - b \le \varepsilon + \xi _n^ \wedge \\\\ 加入\alpha _n^ \vee \;\;\;\;for\;\; - \varepsilon - \xi _n^ \vee \le {y_n} - {w^T}{z_n} - b \end{array} 21wTw+Cn=1N(ξn+ξn)αnforynwTznbε+ξnαnforεξnynwTznb

KKT条件:
∂ L ∂ w i = 0 :                w = ∑ n = 1 N ( α n ∧ − α n ∨ ⎵ β n ) z n ∂ L ∂ b = 0 :                  ∑ n = 1 N ( α n ∧ − α n ∨ ) = 0 c o m p l e m e n t a r y      s l a c k n e s s : α n ∧ ( ε + ξ n ∧ − y n + w T z n + b ) = 0 α n ∨ ( ε + ξ n ∨ + y n − w T z n − b ) = 0 \begin{array}{l} \frac{{\partial L}}{{\partial {w_i}}} = 0:\;\;\;\;\;\;\;w = \sum\limits_{n = 1}^N {(\underbrace {\alpha _n^ \wedge - \alpha _n^ \vee }_{{\beta _n}})} {z_n}\\\\ \frac{{\partial L}}{{\partial b}} = 0:\;\;\;\;\;\;\;\;\sum\limits_{n = 1}^N {(\alpha _n^ \wedge - \alpha _n^ \vee )} = 0\\\\ {\rm{complementary \;\;slackness:}}\begin{array}{} {\alpha _n^ \wedge (\varepsilon + \xi _n^ \wedge - {y_n} + {w^T}{z_n} + b) = 0}\\ {\alpha _n^ \vee (\varepsilon + \xi _n^ \vee + {y_n} - {w^T}{z_n} - b) = 0} \end{array} \end{array} wiL=0:w=n=1N(βn αnαn)znbL=0:n=1N(αnαn)=0complementaryslackness:αn(ε+ξnyn+wTzn+b)=0αn(ε+ξn+ynwTznb)=0

推导过程略,下面直接给出SVR Dual:
min ⁡    1 2 ∑ n = 1 N ∑ m = 1 N ( α n ∧ − α n ∨ ) ( α m ∧ − α m ∨ ) K n , m + ∑ n = 1 N ( ( ε − y n ) ⋅ α n ∧ + ( ε + y n ) ⋅ α n ∨ ) s . t .    ∑ n = 1 N ( α n ∧ − α n ∨ )              0 ≤ α n ∧ ≤ C , 0 ≤ α n ∨ ≤ C \begin{array}{l} \min \;\frac{1}{2}\sum\limits_{n = 1}^N {\sum\limits_{m = 1}^N {(\alpha _n^ \wedge - \alpha _n^ \vee )(\alpha _m^ \wedge - \alpha _m^ \vee ){K_{n,m}}} } + \sum\limits_{n = 1}^N {((\varepsilon - {y_n}) \cdot \alpha _n^ \wedge + (\varepsilon + {y_n}) \cdot \alpha _n^ \vee )} \\\\ s.t.\;\sum\limits_{n = 1}^N {(\alpha _n^ \wedge - \alpha _n^ \vee )} \\\\ \;\;\;\;\;\;0 \le \alpha _n^ \wedge \le C,0 \le \alpha _n^ \vee \le C \end{array} min21n=1Nm=1N(αnαn)(αmαm)Kn,m+n=1N((εyn)αn+(ε+yn)αn)s.t.n=1N(αnαn)0αnC,0αnC

与QP的形式相似,可以用相似的求解器来求解。

SVR解的稀疏性解释:
根据KKT条件,有如下关系:

w = ∑ n = 1 N ( α n ∧ − α n ∨ ⎵ β n ) z n c o m p l e m e n t a r y      s l a c k n e s s : α n ∧ ( ε + ξ n ∧ − y n + w T z n + b ) = 0 α n ∨ ( ε + ξ n ∨ + y n − w T z n − b ) = 0 \begin{array}{l} w = \sum\limits_{n = 1}^N {(\underbrace {\alpha _n^ \wedge - \alpha _n^ \vee }_{{\beta _n}})} {z_n}\\ {\rm{complementary\;\; slackness:}}\begin{array}{} {\alpha _n^ \wedge (\varepsilon + \xi _n^ \wedge - {y_n} + {w^T}{z_n} + b) = 0}\\ {\alpha _n^ \vee (\varepsilon + \xi _n^ \vee + {y_n} - {w^T}{z_n} - b) = 0} \end{array} \end{array} w=n=1N(βn αnαn)zncomplementaryslackness:αn(ε+ξnyn+wTzn+b)=0αn(ε+ξn+ynwTznb)=0
而根据tube regression,把数据点分为两部分,即

  • 在tube之内的点,有,

∣ w T z n + b − y n ∣ &lt; ε ⇒ ξ n ∧ = 0 , ξ n ∨ = 0 ⇒ ( ε + ξ n ∧ − y n + w T z n + b ) ≠ 0 , ( ε + ξ n ∨ + y n − w T z n − b ) ≠ 0 ⇒ α n ∧ = 0 , α n ∨ = 0 ⇒ β n = 0 \begin{array}{l} \left| {{w^T}{z_n} + b - {y_n}} \right| &lt; \varepsilon \\\\ \Rightarrow \xi _n^ \wedge = 0,\xi _n^ \vee = 0\\\\ \Rightarrow (\varepsilon + \xi _n^ \wedge - {y_n} + {w^T}{z_n} + b) \ne 0,(\varepsilon + \xi _n^ \vee + {y_n} - {w^T}{z_n} - b) \ne 0\\\\ \Rightarrow \alpha _n^ \wedge = 0,\alpha _n^ \vee = 0\\\\ \Rightarrow {\beta _n} = 0 \end{array} wTzn+byn<εξn=0,ξn=0(ε+ξnyn+wTzn+b)̸=0,(ε+ξn+ynwTznb)̸=0αn=0,αn=0βn=0

  • 在tube之外的点,即SVs,则 β n ≠ 0 {\beta _n} \ne 0 βn̸=0

所以,SVR可以有一个稀疏解 β \beta β

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值