支持向量机SVM(一):基于硬间隔最大化的线性可分SVM

版权声明:版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_34072381/article/details/83990549


本节前言

感知机是对线性可分数据的二分类线性判别模型,其将模型对所有误分类样本点的几何间隔之和作为损失函数,使用随机梯度下降法学习模型,当所有样本点均被正确分类时,模型学习完成。因此,由于初始超平面、梯度更新次序的不同,最终得到的超平面不唯一。

对于线性可分数据集,易知,样本离超平面的距离可近似表示模型对样本分类的可靠程度。因此,对于N个不同的超平面,若各超平面 i i 离样本点最近的距离为 γ i \gamma_i ,显然我们更倾向于选择 γ i \gamma_i 最大的那个超平面作为最优超平面。基于此思想建立的线性可分SVM模型,经过等价变化,最优模型为凸优化模型,解唯一。

根据数据集中样本的分布的不同,SVM模型有以下几种:
1、线性可分SVM
训练数据线性可分,通过硬间隔最大化学习模型。
2、线性SVM
训练数据无法完全线性划分(少部分数据划分错误),通过软间隔最大化学习模型。
3、非线性SVM
训练数据线性不可分,需使用非线性映射将输入映射为特征向量,通过核技巧及软间隔最大化学习模型。

本节主要介绍线性可分SVM的模型建立、推导及求解。


基于硬间隔最大化的线性可分SVM

模型描述

数据集 T = { ( x 1 , y 1 ) ,   , ( x N , y N ) } T=\{(\bm x_1,y_1), \cdots, (\bm x_N, y_N)\} 线性可分, x i X = R n \bm x_i \in \mathcal{X}=\R^n y i Y = { + 1 , 1 } y_i \in \mathcal{Y}=\{+1, -1\} x i \bm x_i 为实例特征向量, y i y_i 为实例类别。

学习目标

在特征空间中找到能将数据集正确划分的超平面 ω x + b = 0 \bm\omega\cdot\bm x + b =0 ,并利用硬间隔最大化求出最优的分割超平面。

模型建立

对训练集找到几何间隔最大的超平面,确保以充分大的确信度对训练集进行分类,且对最难分的实例点(离超平面最近的点)也有足够大的确信度将其正确划分。因此,基于距超平面最近的点应离超平面尽可能远的思想,建立模型。

函数间隔与几何间隔

对于给定的训练数据集 T T 和超平面 ( ω , b ) (\bm\omega, b) ,定义超平面 ( ω , b ) (\bm\omega, b) 关于样本点 ( x i , y i ) (\bm x_i, y_i) 函数间隔
γ ^ i = y i ( ω x i + b ) \hat\gamma_i=y_i(\bm\omega\cdot\bm x_i + b)

其中 γ ^ = min γ ^ i \hat\gamma=\min\hat\gamma_i 表示所有样本点函数间隔的最小值

不能仅依据函数间隔的大小来衡量模型对样本的分类确信度,因为对于确定的 ( ω , b ) (\bm\omega,b) ,若 ( ω , b ) (\bm\omega,b) 等比改变为 ( 2 ω , 2 b ) (2\bm\omega,2b) ,此时超平面不变,但所有样本的函数间隔 γ ^ i \hat\gamma_i 变为 2 γ ^ i 2\hat\gamma_i 。一般情况,令线性可分SVM的 γ ^ = 1 \hat\gamma=1

对于给定的训练数据集 T T 和超平面 ( ω , b ) (\bm\omega, b) ,定义超平面 ( ω , b ) (\bm\omega, b) 关于样本点 ( x i , y i ) (\bm x_i, y_i) 几何间隔(带符号距离)
γ i = y i ω ( ω x i + b ) \gamma_i = \frac{y_i}{||\bm\omega||}(\bm\omega\cdot\bm x_i + b)

其中 γ = min γ i \gamma=\min\gamma_i 表示所有样本点几何间隔的最小值。当 ω = 1 ||\bm\omega||=1 时,函数间隔称为几何间隔。

几何间隔和符号间隔

超平面关于样本点的几何间隔是样本点到超平面的带符号距离,但当样本点被正确划分时,实例的几何间隔等于该实例到超平面的距离。

最大间隔分离超平面

基于最小几何间隔最大化、所有样本的几何间隔不小于最小几何间隔,建立约束优化模型
max ω , b γ s.t. y i ω ( ω x i + b ) ) γ \begin{aligned} \max_{\bm\omega, b} &\quad \gamma \\ \quad \text{s.t.} &\quad \frac{y_i}{||\bm\omega||}(\bm\omega\cdot\bm x_i + b))\geq \gamma \end{aligned}

