[监督学习]支持向量机

支持向量机是监督学习中最有影响力的方法之一。类似于逻辑回归,这个模型也是基于线性函数 w ⊤ x + b w⊤x + b wx+b 的。不同于逻辑回归的是,支持向量机不输出概率,只输出类别。当 w ⊤ x + b w⊤x + b wx+b 为正时,支持向量机预测属于正类。类似地,当 w ⊤ x + b w⊤x + b wx+b 为负时,支持向量机预测属于负类。

在机器学习中,SVM首次实现了经验风险和结构风险的结合作为优化准则,从而使得学习到的模型具有更好的鲁棒性。接下来我们以线性可分的二值分类问题为背景进行SVD原理的介绍,假设有 N N N 个样本,其特征是2维的,其标签情况显示如下图,而我们SVM的最终目的就是求出一条分割线(在高维空间中称之为超平面)能够完成分类任务。

在这里插入图片描述

从经验风险的角度来看,如果只需要满足分类的正确率的要求,该问题的分割线是存在无数条的;可是我们还有更高的要求,我们希望找到其中最优的那条分割线,也就是说具有更好的鲁棒性,即使有一定噪声存在,也能够更好地区分样本的类别,就是所谓的结构风险最小。这种想法反映到上图中,就是寻找那条红线,它不仅需要满足分类正确的要求,还必须是所有分割线中margin最大的那一个,这里的margin就是指各类样本距离分割线的最小距离的和,即为图中两条蓝色虚线之间的距离 ,我们不妨设红色分割线距离各个类别样本的最短距离相等并记为 d d d

我们设待求的分割线为 w T x + b = 0 \boldsymbol{w}^T\boldsymbol{x}+b = 0 wTx+b=0 ,则两侧虚线的表达式分别为 w T x + b = − 1 , w T x + b = + 1 \boldsymbol{w}^T\boldsymbol{x}+b = -1,\boldsymbol{w}^T\boldsymbol{x}+b = +1 wTx+b=1,wTx+b=+1

假设蓝色虚线的表达式为 w T x + b = c \boldsymbol{w}^T\boldsymbol{x}+b = c wTx+b=c ,我们对等式两边同时除以 c c c ,则有 w T c x + b c = 1 \frac{\boldsymbol{w}^T}{c} \boldsymbol{x}+ \frac{b}{c} = 1 cwTx+cb=1 ,同时对于红色分割线也可以作此处理,有 w T c x + b c = 0 \frac{\boldsymbol{w}^T}{c} \boldsymbol{x}+ \frac{b}{c} = 0 cwTx+cb=0 ,若令 w = w T c , b = b c \boldsymbol{w} = \frac{\boldsymbol{w}^T}{c},b = \frac{b}{c} w=cwT,b=cb ,则有上述结果。这就是分割线参数的缩放处理。

