当前位置:   article > 正文

【机器学习算法模型】1. SVR模型推导

svr模型

机器学习算法模型推导】1. SVR算法介绍与推导

一、SVR算法

SVR做为SVM的分支从而被提出。SVM一般用于二分类问题,而SVR一般应用于数据的拟合。

1.SVR简介

无论SVM还是SVR,都需要建立一个超平面。SVM的目标是令超平面与最近的样本点的距离最大,实现通过超平面分类的目的;而SVR的目标是要使得超平面与最远的样本点的距离最小,从而可以通过利用超平面对数据进行拟合。
请添加图片描述

2.SVR数学模型

SVR在线性函数两侧制造了一个“间隔带”,对于所有落入到间隔带内的样本,都不计算损失;只有间隔带之外的,才计入损失函数。之后再通过最小化间隔带的宽度与总损失来最优化模型。
由于模型需要放弃一些边缘的点,用于最小化间隔带,
所以引入了松弛变量 ξ i \xi_i ξi ξ i ∗ \xi_i^* ξi(松弛变量有两个符号,SVM只有1个符号), 代表上图上边缘点和下边缘点与中间实线的距离(y轴投影距离而不是欧式距离,直接计算点与点在实线上的投影的y轴上的差即可。):

2.1 SVR目标函数

m i n ω , b 1 2 ∥ ω ∥ 2 + C ∑ i = 1 l ( ξ i + ξ i ∗ ) \mathop{min}\limits_{\omega, b}\frac{1}{2}\parallel\omega\parallel^2 + C\sum_{i=1}^{l}(\xi_i + \xi_i^*) ω,bmin21ω2+Ci=1l(ξi+ξi)