考虑几何间隔与函数间隔的关系 γ i = γ ^ i / ω \gamma_i=\hat\gamma_i/||\bm\omega|| γ = γ ^ / ω \gamma=\hat\gamma/||\bm\omega|| ,上述最优化问题等价于

max ω , b γ ^ ω s.t. y i ( ω x i + b ) ) γ ^ \begin{aligned} \max_{\bm\omega, b} &\quad\frac{\hat\gamma}{||\bm\omega||}\\ \quad \text{s.t.} &\quad y_i(\bm\omega\cdot\bm x_i + b))\geq \hat\gamma \end{aligned}

证明:最优化问题的解与模型参数是否等比缩放无关

对应超平面 ω x + b = 0 \bm\omega\cdot\bm x + b = 0 ω \bm\omega b b 下函数间隔为 γ ^ \hat\gamma
λ > 0 \lambda>0 时, ω \bm\omega b b 同时增加 λ \lambda 倍变为 λ ω \lambda \bm\omega λ b \lambda b ,最小函数间隔变为 λ γ ^ \lambda\hat\gamma ,则最优化问题变为
max ω , b λ γ ^ λ ω ; s . t . y i ( λ ω x i + λ b ) λ γ ^ \max_{\bm\omega, b} \quad \frac{\lambda\hat\gamma}{\lambda||\bm\omega||};\quad s.t. \quad y_i(\lambda \bm\omega\cdot\bm x_i + \lambda b)\geq \lambda\hat\gamma
λ < 0 \lambda < 0 时, ω \bm\omega b b 同时增加 λ \lambda 倍变为 λ ω \lambda \omega λ b \lambda b ,最小函数间隔(非负)变为 λ γ ^ -\lambda\hat\gamma ,则最优化问题变为
max ω , b λ γ ^ λ ω ; s . t . y i ( λ ω x i + λ b ) λ γ ^ \max_{\bm\omega, b} \quad \frac{-\lambda\hat\gamma}{-\lambda||\bm\omega||};\quad s.t. \quad y_i(\lambda \bm\omega\cdot\bm x_i + \lambda b)\geq -\lambda\hat\gamma
综上所述,等比改变 ω \bm\omega b b 不影响最优化问题的解。

将极大问题转换为极小问题,等比缩放 ω \omega b b 使 γ ^ = 1 \hat\gamma=1 (最小函数间隔为1),则线性可分SVM学习的最优化问题为
min ω , b 1 2 ω 2 s.t. 1 y i ( ω x i + b ) 0 \begin{aligned} \min_{\bm\omega, b} &\quad\frac{1}{2}||\bm\omega||^2\\ \text{s.t.} &\quad 1-y_i(\bm\omega\cdot\bm x_i + b) \leq 0 \end{aligned}

上述最优化问题为凸二次规划问题

超平面存在唯一性

一、存在性
由于数据集线性可分,且目标函数(凸函数)有下界,故优化问题必有解,记模型参数为 ( ω , b ) (\bm\omega^*,b^*) 。又因为数据集包含正负实例点,显然 ( 0 , b ) (\bm0,b^*) 不是最优解,因此 ω 0 \bm\omega\neq\bm0

二、唯一性
先证 ω \bm\omega 的唯一性
( ω 1 , b 1 ) (\bm\omega_1^*, b_1^*) ( ω 2 , b 2 ) (\bm\omega_2^*,b_2^*) 均是问题的最优解,则目标函数在最优解 ω 1 \bm\omega_1^* ω 2 \bm\omega_2^* 处取值相同,令 ω 1 = ω 2 = c 0 ||\bm\omega_1^*||=||\bm\omega_2^*||=c\neq0

ω = ω 1 + ω 2 2 \bm\omega=\dfrac{\bm\omega_1^*+\bm\omega_2^*}{2} b = b 1 + b 2 2 b=\dfrac{b_1^*+b_2^*}{2} ,易证解 ( ω , b ) (\bm\omega,b) 亦满足约束条件,故 ( ω , b ) (\bm\omega,b) 下目标函数的值不小于最优值c,即
2 c 2 ω = ω 1 + ω 2 ω 1 + ω 2 = 2 c 2c \leq 2||\bm\omega||=||\bm\omega_1^*+\bm\omega_2^*||\leq||\bm\omega_1^*||+||\bm\omega_2^*||=2c

