SVM的主要思想在于对于分类问题,找到分类的分割线,因为这条分割线可以有多条,我们应该找那条与各个数据最大距离的那一条线。
找最大间隙的原因:
1. 直觉上是最安全的
2. 如果我们在边界的位置发生了一个小错误(它在垂直方向上被颠倒),这给我们最小的可能导致错误分类。
3. CV(cross validation 交叉验证)很容易,因为该模型对任何非支持向量数据点的去除是免疫的。
4. 有一些理论表明这是一件好东西。
5. 从经验角度上说它的效果非常非常好。
至于怎么找,唔,有点难推,简单看了而已。
松弛变量:我们知道几乎所有的数据都不那么干净, 通过引入松弛变量来 允许数据点可以处于分隔面错误的一侧
。
其中有个式子:常量C是 惩罚因子,
C值越大,表示离群点影响越大,就越容易过度拟合;反之有可能欠拟合。
迭代操作:
1、先随机选取两个点,然后判断预测的误差
2、对两个点判断上同侧还是异侧,然后进行相加或者想减
3、对alpha的是否修改了取决于其是否大于误差。