s . t . { y i − ω x − b ≤ ϵ + ξ i ω x + b − y i ≤ ϵ + ξ i ∗ ξ i , ξ i ∗ ≥ 0 s.t.\left\{

yiωxbϵ+ξiωx+byiϵ+ξiξi,ξi0
\right. s.t.yiωxbϵ+ξiωx+byiϵ+ξiξi,ξi0

其中, ξ i \xi_i ξi ξ i ∗ \xi_i^* ξi的取值为:

{ ξ i = y i − ( ω x + b + ϵ ) , y i > ω x + b + ϵ ξ i = 0 , o t h e r w i s e \left\{

ξi=yi(ωx+b+ϵ),yi>ωx+b+ϵξi=0,otherwise
\right. {ξi=yi(ωx+b+ϵ),yi>ωx+b+ϵξi=0,otherwise

{ ξ i ∗ = ( ω x + b − ϵ ) − y i , y i < ω x + b − ϵ ξ i ∗ = 0 , o t h e r w i s e \left\{

ξi=(ωx+bϵ)yi,yi<ωx+bϵξi=0,otherwise
\right. {ξi=(ωx+bϵ)yi,yi<ωx+bϵξi=0,otherwise

2.2 为了最小化目标函数,根据约束条件,构造拉格朗日函数

L = 1 2 ∥ ω ∥ 2 + C ∑ i = 1 l ( ξ i + ξ i ∗ ) − ∑ i = 1 l α i ( ϵ + ξ i − y i + ω x + b ) − ∑ i = 1 l α i ∗ ( ϵ + ξ i ∗ + y i − ω x − b ) − ∑ i = 1 l ( η i ξ i + η i ∗ ξ i ∗ ) s . t . α i , α i ∗ , η i , η i ∗ ≥ 0

L=12ω2+Ci=1l(ξi+ξi)i=1lαi(ϵ+ξiyi+ωx+b)i=1lαi(ϵ+ξi+yiωxb)i=1l(ηiξi+ηiξi)s.t.αi,αi,ηi,ηi0
L=21ω2+Ci=1l(ξi+ξi)i=1lαi(ϵ+ξiyi+ωx+b)i=1lαi(ϵ+ξi+yiωxb)i=1l(ηiξi+ηiξi)s.t.αi,αi,ηi,ηi0

原问题可以化为:
m i n ω , b m a x α i ( ∗ ) , η i ( ∗ ) L ( ω , b , ξ i , ξ i ∗ , α i , α i ∗ , η i , η i ∗ ) \mathop{min}\limits_{\omega, b}\mathop{max}\limits_{\alpha_i^{(*)}, \eta_i^{(*)}}L(\omega, b, \xi_i,\xi_i^*, \alpha_i, \alpha_i^*, \eta_i, \eta_i^*) ω,bminαi(),ηi()maxL(ω,b,ξi,ξi,αi,αi,ηi,ηi)

2.3 原问题的对偶问题

m a x α i ( ∗ ) , η i ( ∗ ) m i n ω , b L ( ω , b , ξ i , ξ i ∗ , α i , α i ∗ , η i , η i ∗ ) \mathop{max}\limits_{\alpha_i^{(*)}, \eta_i^{(*)}}\mathop{min}\limits_{\omega, b}L(\omega, b, \xi_i,\xi_i^*, \alpha_i, \alpha_i^*,\eta_i, \eta_i^*) αi(),ηi()maxω,bminL(ω,b,ξi,ξi,αi,αi,ηi,ηi)

2.4 分别对 ω , b , ξ i , ξ i ∗ \omega,b,\xi_i,\xi_i^* ω,b,ξi,ξi求偏导,并令偏导为0

{ ∂ L ∂ ω = ω − ∑ i = 1 l ( α i ∗ − α i ) x i = 0 ∂ L ∂ b = ∑ i = 1 l ( α i ∗ − α i ) = 0 ∂ L ∂ ξ i = C − α i − η i ∂ L ∂ ξ i ∗ = C − α i ∗ − η i ∗ \left\{

Lω=ωi=1l(αiαi)xi=0Lb=i=1l(αiαi)=0Lξi=CαiηiLξi=Cαiηi
\right. ωL=ωi=1l(αiαi)xi=0bL=i=1l(αiαi)=0ξiL=CαiηiξiL=Cαiηi

2.5 用SMO算法求解SVR

使用SMO算法前,还需将 α i , α i ∗ \alpha_i, \alpha_i^* αi,αi转化为一个参数,因为SMO算法针对的是任意样本 x i x_i xi 只对应一个参数 α i \alpha_i αi的情况。

过程采用拉格朗日对偶法,对偶问题有解的充要条件是满足KKT条件,对于SVR的对偶问题,其KKT条件如下:
{ α i ( ϵ + ξ i − y i + ω x + b ) = 0 α i ∗ ( ϵ + ξ i + y i − ω x − b ) = 0 ( C − α i ) ξ i = 0 ( C − α i ∗ ) ξ i ∗ = 0 α i α i ∗ = 0 ξ i ξ i ∗ = 0 \left\{

αi(ϵ+ξiyi+ωx+b)=0αi(ϵ+ξi+yiωxb)=0(Cαi)ξi=0(Cαi)ξi=0αiαi=0ξiξi=0
\right. αi(ϵ+ξiyi+ωx+b)=0αi(ϵ+ξi+yiωxb)=0(Cαi)ξi=0(Cαi)ξi=0αiαi=0ξiξi=0

λ i = α i − α i ∗ \lambda_i = \alpha_i - \alpha_i^* λi=αiαi。由KKT条件, α i , α i ∗ \alpha_i,\alpha_i^* αi,αi至少有一个为0。所以 ∣ λ i ∣ = α i + α i ∗ |\lambda_i| = \alpha_i + \alpha_i^* λi=αi+αi。代入对偶问题,则有(先用求导结果替换 ω \omega ω):
m i n λ [ ∑ i = 1 l y i λ i + ϵ ∣ λ i ∣ + 1 2 ∑ i = 1 l ∑ j = 1 l λ i λ j x i T x i ] s . t . { ∑ i = 1 l λ i = 0 − C ≤ λ i ≤ C

\begin{array}{l} \mathop{min}\limits_{\lambda}[\sum\limits_{i=1}^{l}y_i\lambda_i+ \epsilon|\lambda_i| + \frac{1}{2}\sum\limits_{i=1}^{l}\sum\limits_{j=1}^{l}\lambda_i\lambda_j x_i^Tx_i] \\ s.t.\left\{\begin{array}{l} \sum\limits_{i=1}^{l}\lambda_i = 0\\ -C \le \lambda_i \le C \end{array}
\right. \end{array} λmin[i=1lyiλi+ϵλi+21i=1lj=1lλiλjxiTxi]s.t.i=1lλi=0CλiC
最后再参考SMO算法,求出回归模型系数 ω , b \omega, b ω,b

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/314851
推荐阅读
相关标签
  

闽ICP备14008679号