SVM系列第三讲--函数间隔和几何间隔

上一节我们讲到,我们要像线性分类器一样找到一个超平面,不仅能够对数据点进行一个准确的分隔,同时我们希望所有的点尽量都能够远离我们的超平面,即所有点的f(x)值都是很大的正数或者是很小的负数。
但这里就会有一个疑问了,为什么f(x)值能够代表数据点远离超平面的程度呢?接下来,我们将讨论点到超平面的距离问题。

1、函数间隔

我们的函数间隔定义为:


函数间隔

可以看到,函数间隔其实就是类别标签乘上了f(x)的值,可以看到,该值永远是大于等于0的,正好符合了距离的概念,距离总不能是负的吧。那么为什么该值可以表示数据点到超平面的距离呢?我们不妨这样想,假设y=1,f(x)=1,其实就是将原来的分类超平面f(x) 向右平移了1个单位,而y=1,f(x)=2是将原来的分类超平面f(x) 向右平移了2个单位,所以f(x)值越大的点到分类超平面的距离当然越远,这就解释了我们之前提出的问题。

但是函数间隔存在一定的问题,上述定义的函数间隔虽然可以表示分类预测的正确性和确信度,但在选择分类 超平面时,只有函数间隔还远远不够,因为如果成比例的改变 w 和 b,如将他们改变为 2w 和 2b,虽然此时超 平面没有改变,但函数间隔的值 yf (x) 却变成了原来的 4 倍。

所以在实际中,我们定义点到超平面的距离时,采用的是几何间隔。

2、几何间隔

在介绍几何间隔之前,我们先来看一下下图:


几何间隔

对应的为 x0,由于 w 是垂直于超平面的一个向量,r 为样本 x 到分类间隔的距离,我们有:



要理解这个式子,我们首先需要知道为什么w是垂直于超平面的向量,其实举个例子就很容易明白,假设超平面的公式为 x1+x2-1 = 0
w=(1,1)T(表示转置):

另一方面,要想使r表示距离,我们必须对w进行标准化,所以需要除以它的二范数。
又由于 x0 是超平面上的点,满足 f(x0) = 0,代入超平面的方程即可算出:



这个式子是如何推导的呢,看下面的过程:
推导过程

字写的比较烂,希望大家不要介意。
不过这里的 γ 是带符号的,我们需要的只是它的绝对值,因此类似地,也乘上对应的类别 y 即可,因此实际上我们定义几何间隔为:
几何间隔

可以看到,此时系数的成倍的变化,不会带来几何间隔的改变。数学功底比较深厚的童鞋可能发现了,这里的几何间隔其实就是我们本科高等数学中学到的点到直线的距离公式,这里我们顺手就将其推倒出来了,是不是很有成就感!


点到直线的距离公式
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 【概述】 SVM训练分类器的方法是寻找到超平面,使正负样本在超平面的两侧(分类正确性即“分得开”),且样本到超平面...
    sealaes阅读 11,118评论 0 7
  • 注:题中所指的『机器学习』不包括『深度学习』。本篇文章以理论推导为主,不涉及代码实现。 前些日子定下了未来三年左右...
    我偏笑_NSNirvana阅读 40,092评论 12 145
  • SVM是数据挖掘算法中比较复杂难懂的,反复观看斯坦福机器学习的视频, 以及网上零散学习各种数学和SVM相关资料, ...
    wujustin阅读 22,404评论 0 20
  • 【干货】支持向量机SVM算法推演 来源:海阔心 尽管早就听说SVM比较复杂,当真正下笔推导时其复杂程度还是出乎意料...
    Major术业阅读 2,686评论 0 9
  • 2011年7月18日,是我工作的日子。今天我已经工作了四年零四天。 在四年时间,我的工作内容有一大部分叫公文写作。...
    爱笑的Cc阅读 246评论 0 1