有时候,SVM可能分割的太过了,黑即是黑,白即是白,其实这样“刚正无私”overfit也不好,所以就需要“中庸之道”,要允许有部分的误差或噪声,这就是为什么要有Soft Margin~还是ppt上的图解释的好
犯错要越少越好,这就是pocket,这是最原始的思想:允许犯错,但是犯的错要越少越好~这个≠表示分错了,这个≠的个数要越少越好
将上述思想融合到hard-margin SVM中
不想写那么多中间式。
soft-margin SVM:
其中,用ξn表示error的大小,即margin violation
用C表示一个权衡因子trade-off,large margin和margin violation哪个更重要
C小,则是边界宽,宽松,噪声多
习题啥意思?
式子写出来了,怎么求解呢?
写成Lagrange function,Lagrange multipliers
通过条件∂L∂ξn=0=C−αn−βn消掉ξn,主要是βn=C−αn⩾0反代回去消掉的!同时有条件0⩽αn⩽C
所以上述Lagrange dual简化为
注意观察这个形式,除了max下面的约束条件不同,式子的形式和hard-margin很像!所以和以前一样,转化为在KKT约束条件的二次规划求解出αn,然后由KKT约束条件分别求出w=∑Nn=1αnynzn和βn=C−αn(表达式略有不同!)忘了KKT就回去看第2课!
习题想表达:参数C直接成为
Kernel Soft_Margin SVM
和以前的Hard-Margin相比有,上限(upper-bound)
soft-Margin比Hard-Margin更常用
(看不懂就经常返回去多看几遍)
αn的物理意义,这个很有意思啊!
complementary slackness:
- non SV (0=αn):ξn=0(没有违反边界) 远离胖胖边界
- free SV (0⩽αn⩽C):ξn=0 (没有违反边界) 刚好在胖胖边界上的点
- bounded SV(αn=C):ξn=违规点的数量
就是一个selection的过程:有两种方法,cross-validation,nSV
我的理解就是通过上面两种方法,选择一个好的model
how to select?
Ecv(C,γ)就是cross-validation所求的那个值,具体怎么求不知道,但是如果这个值求出来越大,选择的model就越overfit(就是分类分的太过了!)
nSV(C,γ),这个作为安全检查,因为上面那个Ecv(C,γ)求起来有时候很费时间。但这个只是个上限(我的理解就是这个可能是model的overfit的最大值,但不是真实值,真实值在这个之下)