线性支持向量机

1. 线性SVM模型

线性支持向量机的思想非常朴素:用一个超平面将两类数据分割开来。
在这里插入图片描述

如上图,这样的超平面有无数个,选择哪个超平面更好呢?从上图可以看出,平面①会将红色的两个数据分错,平面②则不会,这是因为平面②将两边的间隔分得更大。所以,我们应该选择将两边间隔分割得最大的超平面。

设超平面为 w T x + b = 0 w^Tx+b=0 wTx+b=0,类别标记 y i ∈ [ − 1 , 1 ] y_i\in[-1,1] yi[1,1]。现将超平面上下平移,直到有数据穿过为止,此时 w T x i + b = 1 或 w T x i + b = − 1 w^Tx_i+b=1或w^Tx_i+b=-1 wTxi+b=1wTxi+b=1。如下图:
在这里插入图片描述
被穿过的数据 x i x_i xi称为支持向量,而某支持向量到超平面的距离的2倍称为间隔 m a r g i n = 2 ∣ ∣ w ∣ ∣ margin=\cfrac{2}{||w||} margin=w2,要最大化间隔可以最小化 ∣ ∣ w ∣ ∣ ||w|| w。并且,所有数据满足:
{ w T x i + b ≥ + 1 , y i = + 1 w T x i + b ≤ − 1 , y i = − 1 即 : y i ( w T x i + b ) ≥ 1 , i = 1 , 2 , . . . , m \begin{aligned} \begin{cases} w^Tx_i+b \geq +1& , y_i=+1 \\ w^Tx_i+b \leq -1 & , y_i=-1 \end{cases} \\ \\ 即:y_i(w^Tx_i+b) \geq 1,i=1,2,...,m \end{aligned} { wTxi+b+1wTxi+b1,yi=+1,yi=1yi(wTxi+b)1,i=1,2,...,m
上述不等式表达的意思是:所有数据点都要分类正确。

总之,线性SVM模型目标在于求解 w , b w,b w,b,使得数据点均分类正确的情况下,同时间隔要最大化,即:

m i n [ w , b ] 1 2 ∣ ∣ w ∣ ∣ 2 s . t . y i ( w T x i + b ) ≥ 1 , i = 1 , 2 , . . . , m \begin{aligned} & min_{[w,b]} \enspace \frac{1}{2}||w||^2 \\ \\ &s.t. \enspace y_i(w^Tx_i+b) \geq 1,i=1,2,...,m \end{aligned} min[w,b]21w2s.t.yi(wTxi+b)1,i=1,2,...,m

这就是线性支持向量机的模型。它是一个凸二次规划问题,关于这类问题有很多方法可以求解,有兴趣的可以去学习凸优化理论。然而,伟大的数学家发明出了更高效的方法(对偶问题)来求解。

2. 对偶理论

一般的优化问题如下:

m i n [ x ] g ( x ) s . t . f i ( x ) ≤ 0 , i = 1 , 2 , . . . , m h i ( x ) = 0 , i = 1 , 2 , . . . , q \begin{aligned} &min_{[x]} \enspace g(x) \\ \\ &s.t. \enspace f_i(x)\leq 0,i=1,2,...,m \\ & \qquad h_i(x)= 0,i=1,2,...,q \end{aligned} min[x]g(x)s.t.fi(x)0,i=1,2,...,mhi(x)=0,i=1,2,...,q
构造拉格朗日辅助函数: L ( x , α , v ) = g ( x ) + ∑ i = 1 m α i f i ( x ) + ∑ i = 1 q v i h i ( x ) , ( α i ≥ 0 ) L(x,\alpha,v)=g(x)+\sum_{i=1}^m \alpha_if_i(x)+\sum_{i=1}^qv_ih_i(x),(\alpha_i\geq0) L(x,α,v)=g(x)+i=1mαifi(x)+i=1qvihi(x),(αi0)

现在我们对L最大化 α , v \alpha,v α,v得:
m a x [ α , v ] L ( x , α , v ) = g ( x ) + m a x { ∑ i = 1 m α i f i ( x ) + ∑ i = 1 q v i h i ( x ) } \begin{aligned} max_{[\alpha,v]} \enspace L(x,\alpha,v)=g(x)+max\{\sum_{i=1}^m \alpha_if_i(x)+\sum_{i=1}^qv_ih_i(x)\} \end{aligned} max[α,v]L(x,α,v)=g(x)+max{ i=1mαifi(x)+i=1qvihi(x)}
由于 f i ( x ) ≤ = 0 且 α i ≥ 0 f_i(x)\leq=0且\alpha_i\geq0 fi(x)=0αi0,则 α i f i ( x ) \alpha_if_i(x) αifi(x)的取值为负无穷到0,得到 m a x ∑ i = 1 m α i f i ( x ) = 0 max\enspace \sum_{i=1}^m \alpha_if_i(x)=0 maxi=1mαifi(x)=0;又 h i ( x ) = 0 , 则 m a x ∑ i = 1 q v i h i ( x ) = 0 h_i(x)=0,则max\enspace \sum_{i=1}^qv_ih_i(x)=0 hi(x)=0,maxi=1qvihi(x)=0。故推导出:
g ( x ) = m a x [ α , v ] L ( x , α , v ) \begin{aligned} g(x)= max_{[\alpha,v]} \enspace L(x,\alpha,v) \end{aligned} g(x)=max[α,v]L(x,α,v)
那么原问题可以表达为: p ∗ = m i n [ x ] m a x [ α , v ] L ( x , α , v ) p^*=min_{[x]} max_{[\alpha,v]} \enspace L(x,\alpha,v) p=min[x]max[α,v]L(x,α,v)

其对偶问题为: d ∗ = m a x [ α , v ] m i n [ x ] L ( x , α , v ) d^*= max_{[\alpha,v]}min_{[x]}\enspace L(x,\alpha,v) d=max[α,v]min[x]L(x,α,v) (强对偶条件成立时)

观察原问题和对偶问题的表达式,其实就是交换了一下求解次序。这样做的意义在于:直接求解 p ∗ p^* p 是非常困难的。但是交换了次序后,先求解 m i n [ x ] L ( x , α , v ) min_{[x]}\enspace L(x,\alpha,v) min[x]L(x,α,v)可能非常简单,再求解 m a x [ α , v ] max_{[\alpha,v]} max[α,v]也可能非常简单。

我们现在看d*是如何推导出来的

设拉格朗日对偶函数: h ( α , v ) = m i n [ x ] L ( x , α , v ) h(\alpha,v)=min_{[x]}L(x,\alpha,v) h(α,v)=min[x]L(x,α,v)。再任取 x 0 x_0 x0是原问题可行的点,即满足 f i ( x 0 ) ≤ 0 , h i ( x 0 ) = 0 f_i(x_0)\leq0,h_i(x_0)=0 fi(x0)0,hi(x0)=0,有:
由 于 α i ≥ 0 , 则 ∑ i = 1 m α i f i ( x 0 ) + ∑ i = 1 q v i h i ( x 0 ) ≤ 0 L ( x 0 , α , v ) = g ( x 0 ) + ∑ i = 1 m α i f i ( x 0 ) + ∑ i = 1 q v i h i ( x 0 ) ≤ g ( x 0 ) h ( α , v ) = m i n [ x ] L ( x , α , v ) ≤ L ( x 0 , α , v ) ≤ g ( x 0 ) \begin{aligned} 由于\alpha_i\geq 0,则\sum_{i=1}^m \alpha_if_i(x_0)+\sum_{i=1}^qv_ih_i(x_0) &\leq 0 \\ L(x_0,\alpha,v)=g(x_0)+\sum_{i=1}^m \alpha_if_i(x_0)+\sum_{i=1}^qv_ih_i(x_0)&\leq g(x_0) \\ h(\alpha,v)=min_{[x]}L(x,\alpha,v)\leq L(x_0,\alpha,v)&\leq g(x_0) \end{aligned} αi0,i=1mαifi(x0)+i=1qvihi(x0)L(x0,α,v)=g(x0)+i=1mαifi(x0)+i=1qvihi(x0)h(α,v)=min[x]L(x,α,v)L(x0,α,v)0g(x0)g(x0)
即, h

  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值