算法:
输入:线性可分训练集
T={(x1,y1),(x2,y2),⋯,(xN,yN)}
,其中
xi∈Rn,yi∈{−1,+1}
输出:分离超平面和分类决策函数
(1) 选择惩罚参数
C>0
,构造并求解凸二次规划问题
minα12∑i=1N∑j=1Nαiαjyiyj(xi⋅xj)−∑i=1Nαis.t.∑i=1Nαiyi=00≤αi≤C,i=1,2,⋯,N
求得最优解
α∗=(α∗1,α∗2,⋯,α∗N)T
.
(2) 计算
w∗=∑i=1Nα∗iyixi
并选择
α∗
的一个分量
0<α∗j<C
,计算
b∗=yj−∑i=1Nα∗iyi(xi⋅xj)
(3) 求得分离超平面
w∗⋅x+b∗=0
分类决策函数:
f(x)=sign(w∗⋅x+b∗)
导出思路:
原始问题为:
minw,b,ξs.t.12∥w∥2+C∑i=1Nξiyi(w⋅xi+b)≥1−ξi,i=1,2,⋯,Nξi≥0,i=1,2,⋯,N
拉格朗日函数是
L(w,b,ξ,α,μ)≡12∥w∥2+C∑i=1Nξi−∑i=1Nαi(yi(w⋅xi+b)−1+ξi)−∑i=1Nμiξi
其中,
αi≥0
,
μi≥0
后续步骤和 线性可分支持向量机对偶算法导出思路相似。
一点说明
b <script type="math/tex" id="MathJax-Element-50">b</script> 的解不唯一,所以实际计算时可以取在所有符合条件的样本点上的平均值。