机器学习技法笔记-Lecture 1 Linear support vector machine

线性支持向量机。

从PLA引入。对PLA而言,下面任何一条线都可能被选为g,其实我们直观上会觉得第三条线更好。

对以后要预测的点x假设和xn很接近,可以看做xn加上的一些noise,那么我们希望这样的x也能和xn的结果一样。

所以如果点和分隔平面距离大,那么可以认为平面能够容忍更多noise,更加健壮,robust.

因此我们希望找到这样的一条线,首先能够把所有点都正确分开,另外使得点到线的距离的最小值,能够最大。也就是找到一条最胖的线。

问题重写一下

这里呢,把w拆成w和常数项b,假设空间是的集合

任意一点x到分隔平面的距离是

那么问题继续改写成

注意这里去掉绝对值的方法是乘以了yn,因为这条线能够正确分类,所以 yn * h(xn)可以替换掉绝对值。

然后我们做一个scale, 使,问题改写成

那由于有第二个st的限制,第一个肯定成立,所以省去,问题成为 

现在希望把st里面的min去掉,方法是把条件放宽。放宽条件并不影响找到原始的最优b、w

目前就得到了通常的SVM问题的形式

这个不等式约束优化问题是一个二次规划问题(quadratic programming, QP),目标函数是关于 b和w的二次式,约束是关于b和w的一次式

将问题写成标准的二次规划的形式,通过软件就可以求解

线性硬间隔SVM的求解过程

hard-margin是说能将所有点都正确的分开,不允许犯错。linear是指我们使用的就是原始的xn,没有经过变换。

将xn映射到zn,就可以做非线性的分隔。

SVM与正则的联系

SVM可以看做一种正则,最小化的目标和约束条件交换了一下。它要求Ein=0后再使w的长度最小。这个regularizetion是希望要一个胖胖的边界,能够抵抗一些误差。

SVM与VC维的联系

我们的最大边界算法希望找一个g,它的边界要求大于某一个数。那么它在特征的资料上,能够做的二分的组合变少了。理解为有效的vc维变小了。

所以可以通过控制线的胖瘦,来控制模型的复杂度。

原文地址:https://www.cnblogs.com/akanecode/p/7055101.html