然而,我不明白如何将它们代入拉格朗日函数来推导出对偶形式?W可以被替换,但b去哪儿了?
能否请有人解释一下并给出详细步骤?
回答:
你的拉格朗日函数形式如下:
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
,因为你可以在不知道b
的情况下找到最优的a
!一旦你有了优化a
的代码,你就可以使用原始方程等来恢复b
。