机器学习笔记 -- SVM 支持向量机 公式推导

间隔最大使SVM有别于感知机;核技巧使它称为实质上的非线性分类器。


一、线性可分支持向量机

定义 给定线性可分训练数据集,通过间隔最大化(或等价求解相应的凸二次规划)学习得到的分离超平面

w ∗ ⋅ x + b ∗ = 0 w^* \cdot x + b^* = 0 wx+b=0

以及相应的分类决策函数

f ( x ) = s i g n ( w ∗ ⋅ x + b ∗ ) f(x)=sign(w^* \cdot x + b^*) f(x)=sign(wx+b)

称为线性可分支持向量机

1.1 线性可分支持向量机与硬间隔最大化

1.1.1 函数间隔

超平面 ( w , b ) (w,b) (w,b) 关于样本点 ( x i , y i ) (x_i,y_i) (xi,yi) 的函数间隔为

γ ^ i = y i ( w ⋅ x i + b ) \hat \gamma_i = y_i(w \cdot x_i + b) γ^i=yi(wxi+b)

超平面 ( w , b ) (w,b) (w,b) 关于训练数据集 T T T 的函数间隔为超平面 ( w , b ) (w,b) (w,b) 关于训练数据集 T T T 中的所有样本点 ( x i , y i ) (x_i,y_i) (xi,yi) 的函数间隔的最小值:

γ ^ = min ⁡ i = 1 , ⋯   , N γ ^ i \hat \gamma = \min _{i=1,\cdots,N} \hat \gamma_i γ^=i=1,,Nminγ^i

函数间隔可以表示预测的正确性以及确信度。但是选择分离超平面时,成比例地改变 w w w b b b,此时函数间隔也成比例地改变了,但超平面并不会改变;因此将超平面的法向量 w w w 规范化,即让 ∥ w ∥ = 1 \left \| w \right \|=1 w=1 ,这样函数间隔就是确定的了,称之为几何间隔。

1.1.2 几何间隔

超平面 ( w , b ) (w,b) (w,b) 关于样本点 ( x i , y i ) (x_i,y_i) (xi,yi) 的几何间隔为

γ i = y i ( w ∥ w ∥ ⋅ x i + b ∥ w ∥ ) \gamma_i = y_i \left( \frac {w}{\left \| w \right \|} \cdot x_i + \frac {b}{\left \| w \right \|} \right) γi=yi(wwxi+wb)

超平面 ( w , b ) (w,b) (w,b) 关于训练数据集 T T T 的几何间隔为超平面 ( w , b ) (w,b) (w,b) 关于训练数据集 T T T 中的所有样本点 ( x i , y i ) (x_i,y_i) (xi,yi) 的几何间隔的最小值:

γ = min ⁡ i = 1 , ⋯   , N γ i \gamma = \min _{i=1,\cdots,N}\gamma_i γ=i=1,,Nminγi

超平面 ( w , b ) (w,b) (w,b) 关于样本点 ( x i , y i ) (x_i,y_i) (xi,yi) 的几何间隔可以理解为实例点到超平面的带符号的距离(样本点被该超平面正确分类时为正,就是距离)

1.1.3 间隔最大化

考虑求解一个几何间隔最大的分离超平面

max ⁡ w , b γ s . t . y i ( w ∥ w ∥ ⋅ x i + b ∥ w ∥ ) ≥ γ , i = 1 , 2 , ⋯   , N \begin{aligned} &\max_{w,b} \quad \gamma \\ &s.t. \quad y_i \left( \frac {w}{\left \| w \right \|} \cdot x_i + \frac {b}{\left \| w \right \|} \right) \geq \gamma,\quad i=1,2,\cdots,N \end{aligned} w,bmaxγs.t.yi(wwxi+wb)γ,i=1,2,,N

可等价改写为

max ⁡ w , b γ ^ ∥ w ∥ s . t . y i ( w ⋅ x i + b ) ≥ γ ^ , i = 1 , 2 , ⋯   , N \begin{aligned} &\max_{w,b} \quad \frac {\hat \gamma}{\left \| w \right \|}\\ &s.t. \quad y_i \left( w \cdot x_i + b \right) \geq \hat \gamma,\quad i=1,2,\cdots,N \end{aligned} w,bmaxwγ^s.t.yi(wxi+b)γ^,i=1,2,,N

