Skip to content
BaiRuic
Go back

支持向量机的对偶算法

目录
支持向量机系列导航

对于一个线性分类问题,有数据Data={xi,yi}i=1N,xi∈Rp,yi∈{+1,−1}Data = \{x_i,y_i\}_{i=1}^{N},x_i \in R^p,y_i\in \{+1,-1\}, 即有N个数据样本需要分类,每个样本xix_i为pp维向量,yiy_i取值为 +1or−1+1 \text{or}-1

上一节将支持向量机模型转化为如下凸二次规划问题

min⁡b,w      12wTw s.t. 1−yn(wTxn+b)≤0,n=1,2,...,N\begin{equation}\begin{aligned}&\min _{b, w} \;\;\;\frac{1}{2} w^{T} w\\&\text { s.t. } \quad 1-y_{n}\left(\mathbf{w}^{T} \mathbf{x}_{n}+b\right) \leq 0 ,n=1,2,...,N\end{aligned}\end{equation}

通常,当N,pN,p比较小的时候,可以直接交给库函数来求解。但是当NN很大或者引入核方法后,可能会导数样本维度为巨大甚至为无穷大,此时可以通过拉格朗日乘子法引入其对偶问题来求解。

通过求解对偶问题得到原始问题的最优解,就是支持向量机的对偶算法。采用对偶算法,有优点:

  • 对偶问题一般更容易求解
  • 自然引入核函数,进而推广到非线性分类问题。

原优化问题的对偶问题

首先构造其拉格朗日函数,为此,对每一个不等式约束引入拉格朗日乘子ai≥0a_i ≥ 0, I = 1,2,..,N, 拉格朗日函数如下:

L(w,b,α)=12wTw+∑i=1Nαi(1−yi(wTxi+b)),i=1,2,...,N\begin{equation}L(w, b, \alpha)=\frac{1}{2} w^{T} w+\sum_{i=1}^{N} \alpha_{i}\left(1-y_{i}\left(w^{T} x_{i}+b\right)\right), i = 1,2,...,N\end{equation}

这时,原优化问题就等价于如下无约束问题:

min⁡w,bmax⁡αL(w,b,α) s.t.       αi≥0,    i=1,2,…,N\begin{equation}\begin{aligned}&\min _{w, b} \max _{\alpha} L(w, b, \alpha) \\&\text { s.t. }\;\;\; \alpha_{i} \geq 0, \;\;i=1,2, \ldots, N\end{aligned}\end{equation}

原问题和以上无约束问题为什么等价?理解如下(逻辑理解,非数理证明)

上述无约束问题(P)的对偶问题(D)为如下极大极小问题:

max⁡αmin⁡w,bL(w,b,α) s.t.       αi≥0,    i=1,2,…,N\begin{equation}\begin{aligned} &\max _{\alpha}\min _{w, b} L(w, b, \alpha) \\&\text { s.t. }\;\;\; \alpha_{i} \geq 0, \;\;i=1,2, \ldots, N\end{aligned}\end{equation}

所以,为了得到对偶问题的解,需要先对L(w,b,α)L(w,b,\alpha)对w,bw,b求极小,再求对α\alpha的极大。

  1. 求min⁡w,bL(w,b,α)\min_{w,b}L(w,b,\alpha) 将拉格朗日函数L(w,b,α)L(w,b,\alpha)分别对w,bw,b求偏导并令其为0。 先对L(w,b,α)L(w,b,\alpha)进行化解,如下:
L(w,b,α)=12wTw+∑i=1Nαi(1−yi(wTxi+b))=12wTw+∑i=1Nαi−∑i=1NαiyiwTxi−∑i=1Nαiyib\begin{align*}L(w, b, \alpha)&=\frac{1}{2} w^{T} w+\sum_{i=1}^{N} \alpha_{i}\left(1-y_{i}\left(w^{T} x_{i}+b\right)\right) \\ &=\frac 1 2 w^Tw + \sum_{i=1}^N\alpha _i - \sum_{i=1}^N\alpha _iy_iw^Tx_i - \sum_{i=1}^N\alpha _iy_i b\end{align*}

对w,bw,b求偏导如下:

∂L(w,b,α)∂b=−∑i=1Nαiyi∂L(w,b,α)∂w=w−∑i=1Nαiyixi\begin{align*} & \frac{\partial L(w,b,\alpha)}{\partial b} = -\sum_{i=1}^N\alpha_i y_i \\[5bp] &\frac{\partial L(w,b,\alpha)}{\partial w} = w-\sum_{i=1}^N \alpha_i y_i x_i \end{align*}

令偏导为0,则有

∑i=1Nαiyi=0w=∑i=1Nαiyixi\begin{align} &\sum_{i=1}^N\alpha_i y_i=0 \\[5bp] &w=\sum_{i=1}^N \alpha_i y_i x_i \end{align}

将求得的w(式(4))带入拉格朗日函数(式(2)(2)),并利用式(5),可得

