Chapter 6 SVM

本篇详细介绍了支持向量机(SVM)的概念,包括间隔、支持向量、对偶问题、核函数、软间隔与正则化。通过拉格朗日乘子法,SVM的对偶问题转化为二次规划问题,通过核技巧处理非线性可分情况。此外,还讨论了支持向量回归(SVR)和核方法在机器学习中的应用。
摘要由CSDN通过智能技术生成

#第六章 支持向量机


6.1 间隔与支持向量机

分类学习最基本的想法就是基于训练集D再样本空间中找到一个最鲁棒的划分超平面。它可用如下线性方程来描述:
w T x + b = 0 w^Tx+b=0 wTx+b=0
其中,w被称为法向量,可用于描述超平面的方向,b为位移项,决定超平面到原点的距离。显然这两项决定了划分超平面,可以证明样本空间中任意点 x \bf x x到超平面距离可写为:
r = ∣ w T x + b ∣ ∣ ∣ w ∣ ∣ r=\frac{|w^T\bf x+b|}{||w||} r=wwTx+b
若有超平面 ( w , b ) (w,b) (w,b)能将训练样本正确分类,那么距离该平面最近的几个训练样本点会使得
{ 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,&y_i=+1\\ w^Tx_i+b\leq -1,&y_i=-1\end{cases} { wTxi+b+1,wTxi+b1,yi=+1yi=1
那这样的几个训练样本点我们称其为“支持向量”,两个异类支持向量到超平面的距离之和称为"间隔"(margin): γ = 2 / ∣ ∣ w ∣ ∣ \gamma=2/||w|| γ=2/w
为了找到间隔最大的划分超平面,也就是要求:
m a x w , b 2 ∣ ∣ w ∣ ∣ s . t . y i ( w T x i + b ) ≥ 1 , i = 1 , 2 , . . . , m max_{w,b} \quad\frac{2}{||w||}\\ s.t. y_i(w^T{\bf x_i}+b)\geq 1,i=1,2,...,m maxw,bw2s.t.yi(wTxi+b)1,i=1,2,...,m
上面涉及的最大化 ∣ ∣ w ∣ ∣ − 1 ||w||^{-1} w1等价于最小化 ∣ ∣ w ∣ ∣ 2 ||w||^{2} w2,即:
(6.1) m i n w , b 1 2 ∣ ∣ w ∣ ∣ 2 s . t . y i ( w T x i + b ) ≥ 1 , i = 1 , 2 , . . . , m min_{w,b}\quad \frac{1}{2}{||w||^2}\\ s.t. y_i(w^T{\bf x_i}+b)\geq 1,i=1,2,...,m\tag{6.1} minw,b21w2s.t.yi(wTxi+b)1,i=1,2,...,m(6.1)
这就是SVM的基本型

6.2 对偶问题

首先,我们要求(6.1)的话,这本身是一个凸优化的问题,显然能用现成的优化计算包求解,但还有更为高效的方法————拉格朗日乘子法,可得到其对偶问题:即对式(6.1)的每条约束添加一个拉格朗日乘子 α i ≥ 0 \alpha_i\geq0 αi0(不等式约束),那么该问题的朗格朗日函数可写为:
(6.2) L ( w , b , α ) = 1 / 2 ∣ ∣ w ∣ ∣ 2 + ∑ i = 1 m α i ( 1 − y i ( w T x i + b ) ) L(w,b,\alpha)=1/2||w||^2+\sum_{i=1}^m\alpha_i(1-y_i(w^Tx_i+b))\tag{6.2} L(w,b,α)=1/2w2+i=1mαi(1yi(wTxi+b))(6.2)
L ( w , b , α ) L(w,b,\alpha) L(w,b,α)求偏导为0,最后可得出(6.1)的对偶问题(下6.3),求解(6.2)中的拉格朗日算子:
(6.3) m a x α     ∑ i = 1 m α i − 1 / 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j x i T x j s . t ∑ i = 1 m α i y i = 0 , α i ≥ 0 , i = 1 , 2 , . . . , m max_\alpha\ \ \ \sum_{i=1}^m\alpha_i-1/2\sum_{i=1}^m\sum_{j=1}^m\alpha_i\alpha_jy_iy_jx_i^Tx_j\\ s.t \sum_{i=1}^m\alpha_iy_i=0,\\ \alpha_i\geq0,i=1,2,...,m\tag{6.3} maxα   i=1mαi1/2i=1mj=1mαiαjyiyjxiTxjs.ti=1mαiyi=0,αi0,i=1,2,...,m(6.3)
求解该式是一个二次规划问题,但鉴于实际处理时,有时候样本数过大,导致通用的求解二次规划算法如拉格朗日等方法并不适用,为了避免障碍,人们通过利用问题本身的特性,提出如SMO(Sequential Minimal Optimization) 等多种高效算法。

最终模型为: f ( x ) = w T x + b = ∑ i = 1 m α i y i x i T x + b f(x)=w^Tx+b=\sum_{i=1}^m\alpha_iy_ix_i^Tx+b f(x)=wTx+b=i=1mαiyixiTx+b
注意,由于(6.1)中有不等式约束,所以上述过程还须满足KKT(Karchur-Kuhn-Tucker)条件:
a l p h a i ≥ 0 ; y i f ( x i ) − 1 ≥ 0 ; α i ( y i f ( x i ) − 1 ) = 0. alpha_i\geq0;\\ y_if(x_i)-1\geq0;\\ \alpha_i(y_if(x_i)-1)=0. alphai0;yif(xi)10;αi(yif(xi)1)=0.
SMO基本思路:先选择两个变量 α i \alpha_i αi α j \alpha_j αj并固定其他参数,这样,在初始化参数后,不断执行以下步骤:

  • 选取一对需更新的变量 α i
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值