支持向量机是一种二分类算法,通过在高维空间中构建超平面实现对样本的分类
文章目录
- 5.1 SVM概述
- 5.1.1 分类
- 5.2 线性可分SVM
- 5.2.1 线性可分SVM基本思想
- 5.2.2 策略
- 函数间隔
- 几何间隔
- 硬间隔最大化
- 5.2.3 原始算法
- 支持向量
- 5.2.4 对偶形式
- 算法
- 1. 构造并求解对偶问题
- 2. 计算参数
- 3. 求得分离超平面
- 优点
- 例题
5. 支持向量机(非线性SVM)
线性可分SVM通过硬间隔最大化求出划分超平面,解决线性分类问题
线性SVM通过软间隔最大化求出划分超平面,解决线性分类问题
5.1 SVM概述
解决的问题:二分类问题
目标:通过间隔最大化策略,找一个超平面 ω ∗ ⋅ x + b ∗ = 0 \omega^*\cdot x+b^*=0 ω∗⋅x+b∗=0 ,将特征空间划分为两部分 { + 1 , − 1 } \{+1,-1\} {+1,−1}
模型:定义在特征空间上的 间隔最大 的线性分类器
- 间隔最大是与感知机有区别的地方
- 通过核技巧,使SVM成为非线性分类器/回归器
策略:间隔最大化 → \rightarrow → 凸二次化(加约束项)
- 正则化的合页损失函数最小化
算法:求解凸二次规划的最优化算法
5.1.1 分类
支持向量机 { S V C ( 支持向量分类机 ) { 线性支持向量机 { 线性可分:硬间隔最大化 近似线性可分:软间隔最大化 非线性支持向量机:核技巧 + 软间隔最大化 S V R ( 支持向量回归机 ) 支持向量机\begin{cases} SVC(支持向量分类机)\begin{cases} 线性支持向量机\begin{cases} 线性可分:硬间隔最大化\\ 近似线性可分:软间隔最大化 \end{cases}\\ 非线性支持向量机:核技巧+软间隔最大化 \end{cases}\\ SVR(支持向量回归机) \end{cases} 支持向量机⎩ ⎨ ⎧SVC(支持向量分类机)⎩ ⎨ ⎧线性支持向量机{线性可分:硬间隔最大化近似线性可分:软间隔最大化非线性支持向量机:核技巧+软间隔最大化SVR(支持向量回归机)
数据集
D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯ , ( x N , y N ) } , x i ∈ X ⊆ R n , y ∈ { + 1 , − 1 } , i = 1 , 2 , ⋯ , N D=\{(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)\},x_i\in\mathcal{X}\subseteq R^n,y\in \{+1,-1\},i=1,2,\cdots,N D={(x1,y1),(x2,y2),⋯,(xN,yN)},xi∈X⊆Rn,y∈{+1,−1},i=1,2,⋯,N
5.2 线性可分SVM
eg:SVM解决二分类问题的思路
线性可分的数据集可以简化为二维平面上的点集。
在直角坐标系中,如果有若干个点位于 x x x 轴下方,另外若干个点位于 x x x 轴上方,这两个点集共同构成了一个线性可分的训练数据集,而 x x x 轴就是将它们区别开的一维超平面,也就是直线。
假设 x x x 轴上方的点全部位于直线 y = 1 y=1 y=1 上及其上方, x x x 轴下方的点全部位于直线 y = − 2 y=-2 y=−2 上及其下方。则任何平行于 x x x 轴且在 ( − 2 , 1 ) (-2,1) (−2,1) 之间的直线都可以将这个训练集分开。但此时面临选择哪一条直线分类效果最好的问题。
直观上看 y = − 0.5 y=-0.5 y=−0.5 最好,这条分界线正好位于两个边界中间,与两个类别的间隔 可以同时达到最大。当训练集中的数据因为噪音干扰而移动时,这个最优划分超平面的划分精确度受到的影响最小,具有很强的泛化能力
5.2.1 线性可分SVM基本思想
在高维的特征空间上,划分超平面可以用简单的线性方程描述
ω ⋅ x + b = 0 \omega\cdot x+b=0 ω⋅x+b=0
- n n n 维向量 ω \omega ω 为法向量,决定了超平面的方向
- b b b 为截距,决定了超平面与高维空间中原点的距离
划分超平面将特征空间分为两部分
- 法向量所指一侧——正例, y = + 1 y=+1 y=+1
- 法向量反方向恻——负例, y = − 1 y=-1 y=−1
决策函数:
f ( x ) = s i g n ( ω ⋅ x + b ) f(x)=sign(\omega \cdot x+b) f(x)=sign(ω⋅x+b)
5.2.2 策略
硬间隔最大化策略 ——使距离超平面最近的两个点之间的间距最大
函数间隔
超平面 ( ω , b ) (\omega,b) (ω,b) 关于 ( x i , y i ) (x_i,y_i) (xi,yi) 的函数间隔
γ i = y i ( ω ⋅ x i + b ) \gamma_i=y_i(\omega\cdot x_i+b) γi=yi(ω⋅xi+b)
- 符号:是否分类正确
- 大小:确信程度—— ∣ ω ⋅ x i + b ∣ \vert \omega\cdot x_i+b\vert ∣ω⋅xi+b∣ 表示点到超平面的远近程度
超平面关于数据集 D D D 的函数间隔
γ ^ = min x i ∈ X γ i ^ = min x i ∈ X y i ( ω ⋅ + b ) \hat{\gamma}=\min\limits_{x_i\in \mathcal{X}}\hat{\gamma_i}=\min\limits_{x_i\in \mathcal{X}}y_i(\omega\cdot+b) γ^=xi∈Xminγi^=xi∈Xminyi(ω⋅+b)
可用函数间隔表示分类的正确性和确信程度
几何间隔
给定超平面后,特征空间中的样本点 x i x_i xi 到超平面的距离可以表示为
+ 1 类到超平面的距离: γ i = ω ⋅ x i + b ∥ ω ∥ 2 − 1 类到超平面的距离: γ i = − ω ⋅ x i + b ∥ ω ∥ 2 +1类到超平面的距离:\gamma_i=\frac{\omega\cdot x_i+b}{\Vert \omega\Vert_2}\\ -1类到超平面的距离:\gamma_i=-\frac{\omega\cdot x_i+b}{\Vert \omega\Vert_2} +1类到超平面的距离:γi=∥ω∥2ω⋅xi+b−1类到超平面的距离:γi=−∥ω∥2ω⋅xi+b
即点被正确分类时,到超平面几何距离
γ i = y i ( ω ⋅ x i + b ∥ ω ∥ 2 ) \gamma_i=y_i\left(\frac{\omega\cdot x_i+b}{\Vert \omega\Vert_2}\right) γi=yi(∥ω∥2ω⋅xi+b)
- 这个距离是一个归一化距离——几何间隔
数据集 D D D 到超平面 ( ω , b ) (\omega,b) (ω,b) 的几何距离
γ = min x i ∈ X ω T ⋅ x i + b ∥ ω ∥ 2 = min x i ∈ X γ ^ i ∥ ω ∥ 2 \begin{aligned} \gamma&=\min\limits_{x_i\in \mathcal{X}}\frac{\omega^T\cdot x_i+b}{\Vert \omega\Vert_2}\\ &=\min\limits_{x_i\in \mathcal{X}}\frac{\hat{\gamma}_i}{\Vert \omega\Vert_2} \end{aligned} γ=xi∈Xmin∥ω∥2ωT⋅xi+b=xi∈Xmin∥ω∥2γ^i
硬间隔最大化
定理 :最大分离超平面存在且唯一
{ max ω , b γ = max ω , b min x i ∈ X ω ⋅ x i + b ∥ ω ∥ 2 = max ω , b min x i ∈ X γ ^ i ∥ ω ∥ 2 s . t . y i ( ω ⋅ x i + b ∥ ω ∥ ) ≥ γ \begin{cases} \max\limits_{\omega,b}\gamma=\max\limits_{\omega,b}\min\limits_{x_i\in \mathcal{X}}\frac{\omega\cdot x_i+b}{\Vert \omega\Vert_2}=\max\limits_{\omega,b}\min\limits_{x_i\in \mathcal{X}}\frac{\hat{\gamma}_i}{\Vert \omega\Vert_2}\\ s.t.\quad y_i\left(\frac{\omega\cdot x_i+b}{\Vert \omega\Vert}\right)\ge \gamma \end{cases} ⎩ ⎨ ⎧ω,bmaxγ=ω,bmaxxi∈Xmin∥ω∥2ω⋅xi+b=ω,bmaxxi∈Xmin∥ω∥2γ^is.t.yi(∥ω∥ω⋅xi+b)≥γ
可通过等比例调整参数 ω \omega ω 和 b b b ,可以使每个样本到达最优划分超平面的函数距离都不小于 1 1 1
λ i ( ω ⋅ x i + b ) ≥ 1 , y i = + 1 λ i ( ω ⋅ x i + b ) ≤ − 1 , y i = − 1 \lambda_i(\omega\cdot x_i+b)\ge 1,y_i=+1\\ \lambda_i(\omega\cdot x_i+b)\le -1,y_i=-1\\ λi(ω⋅xi+b)≥1,yi=+1λi(ω⋅xi+b)≤−1,yi=−1
设 λ i = 1 ω x i + b \lambda_i=\frac{1}{\omega x_i+b} λi=ωxi+b1 ,有
∣ γ ^ ′ ∣ = ∣ λ γ ^ ∣ ≥ 1 \vert \hat{\gamma}'\vert=\vert \lambda \hat{\gamma}\vert\ge 1\\ ∣γ^′∣=∣λγ^∣≥1
问题变为
{ max ω , b γ ′ = max ω , b min x i ∈ X λ y i ( ω ⋅ x i + b ) ∥ λ ω ∥ 2 ≥ max ω , b 1 ∥ ω ′ ∥ 2 s . t . λ y i ( ω ⋅ x i + b ) ∥ λ ω ∥ 2 = y i ( ω ′ ⋅ x i + b ) ∥ ω ′ ∥ 2 ≥ γ ′ ⇒ { max ω , b γ = max ω , b 1 ∥ ω ∥ 2 s . t . y i ( ω ⋅ x i + b ) ≥ 1 , i = 1 , 2 , ⋯ , N ⟺ 便于凸二次规划 { min ω , b 1 γ = min ω , b ∥ ω ∥ 2 2 2 s . t . y i ( ω ⋅ x i + b ) − 1 ≥ 0 , i = 1 , 2 , ⋯ , N ⟺ { min ω , b ∥ ω ∥ 2 2 2 s . t . 1 − y i ( ω ⋅ x i + b ) ≤ 0 , i = 1 , 2 , ⋯ , N \begin{aligned} &\begin{cases} \max\limits_{\omega,b}\gamma'=\max\limits_{\omega,b}\min\limits_{x_i\in \mathcal{X}}\frac{\lambda y_i(\omega\cdot x_i+b)}{\Vert \lambda\omega\Vert_2}\ge \max\limits_{\omega,b}\frac{1}{\Vert \omega'\Vert_2}\\ s.t.\quad \frac{\lambda y_i(\omega\cdot x_i+b)}{\Vert \lambda\omega\Vert_2}=\frac{y_i(\omega'\cdot x_i+b)}{\Vert \omega'\Vert_2}\ge \gamma' \end{cases}\\ \Rightarrow &\begin{cases} \max\limits_{\omega,b}\gamma=\max\limits_{\omega,b}\frac{1}{\Vert \omega\Vert_2}\\ s.t.\quad y_i(\omega\cdot x_i+b)\ge 1,i=1,2,\cdots,N \end{cases}\\ \overset{便于凸二次规划}{\iff} &\begin{cases} \min\limits_{\omega,b}\frac{1}{\gamma}=\min\limits_{\omega,b}\frac{\Vert \omega\Vert_2^2}{2}\\ s.t.\quad y_i(\omega\cdot x_i+b)-1\ge 0,i=1,2,\cdots,N \end{cases}\\ \iff&\begin{cases} \min\limits_{\omega,b}\frac{\Vert \omega\Vert_2^2}{2}\\ s.t.\quad 1-y_i(\omega\cdot x_i+b)\le 0,i=1,2,\cdots,N \end{cases} \end{aligned} ⇒⟺便于凸二次规划⟺⎩ ⎨ ⎧ω,bmaxγ′=ω,bmaxxi∈Xmin∥λω∥2λyi(ω⋅xi+b)≥ω,bmax∥ω′∥21s.t.∥λω∥2λyi(ω⋅xi+b)=∥ω′∥2yi(ω′⋅xi+b)≥γ′⎩ ⎨ ⎧ω,bmaxγ=ω,bmax∥ω∥21s.t.yi(ω⋅xi+b)≥1,i=1,2,⋯,N⎩ ⎨ ⎧ω,bminγ1=ω,bmin2∥ω∥22s.t.yi(ω⋅xi+b)−1≥0,i=1,2,⋯,N⎩ ⎨ ⎧ω,bmin2∥ω∥22s.t.1−yi(ω⋅xi+b)≤0,i=1,2,⋯,N
5.2.3 原始算法
输入 :线性可分的数据集
D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯ , ( x N , y N ) } , x i ∈ X ⊆ R n , y i ∈ Y = { + 1 , − 1 } , i = 1 , 2 , ⋯ , N \begin{aligned} D=\{(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)\},x_i\in \mathcal{X}\subseteq R^n,y_i\in \mathcal{Y}=\{+1,-1\},i=1,2,\cdots,N \end{aligned} D={(x1,y1),(x2,y2),⋯,(xN,yN)},xi∈X⊆Rn,yi∈Y={+1,−1},i=1,2,⋯,N
输出 :最大分离超平面和决策函数
步骤
-
构造并求解最优化问题
{ min ω , b ∥ ω ∥ 2 2 2 s . t . 1 − y i ( ω ⋅ x i + b ) ≤ 0 , i = 1 , 2 , ⋯ , N \begin{cases} \min\limits_{\omega,b}\frac{\Vert \omega\Vert_2^2}{2}\\ s.t.\quad 1-y_i(\omega\cdot x_i+b)\le 0,i=1,2,\cdots,N \end{cases} ⎩ ⎨ ⎧ω,bmin2∥ω∥22s.t.1−yi(ω⋅xi+b)≤0,i=1,2,⋯,N
凸二次规划可得最优解 ω ∗ , b ∗ \omega^*,b^* ω∗,b∗ -
可得分类超平面
ω ∗ ⋅ x + b ∗ = 0 \omega^*\cdot x+b^*=0 ω∗⋅x+b∗=0
决策函数 f ( x ) = s i g n ( ω ∗ ⋅ x + b ∗ ) f(x)=sign(\omega^*\cdot x+b^*) f(x)=sign(ω∗⋅x+b∗)
支持向量
在特征空间中,距离划分超平面最近的样本点能让函数间隔取等号,这些样本点称为 支持向量 ,即有点 x k + , x k − x_{k^+},x_{k^-} xk+,xk−
ω ⋅ x k + + b = 1 , y k + = + 1 ω ⋅ x k − + b = − 1 , y k − = − 1 \omega\cdot x_{k^+}+b= 1,y_{k^+}=+1\\ \omega\cdot x_{k^-}+b= -1,y_{k^-}=-1\\ ω⋅xk++b=1,yk+=+1ω⋅xk−+b=−1,yk−=−1
- H 1 , H 2 H_1,H_2 H1,H2 为分类间隔边界; S S S 为分离超平面
两个异类支持向量到超平面的距离之和为 2 ∥ ω ∥ \frac{2}{\Vert \omega\Vert} ∥ω∥2 。
因而对于线性可分的SVM任务就是:在满足上述不等式的条件下,寻找 2 ∥ ω ∥ \frac{2}{\Vert \omega\Vert} ∥ω∥2 的最大值,最大化 2 ∥ ω ∥ \frac{2}{\Vert \omega\Vert} ∥ω∥2 等效于最小化 1 2 ∥ ω ∥ 2 \frac{1}{2}\Vert \omega\Vert^2 21∥ω∥2
5.2.4 对偶形式
输入:
D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯ , ( x N , y N ) } ∈ X ∈ R n , y i ∈ Y ∈ { + 1 , − 1 } , i = 1 , ⋯ , N D=\{(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)\}\in \mathcal{X}\in R^n,y_i\in \mathcal{Y}\in \{+1,-1\},i=1,\cdots,N D={(x1,y1),(x2,y2),⋯,(xN,yN)}∈X∈Rn,yi∈Y∈{+1,−1},i=1,⋯,N
输出:分离超平面和决策函数
算法
1. 构造并求解对偶问题
由原始算法,可得 Lagrange 函数
L ( ω , b , α ) = 1 2 ∥ ω ∥ 2 2 + ∑ i = 1 N α i [ 1 − y i ( ω i ⋅ x i + b ) ] , α i ≥ 0 L(\omega,b,\alpha)=\frac{1}{2}\Vert \omega\Vert_2^2+\sum\limits_{i=1}^N\alpha_i[1-y_i(\omega_i\cdot x_i+b)],\alpha_i\ge 0 L(ω,b,α)=21∥ω∥22+i=1∑Nαi[1−yi(ωi⋅xi+b)],αi≥0
1 2 ∥ ω ∥ 2 2 \frac{1}{2}\Vert \omega\Vert_2^2 21∥ω∥22 为凸函数,约束范围为凸集,则有 局部最优解 = 全局最优解 局部最优解=全局最优解 局部最优解=全局最优解
最优解 ∈ 约束域 , 即 1 − y i ( ω i ⋅ x i + b ) < 0 最优解 ∉ 约束域 , 即最优解在约束边界上,有 1 − y i ( ω i ⋅ x i + b ) = 0 } ⇒ max α i α i [ 1 − y i ( ω i ⋅ x i + b ) ] = 0 \left. \begin{aligned} 最优解\in 约束域,即1-y_i(\omega_i\cdot x_i+b)<0\\ 最优解\notin 约束域,即最优解在约束边界上,有1-y_i(\omega_i\cdot x_i+b)=0 \end{aligned} \right\}\Rightarrow \max\limits_{\alpha_i}\alpha_i[1-y_i(\omega_i\cdot x_i+b)]=0 最优解∈约束域,即1−yi(ωi⋅xi+b)<0最优解∈/约束域,即最优解在约束边界上,有1−yi(ωi⋅xi+b)=0}⇒αimaxαi[1−yi(ωi⋅xi+b)]=0
可知 max α L ( ω , b , α ) = 1 2 ∥ ω ∥ 2 2 \max\limits_{\alpha}L(\omega,b,\alpha)=\frac{1}{2}\Vert \omega\Vert_2^2 αmaxL(ω,b,α)=21∥ω∥22 ,即
min ω 1 2 ∥ ω ∥ 2 2 = min ω max α L ( ω , α ) \min\limits_{\omega}\frac{1}{2}\Vert \omega\Vert_2^2=\min\limits_{\omega}\max\limits_{\alpha}L(\omega,\alpha) ωmin21∥ω∥22=ωminαmaxL(ω,α)
又由于 min ω max α L ( ω , b , α ) \min\limits_{\omega}\max\limits_{\alpha}L(\omega,b,\alpha) ωminαmaxL(ω,b,α) 与 max α min ω L ( ω , b , α ) \max\limits_{\alpha}\min\limits_{\omega}L(\omega,b,\alpha) αmaxωminL(ω,b,α) 是对偶问题,有相同的最优解
- 对偶问题(极小中求极大),相当于求原问题(极大中求极小)的下界
最优解满足KKT条件
{ ∂ L ∂ ω = 0 ∂ L ∂ b = 0 ∂ L ∂ α i = 0 α i ≥ 0 α i [ 1 − y i ( ω i ⋅ x i + b ) ] ≤ 0 ⇒ { ω − ∑ i = 1 N α i y i x i = 0 − ∑ i = 1 N α i y i = 0 1 − y i ( ω i ⋅ x i + b ) = 0 α i ≥ 0 α i [ 1 − y i ( ω i ⋅ x i + b ) ] ≤ 0 \begin{cases} \frac{\partial L}{\partial \omega}=0\\ \frac{\partial L}{\partial b}=0\\ \frac{\partial L}{\partial \alpha_i}=0\\ \alpha_i\ge 0\\ \alpha_i[1-y_i(\omega_i\cdot x_i+b)]\le 0 \end{cases}\Rightarrow \begin{cases} \omega-\sum\limits_{i=1}^N\alpha_iy_ix_i=0\\ -\sum\limits_{i=1}^N\alpha_iy_i=0\\ 1-y_i(\omega_i\cdot x_i+b)=0\\ \alpha_i\ge 0\\ \alpha_i[1-y_i(\omega_i\cdot x_i+b)]\le 0 \end{cases} ⎩ ⎨ ⎧∂ω∂L=0∂b∂L=0∂αi∂L=0αi≥0αi[1−yi(ωi⋅xi+b)]≤0⇒⎩ ⎨ ⎧ω−i=1∑Nαiyixi=0−i=1∑Nαiyi=01−yi(ωi⋅xi+b)=0αi≥0αi[1−yi(ωi⋅xi+b)]≤0
即有 ω ∗ = ∑ i = 1 N α i y i x i \omega^*=\sum\limits_{i=1}^N\alpha_iy_ix_i ω∗=i=1∑Nαiyixi ,代入 L ( ω , b , α ) L(\omega,b,\alpha) L(ω,b,α)
min ω , b L ( α ) = 1 2 ( ω ∗ ) T ω ∗ + ∑ i = 1 N α i − ∑ i = 1 N α i y i ω ∗ ⋅ x i − ∑ i = 1 N α i y i b = 1 2 ∑ j = 1 N α j y j x j ∑ i = 1 N α i y i x i + ∑ i = 1 N α i − ∑ i = 1 N α i y i ∑ j = 1 N α j y j x j = x j ⋅ , x i 为向量点积,其余部分为标量 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j x i ⋅ x j − ∑ i = 1 N ∑ j = 1 N α i α j y i y j x i ⋅ x j + ∑ i = 1 N α i = ∑ i = 1 N α i − 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j x i ⋅ x j \begin{aligned} \min\limits_{\omega,b}L(\alpha)&=\frac{1}{2}(\omega^*)^T\omega^*+\sum\limits_{i=1}^N\alpha_i-\sum\limits_{i=1}^N\alpha_iy_i\omega^*\cdot x_i-\sum\limits_{i=1}^N\alpha_iy_i b\\ &=\frac{1}{2}\sum\limits_{j=1}^N\alpha_jy_jx_j\sum\limits_{i=1}^N\alpha_iy_ix_i+\sum\limits_{i=1}^N\alpha_i-\sum\limits_{i=1}^N\alpha_iy_i\sum\limits_{j=1}^N\alpha_jy_jx_j\\ &\xlongequal{x_j\cdot,x_i为向量点积,其余部分为标量}\frac{1}{2}\sum\limits_{i=1}^N\sum\limits_{j=1}^N\alpha_i\alpha_jy_iy_jx_i\cdot x_j-\sum\limits_{i=1}^N\sum\limits_{j=1}^N\alpha_i\alpha_jy_iy_jx_i\cdot x_j+\sum\limits_{i=1}^N\alpha_i\\ &=\sum\limits_{i=1}^N\alpha_i-\frac{1}{2}\sum\limits_{i=1}^N\sum\limits_{j=1}^N\alpha_i\alpha_jy_iy_jx_i\cdot x_j \end{aligned} ω,bminL(α)=21(ω∗)Tω∗+i=1∑Nαi−i=1∑Nαiyiω∗⋅xi−i=1∑Nαiyib=21j=1∑Nαjyjxji=1∑Nαiyixi+i=1∑Nαi−i=1∑Nαiyij=1∑Nαjyjxjxj⋅,xi为向量点积,其余部分为标量21i=1∑Nj=1∑Nαiαjyiyjxi⋅xj−i=1∑Nj=1∑Nαiαjyiyjxi⋅xj+i=1∑Nαi=i=1∑Nαi−21i=1∑Nj=1∑Nαiαjyiyjxi⋅xj
对偶问题
{ max α L ( α ) = ∑ i = 1 N α i − 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j x i ⋅ x j s . t . α i ≥ 0 ∑ i = 1 N α i y i = 0 \begin{cases} \max\limits_{\alpha}L(\alpha)=\sum\limits_{i=1}^N\alpha_i-\frac{1}{2}\sum\limits_{i=1}^N\sum\limits_{j=1}^N\alpha_i\alpha_jy_iy_jx_i\cdot x_j\\ s.t. \quad \alpha_i\ge 0\\ \qquad \sum\limits_{i=1}^N\alpha_iy_i=0\\ \end{cases} ⎩ ⎨ ⎧αmaxL(α)=i=1∑Nαi−21i=1∑Nj=1∑Nαiαjyiyjxi⋅xjs.t.αi≥0i=1∑Nαiyi=0
求解对偶问题,可得 α ∗ = ( α 1 ∗ α 2 ∗ ⋮ α N ∗ ) \alpha^*=\left(\begin{aligned}\alpha_1^*\\\alpha_2^*\\\vdots\\\alpha_N^*\end{aligned}\right) α∗= α1∗α2∗⋮αN∗
2. 计算参数
由 α ∗ \alpha^* α∗ 可得 ω ∗ = ∑ i = 1 N α i ∗ y i x i \omega^*=\sum\limits_{i=1}^N\alpha^*_iy_ix_i ω∗=i=1∑Nαi∗yixi
- 结论:对于支持向量,有 α j ∗ > 0 \alpha_j^*>0 αj∗>0 ,其余点 α ∗ = 0 \alpha^*=0 α∗=0
间隔边界上的点,满足
y ( ω ⋅ x + b ) = 1 y 2 ( ω ⋅ x + b ) = y ⇒ ω ⋅ x + b = y \begin{aligned} &y(\omega\cdot x+b)=1\\ &y^2(\omega\cdot x+b)=y\\ \Rightarrow &\omega\cdot x+b=y \end{aligned} ⇒y(ω⋅x+b)=1y2(ω⋅x+b)=yω⋅x+b=y
将 ω ∗ \omega^* ω∗ 代入支持向量
ω ∗ x j + b ∗ = y j ⇒ b ∗ = y j − ω ∗ x j = y j − ∑ i = 1 N α i ∗ y i ( x i ⋅ x j ) \begin{aligned} &\omega^*x_j+b^*=y_j\\ \Rightarrow&b^*=y_j-\omega^*x_j=y_j-\sum\limits_{i=1}^N\alpha_i^*y_i(x_i\cdot x_j) \end{aligned} ⇒ω∗xj+b∗=yjb∗=yj−ω∗xj=yj−i=1∑Nαi∗yi(xi⋅xj)
3. 求得分离超平面
{ ω ∗ x + b ∗ = 0 分类决策函数 f ( x ) = s i g n ( ω ∗ x + b ) ⇒ { ∑ i = 1 N α i y i x i ⋅ x + ( y j − ∑ i = 1 N α i ∗ y i ( x i ⋅ x j ) ) = 0 f ( x ) = s i g n ( ∑ i = 1 N α i y i x i ⋅ x + y j − ∑ i = 1 N α i ∗ y i ( x i ⋅ x j ) ) \begin{cases} \omega^* x+b^*=0\\ 分类决策函数 f(x)=sign(\omega^* x+b) \end{cases}\Rightarrow\begin{cases} \sum\limits_{i=1}^N\alpha_iy_ix_i\cdot x+\left(y_j-\sum\limits_{i=1}^N\alpha_i^*y_i(x_i\cdot x_j)\right)=0\\ f(x)=sign\left(\sum\limits_{i=1}^N\alpha_iy_ix_i\cdot x+y_j-\sum\limits_{i=1}^N\alpha_i^*y_i(x_i\cdot x_j)\right) \end{cases} {ω∗x+b∗=0分类决策函数f(x)=sign(ω∗x+b)⇒⎩ ⎨ ⎧i=1∑Nαiyixi⋅x+(yj−i=1∑Nαi∗yi(xi⋅xj))=0f(x)=sign(i=1∑Nαiyixi⋅x+yj−i=1∑Nαi∗yi(xi⋅xj))
优点
- 对偶问题易于求解
- 引入核函数,推广到非线性分类问题
例题
有样本 + 1 : x 1 = ( 3 , 3 ) , x 2 = ( 4 , 3 ) +1:x_1=(3,3),x_2=(4,3) +1:x1=(3,3),x2=(4,3) , − 1 : x 3 = ( 1 , 1 ) -1:x_3=(1,1) −1:x3=(1,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 ≥ 0 ∑ i = 1 N α i y i = 0 , i = 1 , 2 , ⋯ , N \begin{cases} \min\limits_{\alpha}\left(\frac{1}{2}\sum\limits_{i=1}^N\sum\limits_{j=1}^N\alpha_i\alpha_jy_iy_jx_i\cdot x_j-\sum\limits_{i=1}^N\alpha_i\right)\\ s.t.\quad \alpha_i\ge 0\\ \qquad \sum\limits_{i=1}^N\alpha_iy_i=0,i=1,2,\cdots,N \end{cases} ⎩ ⎨ ⎧αmin(21i=1∑Nj=1∑Nαiαjyiyjxi⋅xj−i=1∑Nαi)s.t.αi≥0i=1∑Nαiyi=0,i=1,2,⋯,N
代入后有
{ min α L ( α ) = 1 2 ( 18 α 1 2 + 25 α 2 2 + 2 α 3 2 + 42 α 1 α 2 − 12 α 1 α 3 − 14 α 2 α 3 ) − ( α 1 + α 2 + α 3 ) s . t . α 1 + α 2 − α 3 = 0 α i ≥ 0 \begin{cases} \begin{equation}\tag{1} \min\limits_{\alpha}L(\alpha)=\frac{1}{2}(18\alpha_1^2+25\alpha_2^2+2\alpha_3^2+42\alpha_1\alpha_2-12\alpha_1\alpha_3-14\alpha_2\alpha_3)-(\alpha_1+\alpha_2+\alpha_3) \end{equation} \\ s.t.\quad \alpha_1+\alpha_2-\alpha_3=0 \\ \qquad \alpha_i\ge 0 \end{cases} ⎩ ⎨ ⎧αminL(α)=21(18α12+25α22+2α32+42α1α2−12α1α3−14α2α3)−(α1+α2+α3)(1)s.t.α1+α2−α3=0αi≥0
将 α 3 = α 1 + α 2 \alpha_3=\alpha_1+\alpha_2 α3=α1+α2 代入 ( 1 ) (1) (1)
S ( α 1 , α 2 ) = 4 α 1 2 + 13 2 α 2 2 + 10 α 1 α 2 − 2 α 1 − 2 α 2 S(\alpha_1,\alpha_2)=4\alpha_1^2+\frac{13}{2}\alpha_2^2+10\alpha_1\alpha_2-2\alpha_1-2\alpha_2 S(α1,α2)=4α12+213α22+10α1α2−2α1−2α2
令 ∂ S ∂ α 1 = 0 \frac{\partial S}{\partial \alpha_1}=0 ∂α1∂S=0 , ∂ S ∂ α 2 = 0 \frac{\partial S}{\partial \alpha_2}=0 ∂α2∂S=0 可得 ( α 1 , α 2 ) T = ( 3 2 , − 1 ) T (\alpha_1,\alpha_2)^T=(\frac{3}{2},-1)^T (α1,α2)T=(23,−1)T ,但不满足约束条件
可知最优解在约束边界上
若 α 1 = 0 ,令 ∂ S ∂ α 2 = 0 ⇒ α 2 = 2 13 ⇒ S ( 0 , 2 13 ) = − 2 13 α 2 = 0 ,令 ∂ S ∂ α 1 = 0 ⇒ α 1 = 1 4 ⇒ S ( 1 4 , 0 ) = − 1 4 若\alpha_1=0,令 \frac{\partial S}{\partial \alpha_2}=0\Rightarrow \alpha_2=\frac{2}{13}\Rightarrow S(0,\frac{2}{13})=-\frac{2}{13}\\ \alpha_2=0,令\frac{\partial S}{\partial \alpha_1}=0\Rightarrow \alpha_1=\frac{1}{4}\Rightarrow S(\frac{1}{4},0)=-\frac{1}{4} 若α1=0,令∂α2∂S=0⇒α2=132⇒S(0,132)=−132α2=0,令∂α1∂S=0⇒α1=41⇒S(41,0)=−41
∴ \therefore ∴ S ( α 1 , α 2 ) S(\alpha_1,\alpha_2) S(α1,α2) 在 ( 1 4 , 0 ) T (\frac{1}{4},0)^T (41,0)T 上取最小, α 3 = α 1 + α 2 = 1 4 \alpha_3=\alpha_1+\alpha_2=\frac{1}{4} α3=α1+α2=41
由于 α 1 = α 3 = 1 4 ≠ 0 \alpha_1=\alpha_3=\frac{1}{4}\neq 0 α1=α3=41=0 ,故 x 1 , x 3 x_1,x_3 x1,x3 为支持向量
ω ∗ = α 1 y 1 x 1 + α 3 y 3 x 3 = 1 4 ( 3 3 ) + 1 4 ( − 1 ) ( 1 1 ) = ( 1 2 1 2 ) b ∗ = y 3 − ∑ i = 1 3 α i y i ( x i ⋅ x 3 ) = − 2 \begin{aligned} \omega^*&=\alpha_1y_1x_1+\alpha_3y_3x_3\\ &=\frac{1}{4}\left(\begin{aligned} 3\\3 \end{aligned}\right)+\frac{1}{4}(-1)\left(\begin{aligned} 1\\1 \end{aligned}\right)=\left(\begin{aligned} \frac{1}{2}\\\frac{1}{2} \end{aligned}\right)\\ b^*&=y_3-\sum\limits_{i=1}^3\alpha_iy_i(x_i\cdot x_3)=-2 \end{aligned} ω∗b∗=α1y1x1+α3y3x3=41(33)+41(−1)(11)= 2121 =y3−i=1∑3αiyi(xi⋅x3)=−2
所以有分离超平面 1 2 x ( 1 ) + 1 2 x ( 2 ) − 2 = 0 \frac{1}{2}x^{(1)}+\frac{1}{2}x^{(2)}-2=0 21x(1)+21x(2)−2=0 ,决策函数 f ( x ) = s i g n ( 1 2 x ( 1 ) + 1 2 x ( 2 ) − 2 ) f(x)=sign(\frac{1}{2}x^{(1)}+\frac{1}{2}x^{(2)}-2) f(x)=sign(21x(1)+21x(2)−2)