Machine learning 推导了支持向量机对偶形式方程

Machine learning 推导了支持向量机对偶形式方程,machine-learning,svm,Machine Learning,Svm,对于上述svm的拉格朗日函数,我可以得到如下偏导数: 然而,我不明白如何将它们与拉格朗日函数相结合来推导对偶形式?W可以被替换,但b去哪里 有人能解释一下并给出详细的步骤吗?你的拉格朗日函数是形式的 L(w, b, a) = 1/2 ||w||^2 + SUM_i a_i (1 - y_i(<w, x_i> + b)) 我们先插入w L(w, b, a) = 1/2 <SUM_i a_i y_i x_i, SUM_j a_i y_i x_i>

对于上述svm的拉格朗日函数,我可以得到如下偏导数:

然而,我不明白如何将它们与拉格朗日函数相结合来推导对偶形式?W可以被替换,但b去哪里


有人能解释一下并给出详细的步骤吗?

你的拉格朗日函数是形式的

L(w, b, a) = 1/2 ||w||^2 + SUM_i a_i (1 - y_i(<w, x_i> + b))
我们先插入
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)

因此,从程序员的角度来看在优化过程中,您并不关心
b
,因为您可以在不知情的情况下找到最佳
a
!一旦你有了对
a
进行优化的代码,你现在可以使用原始方程等恢复
b

你的拉格朗日函数是

L(w, b, a) = 1/2 ||w||^2 + SUM_i a_i (1 - y_i(<w, x_i> + b))
我们先插入
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)

因此,从程序员的角度来看在优化过程中,您并不关心
b
,因为您可以在不知情的情况下找到最佳
a
!一旦你有了对
a
进行优化的代码,你现在就可以使用原始方程等恢复
b

我不赞成任何一种方法,但我不相信这与编程相关,足以让你在这里得到好的响应。如果你已经勾勒出了你的步骤以及哪里出了错,并且你在math.stackexchange上阅读了规则,他们可能会给出更好的回答我同意:这个问题在数学或统计方面会得到更好的回答。我尝试了数学,但没有得到回答,我的问题因为我不知道的原因被否决了。过去我总能从这里得到帮助,所以我把问题转移到这里。事实上,我很快就得到了答案。谢谢大家!我不投任何一种票,但我不认为这与编程有关,足以让您在这里得到良好的响应。如果你已经勾勒出了你的步骤以及哪里出了错,并且你在math.stackexchange上阅读了规则,他们可能会给出更好的回答我同意:这个问题在数学或统计方面会得到更好的回答。我尝试了数学,但没有得到回答,我的问题因为我不知道的原因被否决了。过去我总能从这里得到帮助,所以我把问题转移到这里。事实上,我很快就得到了答案。谢谢大家!我非常感谢你给了我一个答案,但是(即使知道它的起源)这是非常难以理解的。在我看来,内部的障碍是无法穿透的,甚至像“我花了一段时间才弄明白。。。是W和席的内积;只是一个分组索引;载体;java泛型类型+1是一个很好的答案,但这加强了对met的认识,即原来的问题不适合此格式。不幸的是,meta so拒绝了latex支持。我真的很喜欢在数学证明中使用“java泛型”的想法!我非常感谢你给了我一个答案,但是(即使知道它的起源)这是非常难以理解的。在我看来,内部的障碍是无法穿透的,甚至像“我花了一段时间才弄明白。。。是W和席的内积;只是一个分组索引;载体;java泛型类型+1是一个很好的答案,但这加强了对met的认识,即原来的问题不适合此格式。不幸的是,meta so拒绝了latex支持。我真的很喜欢在数学证明中使用“java泛型”的想法!