SVM几点理解

以下内容是我在学习完《统计学习方法》及查阅相关资料后,对svm的一些疑惑的理解,可能还有理解不到位的地方,如有不对,请及时指出。

一、模型发展

样本线性可分 -> 硬间隔最大化

样本近似线性可分 -> 软间隔最大化

样本线性不可分 -> 核函数+软间隔最大化

二、超平面是否唯一

1、硬间隔最大化时,解是唯一的,即分离超平面wx+b=0中w和b是唯一的。证明

相比之下,感知机利用误差最小策略得到的分离超平面是不唯一的,无穷多个。感知机取不同的初值和不同的误分类点,得到的解都是不一样的。

2、当使用软间隔最大化(包括使用kernel)时,分离超平面中解w是唯一的,但b不一定唯一,取值在一个区间,所以实际计算时可以取在所有符合条件的样本点上的平均值。

在使用SMO算法求解α时,b值如下计算(来自统计学习方法):

下面是我的理解,为什么软间隔最大化,模型不唯一:

因为加入了软间隔,对样本线性可分要求没那么严格,允许少量的错误,不同的超平面会导致不同的误分类点,而这些超平面的目标函数最小损失应该是一样的。(纯属个人理解,可能不对)

三、样本使用

在训练模型,即求解w和b的过程中,因为使用SMO算法,每次只选择两个样本来更新α,选择的标准是不符合kkt条件和α更新比较大的点,所以一般会选择误分类的点来更新模型,所有样本不一定都能用来更新模型。

在预测时,决策函数是:

其中xi和yi是训练样本,x是待预测的特征。

而αi取值是[0,C],当取值为0时,训练样本在公式中不起作用,此时对应的训练样本是已经被正确分类或者在间隔边界上。只有当α>0时,其对应的样本才会对决策起作用,此时对应的情况是这些样本点在支持向量上。

Note:

软间隔的支持向量x或者在间隔边界上,或者在间隔边界与分离平面之间,或者在分离超平面误分一侧。

硬间隔的支持向量x都是在间隔边界上的。

四、为什么要用对偶

首先,在使用拉格朗日算子把约束条件加入到最初优化目标中后,优化目标变为:

如果要求这个极值,一般是要求导让导数为0,没法先对α求导吧,因为α的数目与样本数目相关,数量非常大,后面不好计算,而且α还有等于0的情况(个人理解),如果先对w和b求导,那就简单多了。看其他人的解释如下(来源):

  1. 对偶问题将原始问题中的约束转为了对偶问题中的等式约束
  2. 方便核函数的引入
  3. 改变了问题的复杂度。由求特征向量w转化为求比例系数a,在原始问题下,求解的复杂度与样本的维度有关,即w的维度。在对偶问题下,只与样本数量有关。

五、为什么要用SMO

支持向量机的求解过程可以转换成对偶问题,其目标函数如下:

需要求这个函数的最小值。这是个凸二次规划问题,具有全局最优解,而且有很多方法来求解。但是目标函数的求解α依赖于训练数据,当样本数目巨大时,普通求解方法非常低效。所以使用启发式的方法SMO来加速求解。基本思想是每次只选取两个α来更新,把其他的α看做常数。

六、优化目标为什么可以省略分子

首先需要知道函数间隔和几何间隔:传送门

SVM的目标是求一个几何间隔最大的分离超平面,优化目标及约束条件如下:

其中约束条件是说几何间隔都要大于等于一个数γ,所以目标就是在满足约束条件情况下,使γ尽可能大,即几何间隔尽可能大。

将几何间隔表示为函数间隔,优化目标变换如下:

将分子和分母同时扩大或缩小相同倍数,对优化目标是没有影响的,所以在满足约束条件的情况下,改变函数间隔并不会影响最优化问题的解,所以可以将分子即函数间隔最小值固定为一个常数(将gama_hat变成一个常数后,这个常数同时会对优化目标中的w和约束条件的w形成限制,所以相当于分子分母改变相同倍数),常用1,那么优化问题就变成了如下:

7、公式推导

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值