线性SVM的拉格朗日对偶函数和决策函数
有了损失函数,就需要对损失函数进行求解。这个求解过程异常复杂,涉及到的数学的难度不是推导损失函数的部分可比。并且,在sklearn当中,我们作为使用者完全无法干涉这个求解的过程。因此作为使用sklearn的人,这部分属于进阶内容。
之前得到了线性SVM损失函数的最初形态:
m i n ω , b ∣ ∣ ω ∣ ∣ 2 2 min_{ω,b}\frac {
{||ω||}^2}2 minω,b2∣∣ω∣∣2
服从
y i ( ω ⋅ x i + b ) ⩾ 1 , i = 1 , 2 , . . . N y_i(ω\cdot x_i+b)\geqslant 1, \quad i=1,2,...N yi(ω⋅xi+b)⩾1,i=1,2,...N
这个损失函数分为两部分:需要最小化的函数,以及参数求解后必须满足的约束条件。这是一个最优化问题。
将损失函数从最初形态转换为拉格朗日乘数形态
Why need
我们的目标是求解让损失函数最小化的ω,但其实很容易看得出来,如果||ω||为0,f(ω)必然最小。但是,||ω||=0其实是一个无效值,因为:首先,决策边界是 ω ⋅ x + b = 0 \boldsymbol{ω\cdot x}+b=0 ω⋅x+b=0,如果ω为0,则这个向量里包含的所有元素都为0,那就有b = 0这个唯一值。然而,如果b和ω都为0,决策边界就不再是一条直线了,函数间隔 y i ( ω ⋅ x i + b ) y_i(\boldsymbol{ω\cdot x_i}+b) yi(ω⋅xi+b)就会为0,条件中的 y i ( ω ⋅ x i + b ) ⩾ 1 y_i(\boldsymbol{ω\cdot x_i}+b)\geqslant1 yi(ω⋅