SVM 公式推导

1.1. SVM

1.1.1. 支持向量机的基本型

思想:找到一个划分两类训练样本的超平面,并使间隔最大化。

(1)超平面:表达式
w T x + b = 0 \boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}+b=0 wTx+b=0

(2)函数间隔
定义样本点 ( x i , y i ) (x_i, y_i) (xi,yi)到超平面( w , b \boldsymbol{w}, b w,b)函数间隔为:
γ i ^ = y i ( w T x i + b ) \hat{\gamma_i} = y_i(\boldsymbol{w}^T\boldsymbol{x_i} + b) γi^=yi(wTxi+b)

函数间隔为正表明分类正确,负表明分类错误,因此函数间隔可以表示分类预测的正确性;
在超平面保持不变的情况下,等比例缩放 w 、 b \boldsymbol{w}、b wb,会导致函数间隔也等比例缩放,因此需要进行约束。

(3)几何间隔
样本点 ( x i , y i ) (x_i, y_i) (xi,yi)到超平面( w , b \boldsymbol{w}, b w,b)几何间隔为:
γ i = ∣ w T x i + b ∣ ∥ w ∥ \gamma_i=\frac{\left|\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x_i}+b\right|}{\|\boldsymbol{w}\|} γi=wwTxi+b

几何间隔的物理含义是点到超平面的距离,即使超平面参数等比例发生变化,几何间隔仍保持不变

点到平面距离
若点坐标为 ( x 0 , y 0 , z 0 ) (x_0,y_0,z_0) (x0,y0,z0),平面为 A x + B y + C z + D = 0 Ax+By+Cz+D=0 Ax+By+Cz+D=0,则点到平面的距离为
d = ∣ A x 0 + B y 0 + C z 0 + D A 2 + B 2 + C 2 ∣ d=\left|\frac{A x_{0}+B y_{0}+C z_{0}+D}{\sqrt{A^{2}+B^{2}+C^{2}}}\right| d=A2+B2+C2 Ax0+By0+Cz0+D

几何间隔与函数间隔关系:
γ i = γ i ^ ∥ w ∥ \gamma_i = \frac{\hat{\gamma_i}}{\|\boldsymbol{w}\|} γi=wγi^

(4) 间隔最大化
样本点到超平面的最小距离为
γ = min ⁡ i = 1 , . . . N γ i \gamma = \min_{i=1,...N}\gamma_i γ=i=1,...Nminγi
要使间隔最大化,即求解下面的约束问题:
max ⁡ w , b γ s.t.  y i ( w T x i + b ) ∥ w ∥ ⩾ γ , i = 1 , . . . N \max_{\boldsymbol{w}, b} \gamma \\ \text{s.t. } \frac{y_i(\boldsymbol{w^Tx_i}+b)}{\|\boldsymbol{w}\|}\geqslant \gamma, i=1,...N w,bmaxγs.t. wyi(wTxi+b)γ,i=1,...N

根据函数间隔和几何间隔的关系,得到
max ⁡ w , b γ ^ ∥ w ∥ s.t.  y i ( w T x i + b ) ⩾ γ ^ , i = 1 , . . . N \max_{\boldsymbol{w}, b} \frac{\hat{\gamma}}{\|\boldsymbol{w}\|} \\ \text{s.t. } y_i(\boldsymbol{w^Tx_i}+b)\geqslant \hat{\gamma}, i=1,...N w,bmaxwγ^s.t. yi(wTxi+b)γ^,i=1,...N

γ ^ \hat{\gamma} γ^的改变不影响最优化问题的求解。为方便将 γ ^ = 1 \hat{\gamma}=1 γ^=1,于是得到优化目标 1 ∥ w ∥ \frac{1}{\|\boldsymbol{w}\|} w1。又因为最大化 1 ∥ w ∥ \frac{1}{\|\boldsymbol{w}\|} w1和最小化 1 2 ∥ w ∥ 2 \frac{1}{2} \|\boldsymbol{w}\| ^2 21w2等价,所以:
min ⁡ w , b 1 2 ∥ w ∥ 2 s.t.  y i ( w T x i + b ) ⩾ 1 , i = 1 , 2 , … , m \min _{\boldsymbol{w}, b} \frac{1}{2}{\|\boldsymbol{w}\|}^2 \\ \text{s.t. }y_{i}\left(\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}_{i}+b\right) \geqslant 1, \quad i=1,2, \ldots, m w,bmin21w2s.t. yi(wTxi+b)1,i=1,2,,m

