机器学习笔记(二)

来源:互联网 发布:u盘修复软件 编辑:程序博客网 时间:2024/05/17 06:39

4.SVM

SVM(支持向量机)

包括:线性可分支持向量机(硬间隔最大化);
线性支持向量机(近似线性可分,软间隔最大化)
非线性支持向量机(kernel trick)

如图所示的分类演示。代码来源:机器学习实战。
机器学习实战演示代码

图中圈出来的正是所谓的支持向量。SVM是一种决策机器,只提供分类的结果,并不提供后验概率。

补充一下(PRML):分类问题划分为2个阶段,推断阶段和决策阶段。推断阶段,我们使用训练数据学习后验概率模型。决策阶段使用这些后验概率进行分类。还有一种方式,同时解决两个问题,简单学习一个函数,做判断。该函数又称为判别函数。
相应的直接使用判别函数的有很多缺点,而使用后验概率有一下优点(具体见PRML 1.5节):
1、最小化风险。
2、拒绝选项
3、补偿先验概率

线性分类问题模型如:

y(x,w)=wTx+b(把b截距项拿出来)

假设空间是线性可分的,分离超平面 wTx+b=02w1x1+w2x2+b=0

相应的决策函数f(x)=sign(wTx+b)wTx+b>0去正例(y=+1),反之取负例(y=-1)。

如图很明显的,我们现在想让wTx+b=1wTx+b=1之间的距离最大化。

并且,对于所有的样本y(wTx+b)>=1(限制条件)。最小取1的点,即支持向量点。使分类效果更好,实际上是使两条平行线之间的距离最大,两平行线间的距离公式:即

l=|1(1)|||w||=2||w||

即转换成求w模的最小值。也是min12||w||2

分类间隔

引入拉格朗日函数,an>=0是拉格拉日乘子,限制条件y(wTx+b)>=1,根据拉格朗日对偶性,原问题的对偶问题是极大极小问题,即先求L(w,b,a)对w,b的极小值,再求对an的极大值。
步骤1
求极小:

L(w,b,a)=12||w||2+Nn=1an{y(wTx+b)1}

L(w,b,a)的导数为0 ,对我们要求的分界面参数,求导等于0,得到:

w=Nn=1anynxn

0=Nn=1anyn

代入原式。得到:

minw,bL(w,b,a)=12Mm=1Nn=1amanymyn(xmxn)+Nn=1an

步骤2:求minw,bL(w,b,a)对a的极大值。注意限制条件:

  1. 0=Nn=1anyn

  2. an>=0

具体推导,见统计学习方法。
常用SMO,算法来寻找a值。统计学习方法(P128)

0 0
原创粉丝点击