机器学习笔记6:SVM基本原理

SVM的基本原理:
1、最大间隔原则
2、对偶表示
3、KKT条件

SVM(Support Vector Machine),又称支持向量机,在分类问题上,除了logistic分类回归外,还有另一种实现方式,那就是使用SVM原则。那么什么是SVM 呢。
1、最大间隔原则
首先,我们定义最大间隔原则:最大化两个类最近点之间的距离。如何理解呢。我们先从简单的二维平面着手,看下图(在此之前,我们假设分类器是线性可分的):
     在这里插入图片描述
图中有两组平行线,每组都是黑、红、蓝组成的,分别是a组合b组。根据最大间隔原则,只有a组才符合最大化两个类最近点的距离;那么这距离称为间隔(margin),黑色或者红线上面的点被称为支持向量(Support Vector)。这个符合我们的直觉,如果两个物体之间分得越开就越容易能够分别出来,而非“密不可分”
那么这个间隔如何得出呢,为了能够非常直观的得出结论,我们要在三维坐标上来演示,如下图:
         在这里插入图片描述
在此图中,假设我们的线性分类面 f ( x ) = w T x + x 0 f(\textbf{x})=\textbf{w}^{T}\textbf{x}+x_{0} f(x)=wTx+x0,则 x = x p + r w ∣ ∣ w ∣ ∣ \textbf{x}=\textbf{x}_{p}+r\frac{\textbf{w}}{||\textbf{w}||} x=xp+rww,其中 x \textbf{x} x到分类面的距离为 r r r
因为: f ( x p ) = w T x p + w 0 = 0 f(\textbf{x}_{p})=\textbf{w}^{T}\textbf{x}_{p}+w_{0}=0 f(xp)=wTxp+w0=0 w T w = ∣ ∣ w ∣ ∣ 2 \textbf{w}^{T}\textbf{w}=||\textbf{w}||^{2} wTw=w2
所以:
   在这里插入图片描述
当x=0时,原点到分类面的距离为: r 0 = f ( 0 ) ∣ ∣ w ∣ ∣ = w 0 ∣ ∣ w ∣ ∣ r_{0}=\frac{f(0)}{||\textbf{w}||}=\frac{w_{0}}{||\textbf{w}||} r0=wf(0)=ww0
线性判别函数:线性判别函数利用超平面把特征空间分隔成两个区域,超平面的法向量方向是由 w \textbf{w} w决定的,而它的位置由 w 0 w_{0} w0确定。判别函数 f ( x ) f(\textbf{x}) f(x)正比于 x \textbf{x} x到超平面的代数距离(带正负号)。当 x \textbf{x} x在超平面的正侧时, f ( x ) &gt; 0 f(\textbf{x})&gt;0 f(x)>0;当 x \textbf{x} x在超平面的负侧时, f ( x ) &lt; 0 f(\textbf{x})&lt;0 f(x)<0; x \textbf{x} x到超平面的距离 r y i = y i f ( x ) ∣ ∣ w ∣ ∣ ry_{i}=\frac{y_{i}f(\textbf{x})}{||\textbf{w}||} ryi=wyif(x), y i ∈ { 1 , − 1 } y_{i}\in \{1,-1\} yi{1,1};可视为对 x \textbf{x} x判别的置信度
间隔(margin)计算:
             在这里插入图片描述
根据上图,间隔是两个向量相减得出的,即间隔= ∣ x + − x − ∣ |\textbf{x}_{+}-\textbf{x}_{-}| x+x,因为 x + = x − + λ w \textbf{x}_{+}=\textbf{x}_{-}+\lambda\textbf{w} x+=x+λw,且 w 0 + w T x + = 1 w 0 + w T x − = − 1 } ⇒ w T ( x + − x − ) = 2 ⇒ λ = 2 ∣ ∣ w ∣ ∣ 2 \left.\begin{matrix} w_{0}+\textbf{w}^{T}\textbf{x}_{+}=1\\ w_{0}+\textbf{w}^{T}\textbf{x}_{-}=-1 \end{matrix}\right\}\Rightarrow \textbf{w}^{T}(\textbf{x}_{+}-\textbf{x}_{-})=2\Rightarrow \lambda =\frac{2}{||\textbf{w}||^{2}} w0+wTx+=1w0+wTx=1}wT(x+x)=2λ=w22
所以最终,间隔= ∣ x + − x − ∣ = 2 ∣ ∣ w ∣ ∣ |\textbf{x}_{+}-\textbf{x}_{-}|=\frac{2}{||\textbf{w}||} x+x=w2
所以SVM最大化间隔的超平面为:
       在这里插入图片描述
等价于:
       在这里插入图片描述
由此我们求解的就是二次规划问题(目标函数为二次函数,约束项为线性约束),当变量个数为 D + 1 D+1 D+1,则约束项的数目为 N N N

2、对偶表示
凸优化理论告诉我们该优化问题可以等价的写成其对偶形式(dual formulation),根据拉格朗日函数:
       L ( α , w 0 , w ) = 1 2 w T w − ∑ i = 1 N α i ( y i ( w 0 + w T x ) − 1 ) , α i &gt; 0 L(\mathbf{\alpha},w_{0},\textbf{w})=\frac{1}{2}\textbf{w}^{T}\textbf{w}-\sum_{i=1}^{N}\alpha_{i}(y_{i}(w_{0}+\textbf{w}^{T}\textbf{x})-1),\alpha_{i} &gt;0 L(α,w0,w)=21wTwi=1Nαi(yi(w0+wTx)1),αi>0
