SVM的原理
SVM是一种二分类模型, 基本模型是在特征空间中寻找间隔最大化的分离超平面的线性分类器. 如果数据线性可分, 可以直接使用硬间隔SVM; 如果数据近似可分, 引入松弛变量, 使用软间隔SVM; 如果数据不可分, 通过引入核函数, 使用非线性SVM.
SVM具体推导过程
硬间隔原问题
求最大间隔分离超平面可以转换成以下约束最优化问题:
max w , b γ ^ ∣ ∣ w ∣ ∣ s . t . y i ( w ⋅ x i + b ) ≥ γ ^ , i = 1 , 2 , . . . N \begin{aligned} &\max_{w,b} \quad \frac{\hat{\gamma}}{||w||}\\ &s.t. \quad y_i(w \cdot x_i + b) \ge \hat{\gamma}, i = 1,2,...N \end{aligned} w,bmax∣∣w∣∣γ^s.t.yi(w⋅xi+b)≥γ^,i=1,2,...N注: γ \gamma γ为超平面(w,b)关于训练数据集中所有样本点 ( x i , y i ) (x_i, y_i) (xi,yi)的函数间隔的最小值. γ ^ = min i = 1 , . . . , N γ i ^ \hat{\gamma}=\min_{i=1,...,N} \hat{\gamma_i} γ^=i=1,...,Nminγi^
另外, 由于函数间隔 γ ^ \hat{\gamma} γ^ 的取值不会影响最优化问题的解, 因此可以取 γ ^ = 1 \hat{\gamma}=1 γ^=1, 又因为最大化 1 ∣ ∣ w ∣ ∣ \frac{1}{||w||} ∣∣w∣∣1 和最小化 1 2 ∣ ∣ w ∣ ∣ 2 \frac{1}{2}||w||^2 21∣∣w∣∣2 等价, 所以得到线性可分支持向量机的原问题:
min w , b 1 2 ∣ ∣ w ∣ ∣ 2 s . t . y i ( w ⋅ x i + b ) − 1 ≥ 0 , i = 1 , 2 , . . . N \begin{aligned} &\min_{w,b} \quad \frac{1}{2}||w||^2\\ &s.t. \quad y_i(w \cdot x_i + b)-1 \ge 0, i = 1,2,...N \end{aligned} w,bmin21∣∣w∣∣2s.t.yi(w⋅xi+b)−1≥0,i=1,2,...N
硬间隔对偶问题
应用拉格朗日对偶性, 可以将原问题转换成与之等价的对偶问题:
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 = 1 N α i y i = 0 α i ≥ 0 , i = 1 , 2 , . . . N \begin{aligned} &\min_{\alpha} \quad \frac{1}{2}\sum^N_{i=1}\sum^N_{j=1}\alpha_i\alpha_jy_iy_j(x_i \cdot x_j) - \sum^N_{i=1}\alpha_i \\ &s.t. \quad \sum^N_{i=1}\alpha_iy_i=0 \\ &\qquad \alpha_i \ge0, \quad i = 1,2,...N \end{aligned} αmin21i=1∑Nj=1∑