如前面所说,当成比例地改变函数间隔 γ ^ \hat \gamma γ^ 时,超平面并不会改变,因此对上面最优化问题的不等式约束没有影响,对目标函数的优化也没有影响,也就是产生了一个等价的最优化问题;于是可以取 γ ^ = 1 \hat \gamma = 1 γ^=1 ,带入上面优化问题,并注意到最大化 1 ∥ w ∥ \frac {1}{\left\| w \right\|} w1 和最小化 1 2 ∥ w ∥ 2 \frac 1 2 \left\| w \right\|^2 21w2 等价,于是得到如下的线性可分支持向量机学习的最优化问题

min ⁡ w , b 1 2 ∥ w ∥ 2 s . t . y i ( w ⋅ x i + b ) − 1 ≥ 0 , i = 1 , 2 , ⋯   , N (1.1) \tag{1.1} \begin{aligned} &\min_{w,b} \quad \frac 1 2 \left\| w \right\|^2 \\ &s.t. \quad y_i \left( w \cdot x_i + b \right) - 1 \geq 0,\quad i=1,2,\cdots,N \end{aligned} w,bmin21w2s.t.yi(wxi+b)10,i=1,2,,N(1.1)

这是一个凸二次规划问题 1 ^1 1,线性可分SVM的学习过程即为求解这个凸二次规划问题。这个解(亦即分离超平面)是存在且唯一的(李航《统计学习方法》page.100)

1.2 对偶算法

为求解上述最优化问题,应用拉格朗日对偶性 2 ^2 2,通过求解对偶问题得到原始问题的最优解。
这样做的目的:

  1. 对偶问题往往更容易求解;
  2. 自然引入核函数,方便推广到非线性问题。

构建拉格朗日函数:对每一个不等式约束 y i ( w ⋅ x i + b ) − 1 y_i \left( w \cdot x_i + b \right) - 1 yi(wxi+b)1 引进拉格朗日乘子 α i ≥ 0 \alpha_i \geq0 αi0,定义拉格朗日函数:

L ( w , b , α ) = 1 2 ∥ w ∥ 2 − ∑ i = 1 N α i y i ( w ⋅ x i + b ) + ∑ i = 1 N α i L(w,b,\alpha) = \frac{1}{2} \left\| w\right\|^2 - \sum^N_{i=1}{ \alpha_i y_i(w \cdot x_i+b) } + \sum^N_{i=1}{\alpha_i} L(w,b,α)=21w2i=1Nαiyi(wxi+b)+i=1Nαi

其中 α = ( α 1 , α 2 , ⋯   , α N ) T \alpha=(\alpha_1,\alpha_2,\cdots,\alpha_N)^T α=(α1,α2,,αN)T 为拉格朗日乘子向量。

则原问题可转化为一个极小极大问题:

min ⁡ w , b max ⁡ α L ( w , b , α ) \min_{w,b} \max_{\alpha} L(w,b,\alpha) w,bminαmaxL(w,b,α)

根据拉格朗日对偶性,原始问题的对偶问题是极大极小问题:

max ⁡ α min ⁡ w , b L ( w , b , α ) \max_{\alpha} \min_{w,b} L(w,b,\alpha) αmaxw,bminL(w,b,α)

因此先求 L ( w , b , α ) L(w,b,\alpha) L(w,b,α) w , b w,b w,b 的极小,再求对 α \alpha α 的极大。

  1. min ⁡ w , b L ( w , b , α ) \min_{w,b} L(w,b,\alpha) minw,bL(w,b,α) :将 L ( w , b , α ) L(w,b,\alpha) L(w,b,α) 分别对 w , b w,b w,b 求偏导并令偏导等于0.

▽ w L ( w , b , α ) = w − ∑ i = 1 N α i y i x i = 0 \triangledown_w L(w,b,\alpha)= w - \sum_{i=1}^N \alpha_i y_i x_i = 0 wL(w,b,α)=wi=1Nαiyixi=0

▽ b L ( w , b , α ) = ∑ i = 1 N α i y i = 0 \triangledown_b L(w,b,\alpha)= \sum_{i=1}^N \alpha_i y_i= 0 bL(w,b,α)=i=1Nαiyi=0

w = ∑ i = 1 N α i y i x i w = \sum_{i=1}^N \alpha_i y_i x_i w=i=1Nαiyixi

