《常用的机器学习算法——SVM浅析》

1、线性可分的SVM和硬间隔(Hard Margin)最大化
2、线性可分的SVM和软间隔(Soft Margin)最大化
3、非线性SVM与核函数
4、SMO算法

ch1、线性可分的SVM和硬间隔最大化

1、问题描述

1)问题描述:给定一系列的样本(x1,y1),(x2,y2),…,(xn,yn),其中xi是m维向量,yi属于{-1,+1}。
2)最终目的:找到一个分隔面w*x+b=0,判别函数f(x)=sign(w*x+b);使得能够将样本集中的数据正确划分;
3)存在问题:存在多个满足上述分隔条件的超平面。
4)解决思路:要引入间隔最大化的约束。间隔指的是最近(样本)点到分隔平面距离的两倍。

2、函数间隔与几何间隔

1)函数间隔:

函数间隔
函数的间隔可以表示分类预测的正确性及确信度。但是函数的间隔当w和b成比例(2倍)增加的时候,超平面并没有改变,而函数间隔却变成了2倍。所以要进行规范化。令||w||=1;

2)几何间隔

几何间隔

所以由上述公式可以知道函数间隔与几何间隔之间的关系:
这里写图片描述

3、间隔最大化

支持向量机的基本思想是:能够正确划分样本集并且几何间隔最大的超平面。引出约束的最优化问题:
这里写图片描述

上述也提到随着w,b缩放尺度的改变,函数间隔也是成倍改变的,现在令函数间隔为1;则优化问题等价于
等价于:
这里写图片描述

这是一个凸二次规划问题。
引入几个概念:
1)凸集:
一个点集(或区域),如果连接其中任意两点x1,x2的线段都全部包含在该集合内,称该点集为凸集,否则为非凸集。

凸集
2)凸性条件:
(1).根据一阶导数(函数的梯度)来判断函数的凸性:
设f(x)为定义在凸集R上,且具有连续的一阶导数的函数,则f(x)在R上为凸函数的充要条件是对凸集R内任意不同两点 1 ,不等式
这里写图片描述
恒成立。
(2).根据二阶导数( Hesse矩阵)来判断函数的凸性
设f(x)为定义在凸集R上且具有连续二阶导数的函数,则f(x)在R上为凸函数的充要条件: Hesse矩阵在R上处处半正定.

3)凸规划:
对于约束优化问题
这里写图片描述
若 f(x), gj(x) 都为凸函数,则此问题为凸规划。

现在回到我们的优化问题,具有线性约束的凸二次目标优化问题,具有全局最优值:

4、具体思路(线性可分SVM学习算法——最大间隔法)

1)构建并求解约束最优问题:并求得w*,b*
这里写图片描述

2)由此得到分离超平面和分类决策函数:
这里写图片描述

5、引入拉格朗日乘子ai,以及对偶性质优化问题;

这里写图片描述
这里写图片描述

这里写图片描述

6、具体的思路(线性SVM学习算法)

这里写图片描述

由上述推到可知,实际上w*,b* 只依赖样本中ai>0的样本点(xi,yi),这样的实例xi称作支持向量。

原始问题转换成对偶问题的两个优点:
1)对偶问题往往更容易求解;
2)对偶问题能够更自然地引入核函数,进而推广到非线性分类问题。

2、线性SVM与软间隔最大化

(待续)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值