对拉格朗日乘子法的理解

我们什么时候用拉格朗日乘子法?在求二次优化【或者宽泛点说,凸优化】的时候,一般写法是,我们要求一个函数的min,然后这个函数一般是凸函数,然后,这个函数的自变量还有好几个约束(等式约束and不等式约束)


我们的拉格朗日式子写出来,写出来的是用原函数减去alpha*等式约束,减去beta*不等式约束  因此,我们其实的max L(α)是等于原函数的!!即max L(α)= f(w)


然后,我们的目标是要求f(w)的min  即,我们要求min max L(α)

方法:对偶方法,我们转求max minL(α)  先求里层min,方法很简单,求偏导得零。代入回原始L(α)之后,得到的一个只带α的式子,再求它的max


求max方法:SMO方法




那么接下来简单介绍一下,为什么我们会在支持向量机(SVM)中用到二次规划?用到拉格朗日乘子法?原因如下:



约束条件是我们自己定的:在分隔边缘的位置,调整w和b让其值为1或-1 其余的地方应该都是大于1的。在最中间的那条分隔线上,得零。

原目标函数:所有备选的w和b,创造了所有的直线,在这些直线中,距离最短的位置,的几何间隔,中,最大的那个,被称为“最大间隔分类” 我们要找的就是,把两边分得尽量“开”的分类器


因此,由原目标函数,和约束条件得知,原目标函数里面的那个min最小当然就是取1了。当然,从原目标函数就变为了新目标函数,最大化1/||w|| 等同于最小化||w||^2。


当然,目标函数就由此确定了。下一步就是二次规划了,因此用拉格朗日乘子法。

你可能感兴趣的:(对拉格朗日乘子法的理解)