导出 SVM 对偶形式方程
Derive SVM Dual Form Equation
对于上述svm的拉格朗日函数,我可以得到如下的偏导数:
但是,我不明白如何将它们代入拉格朗日量来推导对偶形式? 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
,因为你可以在不知情的情况下找到最优的a
!一旦您拥有针对 a
进行优化的代码,您现在可以使用原始方程等恢复 b
对于上述svm的拉格朗日函数,我可以得到如下的偏导数:
但是,我不明白如何将它们代入拉格朗日量来推导对偶形式? 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
,因为你可以在不知情的情况下找到最优的a
!一旦您拥有针对 a
进行优化的代码,您现在可以使用原始方程等恢复 b