Support Vector Machine

来源:互联网 发布:奥迪工程师软件 编辑:程序博客网 时间:2024/06/05 20:19

Linear Hard-Margin SVM

首先看一个非常简单的线性可分问题,下图所示三条直线(超平面)都可以将问题分开,那么哪条线分得比较好呢?当然我们可以在训练时通过不同的初始化方式得到不同的超平面,在验证集上进行评价选出最好的超平面。问题是对于这样的问题,存在无数种可能将数据很好的分开,当然不可能对所有可能的结果进行评价,那么如何在训练时就得到一个较好的分类器呢?一个直观的想法就是把两类样本分得越远越好,就是让正负样本到超平面的最近的距离越大越好。

线性可分

假设我们需要的超平面wx+b=0,这个超平面能将正负样本成功分开,即对所有的正样本(y=+1)都有wx+b>0,对所有的负样本(y=1)都有wx+b<0,合并起来就是yi(wxi+b)>0,另外假设对于所有的样本,yi(wxi+b)的最小值是ϵ。由于对wb进行相同尺度的放缩不影响超平面的性质,不妨令ϵ=1,那么就有yi(wxi+b)1。满足yi(wxi+b)=1的样本到超平面的距离就是1||w||,我们的任务现在就是在满足yi(wxi+b)1的条件下,使得1||w||尽可能的大,转换一下思路就变成了如下所示的优化问题:

这里写图片描述

注意到这个形式本质上是一个二次规划问题,数学家们已经搞好了二次规划问题的解决方式,将它改成标准的二次规划形式后扔给解二次规划问题的软件就好了

这里写图片描述

这个二次规划问题需要求解的变量数目是d+1,限制条件数目为N,其中d是样本空间维度,N是样本数目。需要存储的矩阵Q是个对角矩阵

回顾一下简单的感知器分类函数,我们优化的目标是希望错分的样本数越少越好,另外可以对权重进行限制作为正则化的手段。而现在的SVM优化的目标变成了权重的二范数,而限制条件变成了yi(wxi+b)1

这里写图片描述

Dual Hard-Margin SVM

对于线性不可分的问题,采用一个变换将X空间中的样本变到Z空间,即zn=Φ(xn)

这里写图片描述

例如对下图所示的两个类似椭圆形的点采用函数

z1=x21,z2=x22,z3=x2

映射到三维空间并对齐进行旋转后,便可得到一个线性可分的超平面了。(例子以及图片来自pluskid的kernel函数部分)

这里写图片描述

这里写图片描述

一般来说,原本线性不可分的问题能通过映射到更高维甚至是无限维来解决(除非运气特别好碰到映射到低维空间也能解决的问题)
前面我们说过,二次规划问题需要求解的变量数目是d+1,之前的办法解决维度特别高(无限维)的问题时很困难,我们希望将问题的复杂度变成与d无关

引入拉格朗日乘子法,定义一个新的求解量L(w,b,α0)=12wTw+Nn=1αn(1yn(wTzn+b))

原本的优化目标是12wTw,限制条件是yn(wTzn+b)1
当满足限定条件时,L12wTw,即12wTw=maxL(w,b,α0)
对任意α>0,有min(maxL(w,b,α))minL(w,b,α)
α是最优解时同样满足,所以有
min(maxL(w,b,α))max(minL(w,b,α))
问题转化为原问题的拉格朗日对偶问题

先求解minL,分别令
Lw=0w=αnynzn
Lb=0αnyn=0

带入后原问题转化为
这里写图片描述

其中一些条件,

  • primal feasible: yn(wTzn+b)1
  • dual feasible: αn0
  • dual-inner optimal: w=αnynzn;αnyn=0
  • primal-inner optimal: αn(1yn(wTzn+b))=0
    这些条件称作KKT(Karush-Kuhn-Tucker)条件,他们是存在最优解的充分必要条件

经过上述变换有
这里写图片描述

它仍然满足二次规划的形式
这里写图片描述

其中需要求解的变量数为N,限制条件数目是2N

现在虽然需要求解的变量数与d无关了,然而矩阵Q中的元素大都不为0,需要花费很大的空间存储,实际应用时仍然需要其它的算法求解(SMO)

这里写图片描述

原创粉丝点击