【分类战车SVM】第三话:最大间隔分类器

分类战车SVM

(第三话:最大间隔分类器)

1.回顾

前面说到,线性分类器就是找一个平面,能最好的区分不同类别的样本,logistic模型找的那个超平面,是尽量让所有点都远离它,而SVM寻找的那个超平面,是只让最靠近中间分割线的那些点尽量远离,即只用到那些“支持向量”的样本——所以叫“支持向量机”。

上一文中,我们把线性分类器的分类标准用数学语言给表达了,原来的标准是:

  • 当某点带入f(x)使得f(x)>0时,则该点在直线上方,则说明属于圆圈;
  • 当某点带入f(x)使得f(x)<0时,则该点在直线下方,则说明属于叉叉;
  • f(x)=0时,哪一类都可以;

转化为数学语言是:

具体来看,SVM是怎么利用这个思想去选择超平面的呢?先从函数间隔说起。

2.函数间隔

有一个常识大家应该都同意,将某个点带入到超平面的分割线f(x)中,f(x)的绝对值|f(x)|越大说明越远离这条线(因为如果f(x)>>0,那么就越可以有信心的把这个点评为圆圈即y=1,如果f(x)<<0,那么就可以越有信心的把这个点评为叉叉即y=-1),反过来说,这条超平面的分隔功能越好——因为它能把各个点分的很开。那么,f(x)的绝对值大小,就可以在一定程度上反映了这个超平面的优良,这个绝对值|f(x)|就被称为“函数间隔”,注意我们不用|f(x)|,而是用yf(x),因为yf(x)=|f(x)|。

函数间隔:yf(x),它用来评价一个超平面对点的分类情况,我们用

来表示(

)。

刚才我们说的,是用函数间隔去分一个点的情况,如下面这个图,同样一个点,一定有

yf1(x) > yf2(x)

假如我们要分全部的样本点,比如有10个、20个或者100个点,应该如何评价这个超平面的函数间隔?

答案是用全部函数间隔中的最小值,如下图,左边这条超平面的函数间隔是红色圆圈对应的yf(x),而右边超平面的函数间隔是绿色叉叉对应的yf(x)。

3.几何间隔

有人说,函数间隔yf(x)从道理上虽然可以作为判断标准,但是感觉上比较抽象,不太容易去理解。既然要用点到直线的远近去衡量一个超平面的优良,为什么不直接用几何距离呢?——就是这个点到线段的垂直距离呀!对的,所以有了我们更好的一个衡量标准——几何间隔。它比函数间隔更加“几何、直观”。

就像之前的那个例子,我用几何距离,即直观又好理解,如下图的两个橙色线段,这就是几何间隔,也即点到线段的几何距离。

几何距离的公式是什么?它和函数间隔就很像,想不起来的同学需要好好复习一下解析几何了。

其实,几何间隔就是等于函数间隔再除以一个范式。

刚才说几何间隔比函数间隔要直形好(直观、形象、好理解),真的只是因为这样吗?当然不。试想一下,我们同比例缩放f(x)中系数w与b的值,线还是那条线,但点到线的距离就变了,等比例的放大或缩小。而几何间隔则没有这个问题,因为它除了图中的那个分母。缩放w和b的时候,点到线的距离还是不变的。

另外,这是一个点到超平面的几何间隔,全部样本到一个超平面的几何间隔呢?就是距离超平面最近的那个点,到超平面的几何间隔,即,所有点到超平面的几何距离中,最小的那个。

那么问题就来了,我们现在知道,用几何间隔来评价超平面的优良——几何间隔越大,说明超平面把样本分的越开分的越清楚。所以,我们要选择的那个超平面,它到一组样本点的几何间隔一定要是最大的——最大间隔分类器。

4.最大间隔分类器

将前面做一个总结,最大间隔分类器也就找到了。SVM是如何寻找超平面的?

① 用几何间隔来衡量点到超平面之间的距离

② 一组样本中,将距超平面最近的点到超平面的距离,作为这组样本到超平面的距

③ 寻找的那个超平面,是可以使该组样本到它的距离最大,即能最好的讲样本分开。

将上面三个转换成数学语言,那么我们的求解目标也就出来了,它们三个对应的分别是:

这样,就把问题转化成了一个求极大值的数学问题,为了方便推导价和优化的目的,我们可以令函数间隔|f(x)|=yf(x)=1,即固定函数间隔的值为1(对目标函数的优化没有影响,为什么?在微信公众号中回复“svma”查看),那么③就变成了

,求

的最大值相当于求

的最小值,那么最终问题进一步等价转化为了一个二次规划问题:

接下来,就是如何进行求解了。

原文发布于微信公众号 - 数说工作室(shushuojun)

原文发表时间:2014-12-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏人工智能

第四课反向传播算法与神经网络(一)

Stanford深度学习课程第四课反向传播算法与神经网络(一) 预备知识 我们不直接介绍课程内容,首先介绍一些预备知识,这样可以更好的理解课程内容。下面我们介绍...

2076
来自专栏算法channel

Python神经网络| 一篇很棒的实战笔记,附源码

感谢粉丝:疯琴,以下分享是疯琴在学习《Python神经网络》时的笔记,总结得很棒,感谢疯琴的乐于分享精神,相信这篇笔记一定会帮助到大家。

1983
来自专栏机器学习原理

深度学习(4)——BP算法感知器神经网络线性神经网络BP神经网络

1092
来自专栏专知

【CVPR2018论文笔记】非监督任意姿势人体图像合成

2122
来自专栏大数据智能实战

空洞卷积与DeeplabV2实现图像语义分割的测试(tensorflow)

图像语义分割是对图像像素级理解的基础,也是图像处理的高阶操作。自从深度学习出来之后,已经有了不少的基于卷积网络的图像语义分割模型,如从全卷积网络到大型卷积核:深...

5369
来自专栏专知

深度学习目标检测从入门到精通:第一篇

【导读】近日,CV-Tricks.com发布一篇文章,总结了近年来目标检测的各种方法。目标检测可谓是近年来计算机视觉领域热门的研究领域,也具有广阔的应用前景,如...

8476
来自专栏应兆康的专栏

机器学习概念:梯度下降

机器学习中大部分都是优化问题,大多数的优化问题都可以使用梯度下降/上升法处理,所以,搞清楚梯度算法就非常重要

5909
来自专栏世界第一语言是java

BP神经网络基础算法

2703
来自专栏梦里茶室

读论文系列:Object Detection NIPS2015 Faster RCNN

转载请注明作者:梦里茶 Faster RCNN在Fast RCNN上更进一步,将Region Proposal也用神经网络来做,如果说Fast RCNN的最大...

3218
来自专栏AI深度学习求索

CVPR2017|实时多人姿态评估 Part Affinity Fields

论文:《Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields》

1952

扫码关注云+社区

领取腾讯云代金券