线性支持向量机
松弛变量和惩罚代价
线性不可分意味着某些样本点 (xi,yi) 不能满足函数间隔大于等于1的约束条件。可以对每个样本点 (xi,yi) 引入一个松弛变量 ξi≥0 ,使函数间隔加上松弛变量大于等于1.这样,约束条件变为
yi(wi⋅xi+b)≥1−ξi
同时,对每个松弛变量 ξi ,支付一个代价 ξi ,目标函数变成
12||w||2+C∑i=1Nξi (7.31)
这里C>0称为惩罚参数,C较大对误分类惩罚增大。最小化
目标函数(7.31)包含两层含义:使间隔尽量大,同时使得误分类点个数尽量少。
原始问题
线性不可分支持向量机的学习问题变成如下凸二次规划问题(原始问题)
minw,b,ξ12||w||2+C∑i=1Nξi(7.32)s.t.yi(w⋅xi+b)≥1−ξi,i=1,...,N(7.33)ξi≥0,i=1,...N(7.33)
原始问题(7.32)-(7.34)是一个凸二次规划问题。可以证明w的解是唯一的,但b的解可能不唯一,而是存在于一个区间。
学习的对偶算法
对偶问题
原始问题(7.32)-(7.34)的对偶问题是
mina12∑i=1N∑j=1Naiajyiyj(xi⋅xj)−∑i=1Nai(7.37)s.t.∑i=1Naiyi=0(7.38)0≤ai≤C,i=1,...,N(7.39)
拉格朗日函数
L(w,b,a)=12||w||2+C∑i=1Nξi−∑Ni=1ai(yi(w⋅xi+b)−1+ξi)−∑Ni=1μiξi (7.40) ,其中 ai≥0,μ