答案 0 :(得分:2)
你的拉格朗日式是
L(w, b, a) = 1/2 ||w||^2 + SUM_i a_i (1 - y_i(<w, x_i> + b))
你解决了,为了达到极值,你需要:
w = SUM_i a_i y_i x_i
SUM_i a_i y_i = 0
我们先插入w
L(w, b, a) = 1/2 <SUM_i a_i y_i x_i, SUM_j a_i y_i x_i>
+ SUM_i a_i (1 - y_i(<SUM_j a_j y_j x_j , x_i> + b))
= 1/2 SUM_i,j a_i a_j y_i y_j <x_i, x_j>
+ SUM_i a_i
- SUM_i (a_i y_i( SUM_j a_j y_j <x_j, x_i> + b))
= 1/2 SUM_i,j a_i a_j y_i y_j <x_i, x_j>
+ SUM_i a_i
- SUM_i (a_i y_i SUM_j ( a_j y_j <x_j, x_i> ) + a_i y_i b)
= 1/2 SUM_i,j a_i a_j y_i y_j <x_i, x_j>
+ SUM_i a_i
- SUM_i a_i y_i SUM_j ( a_j y_j <x_j, x_i> )
- SUM_i a_i y_i b
= 1/2 SUM_i,j a_i a_j y_i y_j <x_i, x_j>
+ SUM_i a_i
- SUM_i a_i a_j y_i y_j <x_j, x_i>
- SUM_i a_i y_i b
= + SUM_i a_i
-1/2 SUM_i a_i a_j y_i y_j <x_j, x_i>
- b (SUM_i a_i y_i)
现在我们插入SUM_i a_i y_i = 0
给我们
L(w, b, a) = SUM_i a_i - 1/2 SUM_i a_i a_j y_i y_j <x_j, x_i>
因此,从程序员的角度来看 ,您在优化过程中并不关心b
,因为您可以在不知情的情况下找到最佳a
!在您拥有对a
进行优化的代码后,您现在可以使用原始等式等恢复b
。