机器学习(二)线性模型—SVM
2.3 SVM
2.3.1 概述
SVM在特征空间找到一个超平面使得超平面能将两类分开,且间隔最大(解唯一)
i. 当训练样本线性可分时,通过硬间隔最大化,学习一个线性分类器,即线性可分支持向量机;
ii. 当训练数据近似线性可分时,引入松弛变量,通过软间隔最大化,学习一个线性分类器,即线性支持向量机;
iii. 当训练数据线性不可分时,通过使用核技巧及软间隔最大化,学习非线性支持向量机。
2.3.2 问题定义
点到分离超平面的距离:
1||w|||wTx+b|(27) (27) 1 | | w | | | w T x + b |
若分离超平面能将训练样本完全分类正确则 yi(wTx+b)>0 y i ( w T x + b ) > 0 ,令
{
wTxi+b≥+1,wTxi+b≤−1,yi=+1yi=−1(28) (28) { w T x i + b ≥ + 1 , y i = + 1 w T x i + b ≤ − 1 , y i = − 1
距离超平面最近的向量使得等号成立,它们被称为 支持向量( yi(wTx+b)−1=0 y i ( w T x + b ) − 1 = 0 )
两个异类支持向量到超平面的距离之和被叫做 间隔:
2||w||(29) (29) 2 | | w | |
SVM试图去最大化间隔,目标函数定义为:
maxw,b2||w||s.t.yi(wTxi+b)≥1,i=1,2,..,m(30) max w , b 2 | | w | | (30) s . t . y i ( w T x i + b ) ≥ 1 , i = 1 , 2 , . . , m
(30) ( 30 ) 等价于去:
minw,b12||w||2s.t.yi(wTxi+b)≥1,i=1,2,..,m(31) min w , b 1 2 | | w | | 2 (31) s . t . y i ( w T x i + b ) ≥ 1 , i = 1 , 2 , . . , m
2.3.3 原问题与对偶问题推导
对 (31) ( 31 ) 的每条约束添加拉个朗日乘子 αi≥0 α i ≥ 0 ,构建拉格朗日函数
L(w,b,α)=12||w||2+∑i=1mαi(1−yi(wTxi+b))(32) (32) L ( w , b , α ) = 1 2 | | w | | 2 + ∑ i = 1 m α i ( 1 − y i ( w T x i + b ) )
对上式进行全微分:
dL=d(12wTw+∑i=1mαi(1−yi(wTxi+b))=