本节主要是观看Andrew Ng的斯坦福大学系列视频CS299第6讲、第7讲等后,加上个人理解,对支持向量机部分做的一个笔记整理。
本文顺序是:
- 综述各个部分关系
- 最大间隔分类器
- 软、硬间隔分类
- 核函数
2 最大间隔分类器
首先,我们应该知道求超平面与分类问题的正确性是与样本点到超平面对的距离有直接关系的。吴恩达是用Logistic回归的例子来讲述的这个问题:比如说
θTx>>0时,我们可以非常自信的y=1(虽然还有很小的概率是y可能为0的)
以此类推,以图1为例。线将二维平面分成正反两类,我们可以充分认为B属于反类,而A也有很大可能属于反类,但是C就不一定,它离分类超平面比较近。改变一点超平面的划分,C可能到其他的分类。
基于这种情况,我们希望让所有分类点都充分可以认为分类是正确的,需要它们都离分类超平面足够远。这个问题,我们可以在后文中用到几何间隔来解决。
下面,来介绍下函数间隔和几何间隔。
首先对图一及后文所用函数做简短介绍。
分类标签y只能取-1或1,于图一中,就是直线上方星星所在类标签为1,圆点一方类标签为-1(相反也可以)。
超平面分割线:wTx+b
分类器为:hw,b(x)=g(wTx+b)当z>0时,g(z)=1;z<0,g(z)=−1
此处x与w的维度可以是多维。
??这时我们分类器直接预测分类值,而不是像Logestic回归中预测y=1的可能性。
函数间隔:给定样本点 (x(i),y(i)) ,它的函数间隔受到(w,b)控制。它的函数间隔为
对于整个训练集S,我们可以定义整个训练集的函数间隔为
一个非常大的正函数间隔使我们相信这个预测分类是置信区间足够大的正确预测。
就是说如果 y(i)(wTx+b)>>0 ,意味着分类正确(道理就是图1中显示道理,y仅仅是绝对值为1,影响预测正确性但不影响置信度)
但是这个定义存在一个问题,就是当(w,b)做等倍数变换的时候,超平面并没有发生改变,但是函数间隔发生了改变。这显然是不好的性质。因此,我们将w的大小固定,使函数间隔固定。将||w||=1时,这时的间隔就是几何间隔。这里给出几何间隔定义:
实际上,几何间隔可以认为是归一化后的函数间隔。几何间隔就是点到超平面的距离(二维情况下是点到直线的距离)
现在我们来分析下基于上述概念得到的一些结论。二维的图形见图2。
超平面的法向量是w(这个很好理解,多维情况下不明白可以参考解析几何相关知识)。AB之间长度是几何间隔
γ(i)(假设几何间隔大于0.超平面上侧是y=1的分类),则B的位置是x(i)−γ(i)⋅w||w||
.而显然B在超平面上,因此有公式:
在这个考虑里,我们是关注最靠近超平面的点,而不是所有已知点的函数距离或者几何距离做线性组合。(笔者个人观点,所有样本点线性变化的函数距离或几何距离组合可能用极大似然的思想更精确,但是边界值附近点差异过大,因此弃用).
则,最大间隔分类为:
不一定所有的值都被归一化了,因此为了更方便:
本文是我在观看CS299后看讲义加上一些其他资料整理,讲义是英文版的,有些理解我直接用的英文直译过来,翻译不好望见谅~~~