第四章 支持向量机详解

1 线性可分模式的最优超平面

考虑训练样本 ( x i , d i ) {(x_i,d_i)} (xi,di)假设由子集代表的模式是线性可分的,用于分离超平面的决策曲面方程是:

(式4.1) W T X + b = 0 W^TX+b=0 \tag{式4.1} WTX+b=0(4.1)

其中x是输入向量,w是可调向量,b是偏置。因此可以写成:
W T X + b ≥ 0 当 d i = + 1 W^TX+b\geq0 当 d_i=+1 WTX+b0di=+1
(式4.2) W T X + b &lt; 0 当 d i = − 1 W^TX+b&lt;0 当d_i =-1\tag{式4.2} WTX+b<0di=1(4.2)
支持向量机的目标是找到一个特殊的超平面,这个超平面分离边缘最大,在该情况下,决策曲面为最优超平面。假设 w 0 和 b 0 w_0和b_0 w0b0分别表示权值向量和偏置的最优值,相应的,最优超平面形式如下:
(式4.3) w 0 T + b 0 = 0 w_0^T + b_0 = 0\tag{式4.3} w0T+b0=0(4.3)
将式4.1改写,可得到判别函数:
(式4.4) g ( x ) = w 0 T + b 0 g(x) = w_0^T+b_0\tag{式4.4} g(x)=w0T+b0(4.4)
x到最优超平面的距离是一种代数度量,可以将x表达为,(理解此处需要回顾高中几何、向量相关的知识,如下图所示那样)
x = x 0 + r ∗ w 0 ∣ ∣ w 0 ∣ ∣ x=x_0+r*\frac{ w_0}{ ||w_0||} x=x0+rw0w0
这里写图片描述
其中 x 0 x_0 x0是x在最优超平面上的正轴投影,r是期望的代数距离。如果x在最优平面的正面,r是正值,相反,则为负值,由定义可知 g ( x p ) = 0 g(x_p)=0 g(xp)=0,由此可得出:
(式4.5) g ( x ) = w 0 T x + b 0 = r ∣ ∣ w 0 ∣ ∣ g(x)=w_0^Tx+b_0=r||w_0||\tag{式4.5} g(x)=w0Tx+b0=rw0(4.5)
将超平面表示为(w,b),w为法向量,b为位移向,则样本空间到超平面(w,b)的距离可写为
(式4.6) r = ∣ w T x + b ∣ ∣ ∣ w ∣ ∣ r = \frac{|w^Tx+b|}{||w||}\tag{式4.6} r=wwTx+b(4.6)
该步的解法详见(https://blog.csdn.net/alwaystry/article/details/60957096)

假设超平面(w,b)能将训练样本正确分类,即 ( x i , y i ) ⊂ D (x_i,y_i)\subset D (xi,yi)D y i = + 1 , 则 有 w T x i + b &gt; 0 , y i = − 1 , 则 有 w T x i + b &lt; 0 y_i=+1,则有w^Tx_i+b&gt;0,y_i=-1,则有w^Tx_i+b&lt;0 yi=+1wTxi+b>0,yi=1,wTxi+b<0,令
(式4.7) { w T x i + b ≥ + 1 , y i = + 1 w T x i + b ≤ − 1 , y i = − 1 \begin{cases} w^Tx_i+b\geq+1, &amp; {y_i=+1} \\w^Tx_i+b\leq-1, &amp; y_i =-1 \end{cases} \tag{式4.7} {wTxi+b+1,wTxi+b1,yi=+1yi=1(4.7)

由式4.6和式4.5可得出:
(式4.8) r = g ( x ) ∣ ∣ w 0 ∣ ∣ = { 1 ∣ ∣ w 0 ∣ ∣ , y i = + 1 − 1 ∣ ∣ w 0 ∣ ∣ , y i = − 1 r =\frac{g(x)}{||w_0||}= \begin{cases} \frac{1}{||w_0||}, &amp; {y_i=+1} \\-\frac{1}{||w_0||}, &amp; y_i =-1 \end{cases} \tag{式4.8} r=w0g(x)={w01,w01,yi=+1yi=1(4.8)
有式4.8可得到, 两个类边缘的最优值为 ρ \rho ρ:
(式4.9) ρ = 2 r = 2 ∣ ∣ w 0 ∣ ∣ \rho=2r = \frac{2}{||w_0||}\tag{式4.9} ρ=2r=w02(4.9)
由式4.9可以说明:
最大化两个类之间的边缘等价于最小权值向量w的欧几里得范数。
首先主要到训练样本{X,Y},再根据式4.7,把两个等式合并得到一个等式:
y i ( w T x i + b ) ≥ 1 y_i(w^Tx_i+b)\geq1 yi(wTxi+b)1
据此可总结,最大化两个类之间的分类边缘,即最大化间隔,仅需最大化 ∣ ∣ w ∣ ∣ − 1 ||w||^{-1} w1,等价于最小化 ∣ ∣ w ∣ ∣ 2 ||w||^2 w2(在《神经网络与机器学习》中,此处等价于 w T w w^Tw wTw)
于是可以得到如下:
m i n 1 2 ∣ ∣ w ∣ ∣ 2 min \frac{1}{2}||w||^2 min21w2
y i ( w T x i + b ) ≥ 1 , i = ( 1 , 2 , … ⎵ l d o t s , N ) y_i(w^Tx_i+b)\geq1,i=(1,2,\underbrace{\ldots}_{\rm ldots} ,N) yi(wTxi+b)1,i=(1,2,ldots ,N)
这就是支持向量的基本型。
在《神经网络与机器学习》中采用的记录方式为:
Φ ( w ) = 1 2 w T w \Phi(w) = \frac{1}{2} w^Tw Φ(w)=21wTw
(式4.11) y i ( w T x i + b ) ≥ 1 , i = ( 1 , 2 , … ⎵ l d o t s , N ) y_i(w^Tx_i+b)\geq1,i=(1,2,\underbrace{\ldots}_{\rm ldots} ,N)\tag{式4.11} yi(wTxi+b)1,i=(1,2,ldots ,N)(4.11)
代价函数$\Phi(w) $是w的凸函数
约束条件关于w是线性的。
可以使用拉格朗日乘子方法解决约束最优问题。
首先,建立拉格朗日函数
(式4.12) J ( w , b , a ) = 1 2 w T w − ∑ i = 1 n a i [ d i ( y i ( w T x i + b ) − 1 ) ] J(w,b,a) = \frac{1}{2} w^Tw - \sum_{i=1}^n a_i[d_i(y_i(w^Tx_i+b)-1)]\tag{式4.12} J(w,b,a)=21wTwi=1nai[di(yi(wTxi+b)1)](4.12)

a i a_i ai称作拉格朗日乘子,约束最优问题的解由 J ( w , b , a ) J(w,b,a) J(w,b,a)的鞍点决定, J ( w , b , a ) J(w,b,a) J(w,b,a)对w和b求微分并设置为0,得到两个最优条件:
{ 条 件 1 : ∂ L ( w , b , a ) ∂ w = 0 , 条 件 2 : ∂ L ( w , b , a ) ∂ b = 0 \begin{cases}条件1:\frac{∂L(w,b,a)}{∂w} =0,\\条件2:\frac {∂L(w,b,a)}{∂b} =0 \end{cases} {1wL(w,b,a)=0,2bL(w,b,a)=0

应用最优条件1到式4.11的拉格朗日函数,得到:
(式4.13) w = ∑ i = 1 N a i y i x i w=\sum_{i=1}^N a_iy_ix_i\tag{式4.13} w=i=1Naiyixi(4.13)
同理运用最优条件2可得:
(式4.14) ∑ i = 1 N a i y i = 0 \sum_{i=1}^N a_iy_i=0\tag{式4.14} i=1Naiyi=0(4.14)
KKT条件,(此处由式4.11,4.14得到)
(式4.15) { 条 件 1 : a i ≥ 0 条 件 2 : y i f ( x i ) − 1 ≥ 0 条 件 3 : a i ( y i f ( x i ) − 1 ) = 0 \begin{cases}条件1:a_i\geq0\\条件2:y_if(x_i)-1\geq0\\条件3:a _i(y_if(x_i)-1)=0\end{cases} \tag{式4.15} 1ai02yif(xi)103ai(yif(xi)1)=0(4.15)
对偶问题
像前面提到的,原问题是处理凸代价函数和线性约束的,给定这样一个约束最优化问题,可能构造另一个问题,成为对偶问题。第二问题与原问题有同样的最优值,但是这是由拉格朗日乘子提供最优解。
为了说明对偶问题是原问题的前提,首先逐项展开式4.12如下:
(式4.16) J ( w , b , a ) = 1 2 w T w − ∑ i = 1 N a i y i w T x i − b ∑ i = 1 N a i y i + ∑ i = 1 N a i J(w,b,a) = \frac{1}{2} w^Tw -\sum_{i=1}^Na_iy_iw^Tx_i - b \sum_{i=1}^Na_iy_i +\sum_{i=1}^Na_i \tag{式4.16} J(w,b,a)=21wTwi=1NaiyiwTxibi=1Naiyi+i=1Nai(4.16)
根据式4.14,式4.16的右端第三项为零。由式4.13有
w T w = ∑ i = 1 N a i y i w T x i = ∑ i = 1 N ∑ j = 1 N a i a j y i y j x i T x j w^Tw = \sum_{i=1}^Na_iy_iw^Tx_i = \sum_{i=1}^N \sum_{j=1}^Na_ia_jy_iy_jx_i^Tx_j wTw=i=1NaiyiwTxi=i=1Nj=1NaiajyiyjxiTxj
相应地,设置目标函数 J ( w , b , a ) = Q ( a ) J(w,b,a) = Q(a) J(w,b,a)=Q(a),可以将式4.16改写成:
Q ( a ) = ∑ i = 1 N a i − 1 2 ∑ i = 1 N ∑ j = 1 N a i a j y i y j x i T x j Q(a) = \sum_{i=1}^Na_i - \frac{1}{2}\sum_{i=1}^N\sum_{j=1}^Na_ia_jy_iy_jx_i^Tx_j Q(a)=i=1Nai21i=1Nj=1NaiajyiyjxiTxj

现在可以将对偶问题做如下陈述:
给定训练样本 τ = ( x i , d i ) \tau = {(x_i,d_i)} τ=(xi,di),寻找最大化如下目标函数的拉格朗日乘子 a i a_i ai:
Q ( a ) = ∑ i = 1 N a i − 1 2 ∑ i = 1 N ∑ j = 1 N a i a j y i y j x i T x j Q(a) = \sum_{i=1}^Na_i - \frac{1}{2}\sum_{i=1}^N\sum_{j=1}^Na_ia_jy_iy_jx_i^Tx_j Q(a)=i=1Nai21i=1Nj=1NaiajyiyjxiTxj
满足约束条件:
∑ i = 1 N a i y i = 0 \sum_{i=1}^N a_iy_i=0 i=1Naiyi=0
a i ≥ 0 , 当 i = 1 , 2 , 3.... , N 时 a_i\geq0,当i =1,2,3....,N时 ai0i=1,2,3....,N
可以用式4.13计算最优权值向量 w 0 w_0 w0,并写成:
w 0 = ∑ i = 1 N a 0 , i y i x i w_0=\sum_{i=1}^N a_0,iy_ix_i w0=i=1Na0,iyixi
运用式4.7,有:
b 0 = 1 − w 0 T x ( s ) = 1 − ∑ i = 1 N a o , i d i x i T X ( s ) b_0 = 1 - w_0^Tx^{(s)} = 1- \sum_{i=1}^Na_{o,i}d_ix_i^TX^{(s)} b0=1w0Tx(s)=1i=1Nao,idixiTX(s)
据此可得,原问题求解权值 w w w和偏置 b b b的问题简化为求 a i a_i ai的问题

2 SMO算法求解 a i a_i ai

详见:
http://www.cnblogs.com/pinard/p/6111471.html

[1]: 神经网络与机器学习 [加] Simmon Haykin

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值