Hard Margin SVM
机器学期技法(machine learning techniques) 终于开课了!这里,老师主要围绕特征转换为中心,介绍三大部分的内容:
- 嵌入大量的特征(SVM)
- 融合预测的特征(AdaBoost)
- 萃取隐藏的特征(Deep Learning)
这部分内容对我来说都是新的,所以说还是很有作用的。这一系列的文章,将简要介绍这些方法,并加入一些自己的思考。
好了,回归正题。这里,我想简单地回顾SVM的大体框架,然后一一分析。

上图就是整个SVM的知识框架结构
Hard Margin SVM 推导
下面就从最简单的hard magin SVM说起。
回忆一下以前,最早学习机器学习的时候,我们要进行分类,然后引入了感知器的假设空间。也就是说,假设样本是R空间上的一个个点,我们要的工作就是找到一个超平面(hyperplane),将两类点分开。

就像上图这样。但是,事实上,这样的线(超平面)会存在很多,那么问题就是,怎样找到一个“看上去”最好的线呢?(所谓看上去最好,是指最保险的,将来分类的时候能以更大的概率分对。因为真正最好的我们是无法获知的)
由此,很自然地,大家就想到了一个fat hyperplane的概念

从左到右,两类之间的free space依次减小,也就是所谓的hyperplane越来越宽。因为如果free space大的话,将来来的分类数据引起混淆的可能性就小了,这样做的话就保险一些。
所以,现在我们的目标就是,找到一个最宽的超平面。根据点到平面的距离公式,可以推出:

这里,b和w就是超平面的参数,我们要找到这样的超平面满足两个条件:
1.能将数据分对
2.使得离超平面距离最近的点,到超平面的距离最大(fat hyperplane condition)
由于w,b可以伸缩(超平面的方程),所以就可以人为地将
设置为1.那么就将问题化为:

再进行一点变形,化成熟知的标准形式:
最大变最小,倒数倒过来了,这很容易理解前面的最小值等于1,变成所有的值都大于等于1(有点将条件放松了?其实由于w,b的伸缩性,其实还是等价的)
到了这里,问题几乎就要被解决了。因为这其实就是“凸优化”里的QP(Quadratic Programming)的问题,有标准的解法的。
对应相应的项,得到参数,通过相关工具就可以解决了。(待补充,有关matlab中的说明)
最终结果

针对线性不可分的情况可以通过特征转换的方式解决。
SVM与regularization, VC dimension
与regularization的关系:

其实,二者的很像,不过minimize的和constraint的内容相反。都是想要从某种程度上抵抗测量误差(宽边界),所以课上将SVM看成一种regularization.
与VC dimension:
这里直接说VC dimension其实是没有严格的道理的,但是就是从直观上理解SVM背后的道理:

当规定了要求边界宽于某个阈值时,许多dichotomies(如右边的两个)就不存在了。因此,VC dimension 就小了,复杂度就小了(better generalization)。
下一部分将介绍SVM的对偶(dual)问题。

浙公网安备 33010602011771号