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

Lecture 4: Soft-Margin Support Vector Machine

4.1 Motivation and Primal Problem

             图 4-1

上一节,我们讨论了有关 kernel SVM 。kernel  SVM 威力太强大,可能会导致过拟合。如图 4-1 所示,很明显应该采用线性分类器,结果却用了 kernel trick。

SVM 过拟合的原因是我们坚持要将数据完全分开,就会采用很复杂的 kernel ,同时也大大增加过拟合的风险。现在我们允许在部分点上犯错,这样可以将 SVM 的 loss function 修改为图 4-2 所示的公式Q1

 

                          图 4-2

图 4-2 的公式有个良好的性质,它将某个分类错误点的错误程度也放到 loss function 中(也可能是缺点,某些离群点可能会让 SVM 性能下降。为了矫正这个问题,在第 6 节提出了 Tube Regression 可以在一定程度上缓解这个问题)。可用通过 tuning C 来  trade off large margin & noise tolerance !

  

       图 4-3

 

4.2 Dual Problem

           图 4-4        Soft-Margin SVM

现在,需要解决的问题就是如何在若干 KKT 条件下求解 Soft-Margin SVM 方程Q2。最终的到 lagrange 公式如下

$$\frac{1}{2}w^Tw + \mathcal{C}*\sum\xi_{n} + \sum\alpha_{n}*(1 - \xi_{n} -y_{n}(w^Tz_{n}+b)) + \sum\beta_{n}(-\xi_{n}) $$

                           图 4-5

如何求出图 4-5 所示的公式呢?

首先,可以通过求导方法,就 $\xi$ 去化简掉就像上一节化简 b 一样。看到图 4-6 公式中约束条件,总算知道为什么 $\alpha_{n}$ 相对 Hard SVM 中的 $\alpha_{n}$ 多了个上界。

                                   图 4-6

现在的问题就如图 4-7 所示,和图 4-8 所示的 Hard SVM 所示的公式很类似

                                图 4-7 

                                  图 4 -8 

通过对 b 和 $w_{i}$ 求导,最终化简的问题如图4-9 所示

                          图 4-9

4.3 Messages behind Soft-Margin SVM

图 4-9 所示的公式是不是很像 Hard SVM plus Kernel ?图 4-10 对比 Hard SVM 和 Soft-Margin SVM(free $\alpha_{s}$ 的条件要结合 $\beta_{s}$ ≥ 0 来获得)。

                         图 4-10

我们再看下 Soft-Margin SVM 的分类效果,如图 4-11 所示。可以看出就算是 Soft-Margin SVM 也有可能会过拟合。看来 SVM 的 large-margin 不能弥补 feature transfermation 带来的缺陷

                           图 4-11

Hard SVM 要求$\alpha_{n} ≥ 0$, Soft-Margin SVM 要求 $C >\alpha_{n} > 0$ 。Hard SVM 的 $\alpha_{n}$ 有特定的物理意义,那么 Soft-Margin SVM 的 $\alpha_{n}$ 的物理意义是什么呢?

$$ \alpha_{n}(1 - \xi_{n} -y_{n}(w^Tz_{n} +b ) ) = 0$$

$$ (C - \alpha_{n})\xi_{n} = 0$$

根据上面的两个公式,可以得出一下结论

1) 对于非 SV : $\alpha_{n} = 0, \xi_{n} = 0$,符合非 SV 点的物理意这些点既有可能是 away from boundary 也有可能在 boundary 上(没被选上的 SV 候选者)

2) 对于 free SV : $ C > \alpha_{n} > 0$, $\alpha_{n} 需要小于 C$ 这个从前面的小节中有过说明

3)对于 bounded SV (违反边界的):因为 $\xi_{n} \neq 0$ 所以一定有 $\alpha_{n} = C$。违反边界不一定会造成分类错误,因为它可能还没有跨过中线

这样的话,$\alpha_{n}$  的值能看出某个点是性质,是 sv 还是分类错误点,抑或是自由的点。可以根据 $\alpha_{n}$ 做相关的数据分析。

SVM 的 Support Vector 有个有趣的性质,即 $E_{loocv} \leq \frac{SV}{N}$ (很容易想明白这是为啥)

 Slack Variable $\xi_{n}$ 的物理意义是什么呢,先看图4-12 (截至第五节课程)

                                  图 4-12

从图 4 -12 中可以看出,对于 margin violation 的点 $\xi_{n}$ 能反应出该点 margin violation 的程度。对于没有 margin violation 的点 $\xi_{n}$ 的值为 0 。

正是因为 $\xi_{n}$ 有这样的性质,所以我们在第一节才会说图 4-2 的公式有个良好的性质。最后我们根据 $\xi_{n}$ 的性质改写了 Soft-Margin

 SVM 的损失函数(在有的资料中,将那个 max 表达式称之为合页函数(hinge loss function)。在《基石》的笔记中提到过 hinge loss function)

4.4 Model Selection

 我们知道 Soft-Margin SVM 的有关性质,现在的问题是如何使用 Soft-Margin SVM ? 先看下图

            图 4-13

图 4-13 上有 9 中 SVM 算法,我们该选哪一个? 仅仅是根据 Linear First 原则选个最简单的(如果要按照  Linear First 来选 SVM 算法,那么我们为什么还要讨论 Kernel Tricks 等复杂概念)。有一种方法是根据 Cross Validation

的大小来选择一个合适的算法(我以前怎么只会用 Eout 来判断啊)。另外一种方法是根据 SV 数量来选择,但是 SV 的数量不容易,另外 SV 数量只能用于算出 $E_{loocv}$ 的上限

              图 4-14

 

 最后用一张图来结束本节笔记

                              图 4-15

 

4.5 Hard-Margin SVM versus Soft-Margin SVMQ3

                                   图 4-16

 

题外话:

Q1:《西瓜书》好像在讨论 Soft-Margin SVM 时才提到松弛变量,《技法》课程在 Hard SVM 中就提到了松弛变量

Q2:有的资料称之为 KKT 乘子法,这里把它当作是 KKT 条件下 largrang 乘子法

Q3: 这些内容出自《技法》第五小节

 

posted @ 2018-01-06 21:18  tmortred  阅读(242)  评论(0)    收藏  举报