机器学习技法 Lecture1: Linear Support Vector Machine
Large-Margin Separating Hyperplane
回忆之前讲过的线性分类模型,使用的是一个加权求和的形式通过一个超平面将正负例分隔开。
使用PLA算法或是类似的算法,得出来的是一个合理的结果。但是可能存在无数个合理的结果,这些结果里哪一个又是最好的呢?
这样的情况之前讲的算法和VC bound都没有办法区分开来。但是对于人眼来说可能会选出最右边的是最好的分隔。
有一个不太正式但是方便理解的解释是说,如果实际中的点是根据高斯分布均匀分布在原来的训练集的点周围,那么最右边的点能够容忍最大的噪声存在,也就因此有了最强的健壮性。
所以说这个结果的健壮性可能与靠近分隔面最近的点到分隔面的距离有关。加入现在得到的结果是一个有宽度的线或者面,那么它的宽度就代表了最终结果的健壮性。如下图所示,最右边的图有最粗的分隔面。
因此我们想要的目标就变为找到最宽的分隔面。而这个宽度实际上指的是最近的点x到这个分隔面的距离,也就是margin。因此这个问题可以形式化为如下形式:
也就是找到一个系数w使得在训练集里距离分隔面最近的点到分隔面的距离margin最大。
Standard Large-Margin Problem
首先回顾一下求点到平面距离的方法。把截距 w 0 w_{0} w0从w向量里拿出来写为b。
- 假设平面上存在一个点 x ′ x' x′,那么这个点符合公式 w T x ′ + b = 0 w^{T}x'+b=0 wTx′+b=0。
- 将平面外的点 x x x与 x ′ x' x′连为一条线,那么这个点x到平面的距离可以用线段 x x ′ xx' xx′投影到法向量 w w w上的部分来表示。
- 也就是 d i s t ( x , b , w ) = ∣ w