Alex_McAvoy

想要成为渔夫的猎手

硬间隔支持向量机

References:

【假设形式】

对于给定容量为 $n$ 的线性可分训练集 $D=\{(\mathbf{x}_1,y_1),(\mathbf{x}_2,y_2),…,(\mathbf{x}_n,y_n)\}$,第 $i$ 组样本中的输入 $\mathbf{x}_i$ 具有 $m$ 个特征值,即:$\mathbf{x}_i=(x_i^{(1)},x_i^{(2)},…,x_i^{(n)})\in \mathbb{R}^m$,输出 $y_i\in\mathcal{Y}=\{+1,-1\}$

硬间隔支持向量机(Hard Margin Support Vector Machines)对于线性可分的训练集,通过求解硬间隔最大化问题:

来求解唯一的最优分离超平面:

以及相应的分类决策函数:

由于训练集是线性可分的,因此又称线性可分支持向量机(Linear Support Vector Machines in Linearly Separable Case)

【硬间隔支持向量机学习算法的原始形式】

硬间隔最大化

硬间隔最大化(Hard Margin Maximization)是找到使所有样本点的几何间隔的最小值最大的分离超平面,即寻找最大间隔分离超平面

其直观解释是:对于训练集找到分离超平面,意味着以充分大的确信度对训练集进行分类,也就是说,不仅将正负样本点分开,而且对最难分的样本点(距离分离超平面最近的点)也有足够大的确信度将它们分开

下面考虑如何求得一个最大间隔分离超平面

对于给定容量为 $n$ 的训练集 $D=\{(\mathbf{x}_1,y_1),(\mathbf{x}_2,y_2),…,(\mathbf{x}_n,y_n)\}$,第 $i$ 组样本中的输入 $\mathbf{x}_i$ 具有 $m$ 个特征值,即:$\mathbf{x}_i=(x_i^{(1)},x_i^{(2)},…,x_i^{(m)})\in \mathbb{R}^m$,输出 $y_i\in\mathcal{Y}=\{+1,-1\}$

分离超平面 $S:\boldsymbol{\omega}\cdot\mathbf{x}+\theta=0$ 关于样本点 $(\mathbf{x}_i,y_i)$ 的几何间隔为:

分离超平面 $S:\boldsymbol{\omega}\cdot\mathbf{x}+\theta=0$ 关于样本集 $D$ 的中所有样本点的几何间隔的最小值为:

具体来说,寻找最大间隔分离超平面可以表示为下面的约束最优化问题

即希望最大化超平面 $S:\boldsymbol{\omega}\cdot\mathbf{x}+\theta=0$ 关于训练集的几何间隔 $\gamma$,同时约束超平面 $S$ 关于每个训练样本点的几何间隔至少是 $\gamma$

考虑到几何间隔和函数间隔的关系:

约束最优化问题可改写为:

其中,函数间隔 $\hat{\gamma}$ 的取值并不影响最优化问题的解

假设将 $\boldsymbol{\omega}$ 和 $\theta$ 等比例的改变为 $k \boldsymbol{\omega}$ 和 $k\theta$,此时函数间隔就变为 $k\hat{\gamma}$,这一改变对上面的最优化问题的不等式约束没有任何影响,对目标函数的优化也没有影响

也就是说,其产生了一个等价的最优化问题,这样可以取函数间隔 $\hat{\gamma}=1$,而最大化 $\frac{1}{||\boldsymbol{\omega}||_2} $ 和最小化 $\frac{1}{2}||\boldsymbol{\omega}||_2^2 $ 是等价的(此处乘以 $\frac{1}{2}$ 是为了后续求偏导方便),于是可以得到如下等价的约束最优化问题:

可以发现,其是一个凸二次规划(Convex Quadratic Programming)问题

最大间隔法

硬间隔支持向量机的学习算法为最大间隔法

输入:线性可分的容量为 $n$ 的训练集 $D=\{(\mathbf{x}_1,y_1),(\mathbf{x}_2,y_2),…,(\mathbf{x}_n,y_n)\}$,第 $i$ 组样本中的输入 $\mathbf{x}_i$ 具有 $m$ 个特征值,即:$\mathbf{x}_i=(x_i^{(1)},x_i^{(2)},…,x_i^{(m)})\in \mathbb{R}^m$,输出 $y_i\in\mathcal{Y}=\{+1,-1\}$

输出:最大间隔分离超平面、分类决策函数

算法步骤:

Step1:构造并求解如下约束最优化问题

求得最优解 $\boldsymbol{\omega}^*$ 和 $\theta^*$

Step2:根据最优解 $\boldsymbol{\omega}^*$ 和 $\theta^*$,得到分离超平面

以及分类决策函数

【硬间隔支持向量机学习算法的对偶形式】

对偶问题的转化

为求解硬间隔支持向量机的原始问题:

将其作为原始最优化问题,应用拉格朗日对偶性,通过求解对偶问题来得到原始问题的最优解,这样做的好处有两点:对偶问题更容易求解、容易引入核函数,进而推广到非线性分类问题

首先,构建拉格朗日函数,即为每一个不等式约束引入拉格朗日乘子 $\lambda_i\geq 0$,即:

其中,$\boldsymbol{\lambda}=(\lambda_1,\lambda_2,\cdots,\lambda_n)^T$ 为拉格朗日乘子向量

此时,根据拉格朗日对偶性,原始问题的对偶问题就变为了极大极小问题,即:

