机器学习技法-4-Soft Margin Support Vector Machine

有时候,SVM可能分割的太过了,黑即是黑,白即是白,其实这样“刚正无私”overfit也不好,所以就需要“中庸之道”,要允许有部分的误差或噪声,这就是为什么要有Soft Margin~还是ppt上的图解释的好
犯错要越少越好,这就是pocket,这是最原始的思想:允许犯错,但是犯的错要越少越好~这个 表示分错了,这个 的个数要越少越好

minb,wn=1Nynsign(wTzn+b)

将上述思想融合到hard-margin SVM中
不想写那么多中间式。
soft-margin SVM:
minb,w, ξ 12wTw+Cn=1Nξns.t.  yn(wTzn+b)1ξn and ξn0 for all n

其中,用 ξn 表示error的大小,即 margin violation
C 表示一个权衡因子 trade-offlarge marginmargin violation哪个更重要
C 大,则是边界窄,严格,噪声少
C 小,则是边界宽,宽松,噪声多

习题啥意思?


式子写出来了,怎么求解呢?
写成Lagrange function,Lagrange multipliers αn , βn

maxαn0, βn0(minb,w L(b,w,ξ,α,β)=12wTw+Cn=1Nξn+n=1Nαn(1ξnyn(wTzn+b))+n=1Nβn(ξn))

通过条件 Lξn=0=Cαnβn 消掉 ξn ,主要是 βn=Cαn0 反代回去消掉的!同时有条件 0αnC
所以上述Lagrange dual简化为
max0αnC, βn=Cαn(minb,w    12wTw+n=1Nαn(1yn(wTzn+b)))

注意观察这个形式,除了max下面的约束条件不同,式子的形式和hard-margin很像!所以和以前一样,转化为在KKT约束条件的二次规划求解出 αn ,然后由KKT约束条件分别求出 w=Nn=1αnynzn βn=Cαn (表达式略有不同!)忘了KKT就回去看第2课!

习题想表达:参数 C 直接成为 αn 上限值


Kernel Soft_Margin SVM
和以前的Hard-Margin相比有,上限(upper-bound)
soft-Margin比Hard-Margin更常用
(看不懂就经常返回去多看几遍)

αn 的物理意义,这个很有意思啊!
complementary slackness:

αn(1ξnyn(wTzn+b))=0(Cαn)ξn=0

  • non SV (0=αn):ξn=0 (没有违反边界) 远离胖胖边界
  • free SV (0αnC):ξn=0 (没有违反边界) 刚好在胖胖边界上的点
  • bounded SV (αn=C):ξn =违规点的数量

就是一个selection的过程:有两种方法,cross-validation,nSV
我的理解就是通过上面两种方法,选择一个好的model
how to select?
EcvC,γ 就是cross-validation所求的那个值,具体怎么求不知道,但是如果这个值求出来越大,选择的model就越overfit(就是分类分的太过了!)
nSV(C,γ) ,这个作为安全检查,因为上面那个 EcvC,γ 求起来有时候很费时间。但这个只是个上限(我的理解就是这个可能是model的overfit的最大值,但不是真实值,真实值在这个之下)


机器学习技法-4-Soft Margin Support Vector Machine_第1张图片

你可能感兴趣的:(机器学习技法,机器学习)