机器学习------支持向量机(Support Vector Machine, SVM)

取自周志华的西瓜书

1. 间隔与支持向量

  给定训练样本集 D = ( x 1 , y 1 ) , ( x 2 , y 2 ) , , ( x m , y m ) , y i { 1 , + 1 } ,分类学习最基本的想法就是基于数据集D在样本空间中找到一个划分超平面,将不同类别的样本分开。但能将训练样本分开的划分超平面可能有很多,如图1所示,我们应该努力去找到哪一个呢?
  
  直观上看,应该去找位于两类训练样本“正中间”的划分超平面,即图1中加粗的那个,因为该划分超平面对训练样本局部扰动的“容忍”性最好。例如,由于训练集的局限性或者噪声的因素,训练集外的样本可能比图1中的训练样本更接近两个类的分隔界,这将使很多划分超平面出现错误,而加粗的超平面影响最小。换言之,这个划分超平面所产生的分类结果是最鲁棒的,对未见示例的泛化能力更强。
  在样本空间中,划分超平面可通过如下线性方程来描述:
   

w T x + b = 0                 ( 1 )

 
  其中 w = ( w 1 ; w 2 ; ; w d ) 为法向量,决定了超平面的方向; b 为位移项,决定了超平面与原点之间的距离。显然,划分超平面可被法向量 w 和位移 b 确定,下面将其记为 ( w , b ) 。样本空间中任意点到 ( w , b ) 的距离可写为
  
r = | w T x + b | | | w | |                 ( 2 )

  假设超平面 ( w , b ) 能将训练样本正确分类,即对于 ( x i , y i ) D ,若 y i = + 1 ,则有 w T x i + b > 0 ;若 y i = 1 ,则有 w T x i + b < 0 。令
   这里写图片描述           (3)
  公式(3)称为最大间隔假设, y i = + 1 表示样本为正样本, y i = 1 表示样本为负样本,式子前面选择大于等于+1,小于等于-1只是为了计算方便,原则上可以为任意常数,但无论是多少,都可以通过对 w 的变换使其为+1和-1,此时将公式(3)左右乘以 y i ,得到如下
   这里写图片描述
  实际上等价于: y i ( w T x i + b ) 1 ,训练集中的所有样本都应该满足此公式。
  如图2所示,距离超平面最近的这几个样本点使公式(3)的等号成立,它们被称为“支持向量”(support vector),两个异类支持向量到超平面距离之和为
  
γ = 2 | | w | |                 ( 4 )

  它被称为“间隔”(margin)。
  欲找到具有“最大间隔”(maximum margin)的划分超平面,也就是要找到能满足公式(3)中约束的参数 w b ,使得 γ 最大,即
  
max w , b 2 | | w | |                 ( 5 )

 

s . t .   y i ( w T x i + b ) 1 i = 1 , 2 , , m .

  显然,为了最大化间隔,仅需要最大化 | | w | | 1 ,这等价于最小化 | | w | | 2 。于是,公式(5)可重写为
 
min w , b | | w | | 2                 ( 6 )

 
s . t .   y i ( w T x i + b ) 1 i = 1 , 2 , , m .

  这就是支持向量机(Support Vector Machine, 简称SVM)的基本型。

2. 对偶问题

  未完待续……
 

猜你喜欢

转载自blog.csdn.net/qq_36427732/article/details/81388854