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

1164

被折叠的 条评论
为什么被折叠?



