11. SVM(二)最优间隔分类器

最优间隔分类器Optimal Margin Classifier)。其目标是使得最小几何间隔最大化(10. SVM(一)概念):
$$
\text{目标(1):} \\
\max_{w, b} \gamma \\
\text{ s.t. } y^{(i)} \cdot ((\frac{w}{||w||})^T \cdot x^{(i)}+\frac{b}{||w||}) \geq \gamma, i=1,\ldots,n
$$
我们知道,$\hat{\gamma} = \frac{\gamma}{||w||}$,所以上面的目标可以等同于:
$$
\text{目标(2):} \\
\max_{w, b} \frac{\hat{\gamma}}{||w||} \\
\text{ s.t. }y^{(i)} \cdot (w^T \cdot x^{(i)}+b) \geq \hat{\gamma}, i=1,\ldots,n
$$
为了最大化上述值,我们有两种策略。

  1. 增大$\hat{\gamma}$
  2. 减小$||w||$

针对第一种可能,我们要证明其无效性。假如,我们增大$\hat{\gamma}$到${\hat{\gamma}}_1 := \lambda {\hat{\gamma}}$,因为$\hat{\gamma}=y(w^Tx+b)$,可以视作$w_1:=\lambda w, b_1 = \lambda b$。所以,此时
$$
\frac{\hat{\gamma_1}}{||w_1||}=\frac{\lambda \hat{\gamma}}{||\lambda w||} = \frac{\hat{\gamma}}{||w||} \\
$$
没有发生任何改变,所以第一条策略不可行。于是,我们可以固定$\hat{\gamma}=1$

此时,上述目标(2)可以表述成:
$$
\text{目标(3):} \\
\min_{w, b} \frac{1}{2}||w||^2 \\
\text{ s.t. }y^{(i)} \cdot (w^T \cdot x^{(i)}+b) \geq 1, i=1,\ldots,n
$$

因为最小化$||w||$和最小化$\frac{1}{2}||w||^2$是一致的。

拉格朗日乘子法(Lagrange Multiplier)

为了解决上述的凸优化问题,我们引入拉格朗日乘子法Lagrange Multiplier来解决这个问题。

我们首先来看看凸优化问题的定义:
$$
\min_wf(w) \\
\text{s.t. }g_i(w) \leq 0, h_i(w) =0
$$
构建拉格朗日乘子:
$$
{\cal L}(w, \alpha, \beta) = f(w)+\sum_i\alpha_ig_i(w)+\sum_i\beta_ih_i(w)
$$
定义:
$$
\theta_p(w) = \max_{\alpha_i>0, \beta}{\cal L}(w, \alpha, \beta)
$$
观察$\theta_p(w)$:

  1. 如果$g_i(w)>0$,那么$\theta_p(w)=+\infty$(因为$\alpha$可以取任意大值)。
  2. 如果$h_i(w) \neq 0$,那么$\theta_p(w)=+\infty$(因为$\beta$可以取$+\infty/-\infty$)。

所以,在满足约束的情况下,$\theta_p(w)=f(w)$,$\min_w \theta_p(w)=\min_w f(w)$,因为使得${\cal L}(w, \alpha, \beta)$最大的方法,就是其他所有项全是0。那么,可以得出这样的结论:
$$
\theta_p(w)=\begin{cases}
f(w), &\text{满足约束} \\
\infty, &\text{不满足约束}
\end{cases}
$$
因此,在满足条件的情况下,$\min_w\theta_p(w)$等价于$min_wf(w)$。

我们将最优间隔分类器的目标重新表示一下:
$$
p^\ast =\min_{w, b}\max_\alpha {\cal L(w, \alpha, b)} \\
{\cal L}(w, \alpha, b) = \frac{1}{2}||w||^2+\sum_i\alpha_i(1-y^{(i)}(w^T x^{(i)}+b))
$$
其中,直接忽略了$h_i(w)=0$的约束,而$g_i(w,b)=1-y^{(i)}(w^Tx^{(i)}+b) \leq 0, f(w)=\frac{1}{2}||w||^2$

对偶问题(Dual Problem)

一般来说,将原始问题转化成对偶问题来求解。一是因为对偶问题往往比较容易求解,二是因为对偶问题引入了核函数,方便推广到非线性分类的情况。

我们看到,之前的原始问题,是
$$
p^\ast =\min_{w, b}\max_\alpha {\cal L}(w, \alpha, b)
$$

那么,定义其对偶问题:

$$
l^\ast =\max_\alpha\min_{w,b}{\cal L}(w, \alpha, b)
$$

接下去,我们求解对偶问题:

先求解$\min_{w,b}{\cal L}(w, \alpha, b)$:

分别求偏导,使其等于0,导出最小值:
$$
\begin{align}
& \nabla_w{\cal L}(w, \alpha, b) =w-\sum_{i=1}\alpha_iy^{(i)}x^{(i)}=0 \\
& \nabla_b{\cal L}(w, \alpha, b) =\sum_{i=1}\alpha_iy^{(i)}=0
\end{align}
$$

得到:

$$
w =\sum_{i=1}\alpha_iy^{(i)}x^{(i)} \\
\sum_{i=1}\alpha_iy^{(i)} = 0
$$

代入${\cal L}(w, \alpha, b)$,就可以得到最小值:

$$
\begin{align}
{\cal L}(w, \alpha, b) &= \frac{1}{2}||w||^2+\sum_i\alpha_i(1-y^{(i)}(w^T x^{(i)}+b)) \\
\min_{w, b}{\cal L}(w, \alpha, b) &=\underbrace{\sum_{i=1}\alpha_i-\frac{1}{2}\sum_{i=1}\sum_{j=1}\alpha_i\alpha_jy_iy_j(x_i \cdot x_j)}_{W(\alpha)}
\end{align}
$$

于是,我们的对偶问题简化到了对$W(\alpha)$最大化:
$$
\max_\alpha W(\alpha) \\
\text{s.t. }\alpha_i \geq 0, \sum_iy_i\alpha_i=0
$$

假设,我们解得的对偶问题的解为:$\alpha^\ast =[\alpha_1^\ast ,\alpha_2^\ast , \ldots, \alpha_m^\ast ]$,那么最终原始问题的解可以表示成:

$$
w^\ast =\sum_{i=1}\alpha_i^\ast y^{(i)}x^{(i)}
$$

在原始问题中,还有$b$未得到解决。我们先来观察一下约束项:
$$
g_i(w,b)=1-y{(i)}(w^Tx^{(i)}+b) \leq 0
$$

我们知道,在数据中,只有少数的几个数据点,他们的函数距离为1(最小),也即$g_i(w,b)=0$,如图所示。

在整个数据集中,只有这些数据点对约束超平面起了作用,这些数据点被称为支持向量(support vector),其对应的$\alpha_i^\ast \neq 0$,而其他不是支持向量的数据点,没有对约束超平面起作用,其$\alpha_i^\ast =0$。

此时,我们已经得到了$w^\ast $,而$b^\ast $的计算如下,找到一个数据点,其$\alpha_j^\ast \neq 0$(也就是支持向量,其函数间隔为1),我们就能得到:

$$
y^{(j)}(w^{*T}x^{(j)}+b^\ast )=1
\Rightarrow
b^\ast =y^{(j)}-\sum_{i=1}\alpha_i^\ast y^{(i)}(x^{(i)} \cdot x^{(j)})
$$