(斯坦福机器学习笔记)支持向量机

有了前4篇笔记中的对偶问题,拉格朗日函数,核方法的知识,就可以学习支持向量机的算法了。

首先要做一个改变写法的声明。 y 现在取{1,1}

对于一个线性可分的问题,用 y=wTx+b 作为分隔面,将两类样本分开。

定义函数间隔 li=yi(wTxi+b) i 表示学习样本的序号。

定义函数间距l=minili,即函数间距是离分隔面最近的样本到分隔面的间距

函数间隔和函数间距是不确定的,因为让 w b成倍的增大或减小,分隔面的分类性质不变,但会使函数间隔和函数间距改变。因此要加入约束 ||w||=1

此时问题是 maxw,bl s.t.   yi(wTxi+b)l ,且 ||w||=1 。用语言表示即:让离分隔面最近的样本到分隔面的间距最大。注意:还记得之前的logistic回归中,所有样本点对决定分隔面的位置都做贡献。而在支持向量机中,决定分隔面的位置的点仅仅是离分隔面距离最近的点。

该问题不是凸优化问题,需要做处理。因为 ||w||=1 ,原问题变成:
maxw,bl||w|| s.t.   yi(wTxi+b)l

可以用过调整 w b,将 l 的值变为1,进而问题变成:
minw,b12||w||2    s.t.   yi(wTxi+b)1 i 是学习样本的序列。这就是支持向量机的问题了。

要解该问题,构造拉格朗日函数L(w,b,a)=12||w||2i=1mai[yi(wTxi+b)1]

找该问题的对偶问题,令 Lw=0 Lb=0     wn=i=1maiyixin i=1maiyi=0

将上面两个式子带入 L(w,b,a) ,得到对偶问题
maxai=1mai12i=1mj=1maiajyiyj<xj,xi>           s.t.  a0i=1maiyi=0
其中 <a,b> <script type="math/tex" id="MathJax-Element-15745"> </script>表示 a b的内积。在这里可以用核方法,就是用核函数 K(x,z) 替代内积。

因为 x,y 是已知的,得到了 a 就得到了w。而 b 的公式是

b=maxi:yi=1(w)Txi+mini:yi=1(w)Txi2

可以用牛顿法,梯度下降法求解 a ,也可以用更快的方法SMO。该问题是凸优化问题,可以保证得到最优解。

=============================软间隔分类器===========================
以上讨论的是线性可分问题。即便是运用了核方法,也不能保证问题一定是线性可分的。所以要将原问题做改动。问题变成:
minw,b12||w||2+Ci=1mϵi    s.t.   yi(wTxi+b)1ϵi     ϵi0

他的对偶问题是:
maxai=1mai12i=1mj=1maiajyiyj<xj,xi>           s.t.  Ca0i=1maiyi=0

=======================================SMO==========================
待续

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值