机器学习技法笔记--- Linear SVM
1)引入
线性可分的情况下,下面哪条线(或者哪个面)算是最好的?
2)为什么选择的超平面(线)Hyperplane要离Xn最远?
因为如果未来的数据X ≈ 已测的数据Xn(也就是看做有一些测量误差noise),那么一旦超平面过近,就有可能导致分类错误
超平面越远,所容忍的噪声越多(噪声是导致过拟合的原因之一)
3)怎样的Hyperplane才算是最远?
可以看成把一根线不断地往两边加粗,直到某一边触及到数据点,我们要找的就是最粗的一条线
fat: far from both sides of examples. fatness: distance to closest Xn
4)用公式来表示largest-margin separating Hyperplane
W代表一个Hyperplane的参数,直接看成一个Hyperplane也行
yn是实际类别,WTXn是预测类别。两者乘积大于0代表要保证分类正确
margin是寻找超平面与最近的点的距离
5)承接上面,那distance怎么求呢?
5.1)我们再把W拆成两部分,一部分叫b=w0;另一部分是剩下的,仍然叫W
于是Hyperplane就是WTx + b = 0。。。
距离就是
点到平面的距离,不会请百度
5.2)那距离有个绝对值,不好算,那怎么去掉它呢,我们想到yn与WTx+b同号,于是
5.3)原始的式子就转换成如下的式子了:
6)放缩
6.1)超平面WTx + b = 0 和 3WTx + 3b = 0是同一个。
于是我们不断地放缩w和b,使得:
6.2)于是原来的式子又进一步转化为下面的式子:
6.3)再变一下形,就成了极小凸二次规划问题,可以用拉格朗日对偶法求解