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