支持向量机1——间隔和支持向量
支持向量机2——对偶问题
支持向量机3——引入松弛因子
支持向量机4——SMO算法
很多情况下,一个分离超平面并不能完全将训练数据分成两部分。那么我们这时可以允许出现一些误差。故引入松弛因子。
从下图中我们可以看到一些样本不能满足间隔大于1这个条件。
我们令松弛因子:
ζi≥0
,使得目标函数加生松弛因子
ζi
大于等于1。即
yi(wTxi+b)≥1−ζi
,同时为松弛因子加入一个代价,以免松弛因子过分大。
minζ,ω,b12||ω||2+C∑i=1mζist.yi(wTxi+b)≥1−ζii=1,2,...mζi≥0
其中C为惩罚因子(C>0),C的值越大惩罚的力度越大,当C趋于无穷大,那么就是线性可分问题。
拉格朗日函数变成:
L(ω,b,ζ,α,r)=12||ω||2+C∑i=1mζi−∑i=1mαi[yi(wTxi+b)−1+ζi]−∑i=1mriζi(3.1)
KKT条件:
-
αi≥0
-
yi(ωTxi+b)−1+ζi≥0
-
α[yi(ωTxi+b)−1+ζi]=0
-
ri≥0
-
riζI=0
∂L∂ω=0⇒ω=∑i=1mαiyixi∂L∂ω=0⇒∑i=1mαiyi=0∂L∂ζi=0⇒αi=C−ri(3.2)
将
(3.2)
得到的带入
(3.1)
中,得出:
maxαW(α)=∑i=1mαi−12∑i=1m∑j=1mαiαjyiyjxixjst. ∑i=1mαiyi=00≤αi≤C i=1,2,...m(3.3)
此时KKT条件:
αi=0αi=C0<αi<C⇒yi(ωTxi+b)≥1⇒yi(ωTxi+b)≤1⇒yi(ωTxi+b)=1(3.4)
参考资料
1.https://blog.csdn.net/luoshixian099/article/details/51073885#comments