首页 > 代码库 > 机器学习之支持向量机

机器学习之支持向量机

支持向量机

1.间隔与支持向量

  分类学习的基本想法就是基于训练集D在样本空间找到一个划分超平面,将不同的类别进行区分,我们的关键是如何能够找到一个合适的超平面(泛化性能最好)

  下面的式子表示样本空间到超平面的距离。

技术分享

  若存在超平面将训练样本正确分类,则对(xi,yi),若yi = 1,则有wTx + b > 0; 若yi = -1,则wTx + b <0. 若这假设能存在,我们可以对其进行缩放变换得到如下式子。

技术分享

  因此能找到两个平面 = 1的平面,等号成立的训练点为支持向量,两个异类(不同边上)的支持向量到超平面的和为

技术分享

  因此想要找到支持间隔,就是要找到能够在满足约束条件下,使得间隔最大。等价于找到最小的||w||2,。如下式所示:

技术分享

2. 对偶问题

  上述的问题本身为凸优化问题,可直接使用凸二次规划问题来进行求解。也可利用拉格朗日算子问题,对每条约束添加拉格朗日乘子ai>0,从而得拉格朗日函数。

技术分享

  另上式子对w,b进行求骗导另偏导为0,进行抵消,又可以得到对偶问题。

技术分享

SMO算法:

 

机器学习之支持向量机