1.1.2. 对偶问题

(1)构建拉格朗日函数
对SVM的基本型使用拉格朗日乘子法可以得到拉格朗日函数。即对每条约束添加拉格朗日乘子 α i ⩾ 0 \alpha_i \geqslant 0 αi0.
L ( w , b , α ) = 1 2 ∥ w ∥ 2 + ∑ i = 1 m α i ( 1 − y i ( w T x i + b ) ) L(\boldsymbol{w}, b, \boldsymbol{\alpha})=\frac{1}{2}\|\boldsymbol{w}\|^{2}+\sum_{i=1}^{m} \alpha_{i}\left(1-y_{i}\left(\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}_{i}+b\right)\right) L(w,b,α)=21w2+i=1mαi(1yi(wTxi+b))
原始目标函数转化成:
max ⁡ w , b L ( w , b , α ) \max_{\boldsymbol{w}, b}L(\boldsymbol{w}, b, \alpha) w,bmaxL(w,b,α)

如果约束条件不满足,即出现 ( 1 − y i ( w T x i + b ) ) > 0 (1-y_i(\boldsymbol{w^Tx_i}+b))>0 (1yi(wTxi+b))>0,令 α i \alpha_i αi趋近于无穷,目标函数取值也趋近于无穷。

对目标函数取最小值,原问题转化成:
min ⁡ α max ⁡ w , b ( L ( w , b , α ) ) \min_\alpha \max_{\boldsymbol{w}, b}(L(\boldsymbol{w}, b, \alpha)) αminw,bmax(L(w,b,α))

由于不满足约束条件的函数值为无穷大,因此取得的最小值必然满足约束条件

(2)转化为对偶问题

为什么转化为对偶问题?
1.对偶问题将原始问题中的约束转为了对偶问题中的等式约束
2.方便核函数的引入
3.改变了问题的复杂度。由求特征向量w转化为求比例系数a,在原始问题下,求解的复杂度与样本的维度有关,即w的维度。在对偶问题下,只与样本数量有关。

原始问题是极小极大问题,转化为对偶问题为极大极小问题。
max ⁡ α min ⁡ w , b L ( w , b , α ) \max_\alpha \min_{\boldsymbol{w},b}L(\boldsymbol{w}, b, \alpha) αmaxw,bminL(w,b,α)

(3)计算 min ⁡ w , b L ( w , b , α ) \min_{\boldsymbol{w},b}L(\boldsymbol{w}, b, \alpha) minw,bL(w,b,α)

L ( w , b , x ) L(\boldsymbol{w},b,x) L(w,b,x) w , b \boldsymbol{w}, b w,b的偏导为0
∂ L ∂ w = w − ∑ i = 1 m α i y i x i = 0 \frac{\partial L}{\partial \boldsymbol{w}}=\boldsymbol{w} - \sum_{i=1}^m\alpha_iy_i\boldsymbol{x_i}=0 wL=wi=1mαiyixi=0
∂ L ∂ b = − ∑ i = 1 m α i y i = 0 \frac{\partial L}{\partial b} = -\sum_{i=1}^m\alpha_iy_i=0 bL=i=1mαiyi=0