从而有分割线的margin数学表示 D = 2 d = 2 ∣ ∣ w ∣ ∣ D = 2d = \frac{2}{||\boldsymbol{w}||} D=2d=w2 ,也就有了我们的优化目标:
max ⁡ 2 ∣ ∣ w ∣ ∣ \max \frac{2}{||\boldsymbol{w}||} \\ maxw2
那么如何保证样本的分类正确呢?我们可以观察到:当样本为正样例 y i = + 1 y_i=+1 yi=+1 时,有 w T x i + b ≥ + 1 \boldsymbol{w}^T\boldsymbol{x}_i+b \ge +1 wTxi+b+1 ;当样本为负样例 y i = − 1 y_i=-1 yi=1 时,有 w T x i + b ≤ − 1 \boldsymbol{w}^T\boldsymbol{x}_i+b \le -1 wTxi+b1 。将这两个限制条件归结为一个条件表示则为
y i ( w T x i + b ) ≥ 1 \boldsymbol{y}_i(\boldsymbol{w}^T\boldsymbol{x}_i+b) \ge 1 yi(wTxi+b)1
因此,将SVM转化为一个不等式约束的优化问题
{ min ⁡ w 1 2 ∣ ∣ w ∣ ∣ 2 s t . y i ( w T x i + b ) ≥ 1 , i = 1 , 2 , ⋯   , N \left\{ \begin{aligned} & \min_{\boldsymbol{w}} \frac{1}{2}||\boldsymbol{w}||^2 \\ & st.\boldsymbol{y}_i(\boldsymbol{w}^T\boldsymbol{x}_i+b) \ge1 ,i=1,2,\cdots,N\\ \end{aligned} \right. wmin21w2st.yi(wTxi+b)1,i=1,2,,N

简单例子

在这里插入图片描述

在这里插入图片描述

解答:

i. 如图所示

ii. H 2 : w T x + b = − 1 H_2 : \boldsymbol{w}^T \boldsymbol{x} + b =-1 H2:wTx+b=1

iii. 当样本的标签为 y i = − 1 y_i =-1 yi=1 时,有 w T x i + b ≤ − 1 \boldsymbol{w}^T \boldsymbol{x}_i + b\le -1 wTxi+b1 ;当样本的标签为 y i = + 1 y_i = + 1 yi=+1 时,有 w T x i + b ≥ + 1 \boldsymbol{w}^T \boldsymbol{x}_i + b\ge +1 wTxi+b+1 ,经过总结规律从而有 y i ( w T x i + b ) ≥ 1 , ∀ i ∈ { 1 , 2 , ⋯   , N } y_i(\boldsymbol{w}^T \boldsymbol{x}_i + b) \ge 1, \forall i \in\{1,2,\cdots,N\} yi(wTxi+b)1,i{1,2,,N}

iv. 训练数据本身是线性可分的,且不含有噪声。

v. 已知 H 1 : w T x + b = 1 , H 2 : w T x + b = − 1 H_1 : \boldsymbol{w}^T \boldsymbol{x} + b = 1,H_2 : \boldsymbol{w}^T \boldsymbol{x} + b =-1 H1:wTx+b=1,H2:wTx+b=1 ,由求平行直线的距离公式知
D = 2 ∣ ∣ w ∣ ∣ 2 D= \frac{2}{||\boldsymbol{w}||^2} D=w22
vi. 优化问题的表达式为
{ min ⁡ 1 2 ∣ ∣ w ∣ ∣ 2 s t . y i ( w T x i + b ) ≥ 1 , i = 1 , 2 , ⋯   , N \left\{ \begin{aligned} & \min \frac{1}{2}||\boldsymbol{w}||^2 \\ & st.\boldsymbol{y}_i(\boldsymbol{w}^T\boldsymbol{x}_i+b) \ge1 ,i=1,2,\cdots,N\\ \end{aligned} \right. min21w2st.yi(wTxi+b)1,i=1,2,,N
vii. 在这种情况下,具体的优化公式为
{ min ⁡ 1 2 ( w 1 2 + w 2 2 + w 3 2 ) w 1 + 2 w 2 + 3 w 3 + b ≥ 1 4 w 1 + w 2 + 2 w 3 + b ≥ 1 w 1 − 2 w 2 + w 3 − b ≥ 1 \left\{ \begin{aligned} & \min \frac{1}{2}({w}_1^2 + {w}_2^2 + {w}_3^2) \\ & {w}_1 + 2{w}_2 + 3{w}_3 +b \ge 1 \\ & 4{w}_1 + {w}_2 + 2{w}_3 +b \ge 1 \\ & {w}_1 - 2{w}_2 + {w}_3 -b \ge 1 \\ \end{aligned} \right. min21(w12+w22+w32)w1+2w2+3w3+b14w1+w2+2w3+b1w12w2+w3b1
从而有拉格朗日函数
L ( w , b ) = 1 2 ( w 1 2 + w 2 2 + w 3 2 ) − λ 1 ( w 1 + 2 w 2 + 3 w 3 + b − 1 ) − λ 2 ( 4 w 1 + w 2 + 2 w 3 + b − 1 ) − λ 3 ( w 1 − 2 w 2 + w 3 − b − 1 ) \begin{aligned} L(\boldsymbol{w},b) & = \frac{1}{2}({w}_1^2 + {w}_2^2 + {w}_3^2) - \lambda_1({w}_1 + 2{w}_2 + 3{w}_3 +b -1 )\\& - \lambda_2(4{w}_1 + {w}_2 + 2{w}_3 +b - 1) - \lambda_3({w}_1 - 2{w}_2 + {w}_3 -b - 1 ) \\ \end{aligned} L(w,b)=21(w12+w22+w32)λ1(w1+2w2+3w3+b1)λ2(4w1+w2+2w3+b1)λ3(w12w2+w3b1)
其KKT条件为
{ ∂ L ∂ w 1 = w 1 − λ 1 − 4 λ 2 − λ 3 = 0 ∂ L ∂ w 2 = w 2 − 2 λ 1 − λ 2 + 2 λ 3 = 0 ∂ L ∂ w 3 = w 3 − 3 λ 1 − 2 λ 2 − λ 3 = 0 ∂ L ∂ b = − λ 1 − λ 2 + λ 3 = 0 λ 1 ( w 1 + 2 w 2 + 3 w 3 + b − 1 ) = 0 λ 2 ( 4 w 1 + w 2 + 2 w 3 + b − 1 ) = 0 λ 3 ( w 1 − 2 w 2 + w 3 + b − 1 ) = 0 λ 1 ≥ 0 λ 2 ≥ 0 λ 3 ≥ 0 \left\{ \begin{aligned} & \frac{\partial L}{\partial w_1} = w_1-\lambda_1-4\lambda_2-\lambda_3 =0 \\ & \frac{\partial L}{\partial w_2} = w_2 - 2\lambda_1 -\lambda_2 +2\lambda_3 = 0\\ & \frac{\partial L}{\partial w_3} = w_3 - 3\lambda_1 - 2\lambda_2 -\lambda_3 = 0 \\ & \frac{\partial L}{\partial b} = -\lambda_1 -\lambda_2 + \lambda_3 = 0 \\ &\lambda_1({w}_1 + 2{w}_2 + 3{w}_3 +b -1 ) = 0 \\ &\lambda_2(4{w}_1 + {w}_2 + 2{w}_3 +b - 1) = 0 \\ &\lambda_3({w}_1 - 2{w}_2 + {w}_3 +b - 1 ) = 0 \\ &\lambda_1\ge 0 \\ &\lambda_2\ge 0 \\ &\lambda_3\ge 0 \\ \end{aligned} \right. w1L=w1λ14λ2λ3=0w2L=w22λ1λ2+2λ3=0w3L=w33λ12λ2λ3=0bL=λ1λ2+λ3=0λ1(w1+2w2+3w3+b1)=0λ2(4w1+w2+2w3+b1)=0λ3(w12w2+w3+b1)=0λ10λ20λ30
解出
{ λ 1 = 0.1 λ 2 = 0 λ 3 = 0.1 w 1 = 0.2 w 2 = 0 w 3 = 0.4 b = − 0.4 \left\{ \begin{aligned} & \lambda_1 = 0.1 \\ & \lambda_2 = 0 \\ & \lambda_3 = 0.1\\ & w_1 = 0.2 \\ & w_2 = 0 \\ & w_3 = 0.4\\ & b = -0.4 \end{aligned} \right. λ1=0.1λ2=0λ3=0.1w1=0.2w2=0w3=0.4b=0.4

拉格朗日对偶问题

从上一节的简单例子中,我们可以通过KKT条件求解SVM的问题,但是当样本数目特别多时,这种求解方法就明显力不从心了。因此需要寻找一种更简便的方法,而拉格朗日对偶问题是求解SVM的一种有效的方式。

原始问题

假设 f ( x ) , c i ( x ) , h j ( x ) f(x),c_i(x),h_j(x) f(x),ci(x),hj(x) 是定义在 R n \R^n Rn 上的连续可微函数,考虑约束最小化问题
{ min ⁡ x ∈ R n f ( x ) s . t . c i ( x ) ≤ 0 , i = 1 , 2 , ⋯   , k h j ( x ) = 0 , j = 1 , 2 , ⋯   , l \left\{ \begin{aligned} & \min_{\boldsymbol{x} \in \R^n} f(\boldsymbol{x})\\ s.t. &c_i(\boldsymbol{x}) \le 0,i=1,2,\cdots,k\\ & h_j(\boldsymbol{x}) = 0, j=1,2,\cdots,l \end{aligned} \right. s.t.xRnminf(x)ci(x)0,i=1,2,,khj(x)=0,j=1,2,,l
称此约束优化问题为原始问题。

首先,引入广义拉格朗日函数
L ( x , α , β ) = f ( x ) + ∑ i = 1 k α i c i ( x ) + ∑ j = 1 l β i h i ( x ) L(x,\boldsymbol{\alpha},\boldsymbol{\beta}) = f(\boldsymbol{x}) + \sum_{i=1}^k \alpha_i c_i(\boldsymbol{x}) + \sum_{j=1}^l \beta_i h_i(\boldsymbol{x}) L(x,α,β)=f(x)+i=1kαici(x)+j=1lβihi(x)
这里的 x = [ x 1 , x 2 , ⋯   , x n ] T ∈ R n \boldsymbol{x} = [x_1,x_2,\cdots,x_n]^T \in \R^n x=[x1,x2,,xn]TRn α i , β i \alpha_i,\beta_i αi,βi 是拉格朗日乘子, α i ≥ 0 \alpha_i \ge 0 αi0 ,考虑 x \boldsymbol{x} x 的函数:
θ p ( x ) = max ⁡ α , β , α i ≥ 0 L ( x , α , β ) \boldsymbol{\theta}_p(\boldsymbol{x}) = \max_{\boldsymbol\alpha,\beta,\alpha_i\ge0} L(\boldsymbol x,\boldsymbol{\alpha},\boldsymbol{\beta}) θp(x)=α,β,αi0maxL(x,α,β)
这里的下标 p p p 表示原始问题。针对 x \boldsymbol{x} x ,可以分为两种情况分别考虑。

  1. 假设给定某个 x \boldsymbol x x ,如果 x \boldsymbol x x 违反原始问题的约束条件,也就是某个 i i i 使得 c i ( x ) > 0 c_i(\boldsymbol{x})>0 ci(x)>0 或者存在某个 j j j 使得 h j ( x ) ≠ 0 h_j(\boldsymbol{x})\neq 0 hj(x)=0 ,那么就有

θ p ( x ) = max ⁡ α , β , α i ≥ 0 f ( x ) + ∑ i = 1 k α i c i ( x ) + ∑ j = 1 l β j h j ( x ) = + ∞ \boldsymbol{\theta}_p(\boldsymbol{x}) = \max_{\boldsymbol\alpha,\beta,\alpha_i\ge0} f(\boldsymbol{x}) + \sum_{i=1}^k \alpha_i c_i(\boldsymbol{x}) + \sum_{j=1}^l \beta_j h_j(\boldsymbol{x}) = + \infty θp(x)=α,β,αi0maxf(x)+i=1kαici(x)+j=1lβjhj(x)=+

上式是怎么来的呢?因为若某个 i i i 使得 c i ( x ) > 0 c_i(\boldsymbol{x}) > 0 ci(x)>0 ,这个时候为求得最大值,不妨设 α i → + ∞ \alpha_i \rightarrow + \infty αi+ ,其余参数不管怎样,都会有 θ p ( x ) → + ∞ \boldsymbol{\theta}_p(\boldsymbol{x}) \rightarrow +\infty θp(x)+ ;如若存在某个 j j j 使得 h j ( x ) ≠ 0 h_j(\boldsymbol{x})\neq 0 hj(x)=0 ,为求得最大值,我们不妨令 β j h j ( x ) → + ∞ \beta_j h_j(\boldsymbol{x})\rightarrow + \infty βjhj(x)+ ,同样不管其他参数如何,都会有 θ p ( x ) → + ∞ \boldsymbol{\theta}_p(\boldsymbol{x}) \rightarrow +\infty θp(x)+

  1. 假设给定某个 x \boldsymbol{x} x ,如果 x \boldsymbol{x} x 满足原始问题的约束条件,则有
    θ p ( x ) = max ⁡ α , β , α i ≥ 0 f ( x ) + ∑ i = 1 k α i c i ( x ) + ∑ j = 1 l β j h j ( x ) = f ( x ) \boldsymbol{\theta}_p(\boldsymbol{x}) = \max_{\boldsymbol\alpha,\beta,\alpha_i\ge0} f(\boldsymbol{x}) + \sum_{i=1}^k \alpha_i c_i(\boldsymbol{x}) + \sum_{j=1}^l \beta_j h_j(\boldsymbol{x}) = f(\boldsymbol{x}) θp(x)=α,β,αi0maxf(x)+i=1kαici(x)+j=1lβjhj(x)=f(x)
    因此,可以总结为
    θ p ( x ) = { f ( x ) , x 满 足 原 始 问 题 约 束 + ∞ , 其 他 \boldsymbol{\theta}_p(\boldsymbol{x}) = \left\{ \begin{aligned} & f(\boldsymbol{x}) , &\boldsymbol{x}满足原始问题约束\\ & + \infty , &其他 \end{aligned} \right. θp(x)={f(x),+,x
    这时,我们发现极小化问题
    min ⁡ x θ p ( x ) = min ⁡ x max ⁡ α , β , α i ≥ 0 L ( x , α , β ) \min_{\boldsymbol{x}} \boldsymbol{\theta}_p(\boldsymbol{x}) = \min_{\boldsymbol{x}} \max_{\boldsymbol\alpha,\beta,\alpha_i\ge0} L(\boldsymbol x,\boldsymbol{\alpha},\boldsymbol{\beta}) xminθp(x)=xminα,β,αi0maxL(x,α,β)
    和原始问题的优化是等价的,它们是有相同的解的。
对偶问题

我们直接给出结论:

在满足 f ( x ) , c i ( x ) , h j ( x ) f(x),c_i(x),h_j(x) f(x),ci(x),hj(x) 都是凸函数的条件下
min ⁡ x max ⁡ α , β , α i ≥ 0 L ( x , α , β ) = max ⁡ α , β , α i ≥ 0 min ⁡ x L ( x , α , β ) \min_{\boldsymbol{x}} \max_{\boldsymbol\alpha,\beta,\alpha_i\ge0} L(\boldsymbol x,\boldsymbol{\alpha},\boldsymbol{\beta}) = \max_{\boldsymbol\alpha,\beta,\alpha_i\ge0} \min_{\boldsymbol{x}} L(\boldsymbol x,\boldsymbol{\alpha},\boldsymbol{\beta}) xminα,β,αi0maxL(x,α,β)=α,β,αi0maxxminL(x,α,β)
回到SVM的优化问题,并将其转化为对偶问题。
{ min ⁡ w 1 2 ∣ ∣ w ∣ ∣ 2 s t . y i ( w T x i + b ) ≥ 1 , i = 1 , 2 , ⋯   , N L ( w , b , α ) = 1 2 w 2 + ∑ i = 1 N α i [ 1 − y i ( w T x i + b ) ] \left\{ \begin{aligned} & \min_{\boldsymbol{w}} \frac{1}{2}||\boldsymbol{w}||^2 \\ & st.\boldsymbol{y}_i(\boldsymbol{w}^T\boldsymbol{x}_i+b) \ge1 ,i=1,2,\cdots,N\\ \end{aligned} \right. \\ L(\boldsymbol{w},b,\boldsymbol{\alpha}) = \frac{1}{2} \boldsymbol{w}^2 + \sum_{i=1}^N \alpha_i\big[1-y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b)\big] wmin21w2st.yi(wTxi+b)1,i=1,2,,NL(w,b,α)=21w2+i=1Nαi[1yi(wTxi+b)]
原始问题: min ⁡ w , b max ⁡ α , α i ≥ 0 L ( w , b , α ) \displaystyle \min_{\boldsymbol{w},b} \max_{\boldsymbol\alpha,\alpha_i\ge0} L(\boldsymbol{w},b,\boldsymbol{\alpha}) w,bminα,αi0maxL(w,b,α)

对偶问题: max ⁡ α , α i ≥ 0 min ⁡ w , b L ( w , b , α ) \displaystyle\max_{\boldsymbol\alpha,\alpha_i\ge0} \min_{\boldsymbol{w},b} L(\boldsymbol{w},b,\boldsymbol{\alpha}) α,αi0maxw,bminL(w,b,α)

对于 min ⁡ w , b L ( w , b , α ) \displaystyle \min_{\boldsymbol{w},b} L(\boldsymbol{w},b,\boldsymbol{\alpha}) w,bminL(w,b,α)
∂ L ∂ w = 0 ⇒ w = ∑ i = 1 N α i x i y i ∂ L ∂ b = 0 ⇒ ∑ i = 1 N α i y i = 0 \begin{aligned} \frac{\partial L}{\partial \boldsymbol{w}} = 0 &\Rightarrow w = \sum_{i=1}^N \alpha_i \boldsymbol{x}_i y_i \\ \frac{\partial L}{\partial b} = 0 &\Rightarrow \sum_{i=1}^N\alpha_iy_i=0 \end{aligned} wL=0bL=0w=i=1Nαixiyii=1Nαiyi=0
满足上述参数时, L L L 关于 w , b \boldsymbol{w},b w,b 取得最小值,接下来求解 max ⁡ α , α i ≥ 0 min ⁡ w , b L ( w , b , α ) \displaystyle\max_{\boldsymbol\alpha,\alpha_i\ge0} \min_{\boldsymbol{w},b} L(\boldsymbol{w},b,\boldsymbol{\alpha}) α,αi0maxw,bminL(w,b,α) ,将上述结果代入有
max ⁡ α 1 2 ( ∑ i = 1 N α i x i y i ) 2 + ∑ i = 1 N α i [ 1 − ( ∑ j = 1 N α j x j y j ) T x i y i ] = max ⁡ α 1 2 ( ∑ i = 1 N α i x i y i ) T ( ∑ i = 1 N α i x i y i ) − ∑ i = 1 N α i ( ∑ j = 1 N α j x j y j ) T x i y i + ∑ i = 1 N α i = max ⁡ α − 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j < x i , x j > + ∑ i = 1 N α i 并 且 { ∑ i = 1 N α i y i = 0 α i [ 1 − y i ( w T x i + b ) ] = 0 α i ≥ 0 , i = 1 , 2 , ⋯   , N \begin{aligned} & \max_{\boldsymbol{\alpha}} \frac{1}{2} (\sum_{i=1}^N \alpha_i \boldsymbol{x}_i y_i )^2 + \sum_{i=1}^N \alpha_i\big[1-(\sum_{j=1}^N \alpha_j \boldsymbol{x}_j y_j )^T\boldsymbol{x}_i y_i\big] \\ = & \max_{\boldsymbol{\alpha}} \frac{1}{2} (\sum_{i=1}^N \alpha_i \boldsymbol{x}_i y_i )^T (\sum_{i=1}^N \alpha_i \boldsymbol{x}_i y_i ) - \sum_{i=1}^N \alpha_i (\sum_{j=1}^N \alpha_j \boldsymbol{x}_j y_j )^T \boldsymbol{x}_i y_i + \sum_{i=1}^N \alpha_i \\ = & \max_{\boldsymbol{\alpha}} -\frac{1}{2} \sum_{i=1}^N \sum_{j=1}^N \alpha_i \alpha_j y_i y_j<\boldsymbol{x}_i,\boldsymbol{x}_j> + \sum_{i=1}^N \alpha_i \\ \end{aligned} \\ 并且 \left\{ \begin{aligned} &\sum_{i=1}^N\alpha_iy_i=0 \\ &\alpha_i \big[1-y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b)\big] =0 \\ &\alpha_i \ge 0,i=1,2,\cdots,N \end{aligned} \right. ==αmax21(i=1Nαixiyi)2+i=1Nαi[1(j=1Nαjxjyj)Txiyi]αmax21(i=1Nαixiyi)T(i=1Nαixiyi)i=1Nαi(j=1Nαjxjyj)Txiyi+i=1Nαiαmax21i=1Nj=1Nαiαjyiyj<xi,xj>+i=1Nαii=1Nαiyi=0αi[1yi(wTxi+b)]=0αi0,i=1,2,,N
从而转变为一个求解 α i \alpha_i αi 的优化问题,若求解出 α i \alpha_i αi ,则 w , b \boldsymbol{w},b w,b 自然可以表示出来。
w = ∑ i = 1 N α i x i y i b = 1 − y i w T x y i , x ∈ S \boldsymbol{w} = \sum_{i=1}^N \alpha_i \boldsymbol{x}_i y_i \\ b = \frac{1-y_i\boldsymbol{w}^T\boldsymbol{x}}{y_i},\boldsymbol{x} \in S w=i=1Nαixiyib=yi1yiwTx,xS
其中, S S S 表示支持向量的样本集合。从而有SVM的决策函数
y = ( ∑ i = 1 N α i x i y i ) T x = ∑ i = 1 N α i y i x i T x y = (\sum_{i=1}^N \alpha_i \boldsymbol{x}_i y_i)^T\boldsymbol{x} = \sum_{i=1}^N \alpha_i y_i \boldsymbol{x}_i^T \boldsymbol{x} y=(i=1Nαixiyi)Tx=i=1NαiyixiTx

序列最小化算法(SMO)

上节最后得到的关于 α \boldsymbol{\alpha} α 的式子是一个二次规划问题,使用通用算法开销比较大。SMO方法是1998年提出的,用于求取SVM中的拉格朗日乘子,比通用算法更加高效。

其主要思想为,选取两个变量 α i , α j \alpha_i,\alpha_j αi,αj ,固定其他参数,对这两个参数进行优化,然后重复这个过程。

线性不可分时的核函数应用

在样本数据是线性不可分的情况中,自然上述的SVD无法解决,如下图(左)所示,椭圆内是一类,椭圆外是一类,自然无法用一条直线进行区分。这时,我们可以将原始数据进行一个空间映射。

在这里插入图片描述
设原空间为 χ ⊂ R 2 , x = [ x 1 , x 3 ] T ∈ χ \chi \subset \R^2,\boldsymbol{x} = [x_1,x_3]^T \in \chi χR2,x=[x1,x3]Tχ ,新空间为 Z ∈ R 2 , z = [ z 1 , z 2 ] T ∈ Z \Zeta \in \R^2,\boldsymbol{z} = [z^1,z^2]^T \in \Zeta ZR2,z=[z1,z2]TZ ,定义从原空间到新空间的映射为
z = ϕ ( x ) = [ x 1 2 , x 2 2 ] T \boldsymbol{z} = \phi(\boldsymbol{x})=[x_1^2,x_2^2]^T z=ϕ(x)=[x12,x22]T
经过变换 z = ϕ ( x ) \boldsymbol{z} = \phi(\boldsymbol{x}) z=ϕ(x) ,原空间 χ ⊂ R 2 \chi \subset \R^2 χR2 变换为新空间 Z ⊂ R 2 \Zeta \subset \R^2 ZR2 ,原空间的点相应的变换为新空间的点,原空间的椭圆
w 1 x 1 2 + w 2 x 2 2 + b = 0 w_1x_1^2 + w_2x_2^2 +b =0 w1x12+w2x22+b=0
变换为新空间的直线
w 1 z 1 + w 2 z 2 + b = 0 w_1z_1+w_2z_2+b= 0 w1z1+w2z2+b=0
这样,就可以用普通的SVM进行处理了。由于SVD的求解过程的特殊性,即它并不需要明确知道每一个样本点的具体坐标,而仅仅需要两两样本间的内积,因此在SVD中的核函数并不需要知道变换后的坐标,仅需要变换后的内积即可。故有几种常见核函数:

  1. 多项式核函数
    K ( x , z ) = ( x ⋅ z + 1 ) p K(\boldsymbol{x},\boldsymbol{z}) = (\boldsymbol{x} \cdot \boldsymbol{z} + 1)^p K(x,z)=(xz+1)p
    对应的SVM是一个 p p p 次多项式分类器,在此情况下,分类决策函数为
    f ( x ) = s i g n ( ∑ i = 1 N α i ∗ y i ( x i ⋅ x + 1 ) p + b ∗ ) \begin{aligned} f(\boldsymbol{x}) = sign \Big( \sum_{i=1}^N \alpha_i^* y_i(\boldsymbol{x}_i \cdot \boldsymbol{x} + 1)^p + b^* \Big) \end{aligned} f(x)=sign(i=1Nαiyi(xix+1)p+b)

  2. 高斯核函数
    K ( x , z ) = e − ∣ ∣ x − z ∣ ∣ 2 2 σ 2 K(\boldsymbol{x},\boldsymbol{z}) = e^{-\frac{||\boldsymbol{x}-\boldsymbol{z}||^2}{2\sigma^2}} K(x,z)=e2σ2xz2
    对应的SVM是一个高斯径向基函数分类器,在此情况下,分类决策函数为
    f ( x ) = s i g n ( ∑ i = 1 N α i ∗ y i e − ∣ ∣ x − z ∣ ∣ 2 2 σ 2 + b ∗ ) \begin{aligned} f(\boldsymbol{x}) = sign \Big( \sum_{i=1}^N \alpha_i^* y_ie^{-\frac{||\boldsymbol{x}-\boldsymbol{z}||^2}{2\sigma^2}} + b^* \Big) \end{aligned} f(x)=sign(i=1Nαiyie2σ2xz2+b)

参考资料:支持向量机原理推导及Python实现

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值