因此,为了得到对偶问题的解,就要先求拉格朗日函数 $L(\boldsymbol{\omega},\theta,\boldsymbol{\lambda})$ 对 $\boldsymbol{\omega}$ 和 $\theta$ 的极小,再求对 $\boldsymbol{\lambda}$ 的极大

对偶问题中的极小问题

对于对偶问题中的极小问题:

令拉格朗日函数 $L(\boldsymbol{\omega},\theta,\boldsymbol{\lambda})$ 分别对 $\boldsymbol{\omega}$ 和 $\theta$ 求偏导,并令其等于 $0$,即:

可得:

将上式带回拉格朗日函数 $L(\boldsymbol{\omega},\theta,\boldsymbol{\lambda})$ 中,有:

故有:

对偶问题中的极大问题

对于对偶问题中的极大问题:

即为对偶问题,有:

将该问题的目标函数由求极大转为求极小,就得到如下的等价的对偶最优化问题:

可以发现,原始问题是凸优化问题,且 Slater 条件成立,那么,原始问题强对偶性成立,即求解原始问题可以转换为求解上述的对偶问题

假设上述的对偶问题对 $\boldsymbol{\lambda}$ 的解为 $\boldsymbol{\lambda}^* = (\lambda_1^*,\lambda_2^*,\cdots,\lambda_n^*)^T$,那么根据 KKT 条件,可得:

故而有:

同时,其中至少有一个 $\lambda_j^*>0$,对此 $j$ 有:

将 $\boldsymbol{\omega}^* = \sum\limits_{i=1}^n \lambda_i^* y_i\mathbf{x}_i$ 带入到上式,并由 $y_j^2=1$,可得:

故而,分离超平面可写为:

分类决策函数可写为:

对偶学习算法

根据上述对偶问题的推导,可得到硬间隔支持向量机的对偶学习算法

输入:线性可分的容量为 $n$ 的训练集 $D=\{(\mathbf{x}_1,y_1),(\mathbf{x}_2,y_2),…,(\mathbf{x}_n,y_n)\}$,第 $i$ 组样本中的输入 $\mathbf{x}_i$ 具有 $m$ 个特征值,即:$\mathbf{x}_i=(x_i^{(1)},x_i^{(2)},…,x_i^{(m)})\in \mathbb{R}^m$,输出 $y_i\in\mathcal{Y}=\{+1,-1\}$

输出:最大间隔分离超平面、分类决策函数

算法步骤:

Step1:构造并求解如下约束最优化问题(原始问题的对偶问题)

求得最优解 $\boldsymbol{\lambda}^*$

Step2:根据最优解 $\boldsymbol{\lambda}^*$,计算分离超平面的法向量 $\boldsymbol{\omega}^*$ 和截距 $\theta^*$

对于法向量 $\boldsymbol{\omega}^*$,有:

选择最优解 $\boldsymbol{\lambda}^*$的一个正分量 $\lambda_j^*>0$,计算截距 $\theta^*$,有:

Step3:根据最优解 $\boldsymbol{\omega}^*$ 和 $\theta^*$,得到分离超平面

以及分类决策函数


对于 Step1 中的凸二次规划问题,可使用 SMO 算法来求解,关于 SMO 算法,详见:序列最小最优化算法 SMO

【支持向量与间隔边界】

在线性可分的情况下,对于训练集中与分离超平面距离最近的样本点 $(\mathbf{x}_i,y_i)$ 的实例 $\mathbf{x}_i$,被称为硬间隔的支持向量(Support Vector),即:

对于 $y_i=1$ 的正例点,支持向量位于超平面:

对于 $y_i=-1$ 的负例点,支持向量位于超平面:

如图所示,在 $H_1$ 和 $H_2$ 上的点就是支持向量

可以发现,$H_1$ 与 $H_2$ 平行,两者之间形成一条长带,且没有样本点位于这条长带中,分离超平面与它们平行且位于它们中央

长带的宽度,即 $H_1$ 与 $H_2$ 间的距离被称为间隔(Margin),其依赖于超平面的法向量 $\boldsymbol{\omega}$,等于 $\frac{2}{||\boldsymbol{\omega}||_2}$,此外,称 $H_1$ 和 $H_2$ 为间隔边界(Margin Border)

在决定这个位于两类训练样本的正中间的分离超平面时,只有支持向量起作用,如果移动支持向量将改变所求的解

此外,对于分类决策函数:

根据 KKT 条件,对于任意样本 $(\mathbf{x}_i,y_i)$,总有 $\lambda_i=0$ 或 $y_i(\boldsymbol{\omega}\cdot \mathbf{x}_i+\theta)=1$

  • 当 $\lambda_i=0$ 时,该样本不会在分类决策函数 $f(\mathbf{x})$ 的求和中出现,也就不会对 $f(\mathbf{x})$ 造成任何影响
  • 当 $\lambda_i>0$ 时,必有 $y_i(\boldsymbol{\omega}\cdot \mathbf{x}_i+\theta)=1$,所对应的样本点正好位于间隔边界上,是一个支持向量

也就是说,硬间隔支持向量机的分类决策函数只依赖于支持向量,即训练数据中对应于 $\lambda_i>0$ 的样本点 $(\mathbf{x}_i,y_i)$,其他样本点对 $\boldsymbol{\omega}^*$ 和 $\theta^*$ 没有影响

感谢您对我的支持,让我继续努力分享有用的技术与知识点!