思想:找到一个划分两类训练样本的超平面,并使间隔最大化。
(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 w、b,会导致函数间隔也等比例缩放,因此需要进行约束。
(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=∥w∥∣∣wTxi+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+C2Ax0+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. ∥w∥yi(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,bmax∥w∥γ^s.t. yi(wTxi+b)⩾γ^,i=1,...N
γ ^ \hat{\gamma} γ^的改变不影响最优化问题的求解。为方便将 γ ^ = 1 \hat{\gamma}=1 γ^=1,于是得到优化目标 1 ∥ w ∥ \frac{1}{\|\boldsymbol{w}\|} ∥w∥1。又因为最大化 1 ∥ w ∥ \frac{1}{\|\boldsymbol{w}\|} ∥w∥1和最小化 1 2 ∥ w ∥ 2 \frac{1}{2} \|\boldsymbol{w}\| ^2 21∥w∥2等价,所以:
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,bmin21∥w∥2s.t. yi(wTxi+b)⩾1,i=1,2,…,m
(1)构建拉格朗日函数
对SVM的基本型使用拉格朗日乘子法可以得到拉格朗日函数。即对每条约束添加拉格朗日乘子 α i ⩾ 0 \alpha_i \geqslant 0 αi⩾0.
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,α)=21∥w∥2+i=1∑mαi(1−yi(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 (1−yi(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 ∂w∂L=w−i=1∑mαiyixi=0
∂ L ∂ b = − ∑ i = 1 m α i y i = 0 \frac{\partial L}{\partial b} = -\sum_{i=1}^m\alpha_iy_i=0 ∂b∂L=−i=1∑mα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=1∑mαiyixi
∑ i = 1 m α i y i = 0 \sum_{i=1}^m\alpha_iy_i=0 i=1∑mα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=1∑mαi(1−yi(wTxi+b))=21i=1∑mαiyixiTj=1∑mαjyjxj+i=1∑mαi(1−yi(j=1∑mαjyjxjTxi+b))=21i=1∑mj=1∑mαiαjyiyjxiTxj+i=1∑mαi−i=1∑mj=1∑mαiαjyiyjxiTxj+bi=1∑mαiyi=i=1∑mαi−21i=1∑mj=1∑mα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=1∑mαi−21i=1∑mj=1∑mα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αi⩾0,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. ⎩⎨⎧αi⩾0yif(xi)−1⩾0α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)+a⋅g(x)+b⋅h(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 a∗⋅gi(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 ai∗≥0,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=1∑mαi∗yixi
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∗=∣S∣1s∈S∑(ys−i=1∑mαiyixiTxs)
于是超平面为:
w ∗ x + b ∗ = 0 \boldsymbol{w^*x} + b^* = 0 w∗x+b∗=0
决策函数为:
f ( x ) = s i g n ( w ∗ x + b ∗ ) f(x) = sign(\boldsymbol{w^*x}+b^*) f(x)=sign(w∗x+b∗)
以上提出的支持向量机模型是线性的,对于线性不可分的数据不适用。线性不可分意味着部分样本不能满足函数间隔大于等于1的约束条件。为此,为每个样本点引入松弛变量 ξ i ⩾ 0 \xi_i \geqslant 0 ξi⩾0,使得函数间隔加上松弛变量大于等于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 21∥w∥2+Ci=1∑mξ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,ξmin21∥w∥2+Ci=1∑mξis.t. yi(wTx+b)⩾1−ξi,i=1,...,mξi⩾0,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,α,ξ,μ)=21∥w∥2+Ci=1∑mξi+i=1∑mαi(1−ξi−yi(wTxi+b))−i=1∑mμ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=1∑mαiyixi=i=1∑mα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=1∑mαi−21i=1∑mj=1∑mαiαjyiyjxiTxjs.t. i=1∑mαiyi=00⩽αi⩽C,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. ⎩⎪⎪⎨⎪⎪⎧αi⩾0,μi⩾0yif(xi)−1+ξi⩾0αi(yif(xi)−1+ξi)=0ξi⩾0,μiξi=0
(1)核技巧
对于非线性分类问题,首先使用一个变换将原空间的数据映射到新空间,然后再新空间里用线性分类学习方法从训练数据中学习分类模型.
(2)核函数
核函数与映射函数的关系
设 X X X是输入空间, H H H是特征空间(希尔伯特空间),如果存在一个从 X X X到 H H H的映射,
ϕ ( x ) : X → H \phi(x):X\rightarrow H ϕ(x):X→H
使得对于所有的 x , z ∈ X x,z \in X x,z∈X,函数 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,bmin21∥w∥2 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αi−21∑i=1m∑j=1mαiαjyiyjκ(xi,xj)∑i=1mαiyi=0αi⩾0,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=1∑mαiyiϕ(xi)Tϕ(x)+b=i=1∑mαiyiκ(x,xi)+b
(6)常用核函数
[外链图片转存失败(img-5QuHpX0x-1562658199123)(https://raw.githubusercontent.com/EEEGUI/ImageBed/master/img/fig_065.png)]