【机器学习】支持向量机(1)——基础知识

前言

本篇主要介绍一些支持向量机用到的概念,这些是学习支持向量机算法的基础,以便更好的理解算法的求解方法。

划分超平面

首先,我们先看看下图:


这里写图片描述

假定给定数据如上图,圆的为正类,方的为负类,要想通过一个划分超平面(这里是二维,所以是条直线)将不同类别的样本分开。从图中我们就可以看出,能将训练样本分开的划分超平面可能有很多,但是我们应该去选择哪一个呢?

直观上,我们应该选择中间红色的那个,因为它对于训练样本局部扰动的“容忍”性最好,比如,训练集外的样本可能比图中的样本更接近两类的划分超平面,这将使许多划分超平面出现错误,而红色的超平面受到的影响是最小的,也就是说,这个划分超平面的分类结果是最鲁棒的,对未知示例的泛化能力最强。

找出这个划分超平面就成了关键,之前我们介绍的感知机也是寻找这个超平面,将训练集划分开,但是感知机利用误分类最小的策略,求得划分超平面,而且解有无穷多个(关于感知机相关的可以点击查看);在所有的划分超平面中,有一个平面是最好的,它可以尽可能地让所有的样本点都离该划分超平面最远,这就是SVM要做的。

这个划分超平面,可以通过如下的线性方程来描述:

wTx+b=0 w T x + b = 0

其中 w=(w1;w2;...;wd) w = ( w 1 ; w 2 ; . . . ; w d ) 为法向量,决定了超平面的方向; b b 为移位项,决定了超平面与原点之间的距离。

函数间隔


这里写图片描述

如图,有三个实例A,B,C均在划分超平面的正类一侧,预测它们的类,点 A A 距离超平面较远,若预测为正类,就比较确信预测是正确的;点C距离超平面较近,若预测为正类就不那么确信了;点 BA,C B 介 于 A , C 之间,预测其为正类的确信度也在 A,C A , C 之间。

一般来说,一个点距离超平面的远近可以相对地表示分类预测的确信程度。

我们注意到:当一个点 x x 被正确预测时,那么wx+b的符合与类标记 y y 的符合相同。

所以可用y(wx+b)来表示分类的正确性及确信度。

对于给定的训练数据集 T T 和超平面(w,b)
(1)定义超平面 (w,b) ( w , b ) 关于样本点 (xi,yi) ( x i , y i ) 的函数间隔为:

δi=yi(wxi+b) δ i = y i ( w ⋅ x i + b )

(2)定义超平面 (w,b) ( w , b ) 关于训练数据集 T T 的函数间隔为超平面(w,b)关于 T T 中所有样本点(xi,yi)的函数间隔之最小值,即:

δ=mini=1,2,...,Nδi δ = min i = 1 , 2 , . . . , N δ i

函数间隔可以表示分类预测的正确性和确信度

点到超平面距离(几何间隔)

样本空间中任意点 x x 到超平面(w,b)的距离可写为:

r=|wTx+b|||w|| r = | w T x + b | | | w | |

补充:

