SVM研究(2)

        上回介绍了软间隔的SVM,但是还都是局限于原问题(primal problem)的形式,有一些算法是针对对偶问题(dual problem)提出的,所以这次就把对偶问题推导出来。

        我们对问题做一个简化,将替换,对应的,每一个样本替换为增加一个维度,这样子就变为。事实表明,这的确是某些算法得以成立的重要步骤。

(1)     L1-SVM的对偶问题

这一部分求解L1-SVM的对偶问题,我们使用带约束的形式,如下:

                        (1)

引入Lagrange乘子,引入Lagrange函数:

        (2)

之后,可以需要求解对偶函数:

        (3)

这里指的就是这个向量,同理。

求导,等于零,得到使得(2)达到最小的

                                                                    (4)

观察到(2)对于是线性函数,所以极小值是,这样子的对偶函数值没有意义,所以只有当(2)对的导数等于0的时候才有意义,也即满足:

                                                                  (5)

将(4)带入(2),我们可以得到(3)的显示解。当然,因为要满足约束(5)才有意义,我们把约束(5)也要带进去。

带入后为:

                         (6)

即矩阵Q中的元素,设,那么还可以化简为:

                                                  (7)

现在我们可以写出对偶问题:    

                                    (8)

注意,这里是取maximum。我们还可以化简,消去,再将max写成标准的min,得到

                                        (8)'

这就是一个简单的矩形约束的凸二次规划问题啦~

(2)  L2-SVM的对偶问题

上次只是简单的写出了L2-SVM的无约束问题,现在将它化为带约束的形式。无约束的形式是:

(9)

引入松弛变量,令,则变为

                (10)

进一步化为:

                                (11)

接下来的步骤就和L1-SVM中的步骤相同啦,只是对于来说,不是线性函数了,而是二次函数,那么就可以直接求出来使得Lagrange函数最小的,然后带入就行了。这里就不详细讲了。

最后可以得到:

                                            (12)

这里的矩阵与L1-SVM中的有所不同,记L1-SVM中的,那么(12)中的是单位阵。相当于在L1-SVM的基础上对进行了一个修正,然后去除了一边的约束。

(3)  原问题和对偶问题的关系

        由优化上的一些理论我们知道,如果问题是凸的,而且满足存在原问题的可行解,那么原问题和对偶问题之间的对偶间隙为0,也就是说两个问题的最优解对应的目标函数值是相同的(这里,对偶问题的目标函数指的就是(3)),这一点其实挺神奇的,因为这毕竟是两个看起来不那么相似的问题。

        我们要处理的问题是一个很简单的二次函数,而且它是凸的,可行解条件也很容易满足。我们还知道对于SVM问题,KKT条件是充要条件,所以,我们可以利用KKT条件去寻找问题的最优解。假设我们求解对偶问题,使用某个算法求得了最优解,之后,我们可以利用其中一个KKT条件得到原问题的最优解 , KKT条件在这里成为了联系原问题和对偶问题的桥梁。

        那么,即使我们求得的不是最优解,我们也可以使用KKT条件获得一个,在逐渐迭代的过程中,逐渐接近对偶问题的最优解,也在接近对偶问题的最优解。不过这个联系并不是很紧密,当的改变使得对偶问题的目标函数上升时(由于是取maximum),由KKT条件得到的却可能使得原始函数的目标函数上升而不是下降,这是由实验得到的结果(具体例子还没有找到,希望看得人能够提供,感谢!)。

      之后,我们再谈谈支持向量的判别。先考虑L1-SVM。由KKT条件中的互补松弛条件,我们知道

                (13)

                                               (14)

这里的都是最优解,就不加标明了。我们可以通过这些条件来从对偶问题的推断出是否是支持向量。不要忘了,对于还有一个约束

                                (15)

这也是一个KKT条件。

        假如,那么由(15),有,进而由(14)知道,而由(13)知道,所以对应的可能是支持向量,或者也可能是正确分类的样本。

        假如,那么由(15),有,进而,而且由(13)知道,,也即,所以是支持向量。

   假如,那么可能是支持向量,也可能是处在这个超平面的里头(见几何意义),就是说被松弛了,也有可能是被误分类了。一般来说,要判断是否是支持向量,只要判断是否大于0就行,不用那么严格。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值