因此 ω = c ||\bm\omega||=c ,且上式取等号的条件是 ω 1 = ω 2 \bm\omega_1^*=\bm\omega_2^* ,因此 ω \bm\omega 的唯一性得证。

证明: α 1 + α 2 α 1 + α 2 ||\bm\alpha_1+\bm\alpha_2||\leq||\bm\alpha_1||+||\bm\alpha_2|| ,当前仅当 α 1 = α 2 \bm\alpha_1=\bm\alpha_2 时,不等式取等号.

从几何方向解释,若向量 α 1 \bm\alpha_1 α 2 \bm\alpha_2 不平行,由向量的加法定义可知, α 1 \bm\alpha_1 α 2 \bm\alpha_2 α 1 + α 2 \bm\alpha_1+\bm\alpha_2 可构成三角形,因此
α 1 + α 2 α 1 + α 2 ||\bm\alpha_1+\bm\alpha_2||\leq||\bm\alpha_1||+||\bm\alpha_2||

若向量 α 1 \bm\alpha_1 α 2 \bm\alpha_2 平行,则当 α 1 = ± α 2 \alpha_1=\pm\alpha_2 时,上述不等式显然成立。

再证 b b 的唯一性
( x 1 , 1 ) (\bm x_1',1) ( x 2 , 1 ) (\bm x_2',-1) 是超平面 ( ω , b 1 ) (\bm\omega^*,b_1^*) 的支持向量,另一个超平面是 ( ω , b 2 ) (\bm\omega^*,b_2^*) ,因此以下方程组成立
{ ω x 1 + b 1 = 1 ( 1 ) ω x 2 + b 1 = 1 ( 2 ) ω x 1 + b 2 1 ( 3 ) ω x 2 + b 2 1 ( 4 ) \begin{cases} \bm\omega^*\cdot\bm x_1'+b_1^*=1&\qquad(1)\\ \bm\omega^*\cdot\bm x_2'+b_1^*=-1&\qquad(2)\\ \bm\omega^*\cdot\bm x_1'+b_2^*\geq1&\qquad(3)\\ \bm\omega^*\cdot\bm x_2'+b_2^*\leq-1&\qquad(4)\\ \end{cases}

( 1 ) (1) 式减 ( 3 ) (3) 式得 b 1 b 2 0 b_1^*-b_2^*\leq0 ( 2 ) (2) 式减 ( 4 ) (4) 式得 b 1 b 2 0 b_1^*-b_2^*\geq0 ,因此 b 1 = b 2 b_1^* = b_2^* b b^* 的唯一性得证。

参数 b b 唯一性的几何解释

对于确定的超平面 ( ω , b ) (\bm\omega,b) ,其支持向量到超平面的函数间隔为 ± 1 \pm1 。若此时改变 b b b b' ,即平移超平面,则平移后最小函数间隔小于1,此时违反了最小函数间隔为1的约束条件,因此不存在另一个超平面 ( ω , b ) (\bm\omega,b') 满足约束条件。

学习的对偶算法

极值问题求解与对偶理论详见:https://blog.csdn.net/sinat_34072381/article/details/83685964

思想: ω \bm\omega b b 标记为 x i \bm x_i y i y_i 的线性组合形式,通过求解其系数进而求解 ω \bm\omega b b 对偶算法中参数更容易求解,且在参数学习时,实例点的特征计算仅以内积形式出现,可自然引入核函数。
引入拉格朗日辅助函数 L ( ω , b , α ) = 1 2 ω 2 + i = 1 N α i [ 1 y i ( ω x i + b ) ] L(\bm\omega,b,\bm\alpha)=\dfrac{1}{2}||\bm\omega||^2+\displaystyle\sum\limits_{i=1}^N\alpha_i[1-y_i(\bm\omega\cdot\bm x_i + b)] ,原问题的等价问题为
min ω , b max α L ( ω , b , α ) , s.t. α 0 \min\limits_{\bm\omega,b}\max\limits_{\bm\alpha}L(\bm\omega,b,\bm\alpha), \qquad \text{s.t.}\quad\bm\alpha\geq\bm 0

由拉格朗日的对偶性,以及原始问题的凸规划性,知原始问题的对偶问题(满足特定条件)
max α min ω , b L ( ω , b , α ) , s.t. α 0 \max\limits_{\bm\alpha}\min\limits_{\bm\omega,b}L(\bm\omega,b,\bm\alpha), \qquad \text{s.t.}\quad\bm\alpha\geq\bm 0