w = ∑ i = 1 m α i y i x i \boldsymbol{w}=\sum_{i=1}^m\alpha_iy_i\boldsymbol{x_i} w=i=1mαiyixi
∑ i = 1 m α i y i = 0 \sum_{i=1}^m\alpha_iy_i=0 i=1mαiyi=0
w = ∑ i = 1 m α i y i x i \boldsymbol{w}=\sum_{i=1}^m\alpha_iy_i\boldsymbol{x_i} w=i=1mαiyixi代入拉格朗日函数:
L ( w , b , α ) = 1 2 w T w + ∑ i = 1 m α i ( 1 − y i ( w T x i + b ) ) = 1 2 ∑ i = 1 m α i y i x i T ∑ j = 1 m α j y j x j + ∑ i = 1 m α i ( 1 − y i ( ∑ j = 1 m α j y j x j T x i + b ) ) = 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j x i T x j + ∑ i = 1 m α i − ∑ i = 1 m ∑ j = 1 m α i α j y i y j x i T x j + b ∑ i = 1 m α i y i = ∑ i = 1 m α i − 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j x i T x j \begin{aligned} L(\boldsymbol{w}, b, \boldsymbol{\alpha})&=\frac{1}{2}\boldsymbol{w}^T\boldsymbol{w}+ \sum_{i=1}^{m} \alpha_{i}\left(1-y_{i}\left(\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}_{i}+b\right)\right) \\ &=\frac{1}{2}\sum_{i=1}^m{\alpha_iy_i\boldsymbol{x_i}^T} \sum_{j=1}^m\alpha_jy_j\boldsymbol{x_j} +\sum_{i=1}^m\alpha_i(1-y_i(\sum_{j=1}^m \alpha_j y_j \boldsymbol{x_j}^T \boldsymbol{x_i} + b)) \\ & = \frac{1}{2}\sum_{i=1}^m\sum_{j=1}^m\alpha_i\alpha_j y_i y_j \boldsymbol{x_i}^T \boldsymbol{x_j} + \sum_{i=1}^m \alpha_i - \sum_{i=1}^m\sum_{j=1}^m\alpha_i\alpha_j y_i y_j \boldsymbol{x_i}^T \boldsymbol{x_j} + b\sum_{i=1}^m\alpha_i y_i \\ &=\sum_{i=1}^m \alpha_i - \frac{1}{2}\sum_{i=1}^m\sum_{j=1}^m\alpha_i\alpha_j y_i y_j \boldsymbol{x_i}^T \boldsymbol{x_j} \end{aligned} L(w,b,α)=21wTw+i=1mαi(1yi(wTxi+b))=21i=1mαiyixiTj=1mαjyjxj+i=1mαi(1yi(j=1mαjyjxjTxi+b))=21i=1mj=1mαiαjyiyjxiTxj+i=1mαii=1mj=1mαiαjyiyjxiTxj+bi=1mαiyi=i=1mαi21i=1mj=1mαiαjyiyjxiTxj
(4)对偶问题
上式计算出来是满足条件的间隔,而我们的目标是间隔最大化,同时考虑到关于 α \alpha α的约束条件,得到如下问题:
max ⁡ α ∑ i = 1 m α i − 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j x i T x j \max _{\boldsymbol{\alpha}} \sum_{i=1}^{m} \alpha_{i}-\frac{1}{2} \sum_{i=1}^{m} \sum_{j=1}^{m} \alpha_{i} \alpha_{j} y_{i} y_{j} \boldsymbol{x}_{i}^{\mathrm{T}} \boldsymbol{x}_{j} αmaxi=1mαi21i=1mj=1mαiαjyiyjxiTxj
 s.t.  ∑ i = 1 m α i y i = 0 α i ⩾ 0 , i = 1 , 2 , … , m \begin{array}{ll}{\text { s.t. }} & {\sum_{i=1}^{m} \alpha_{i} y_{i}=0} \\ {} & {\alpha_{i} \geqslant 0, \quad i=1,2, \ldots, m}\end{array}  s.t. i=1mαiyi=0αi0,i=1,2,,m