∑ i = 1 N α i y i = 0 \sum_{i=1}^N \alpha_i y_i= 0 i=1Nαiyi=0

将上两式带入 L ( w , b , α ) L(w,b,\alpha) L(w,b,α)

L ( w , b , α ) = 1 2 ∥ w ∥ 2 − ∑ i = 1 N α i y i ( w ⋅ x i + b ) + ∑ i = 1 N α i = 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) − ∑ i = 1 N α i y i ( ( ∑ j = 1 N α j y j x j ) ⋅ x i + b ) + ∑ i = 1 N α i = − 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) + ∑ i = 1 N α i \begin{aligned} L(w,b,\alpha) & = \frac{1}{2} \left\| w\right\|^2 - \sum^N_{i=1}{ \alpha_i y_i(w \cdot x_i+b) } + \sum^N_{i=1}{\alpha_i} \\ & = \frac{1}{2} \sum_{i=1}^N \sum_{j=1}^N \alpha_i \alpha_j y_i y_j (x_i \cdot x_j) - \sum_{i=1}^N { \alpha_i y_i \left( \left( \sum_{j=1}^N \alpha_j y_j x_j \right) \cdot x_i+b \right)} + \sum^N_{i=1}{\alpha_i} \\ & = - \frac{1}{2} \sum_{i=1}^N \sum_{j=1}^N \alpha_i \alpha_j y_i y_j (x_i \cdot x_j) + \sum^N_{i=1}{\alpha_i} \end{aligned} L(w,b,α)=21w2i=1Nαiyi(wxi+b)+i=1Nαi=21i=1Nj=1Nαiαjyiyj(xixj)i=1Nαiyi((j=1Nαjyjxj)xi+b)+i=1Nαi=21i=1Nj=1Nαiαjyiyj(xixj)+i=1Nαi

min ⁡ w , b L ( w , b , α ) = − 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) + ∑ i = 1 N α i \min_{w,b} L(w,b,\alpha) = - \frac{1}{2} \sum_{i=1}^N \sum_{j=1}^N \alpha_i \alpha_j y_i y_j (x_i \cdot x_j) + \sum^N_{i=1}{\alpha_i} w,bminL(w,b,α)=21i=1Nj=1Nαiαjyiyj(xixj)+i=1Nαi

  1. min ⁡ w , b L ( w , b , α ) \min_{w,b} L(w,b,\alpha) minw,bL(w,b,α) α \alpha α 的极大,即对偶问题:

max ⁡ α − 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} &\max_\alpha \quad - \frac{1}{2} \sum_{i=1}^N \sum_{j=1}^N \alpha_i \alpha_j y_i y_j (x_i \cdot x_j) + \sum^N_{i=1}{\alpha_i} \\ &s.t. \qquad \sum_{i=1}^N \alpha_i y_i= 0 \\ &\qquad \quad \alpha_i \geq 0,\quad i=1,2,\cdots,N \end{aligned} αmax21i=1Nj=1Nαiαjyiyj(xixj)+i=1Nαis.t.i=1Nαiyi=0αi0,i=1,2,,N

将目标函数由求极大转换成求极小,得到下面对偶最优化问题:

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 (1.2) \tag{1.2} \begin{aligned} &\min_\alpha \quad \frac{1}{2} \sum_{i=1}^N \sum_{j=1}^N \alpha_i \alpha_j y_i y_j (x_i \cdot x_j) - \sum^N_{i=1}{\alpha_i}\\ &s.t. \qquad \sum_{i=1}^N \alpha_i y_i= 0 \\ &\qquad \quad \alpha_i \geq 0,\quad i=1,2,\cdots,N \end{aligned} αmin21i=1Nj=1Nαiαjyiyj(xixj)i=1Nαis.t.i=1Nαiyi=0αi0,i=1,2,,N(1.2)

考虑原始最优化问题 ( 1 ) (1) (1)和对偶最优化问题 ( 2 ) (2) (2),存在 w ∗ , b ∗ , α ∗ w^*,b^*,\alpha^* w,b,α,使 w ∗ , b ∗ w^*,b^* w,b 是原始问题的解, α ∗ \alpha^* α 是对偶问题的解,因此求解原始问题 ( 1 ) (1) (1)可以转换为求解对偶问题 ( 2 ) (2) (2)