对偶算法求解步骤:
(I) 固定 α \bm\alpha ,通过 min ω , b L ( ω , b , α ) \min\limits_{\bm\omega,b}L(\bm\omega,b,\bm\alpha) ω , b \bm\omega,b
L ( ω , b , α ) L(\bm\omega,b,\bm\alpha) 分别求 ω \bm\omega b b 的偏导,并令其为0,得
w L ( ω , b , α ) = ω i = 1 N α i y i x i = 0 , b L ( ω , b , α ) = i = 1 N α i y i = 0 \nabla_{\bm w}L(\bm\omega,b,\bm\alpha)=\bm\omega-\sum\limits_{i=1}^N\alpha_iy_i\bm x_i=0,\quad \nabla_bL(\bm\omega,b,\bm\alpha)=-\sum\limits_{i=1}^N\alpha_iy_i=0

ω = i = 1 N α i y i x i \bm\omega = \sum\limits_{i=1}^N\alpha_iy_i\bm x_i i = 1 N α i y i = 0 \sum\limits_{i=1}^N\alpha_iy_i=0 ,带入对偶方程得
min ω , b L ( ω , b , α ) = 1 2 i = 1 N j = 1 N α i α j y i y j ( x i x j ) + i = 1 N α i \min\limits_{\bm\omega,b}L(\bm\omega,b,\bm\alpha)=-\frac{1}{2}\sum\limits_{i=1}^N\sum\limits_{j=1}^N\alpha_i\alpha_jy_iy_j(\bm x_i \cdot \bm x_j) + \sum_{i=1}^N \alpha_i

(II)再求 min ω , b L ( ω , b , α ) \min\limits_{\bm\omega,b}L(\bm\omega,b,\bm\alpha) α \bm\alpha 的极大,等价于求 min ω , b L ( ω , b , α ) -\min\limits_{\bm\omega,b}L(\bm\omega,b,\bm\alpha) α \bm\alpha 的极小。
根据步骤 I I 的结果,对偶问题转化为
min α 1 2 i = 1 N j = 1 N α i α j y i y j ( x i x j ) i = 1 N α i s.t, i = 1 N α i y i = 0 α i 0 , i = 1 , 2 ,   , N \begin{aligned} \min\limits_{\bm\alpha}&\quad \frac{1}{2}\sum\limits_{i=1}^N\sum\limits_{j=1}^N\alpha_i\alpha_jy_iy_j(\bm x_i \cdot \bm x_j) - \sum_{i=1}^N \alpha_i \\ \text{s.t,}&\quad\sum\limits_{i=1}^N\alpha_iy_i=0\\ &\quad\alpha_i\geq0,\quad i=1,2,\cdots,N \end{aligned}

使用求解约束方程得到拉格朗日乘子最优解(SMO算法后续文章介绍), α = ( α 1 , α 2 ,   , α N ) T , α 0 \bm\alpha^*=(\alpha_1^*,\alpha_2^*, \cdots,\alpha_N^*)^T, \bm\alpha^*\neq\bm0

(III) 求 ω \bm\omega^* b \bm b^* ,以及模型决策函数。
α j > 0 \alpha_j^*\gt0 ,对应实例点 ( x j , y j ) (x_j,y_j) ,则该点到超平面的函数间隔为1,即
y j ( ω x j + b ) = 1 , y j { + 1 , 1 } y_j(\bm\omega^*\cdot\bm x_j+b^*)=1, \quad y_j \in \{+1,-1\}

故对偶问题(原始问题)的解为
ω = i = 1 N α i y i x i b = y j i = 1 N α i y i ( x i x j ) \bm\omega^* = \displaystyle\sum\limits_{i=1}^N\alpha_i^*y_i\bm x_i\qquad b^*=y_j-\displaystyle\sum\limits_{i=1}^N\alpha_i^*y_i(\bm x_i\cdot \bm x_j)