L(w,b,α)=12∑i−1N∑j=1Nαiαjyiyj(xi⋅xj)−∑i=1Nαiyi((∑j=1Nαjyjxj)⋅xi+b)+∑i=1Nαi=−12∑i=1N∑j=1Nαiαjyiyj(xi⋅xj)+∑i=1Nαi\begin{equation*}\begin{aligned}L(w, b, \alpha) &=\frac{1}{2} \sum_{i-1}^{N} \sum_{j=1}^{N} \alpha_{i} \alpha_{j} y_{i} y_{j}\left(x_{i} \cdot x_{j}\right)-\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_{i=1}^{N} \alpha_{i} \\&=-\frac{1}{2} \sum_{i=1}^{N} \sum_{j=1}^{N} \alpha_{i} \alpha_{j} y_{i} y_{j}\left(x_{i} \cdot x_{j}\right)+\sum_{i=1}^{N} \alpha_{i}\end{aligned}\end{equation*}

即

L(w,b,λi)=−12∑i=1N∑j=1NλiλjyiyjxiTxj+∑i=1Nαi\begin{equation*}L\left(w, b, \lambda_{i}\right)=-\frac{1}{2} \sum_{i=1}^{N} \sum_{j=1}^{N} \lambda_{i} \lambda_{j} y_{i} y_{j} x_{i}^{T} x_{j}+\sum_{i=1}^{N} \alpha_{i}\end{equation*}
  1. 求min⁡w,bL(w,b,α)\min_{w,b}L(w,b,\alpha)对α\alpha的极大,即对偶问题
max⁡α      ∑i=1Nαi−12∑i=1N∑j=1NαiαjyiyjxiTxj s.t.       ∑i=1Nαiyi=0      αi≥0,i=1,2,…,N\begin{equation}\begin{split} \max_{\alpha}& \;\;\;\sum_{i=1}^{N} \alpha_{i}-\frac{1}{2} \sum_{i=1}^{N} \sum_{j=1}^{N} \alpha_{i} \alpha_{j} y_{i} y_{j} x_{i}^{T} x_{j} \\ \text { s.t. }&\;\;\; \sum_{i=1}^{N} \alpha_{i} y_{i}=0 \\ &\;\;\; \alpha_{i} \geq 0, i=1,2, \ldots, N \end{split}\end{equation}

将上式子的目标函数由求极大转换为求极小,就得到下面与之等价的对偶最优化问题

min⁡α      12∑i=1N∑j=1NαiαjyiyjxiTxj−∑i=1Nαi s.t.       ∑i=1Nαiyi=0      αi≥0,i=1,2,…,N\begin{equation}\begin{split} \min_{\alpha}& \;\;\;\frac{1}{2} \sum_{i=1}^{N} \sum_{j=1}^{N} \alpha_{i} \alpha_{j} y_{i} y_{j} x_{i}^{T} x_{j} -\sum_{i=1}^{N} \alpha_{i}\\ \text { s.t. }&\;\;\; \sum_{i=1}^{N} \alpha_{i} y_{i}=0 \\ &\;\;\; \alpha_{i} \geq 0, i=1,2, \ldots, N \end{split}\end{equation}

考虑原始最优化问题 (1) (3) 和对偶优化问题(8)。原始优化问题与对偶问题为强对偶关系。所以存在w∗,b∗,α∗w^*,b^*,\alpha^*, 使得w∗,b∗w^*,b^*是原问题的解,α∗\alpha^*为对偶问题的解。这意味着求解原始问题(1)(3)可以转换为求解对偶问题(8)。此外因为是强对偶关系,所以满足KKT条件(强对偶与KKT条件为充要关系)。

假设对偶问题最优化问题对α\alpha的解为α∗\alpha ^*,那么可以由α∗\alpha ^*根据KKT条件求得原始最优化问题对w,bw,b的解w∗,b∗w^*, b^*如下,其中xkx_k为任意一边界上的数据点。

w^=∑i=1Nλiyixib∗=yk−∑i=1NλiyixiTxk\begin{align*}\hat{w}&=\sum_{i=1}^{N} \lambda_{i} y_{i} x_{i} \\ b^* &= y_{k}-\sum_{i=1}^{N} \lambda_{i} y_{i} x_{i}^{T} x_{k} \end{align*}

证明 KKT条件如下:

综上,分离超平面可写为:

∑i=1Nαi∗yi(x⋅xi)+b∗=0\begin{equation*} \sum_{i=1}^{N} \alpha_{i}^{*} y_{i}\left(x \cdot x_{i}\right)+b^{*}=0 \end{equation*}

分类决策函数可以写为:

f(x)=sign⁡(∑i=1Nαi∗yi(x⋅xi)+b∗)\begin{equation*}f(x)=\operatorname{sign}\left(\sum_{i=1}^{N} \alpha_{i}^{*} y_{i}\left(x \cdot x_{i}\right)+b^{*}\right)\end{equation*}

分类决策函数只依赖于输入xx 和训练样本输入的内积

注可以发现,w∗,b∗w^*,b^* 均为输入数据的线性组合。

总结

对于给定的线性可分训练数据集,可以首先求其对偶问题的解α∗\alpha^*,再求得原始问题的解w∗,b∗w^*, b^*。从而得到分离超平面及分类决策函数。这种算法称为线性可分支持向量机的对偶学习算法。

具体来看,SVM原始优化问题为凸二次规划问题,由拉格朗日对偶性将原始问题转为对偶问题,因为SVM原始优化问题为凸二次规划,所以原始问题与对偶问题满足强对偶关系,所以求得对偶问题的解即为原始问题的解。因为满足强对偶关系,进而满足kkt条件,所以求解对偶问题的时候,可以用α\alpha 求出 w,bw,b。

支持向量机 - Untitled 7