α ∗ = ( α 1 ∗ , α 2 ∗ , ⋯   , α N ∗ ) T \alpha^*=(\alpha_1^*,\alpha_2^*,\cdots,\alpha_N^*)^T α=(α1,α2,,αN)T 是对偶问题的解,则根据KKT条件的推导,存在下标 j j j 使得 α j ∗ > 0 \alpha_j^* > 0 αj>0 (实际上训练数据集中对应于 α j ∗ > 0 \alpha_j^* > 0 αj>0 的样本点 ( x j , y j ) (x_j,y_j) (xj,yj) 称为支持向量),且可按下式求得原问题的解 w ∗ , b ∗ w^*,b^* w,b

w ∗ = ∑ i = 1 N α i ∗ y i x i w^*=\sum_{i=1}^N \alpha^*_i y_i x_i w=i=1Nαiyixi

b ∗ = y i − ∑ i = 1 N α i ∗ y i ( x i ⋅ x j ) b^* = y_i - \sum_{i=1}^N \alpha^*_i y_i (x_i \cdot x_j) b=yii=1Nαiyi(xixj)


二、线性支持向量机

2.1 线性支持向量机与软间隔最大化

线性不可分意味着某些样本点不可能满足函数间隔大于等于1的约束条件(即 ( 1.1 ) (1.1) (1.1)中约束条件),为解决此问题,需对每个样本点 ( x i , y i ) (x_i,y_i) (xi,yi) 引入一个松弛变量 ξ i ≥ 0 \xi_i \geq 0 ξi0,使函数间隔加上松弛变量后大于等于1,这样约束条件变为

y i ( w ⋅ x i + b ) ≥ 1 − ξ i y_i \left( w \cdot x_i + b \right) \geq 1 - \xi_i yi(wxi+b)1ξi

同时,对每个松弛变量,支付一个代价,则 ( 1.1 ) (1.1) (1.1)中目标函数变为

1 2 ∥ w ∥ 2 + C ∑ i = 1 N ξ i \frac 1 2 \left\| w \right\|^2 + C \sum_{i=1}^N\xi_i 21w2+Ci=1Nξi

其中 C > 0 C>0 C>0 为惩罚参数;最小化上述目标函数有两层含义:使 1 2 ∥ w ∥ 2 \frac 1 2 \left\| w \right\|^2 21w2 尽可能小即间隔尽量大,同时使误分类点个数尽量小, C C C 是调和二者的系数。

因此线性不可分的线性支持向量机的学习问题为如下凸二次规划问题(原始问题):

min ⁡ w , b 1 2 ∥ w ∥ 2 + C ∑ i = 1 N ξ i s . t . y i ( w ⋅ x i + b ) ≥ 1 − ξ i , i = 1 , 2 , ⋯   , N ξ i ≥ 0 , i = 1 , 2 , ⋯   , N (2.1) \tag{2.1} \begin{aligned} &\min_{w,b} \quad \frac 1 2 \left\| w \right\|^2 + C \sum_{i=1}^N\xi_i \\ &s.t. \quad y_i \left( w \cdot x_i + b \right) \geq 1 - \xi_i,\quad i=1,2,\cdots,N \\ & \qquad \xi_i \geq 0,\quad i=1,2,\cdots,N \end{aligned} w,bmin21w2+Ci=1Nξis.t.yi(wxi+b)1ξi,i=1,2,,Nξi0,i=1,2,,N(2.1)

可以证明 w w w 的解唯一,但 b b b 的解不唯一且存在于一个区间。

2.2 对偶算法

原始问题 ( 2.1 ) (2.1) (2.1)的对偶问题是

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 0 ≤ α i ≤ C , i = 1 , 2 , ⋯   , N (2.2) \tag{2.2} \begin{aligned} &\min_\alpha \quad \frac{1}{2} \sum_{i=1}^N \sum_{j=1}^N \alpha_i \alpha_j y_i y_j (x_i \cdot x_j) - \sum^N_{i=1}{\alpha_i}\\ &s.t. \qquad \sum_{i=1}^N \alpha_i y_i= 0 \\ &\qquad \quad 0 \leq \alpha_i \leq C,\quad i=1,2,\cdots,N \end{aligned} αmin21i=1Nj=1Nαiαjyiyj(xixj)i=1Nαis.t.i=1Nαiyi=00αiC,i=1,2,,N(2.2)