易验证所求解 ω , b \bm\omega^*,b^* 满足KKT条件
{ ω L ( ω , b , α ) = ω i = 1 N α i y i x i = 0 b L ( ω , b , α ) = i = 1 N α i y i = 0 α i ( y i ( ω x i + b ) 1 ) = 0 y i ( ω x i + b ) 1 0 α i 0 , i = 1 , 2 ,   , N \begin{cases} \nabla_{\bm\omega}L(\bm\omega^*, b^*, \bm\alpha^*)=\bm\omega^*-\displaystyle\sum\limits_{i=1}^N\alpha_i^*y_i\bm x_i = \bm 0\\ \nabla_{b}L(\bm\omega^*, b^*, \bm\alpha^*)=-\displaystyle\sum\limits_{i=1}^N\alpha_i^*y_i= 0\\\\ \alpha_i^*(y_i(\bm \omega^* \cdot \bm x_i+b^*)-1)=0\\ y_i(\bm\omega^* \cdot \bm x_i+b^*)-1\geq 0\\ \alpha_i^*\geq 0, \quad i = 1,2,\cdots,N \end{cases}

(强对偶定理)对于原始问题,由于存在 x ^ \hat\bm x ,使得 g ( x ^ ) < 0 g(\hat\bm x)\lt\bm0 ,故对偶问题与原始问题的解一致,原问题得解。

为什么存在 x ^ \hat\bm x ,使得 g ( x ^ ) = 1 y ( ω x ^ + b ) < 0 g(\hat\bm x)=1-y(\bm\omega\cdot\hat\bm x + b)\lt\bm0 ?(有点疑惑,个人理解如下)

由于样本线性可分,故一定存在超平面正确划分样本集,即 g ( x ^ ) 0 g(\hat\bm x)\leq\bm0 恒成立。若令最小函数间隔小于1,则上述不等式成立。

因此,分离超平面 i = 1 N α i y i ( x x i ) + b = 0 \displaystyle\sum\limits_{i=1}^N\alpha_i^*y_i(\bm x \cdot \bm x_i)+b^*=\bm 0 ,分类决策函数 f ( x ) = sign ( i = 1 N α i y i ( x x i ) + b ) f(\bm x)=\text{sign}\left(\displaystyle\sum\limits_{i=1}^N\alpha_i^*y_i(\bm x \cdot \bm x_i)+b^*\right)

支持向量

线性可分SVM中,拉格朗日乘子 α i > 0 \alpha_i^*\gt0 的实例称为支持向量,即满足函数间隔为1(距超平面最近)
y i ( ω x i + b ) 1 = 0 y_i(\bm\omega\cdot\bm x_i + b) - 1 = 0

即正例 H 1 : ω x + b = 1 H_1:\bm\omega\cdot\bm x + b =1 ,负例 H 2 : ω x + b = 1 H_2:\bm\omega\cdot\bm x+b=-1 H 1 H_1 H 2 H_2 为间隔边界,支持向量到超平面的几何间隔为 1 / ω 1/||\bm\omega||

图1 硬间隔支持向量与决策边界

理解支持向量的函数间隔为1

证明:由最优化问题为最大化最小几何间隔 γ \gamma ,其中 γ ^ \hat\gamma 为最小函数间隔
max ω , b γ ^ ω ; s . t . y i ( ω x i + b ) γ ^ \max_{\bm\omega, b} \quad \frac{\hat\gamma}{||\bm\omega||};\quad s.t. \quad y_i(\bm\omega\cdot\bm x_i + b)\geq \hat\gamma

由于等比改变 ω \bm\omega b b 的值不影响最优化问题的解,故可调整 ω \omega b b 使 γ ^ = 1 \hat\gamma=1 ,即可得到最优化问题的变式
min ω , b 1 2 ω 2 ; s . t . 1 y i ( ω x i + b ) 0 \min_{\bm\omega, b} \quad\frac{1}{2}||\bm\omega||^2;\quad s.t. \quad 1- y_i(\bm\omega\cdot\bm x_i + b) \leq 0
此时最小函数间隔为1,即满足 y i ( ω x i + b ) = 1 y_i(\bm\omega\cdot\bm x_i + b) = 1

在不等式约束极值问题中,根据不等式条件 g ( x ) 0 \bm g(\bm x)\leq\bm0 的约束作用性,始终存在 (互补松弛条件)
α g ( x ) = 0 \bm\alpha\cdot\bm g(\bm x)=\bm0

且由 ( ω , b ) (\bm\omega, b) 的计算公式知,仅 α i 0 \alpha_i\neq0 的实例对超平面法向量 ω \bm\omega 具有支持作用,此时 g i ( x ) = 0 g_i(\bm x)=0 ,即对于实例 ( x i , y i ) (\bm x_i,y_i) 满足
y i ( ω x i + b ) 1 = 0 y_i(\bm\omega\cdot \bm x_i + b)-1=0

因此得出结论:仅支持向量影响超平面,其他实例点不起作用,即在间隔边界以外移动其它实例点不改变超平面。

猜你喜欢

转载自blog.csdn.net/sinat_34072381/article/details/83990549