前言
开始搓延期了一百年的机器学习实验,把SVM推导过程从定义到求解都刷了一遍,包括推导优化目标、提出对偶问题、利用KKT条件得到原问题的解以及SMO算法等。
注意:本文在某些地方比如KKT条件和SMO算法处不提供证明过程(太麻烦了喵),而是直接使用其结论,感兴趣的读者可以查阅参考资料
参考资料:
推导过程学习视频:(系列六) 支持向量机1-硬间隔SVM-模型定义_哔哩哔哩_bilibili
拉格朗日对偶性的条件:拉格朗日对偶性详解(手推笔记)-优快云博客
从几何角度理解KKT条件和对偶关系:机器学习笔记(8)-对偶关系和KKT条件 - Epir - 博客园 (cnblogs.com)’
代码参考:统计学习:线性可分支持向量机(Cvxpy实现) - orion-orion - 博客园 (cnblogs.com)
一、优化问题
当一个分类问题线性可分时,我们希望找到一个最优的超平面将其划分,这个最优的超平面需要满足以下性质:
超平面 和 距超平面最近的样本点 之间的间隔应该尽可能大
举一个简单的例子:
当这是一个二分类问题,且样本点特征数为2时(点可以表示在二维平面),该超平面是一条一维的直线。那么,我们想要找到能够将两类数据划分的最优的直线,它与距离它最近的点的距离应该尽可能大
那么我们的优化问题可以描述为:
给定样本点 X = ( x 1 , x 2 , . . . , x m ) T , X ∈ R m × n , x i ∈ R n X = (x_1, x_2, ..., x_m)^T, X \in R^{m \times n}, x_i \in R^n X=(x1,x2,...,xm)T,X∈Rm×n,xi∈Rn
给定标签 y = ( y 1 , y 2 , . . . , y m ) T , y ∈ R m , y i ∈ { − 1 , 1 } y = (y_1, y_2, ..., y_m)^T, y\in R^m, y_i \in \{-1, 1\} y=(y1,y2,...,ym)T,y∈Rm,yi∈{
−1,1}代表样本点 x i x_i xi所属的类
先求一最优的超平面 w T x + b = 0 w^T x + b = 0 wTx+b=0将 y i y_i yi的值不同的样本点分割开,也就是求
m a x w , b m i n x i ∣ w T x i + b ∣ ∥ w ∥ s . t . y i ( w T x i + b ) > 0 max_{w, b} min_{x_i} \frac{| w^T x_i + b |}{\| w \|} \quad s.t. \quad y_i(w^T x_i + b) > 0 maxw,bminxi∥w∥∣wTxi+b∣s.t.yi(wTxi+b)>0
由于 y i ( w T x i + b ) = ∣ w T x i + b ∣ y_i(w^T x_i + b) = | w^T x_i + b | yi(wTxi+b)=∣wTxi+b∣,原问题等价于
m a x w , b m i n x i y i ( w T x i + b ) ∥ w ∥ s . t . y i ( w T x i + b ) > 0 max_{w, b} min_{x_i} \frac{y_i(w^T x_i + b)}{\| w \|} \quad s.t. \quad y_i(w^T x_i + b) > 0 maxw,bminxi∥w∥yi(wTxi+b)s.t.yi(wTxi+b)>0
由于最小化问题是关于 x i x_i xi的,那么 ∥ w ∥ \| w \| ∥w∥便是无关变量,可往前提
m a x w , b 1 ∥ w ∥ m i n x i y i ( w T x i + b ) s . t . y i ( w T x i + b ) > 0 max_{w, b} \frac{1}{ {\| w \|}} min_{x_i} y_i(w^T x_i + b) \quad s.t. \quad y_i(w^T x_i + b) > 0 maxw,b∥w∥1minxiyi(wTxi+b)s.t.yi(wTxi+b)>0
由 y i ( w T x i + b ) > 0 y_i(w^T x_i + b) > 0 yi(wTxi+b)>0得
∃ γ > 0 \exist \gamma > 0 ∃γ>0使得 m i n x i ( y i ( w T x i + b ) ) = γ min_{x_i}(y_i(w^T x_i + b)) = \gamma minxi(yi(wTxi+b))=γ
也就是 y i ( w T x i + b ) > = γ y_i(w^T x_i + b) >= \gamma yi(wTxi+b)>=γ
由于 w w w和 b b b的缩放不影响样本点到超平面的几何距离,可取 γ = 1 \gamma = 1 γ=1方便讨论
将 m i n x i ( y i ( w T x i + b ) ) = 1 min_{x_i}(y_i(w^T x_i + b)) = 1 minxi(yi(wTxi+b))=1代入到上述优化问题中,并修改约束如下:
m a x w , b 1 ∥ w ∥ s . t . y i ( w T x i + b ) > = 1 max_{w, b} \frac{1}{ {\| w \|}} \quad s.t. \quad y_i(w^T x_i + b) >= 1 maxw,b∥w∥1s.t.yi(wTxi+b)>=1
问题等同于
m i n w , b 1 2 w T w s . t . y i ( w T x i + b ) > = 1 min_{w, b} \frac{1}{2} w^T w \quad s.t. \quad y_i(w^T x_i + b) >= 1 minw,b21wTws.t.yi(wTxi+b)>=1
m i n w , b 1 2 w T w s . t . 1 − y i ( w T x i + b ) < = 0 min_{w, b} \frac{1}{2} w^T w \quad s.t. \quad 1- y_i(w^T x_i + b) <= 0 minw,b21wTws.t.1−yi(wTxi+b)<=0
二、对偶问题
1. 得到对偶问题
构造上述问题的广义拉格朗日函数:
L ( w , b , α ) = 1 2 w T w + Σ i = 1 n α i ( 1 − y i ( w T x i + b ) ) ( α i > = 0 ) \mathcal{L}(w, b, \alpha) = \frac{1}{2} w^T w + \Sigma_{i = 1}^n \alpha_i (1- y_i(w^T x_i + b)) \quad (\alpha_i >= 0) L(w,b,α)=21wTw+Σi=1nαi(1−yi(wTxi+b))(αi>=0)
由拉格朗日对偶性:
拉格朗日对偶性
对于 m i n x f ( x ) s . t . c i ( x ) < = 0 , i = 1 , . . . , k h j ( x ) = 0 , j = 1