现在的位置: 首页 > 综合 > 正文

【svm学习笔记】svm_理论基础2

2018年02月20日 ⁄ 综合 ⁄ 共 1323字 ⁄ 字号 评论关闭

【线性可分问题 之 问题】

先从最简单的情况说起,说线性可分问题。问题是这样的,至少可以想象是这样的:在二维空间中有一些点,分别属于两个不同的类别,如何在二维空间中找到这样一条直线,直线的一边是某一类别的点,直线的另一边是另一个类别的点?如果这样的直线存在多条,如何选择一条最“好”的直线?

上面描述中,样本被描述成了二维空间的;其实也可以是高维空间中的点,而一个向量来表征。类别,可以简单地用整数+1和-1表示,不必是向量。

分类器,对于二维空间是一条直线;对于高维空间,就是一个超平面。通常做如下表示:

g(x) = <w * x> + b

x表示样本点,通常是一个向量;w表示分类超平面的法向量;b表示截距,它和w共同确定了分类超平面,也就组成了分类器本身。分类的过程通过一个符号函数 sgn[ g(x) ] 来判定,即当g(x)>0的时候,判定为正类别;否则为负类别。

通常找到这样一个超平面不难,难的是超平面有很多,究竟选择哪一个?

【线性可分问题 之 问题转化 之 最大几何间隔】

选择哪一个,总会有一个“标准”,这个标准就决定了我们的目标函数,这样寻找最优超平面问题就能够转换成为普通的优化问题。

首先做一些铺垫,定义一个样本x(i)点到超平面的“间隔”为:

Theta(i) = y(i) ( <w * x(i)> + b )

公式中“(i)"表示的是下标。看起来就是样本点用超平面计算出来的数值(不是向量)与它已知的分类结果相乘。注意到,这个值Theta(i)永远是正值,等于 | g( x(i) ) |,竖线表示绝对值。将上面公式进一步对w做归一化,得到:

Theta(i) = | g( x(i) ) | / || w ||

双竖线表示w的范式。上面公式的几何意义是样本点x(i)到超平面的几何间隔

有了上面的铺垫,好,我们直接说结论:我们要找的那个超平面是距离两类样本点集合的几何间隔最大的那个超平面。至于,上面只定义了单个样本到超平面的几何间隔,那么点的集合到超平面的几何间隔,类似的可以定义,这里就不罗嗦了,总之,我相信,你懂得。

不过,上面结论怎么来的?我看的资料里面没有详细推导,即便是有详细推导,我也可能没有耐心看完。我猜想是按照如下思路来的:首先,根据期望风险和经验风险以及VC维的关系(参考上一篇博文"svm_基础理论1"中的公式),将问题转化成旨在用经验风险和VC维降低期望风险的”上界“;这个问题又转化为降低样本的错分类次数的上界;错分类次数的上界有如下公式决定:

误分次数 <= pow ( 2*R / Theta, 2)

是某个比值的平方,而这个比值又和 Theta 有关,而Theta的数值又是样本点到超频面的几何间隔。至此,问题转化为选取超平面,要求距离样本点的几何间隔最大。公式中R是什么?如果样本分布在三维空间中,R就是能够包含所有样本的最小球的直径。显然,这是和样本相关的量。这个量,对于基于这些样本训练处的所有模型都是相同的。

回顾上面Theta的计算公式,Theta的数值与|| w ||有关,问题又进一步转化为:如何选择超平面,使得|| w ||的值最小。

如何求解呢?其实问题还需要进一步变换——看svm的一个突出感觉就是,问题都不好解决,只好转换成别的问题,而别的问题也不好解决,只好继续转换...... 我们下文再说吧。

抱歉!评论已关闭.