您的位置:首页 > 其它

香蕉树上第三根芭蕉——支持向量机(SVM)中函数间隔和几何间隔的理解及二者关系的证明推导

2018-08-06 11:51 447 查看

在支持向量机理解上花了很长时间,也看了一些别人的博客,始终无法理解函数间隔到底是什么,和几何间隔到底区别是什么。通过去抠书上字眼,如李航的统计学习方法,上面对于函数间隔和几何间隔描述分别是表示训练数据集到超平面距离,表示样本数据集到超平面距离,似乎没有什么区别。常见公式定义如下:

这个公式看起来有点高冷,心中还是疑惑云云!好像函数间距和几何间距是一个东西,没什么区别嘛,至少从定义上看是这样的!但是又有个关系式,如下图所示:

按照鄙人理解,要回答这个问题,首先要理解什么是函数间距。

第一步,支持向量机作用是什么,就是分类嘛,对吧,如下图所示:

 

 假如我们已经确定了,假设那条黄色的就是超平面,当然这条超平面未必是我们要找的那条线,我们就以它作为切入点去寻找那条最合适的线,然后得到其系数进而得到方程。假设它的方程是aX1+fX2+b=0,一般在书上写成形式是WTX+b=0;要值得注意的是它是一条直线方程,别总把它的值看成是y值,最多它的值算是线性方程WTX=0的偏移量一部分。其实意思都是一样的,那么问题来了,函数间隔到底是什么意思呢,其实实质上就是WTX+b=0的平移!

假如WTX+b=0移动到WTX+b=c,但是要强调的是上移肯定是c>0;通俗来说函数距离就是|WTX+b|,也就是|c|。根据常识便知,这样一条线满足条件是尽可能在分类正确的情况下,保证距离最近的点与它距离越远越好(但是二个距离含义不同,分别代指函数距离和几何距离,什么不同见下分析),这句话有点绕,仔细想想是不是这个道理呢。要实现这个条件进而进行筛选,想想我们该怎么做呢?

首先从能够将点分清楚直线中,随便找出一条线,如WTX+b=0,然后用这根线进行平移,无论你是向上平移还是向下平移,始终会使最近的点距离与其在平移过程相交,当然这里所说的最近的点就是指向上或者向下平移时遇到最近点中的最小值。然后相交之后将这点坐标(X1,X2)代入WTX+b,展开来就是aX1+fX2+b。得到的值就是c,c就是函数距离。从上面过程中,你得知道的是WTX+b=0,只要有恒心,平移过程中必然会覆盖所有的点,对吧,哈哈!这就是解释了第一个距离,但是还有第二个距离呢。这个距离含义是什么呢?

上面我们说了,要寻找保证距离最近的点与它距离越远,现在我们知道了我们随便找的这条线平移量最小的点是哪个了,那么这个点距离我们随便找的线距离是多大呢?

敲黑板:这是个难点!既然我们找出了距离最小点不就可以了嘛,怎么又来个距离最远了呢。我们要这样想,上面我们随便选出的WTX+b=0是下图中2,3,4中其中一条而已,你也不知道2会是最合适的,只是随便选出的而已。当我们得到出了距离2平移量最小的点,那么X样本点就是这个点,它距离直线2也就是线段A的长度,接下来我们还要去看看直线3,得到平移量最小的点是O样本点就是这个点,那么它距离直线3也就是线段B长度。按照刚刚原则,那么就是明显线段A长度大于线段B长度,那么就是直线2比直线3更好,接下来还要去看看直线4情况,以此类推。。。。。。

看完刚刚的论述应该理解了什么是点距离我们随便找的线距离了吧,也就是几何距离,那么二者联系是什么?我们还是回到刚刚的图:

具体过程不方便画图,用手写的,如图:

我们就这样得到了那个似曾相识的关系,如下:

是不是感觉有点清楚了,哈哈,如果我有什么错误,请您指出!

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: