大纲
Large-Margin Separating Hyperplane
由于PLA算法的随机性,可能得到多条分割超平面,那么那条是最好的呢?
直觉告诉我们,最右边的是最好的。为什么呢?
先给个简单解释,一般情况下,训练样本外的测量数据应该分布在训练样本附近,但与训练样本的位置有一些偏差。若要保证对未知的测量数据也能进行正确分类,最好让分类直线距离正类负类的点都有一定的距离。这样能让每个样本点附近的圆形区域是“安全”的。圆形区域越大,表示分类直线对测量数据误差的容忍性越高,越“安全”。
如上图所示,左边的点距离分类直线的最小距离很小,它的圆形区域很小。那么,这种情况下,分类线对测量数据误差的容忍性就很差,测量数据与样本数据稍有偏差,很有可能就被误分。而右边的点距离分类直线的最小距离更大一些,其圆形区域也比较大。这种情况下,分类线对测量数据误差的容忍性就相对来说大很多,不容易误分。也就是说,左边分类线和右边分类线的最大区别是对这类测量误差的容忍度不同。
也就是说我们想要找一个最胖的分离超平面,胖瘦程度是指他和最近点的距离。
我们的目标应该是
- fatness,即margin最大 margin=minn=1...Ndistance(xn,W)
- correctness:对于每一个样本点都有 ynWTxn>0
Standard Large-Margin Problem
1.点到超平面的距离
我们可以用 wTx+b=0 来表示一个超平面,对于平面上的两个点 x1,x2 :
- wTx1=−b wTx2=−b
- wT 是超平面的法向量,因为 wT(x2−x1)=0
- 点到平面的距离是 project(x−x1)到wT上的长度
因此
将
wTx′=−b
带入可得
因为对于分离超平面来说,每个点到分离超平面的距离可以写为
所以
我们可以把我们的目标函数转化为
2.Margin of Special Separating Hyperplane
我们知道
wTx+b=0
和
3wT+3b=0
是一样的。缩放并不影响求解最优解
因此我们可以可欧率一种特殊的缩放
而且这里还可以省略 yn(wTxn+b)>0 的条件,我们的目标函数可以写为
因为我们比较熟悉求解最小化问题,我们还可以把问题稍微转变一下,即
到这里我们已经推出了SVM的标准形式
Support Vector Machine
1.为什么叫做支持向量机
如上图所示,最大分离超平面只和边界上的点有关,而与其他的点没有关系,去掉这些点也没有关系,这些落在边界上的点叫做支持向量,支持向量一般很少,所以分离超平面由很少的重要的点所决定。
支持向量机的一般解法
本质上SVM的优化问题其实是一个二次规划问题,我们可以利用现有的二次规划工具来求解,我们只要把SVM与二次规划的参数对应好即可,如下图所示
因此( Linear Hard Margin SVM )算法可以总结如下:
计算对应的二次规划参数: Q,p,aTn,cn
利用 QP(Q,p,A,C)⇒(b,w)
将 b,w带入gsvm 中求解分离超平面
Hard 是指分离超平面不容许误差, Linear 是指 xn 与 w 的关系是线性的
Reasons behind Large-Margin Hyperplane
1 Why Large-Margin Hyperplane?
从视觉和直觉的角度,我们认为Large-Margin Hyperplane的分类效果更好。SVM的这种思想其实与我们之前介绍的机器学习非常重要的正则化regularization思想很类似。regularization的目标是将Ein最小化,条件是wTw≤C;SVM的目标是wTw最小化,条件是yn(wTxn+b)≥1,即保证了Ein=0。有趣的是,regularization与SVM的目标和限制条件分别对调了。其实,考虑的内容是类似的,效果也是相近的。SVM也可以说是一种weight-decay regularization,限制条件是Ein=0。
2 Large-Margin Restricts Dichotomies
从另一方面来看,Large-Margin会限制Dichotomies的个数。这从视觉上也很好理解,假如一条分类面越“胖”,即对应Large-Margin,那么它可能shtter的点的个数就可能越少:
Dichotomies是与VC维紧密相关的,Dichotomies越小,VC维越小,从而模型复杂度低,泛华能力强。
3 Benefits of Large-Margin Hyperplanes
- 分离超平面越少,
dVC 越小,泛华能力越强- 分离边界越复杂,可能得到更好的 Ein
所以启发我们是否可以设计一种新算法