那么是的目标函数最小的 w 0 , w w_{0},\textbf{w} w0,w为:
       ∂ L ∂ w = 0 ⇒ w = ∑ i = 1 N α i y i x i \frac{\partial L}{\partial \textbf{w}}=0\Rightarrow \textbf{w}=\sum_{i=1}^{N}\alpha_{i}y_{i}\textbf{x}_{i} wL=0w=i=1Nαiyixi
       ∂ L ∂ w 0 = 0 ⇒ ∑ i = 1 N α i y i = 0 \frac{\partial L}{\partial w_{0}}=0\Rightarrow \sum_{i=1}^{N}\alpha_{i}y_{i}=0 w0L=0i=1Nαiyi=0
在这里插入图片描述
那么解对偶问题就在于寻找 { α i } i = 1 N \{\alpha_{i}\}_{i=1}^{N} {αi}i=1N,最大化目标函数:
      在这里插入图片描述
需要满足条件: { ∑ i = 1 N α i y i α i ≥ 0 \left\{\begin{matrix} \sum_{i=1}^{N}\alpha _{i}y_{i}\\ \alpha _{i}\geq 0 \end{matrix}\right. {i=1Nαiyiαi0
但是任然有一个问题,那就是当变量数为 N N N,约束项的数目为 N + 1 N+1 N+1时,如果 N N N比较大时,对偶问题的复杂度可能比原问题更高;这是我们可以利用对偶问题的kernel trick和核方法结合方法来解决,对此,该问题的高效优化算法为:SMO(Sequential Minimal Optimization),它的主要两个思想是:一是坐标轴下降法,二是在SVM中, △ L w 0 = 0 ⇒ α ∗ y 1 = 0 \triangle L_{w_{0}}=0\Rightarrow \mathbf{\alpha}^{*} y\textbf{1}=0 Lw0=0αy1=0,所以不能够单独改变一个 α \alpha α,而是每次每次选取一对 α i , α j \alpha_{i},\alpha_{j} αi,αj做优化
求解出 α i \alpha_{i} αi后,在求出 w = ∑ i = 1 N α i y i x i \textbf{w}=\sum_{i=1}^{N}\alpha_{i}y_{i}\textbf{x}_{i} w=i=1Nαiyixi w 0 w_{0} w0,可以得到判别函数: f ( x ) = w 0 + w T x = w 0 + ∑ i α i y i x i T x = w 0 + ∑ i α i y i ⟨ x , x i ⟩ f(x)=w_{0}+\textbf{w}^{T}\textbf{x}=w_{0}+\sum_{i}\alpha_{i}y_{i}\textbf{x}_{i}^{T}\textbf{x}=w_{0}+\sum_{i}\alpha_{i}y_{i}\left \langle \textbf{x},\textbf{x}_{i} \right \rangle f(x)=w0+wTx=w0+iαiyixiTx=w0+iαiyix,xi
这就可以得到SVM模型了,当一个新 x \textbf{x} x进行预测是,分类器 y ^ = s g n ( f ( x ) ) \hat{y}=sgn(f(\textbf{x})) y^=sgn(f(x))

3、KKT条件
在二次规划问题上的求解时,根据优化理论,一个点 x \textbf{x} x称为全局最小值的必要条件是满足Karush-Kuhn-Tucker条件(KKT),当 f ( x ) f(\textbf{x}) f(x)是凸函数时,KKT条件也是充分条件。
对于二次规划问题的求解。我们知道其对偶性质
原问题: P = m i n x f 0 ( x ) P=\underset{\textbf{x}}{min}f_0(\textbf{x}) P=xminf0(x)
    s.t. f i ( x ) ≤ 0 , 1 ≤ i ≤ N f_{i}(\textbf{x})\leq 0,1\leq i\leq N fi(x)0,1iN
       h j ( x ) = 0 , 1 ≤ j ≤ M h_{j}(\textbf{x})= 0,1\leq j\leq M hj(x)=0,1jM
      
拉格朗日函数: L ( x , λ , μ ) = f 0 ( x ) + ∑ i λ i f i ( x ) + ∑ j μ j h j ( x ) L(\textbf{x},\mathbf{\lambda},\mathbf{\mu})=f_{0}(\textbf{x})+\sum_{i}\lambda_{i}f_{i}(\textbf{x})+\sum_{j}\mu_{j}h_{j}(\textbf{x}) L(x,λ,μ)=f0(x)+iλifi(x)+jμjhj(x)

对偶问题: D = m a x λ , μ L ( x , λ , μ ) D=\underset{\mathbf{\lambda},\mathbf{\mu}}{max}L(\textbf{x},\mathbf{\lambda},\mathbf{\mu}) D=λ,μmaxL(x,λ,μ)
     s.t. λ i ≥ 0 \lambda_i \geq 0 λi0
P ≥ D P\geq D PD时,为弱对偶性;当 P = D P=D P=D时,为强对偶性

待续。。。。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值