三、非线性支持向量机

3.1 核函数

定义:如果存在一个从输入空间 X \mathcal X X 到特征空间 H \mathcal H H 的映射 ϕ ( x ) : X → H \phi(x):\mathcal X \to \mathcal H ϕ(x):XH ,使得对所有 x , z ∈ X x,z \in \mathcal X x,zX,函数 K ( x , z ) K(x,z) K(x,z) 满足条件

K ( x , z ) = ϕ ( x ) ⋅ ϕ ( z ) K(x,z) = \phi(x) \cdot \phi(z) K(x,z)=ϕ(x)ϕ(z)

则称 K ( x , z ) K(x,z) K(x,z)为核函数, ϕ ( x ) \phi(x) ϕ(x)为映射函数。

常用核函数
  1. 线性核 K ( x , z ) = x ⋅ z K(x,z) = x \cdot z K(x,z)=xz
  2. 多项式核函数 K ( x , z ) = ( x ⋅ z + 1 ) p K(x,z) = (x \cdot z + 1)^p K(x,z)=(xz+1)p
    对应的支持向量机是一个 p p p 次多项式分类器。
  3. 高斯核函数 K ( x , z ) = e − ∥ x − z ∥ 2 2 σ 2 K(x,z) =e^ {- \frac{\left\| x-z \right\| ^2}{2\sigma^2}} K(x,z)=e2σ2xz2
    对应支持向量机是高斯径向基函数分类器
SVM 的核函数选择和调参

https://blog.csdn.net/aliceyangxi1987/article/details/80617649

3.2 非线性支持向量分类机

从非线性训练集通过核函数与软间隔最大化,或凸二次规划,学习得到的分类决策函数(即非线性支持向量机)为

f ( x ) = s i g n ( ∑ i = 1 N α i ∗ y i K ( x , x i ) + b ∗ ) f(x) = sign \biggl( \sum_{i=1}^N \alpha^*_i y_i K(x,x_i) +b^* \biggr) f(x)=sign(i=1NαiyiK(x,xi)+b)

非线性支持向量机学习算法:

  1. 构造最优化问题:

min ⁡ α 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j K ( x i ⋅ x j ) − ∑ i = 1 N α i s . t . ∑ i = 1 N α i y i = 0 0 ≤ α i ≤ C , i = 1 , 2 , ⋯   , N (3) \tag{3} \begin{aligned} &\min_\alpha \quad \frac{1}{2} \sum_{i=1}^N \sum_{j=1}^N \alpha_i \alpha_j y_i y_j K(x_i \cdot x_j) - \sum^N_{i=1}{\alpha_i}\\ &s.t. \qquad \sum_{i=1}^N \alpha_i y_i= 0 \\ &\qquad \quad 0 \leq \alpha_i \leq C,\quad i=1,2,\cdots,N \end{aligned} αmin21i=1Nj=1NαiαjyiyjK(xixj)i=1Nαis.t.i=1Nαiyi=00αiC,i=1,2,,N(3)

并求得最优解 α ∗ = ( α 1 ∗ , α 2 ∗ , ⋯   , α N ∗ ) T \alpha^*=(\alpha_1^*,\alpha_2^*,\cdots,\alpha_N^*)^T α=(α1,α2,,αN)T

  1. 选择 α ∗ \alpha^* α 的一个正分量 0 < α j ∗ < C 0 < \alpha_j^* < C 0<αj<C,计算

b ∗ = y i − ∑ i = 1 N α i ∗ y i K ( x i ⋅ x j ) b^* = y_i - \sum_{i=1}^N \alpha^*_i y_i K(x_i \cdot x_j) b=yii=1NαiyiK(xixj)

  1. 构造决策函数:

f ( x ) = s i g n ( ∑ i = 1 N α i ∗ y i K ( x , x i ) + b ∗ ) f(x) = sign \biggl( \sum_{i=1}^N \alpha^*_i y_i K(x,x_i) +b^* \biggr) f(x)=sign(i=1NαiyiK(x,xi)+b)


四、SMO 序列最小优化算法


参考文献
[1] 李航《统计学习方法》


补充

  1. 凸二次规划问题

  2. 拉格朗日对偶性

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值