首页 > 代码库 > 线性SVM

线性SVM

1. 线性SVM的推导

1.1 形象理解为什么要使用间隔最大化

容忍更多的测量误差,更加的robust。间隔越大,噪声容忍度越大:

技术分享

1.2 SVM的问题描述

技术分享

表示为正式的形式,就是:

技术分享

1.3 推导点到平面的距离

 技术分享

因此,由于约束条件1,距离里面的绝对值可以去掉,原来的最优化问题变为:

技术分享

1.4 将SVM问题写成更容易解决的形式

由于w和b乘以同样的倍数得到的平面不变。因此我们做一个放缩,规定:

技术分享

因此问题就变为了:

技术分享

在这里,我们发现第二个约束条件其实已经包含了第一个约束条件,因此我们可以舍去第一个约束条件,问题进一步简化为:

技术分享

然后,我们发现约束条件还是不够简单,因此我们把约束条件放宽:

技术分享

这一步要说明,把约束条件放宽相当于解的备选区域变大了。我们在这里要说明,最优解仍然会落在原来的区域内。采用反证法:

技术分享

所以说,落在外面区域的解不可能是最优解,因此把约束条件放松对求解是没有影响的。

 

然后,我们把目标函数求最大改为最小,根号去掉,加一个因子1/2,得到最终形式:

技术分享

线性SVM