x0 x 0 到超平面 S:wx+b=0 S : w x + b = 0 的距离 d d :

  • x0 S S 上面的投影为x1,则 wx1+b=0 w x 1 + b = 0

    • 由向量 x0x1 x 0 x 1 → S S 平面的法向量平行;

      |wx0x1|=(w1)2+(w2)2+...+(wN)2d=||w||d

    • ||w||L2 | | w | | 为 L 2 范 数

    • 又:
      wx0x1=w1(x10x11)+w2(x20x21)+...+wN(xN0xN1) w ⋅ x 0 x 1 → = w 1 ( x 0 1 − x 1 1 ) + w 2 ( x 0 2 − x 1 2 ) + . . . + w N ( x 0 N − x 1 N )

      =w1x10+w2x20+...+wNxN0(w1x11+w2x21+...+wNxN1) = w 1 x 0 1 + w 2 x 0 2 + . . . + w N x 0 N − ( w 1 x 1 1 + w 2 x 1 2 + . . . + w N x 1 N )
    • 又有: wx+b=0 w ⋅ x + b = 0
      =w1x10+w2x20+...+wNxN0(b) = w 1 x 0 1 + w 2 x 0 2 + . . . + w N x 0 N − ( − b )
    • 故:
      ||w||d=|wx0+b| | | w | | d = | w ⋅ x 0 + b |

      d=|wx0+b|||w|| d = | w ⋅ x 0 + b | | | w | |
    • 对于给定的训练数据集 T T 和超平面(w,b)
      (1)定义超平面 (w,b) ( w , b ) 关于样本点 (xi,yi) ( x i , y i ) 的几何间隔为:

      γi=yi(w||w||xi+b||w||) γ i = y i ( w | | w | | ⋅ x i + b | | w | | )

      (2)定义超平面 (w,b) ( w , b ) 关于训练数据集 T T 的几何间隔为超平面(w,b)关于 T T 中所有样本点(xi,yi)的几何间隔之最小值,即:

      γ=mini=1,2,...,Nγi γ = min i = 1 , 2 , . . . , N γ i

      几何间隔与函数间隔的关系:

      γ=δ||w|| γ = δ | | w | |

      支持向量


      这里写图片描述

      训练数据集的样本点中与分离超平面距离最近的样本点的实例称为支持向量,即图中在黑色线上的实例点。

      拉格朗日对偶性

      在约束最优化问题中,常常利用拉格朗日对偶性将原始问题转化为对偶问题。通过求解对偶问题而得到原始问题的解。

      支持向量机和最大熵模型都用用到,下面我们来简单介绍下拉格朗日对偶性的主要概念和结果。

      1.原始问题:

      假设 f(x)ci(x)hj(x) f ( x ) , c i ( x ) , h j ( x ) 是定义在 Rn R n 上的连续可微函数,考虑约束最优化问题:

      minxRnf(x) min x ∈ R n f ( x )

      s.t.ci(x)0i=1,2,...,k s . t . c i ( x ) ⩽ 0 , i = 1 , 2 , . . . , k

      hj(x)=0j=1,2,...,l h j ( x ) = 0 , j = 1 , 2 , . . . , l

      称此约束最优化问题为原始最优化问题或原始问题。

      首先,引进广义拉格朗日函数:

      L(x,α,β)=f(x)+i=1kαici(x)+j=1kβjhj(x) L ( x , α , β ) = f ( x ) + ∑ i = 1 k α i c i ( x ) + ∑ j = 1 k β j h j ( x )

      这里, x=(x(1)x(2)x(n))TRnαiβj x = ( x ( 1 ) , x ( 2 ) , 。 。 。 , x ( n ) ) T ∈ R n , α i , β j 是拉格朗日乘子, αi0 α i ⩾ 0

      那么原始问题就是:

      θp(x)=maxα,β:αi0L(x,α,β) θ p ( x ) = max α , β : α i ⩾ 0 L ( x , α , β )

      假设给定某个 x x ,如果x违反了约束条件,即存在某个 i i 使得ci(w)>0或者存在某个 j j 使得hj(w)0,那么就有:

      θp(x)=maxα,β:αi0L(x,α,β)=+ θ p ( x ) = max α , β : α i ⩾ 0 L ( x , α , β ) = + ∞

      因为若某个 i i 使得ci(w)>0,则可令 αi+, α i → + ∞ , 若某个 j j 使得hj(w)0,则可令 βj β j 使 βjhj(x)+ β j h j ( x ) → + ∞ ,而其余各 αi,βj α i , β j 均为0
      相反地,如果满足约束条件,则 θp(x)=f(x) θ p ( x ) = f ( x )

      综上:

      θp(x)={f(x),+,x θ p ( x ) = { f ( x ) , x 满 足 原 始 问 题 约 束 + ∞ , 其 他

      所以,如果考虑极小化问题

      minxθp(x)=minxmaxα,β:αi0L(x,α,β) min x θ p ( x ) = min x max α , β : α i ⩾ 0 L ( x , α , β )

      它与原始问题最优化问题等价的,即他们有相同的解。这也称为广义拉格朗日 函数的极小极大问题。

      2.对偶问题:
      定义:

      θD(α,β)=minxL(x,α,β) θ D ( α , β ) = min x L ( x , α , β )

      再考虑极大化

      θD(α,β)=minxL(x,α,β) θ D ( α , β ) = min x L ( x , α , β )
      ,即

      maxα,β:αi0θD(α,β)=maxα,β:αi0minxL(x,α,β) max α , β : α i ⩾ 0 θ D ( α , β ) = max α , β : α i ⩾ 0 min x L ( x , α , β )

      此称为广义拉格朗日函数的极大极小问题。

      可以将广义拉格朗日函数的极大极小问题表示为约束最优化问题:

      maxα,βθD(α,β)=maxα,βminxL(x,α,β) max α , β θ D ( α , β ) = max α , β min x L ( x , α , β )

      s.t.αi0i=1,2,...,k s . t . α i ⩾ 0 , i = 1 , 2 , . . . , k

      称为原始问题的对偶问题。

      支持向量机

      支持向量机(support vector machines,SVM)是一种二类分类模型。它的基本模型是定义在特征空间上的间隔最大的线性分类器,支持向量机的学习策略就是间隔最大化,可形式化为求解凸二次规划的问题。

      支持向量机还包括核技巧,这使它成为实质上的非线性分类器

      支持向量机学习方法包含构建由简至繁的模型:线性可分支持向量机、线性支持向量机、非线性支持向量机,简单模型是复杂模型的基础,也是复杂模型的特殊情况。

      当训练数据集线性可分时,通过硬间隔最大化,学习一个线性分类器,即线性可分支持向量机;
      当训练数据近似线性可分时,通过软间隔最大化,也学习一个线性分类器,即线性支持向量机;
      当训练数据不可分时,通过使用核技巧及软间隔最大化,学习非线性支持向量机。

      注:
      本篇博客,重在让大家了解支持向量机,至于具体的模型,将在后面的博客中给出。
      参考书籍《机器学习》、《统计学习方法》

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值