为什么支持向量机要用拉格朗日对偶算法来解最大化间隔问题

1) 不等式约束一直是优化问题中的难题,求解对偶问题可以将支持向量机原问题约束中的不等式约束转化为等式约束;
2) 支持向量机中用到了高维映射,但是映射函数的具体形式几乎完全不可确定,而求解对偶问题之后,可以使用核函数来解决这个问题。

以上。

并不一定要用拉格朗日对偶。

要注意用拉格朗日对偶并没有改变最优解,而是 改变了算法复杂度
在原问题下,求解算法的复杂度与样本维度(等于权值w的维度)有关;
而在对偶问题下,求解算法的复杂度与样本数量(等于拉格朗日算子a的数量)有关。

因此,如果你是做线性分类,且样本维度低于样本数量的话,在原问题下求解就好了,Liblinear之类的线性SVM默认都是这样做的;
但如果你是做非线性分类,那就会涉及到升维(比如使用高斯核做核函数,其实是将样本升到无穷维),升维后的样本维度往往会远大于样本数量,此时显然在对偶问题下求解会更好。
这样:
就可以由求特征向量w转化为求比例系数a,
就可以导出含有内积形式的目标函数,
就可以实现对内积后的gram矩阵使用核函数,以达到非线性分类的目的。

简而言之,就是以上。

有人回复:嗯,这是为了方便引入核函数。如果是线性可分问题,那么直接用一般解QP问题的方法是否更好?

个人意见:支持向量机实现非线性的方法的数学本质是升维,升维升到无穷维你还怎么表达那个w?所以还是使用拉格朗日对偶方法更好一点。准确的说,可以用一些优化算法直接求最小间距,但是,升维的时候核要是正定的,且升维可数,而且不是很大的时候可以用。不建议这么搞。


来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
https://www.zhihu.com/question/36694952

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值