原始问题的最优解( w ∗ , b ∗ \boldsymbol{w^*},b^* w,b)和对偶问题最优解( α ∗ \alpha^* α)满足KKT条件时:
{ α i ⩾ 0 y i f ( x i ) − 1 ⩾ 0 α i ( y i f ( x i ) − 1 ) = 0 \left\{\begin{array}{l}{\alpha_{i} \geqslant 0} \\ {y_{i} f\left(x_{i}\right)-1 \geqslant 0} \\ {\alpha_{i}\left(y_{i} f\left(\boldsymbol{x}_{i}\right)-1\right)=0}\end{array}\right. αi0yif(xi)10αi(yif(xi)1)=0
二者的解相同。

L ( a , b , x ) = f ( x ) + a ⋅ g ( x ) + b ⋅ h ( x ) L(a,b,x)=f(x)+a\cdot g(x) + b \cdot h(x) L(a,b,x)=f(x)+ag(x)+bh(x), 原始问题最优解 x ∗ x^* x,对偶问题最优解 a ∗ , b ∗ a^*, b^* a,b.
KKT条件:
i. ∇ x L ( a ∗ , b ∗ , x ∗ ) = 0 , ∇ a L ( a ∗ , b ∗ , x ∗ ) = 0 , ∇ b L ( a ∗ , b ∗ , x ∗ ) = 0 \nabla_{x} L\left(a^{*}, b^{*}, x^{*}\right)=0, \nabla_{a} L\left(a^{*}, b^{*}, x^{*}\right)=0, \nabla_{b} L\left(a^{*}, b^{*}, x^{*}\right)=0 xL(a,b,x)=0,aL(a,b,x)=0,bL(a,b,x)=0
ii. a ∗ ⋅ g i ( x ∗ ) = 0 a^{*} \cdot g_{i}\left(x^{*}\right)=0 agi(x)=0
iii. g i ( x ∗ ) ≤ 0 g_{i}\left(x^{*}\right) \leq 0 gi(x)0
vi. a i ∗ ≥ 0 , h j ( x ) = 0 a_{i}^{*} \geq 0, h_{j}(x)=0 ai0,hj(x)=0

(5) 求解结果
假设求解得到最优解的为 α ∗ \alpha^* α,则
w ∗ = ∑ i = 1 m α i ∗ y i x i \boldsymbol{w^*} = \sum_{i=1}^m\alpha_i^*y_i\boldsymbol{x_i} w=i=1mαiyixi
b ∗ = 1 ∣ S ∣ ∑ s ∈ S ( y s − ∑ i = 1 m α i y i x i T x s ) b^*=\frac{1}{|S|} \sum_{s \in S}\left(y_{s}-\sum_{i=1}^m \alpha_{i} y_{i} \boldsymbol{x}_{i}^{\mathrm{T}} \boldsymbol{x}_{s}\right) b=S1sS(ysi=1mαiyixiTxs)
于是超平面为:
w ∗ x + b ∗ = 0 \boldsymbol{w^*x} + b^* = 0 wx+b=0
决策函数为:
f ( x ) = s i g n ( w ∗ x + b ∗ ) f(x) = sign(\boldsymbol{w^*x}+b^*) f(x)=sign(wx+b)

1.1.3. 软间隔

以上提出的支持向量机模型是线性的,对于线性不可分的数据不适用。线性不可分意味着部分样本不能满足函数间隔大于等于1的约束条件。为此,为每个样本点引入松弛变量 ξ i ⩾ 0 \xi_i \geqslant 0 ξi0,使得函数间隔加上松弛变量大于等于1,约束条件变成:
y i ( w T x i + b ) ⩾ 1 − ξ i y_i(\boldsymbol{w^Tx_i}+b)\geqslant 1-\xi_i yi(wTxi+b)1ξi
对每个松弛变量 ξ i \xi_i ξi,支付一个代价 ξ i \xi_i ξi,则目标函数变成:
1 2 ∥ w ∥ 2 + C ∑ i = 1 m ξ i \frac{1}{2}\|\boldsymbol{w}\|^2+C\sum_{i=1}^m\xi_i 21w2+Ci=1mξi

C为惩罚系数。

(1)原始问题
引入软间隔之后,原始问题变成:
min ⁡ w , b , ξ 1 2 ∥ w ∥ 2 + C ∑ i = 1 m ξ i s.t.  y i ( w T x + b ) ⩾ 1 − ξ i , i = 1 , . . . , m ξ i ⩾ 0 , i = 1 , . . . , m \min_{\boldsymbol{w}, b, \xi} \frac{1}{2}\|\boldsymbol{w}\|^2+C\sum_{i=1}^m\xi_i \\ \text{s.t. }y_i(\boldsymbol{w^Tx}+b) \geqslant 1-\xi_i, i=1,...,m\\ \xi_i \geqslant 0, i=1,...,m w,b,ξmin21w2+Ci=1mξis.t. yi(wTx+b)1ξi,i=1,...,mξi0,i=1,...,m

(2)对偶问题
先求出拉格朗日函数:
L ( w , b , α , ξ , μ ) = 1 2 ∥ w ∥ 2 + C ∑ i = 1 m ξ i + ∑ i = 1 m α i ( 1 − ξ i − y i ( w T x i + b ) ) − ∑ i = 1 m μ i ξ i \begin{aligned} L(\boldsymbol{w}, b, \boldsymbol{\alpha}, \boldsymbol{\xi}, \boldsymbol{\mu})= \frac{1}{2}\|\boldsymbol{w}\|^{2}+C \sum_{i=1}^{m} \xi_{i}+\sum_{i=1}^{m} \alpha_{i}\left(1-\xi_{i}-y_{i}\left(\boldsymbol{w}^{T} \boldsymbol{x}_{i}+b\right)\right)-\sum_{i=1}^{m} \mu_{i} \xi_{i} \end{aligned} L(w,b,α,ξ,μ)=21w2+Ci=1mξi+i=1mαi(1ξiyi(wTxi+b))i=1mμiξi

再对 w , b , ξ i \boldsymbol{w}, b, \xi_i w,b,ξi求偏导等于0得到:
w = ∑ i = 1 m α i y i x i 0 = ∑ i = 1 m α i y i C = α i + μ i \begin{aligned} w &=\sum_{i=1}^{m} \alpha_{i} y_{i} \boldsymbol{x}_{i} \\ 0 &=\sum_{i=1}^{m} \alpha_{i} y_{i} \\ C &=\alpha_{i}+\mu_{i} \end{aligned} w0C=i=1mαiyixi=i=1mαiyi=αi+μi

最后得到对偶问题:
max ⁡ α ∑ i = 1 m α i − 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j x i T x j s.t.  ∑ i = 1 m α i y i = 0 0 ⩽ α i ⩽ C , i = 1 , 2 , … , m \max _{\boldsymbol{\alpha}} \sum_{i=1}^{m} \alpha_{i}-\frac{1}{2} \sum_{i=1}^{m} \sum_{j=1}^{m} \alpha_{i} \alpha_{j} y_{i} y_{j} \boldsymbol{x}_{i}^{\mathrm{T}} \boldsymbol{x}_{j} \\ \text{s.t. } \sum_{i=1}^{m} \alpha_{i} y_{i}=0 \\ 0 \leqslant \alpha_{i} \leqslant C, \quad i=1,2, \ldots, m αmaxi=1mαi21i=1mj=1mαiαjyiyjxiTxjs.t. i=1mαiyi=00αiC,i=1,2,,m

相较于硬间隔支持向量机, α i \alpha_i αi增加了一个约束C,其余相同.

KKT条件:
{ α i ⩾ 0 , μ i ⩾ 0 y i f ( x i ) − 1 + ξ i ⩾ 0 α i ( y i f ( x i ) − 1 + ξ i ) = 0 ξ i ⩾ 0 , μ i ξ i = 0 \left\{\begin{array}{l}{\alpha_{i} \geqslant 0, \quad \mu_{i} \geqslant 0} \\ {y_{i} f\left(\boldsymbol{x}_{i}\right)-1+\xi_{i} \geqslant 0} \\ {\alpha_{i}\left(y_{i} f\left(\boldsymbol{x}_{i}\right)-1+\xi_{i}\right)=0} \\ {\xi_{i} \geqslant 0, \mu_{i} \xi_{i}=0}\end{array}\right. αi0,μi0yif(xi)1+ξi0αi(yif(xi)1+ξi)=0ξi0,μiξi=0

1.1.4. 核函数

(1)核技巧
对于非线性分类问题,首先使用一个变换将原空间的数据映射到新空间,然后再新空间里用线性分类学习方法从训练数据中学习分类模型.

(2)核函数
核函数与映射函数的关系
X X X是输入空间, H H H是特征空间(希尔伯特空间),如果存在一个从 X X X H H H的映射,
ϕ ( x ) : X → H \phi(x):X\rightarrow H ϕ(x):XH
使得对于所有的 x , z ∈ X x,z \in X x,zX,函数 K ( x , z ) K(x,z) K(x,z)满足条件
K ( x , z ) = ϕ ( x ) T ⋅ ϕ ( z ) K(x,z)=\phi(x)^T\cdot \phi(z) K(x,z)=ϕ(x)Tϕ(z)
则成 K ( x , z ) K(x,z) K(x,z)为核函数.
在实际使用中,只定义核函数,不显性定义映射.因为映射后的空间维数可能很高,直接计算 ϕ ( x ) T ⋅ ϕ ( z ) \phi(x)^T\cdot \phi(z) ϕ(x)Tϕ(z)通常很困难.由于计算结果是一个数,因此可以使用核函数来替代映射内积的结果

(3)原始问题:
min ⁡ w , b 1 2 ∥ w ∥ 2  s.t.  y i ( w T ϕ ( x i ) + b ) ⩾ 1 , i = 1 , 2 , … , m {\min _{\boldsymbol{w}, b} \frac{1}{2}\|\boldsymbol{w}\|^{2}} \\ {\text { s.t. } y_{i}\left(\boldsymbol{w}^{\mathrm{T}} \phi\left(\boldsymbol{x}_{i}\right)+b\right) \geqslant 1, \quad i=1,2, \ldots, m} w,bmin21w2 s.t. yi(wTϕ(xi)+b)1,i=1,2,,m

(4)对偶问题
max ⁡ α ∑ i = 1 m α i − 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j κ ( x i , x j )  s.t.  ∑ i = 1 m α i y i = 0 α i ⩾ 0 , i = 1 , 2 , … , m \begin{array}{cl}{\max _{\alpha}} & {\sum_{i=1}^{m} \alpha_{i}-\frac{1}{2} \sum_{i=1}^{m} \sum_{j=1}^{m} \alpha_{i} \alpha_{j} y_{i} y_{j} \kappa\left(\boldsymbol{x}_{i}, \boldsymbol{x}_{j}\right)} \\ {\text { s.t. }} & {\sum_{i=1}^{m} \alpha_{i} y_{i}=0} \\ {} & {\alpha_{i} \geqslant 0, \quad i=1,2, \ldots, m}\end{array} maxα s.t. i=1mαi21i=1mj=1mαiαjyiyjκ(xi,xj)i=1mαiyi=0αi0,i=1,2,,m

(5)决策平面
f ( x ) = w T ϕ ( x ) + b = ∑ i = 1 m α i y i ϕ ( x i ) T ϕ ( x ) + b = ∑ i = 1 m α i y i κ ( x , x i ) + b \begin{aligned} f(\boldsymbol{x}) &=\boldsymbol{w}^{\mathrm{T}} \phi(\boldsymbol{x})+b \\ &=\sum_{i=1}^{m} \alpha_{i} y_{i} \phi\left(\boldsymbol{x}_{i}\right)^{\mathrm{T}} \phi(\boldsymbol{x})+b \\ &=\sum_{i=1}^{m} \alpha_{i} y_{i} \kappa\left(\boldsymbol{x}, \boldsymbol{x}_{i}\right)+b \end{aligned} f(x)=wTϕ(x)+b=i=1mαiyiϕ(xi)Tϕ(x)+b=i=1mαiyiκ(x,xi)+b

(6)常用核函数
[外链图片转存失败(img-5QuHpX0x-1562658199123)(https://raw.githubusercontent.com/EEEGUI/ImageBed/master/img/fig_065.png)]

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值