svm是如何将不等式约束融入到能量方程中的

来源:互联网 发布:js给radio设置选中事件 编辑:程序博客网 时间:2024/06/14 01:37

最近在学习svm,在推导过程中产生了一些疑问。博客上对svm的推导介绍有一大堆,而且大同小异,我就不贴了。我只解释一个点,(w*x+b)>1的约束条件是怎么融入到能量方程中的。功力深厚的直接看加粗的那句就好。

先摘取几步网上常见的推导;

第一阶段:

  以下的不等式约束均指这个约束,用g(x)指代y(w*x+b)-1>0


第二阶段:



第三阶段:


后面的就是求导等一系列工作。


首先第一阶段,这个比较简单,损失函数和它的约束条件。

在第二阶段,使用拉格朗日乘子法,将不等式约束乘以一个系数,添加到损失函数中。仅仅这一个方程能保证(wx+b)>1吗?很明显不能,就一个方程,又没对w作出任何约束,w是可以取从负无穷到正无穷的任何值的。所以一般常见的博客的讲解是不严格的,此处严格的表示应当带有约束条件。应该是




将这三个条件写到一起,才能等价于上面的第一阶段。


那么疑问就来了,后面我们将svm推导总结为如下问题:


很明显不等式约束在这两步中间的某个阶段被融入到了损失函数中,如何做到的呢?总结下来的话,应当叫不等式约束是通过min max将其融入到损失函数中的。

具体解释如下:



这三个式子可以等价为



对偶就不说了,网上都有。

这个等价过程,去掉了不等式约束g(x),多了max α。去掉了对g(x)的约束之后,使得g(x)不一定就大于0,

若g(x)>0,max α过程使得对应的α必须取0

若g(x)=0,则对w和b求导便直接解决约束优化

若g(x)<0,则max α使得L(w,b,α) 取到正无穷,那么这种情况下,w和b的取值会使得L到达正无穷,后面的 min w,b的求极小过程自然会避开这些点,这也是常见的博客讲解回避掉的一个重要点。

这样便将不等式约束融入到了损失函数中了。

其他的都好说,网上一搜一大堆