支持向量机——SVM

支持向量机

支持向量机是一种经典的二分类模型,基本模型定义为特征空间中的最大间隔的线性分类器,其学习的优化目标便是间隔最大化,因此,支持向量机本身可以转换一个凸二次规划求解问题

函数间隔和几何间隔

对于二分类学习,假设现在的数据是线性可分的,这时分类学习最基本的想法就是找到一个合理的超平面,该超平面能够将不同类别的样本分开,类似于二维平面使用 a x + b y + c = 0 ax + by + c = 0 ax+by+c=0来表示,超平面实际上表示的就是高维平面,如图所示:
支持向量机——SVM_第1张图片
对数据点进行划分时,容易知道当超平面距离与其最近的数据点间隔越大,分类的鲁棒性能较好,即当新的数据点加入时,超平面对这些数据点的适应性最强。出错的可能性最小。因此需要让所选择的超平面最大化这个间隔Gap,常用的间隔定义有两种:一种称之为函数间隔,一种称之为几何间隔。下面将分别介绍这两种间隔,并对SVM为什么选择几何间隔做一些阐述。

支持向量机——SVM_第2张图片

函数间隔

在超平面 w ‘ x + b = 0 w^`x + b = 0 wx+b=0确定的情况下, ∣ w ‘ x ∗ + b ∣ |w^`x^* + b | wx+b,能够代表 x ∗ x^* x距离朝平面的远近,容易知道,当 w ‘ x ∗ + b > 0 w^`x^* + b>0 wx+b>0时,表示 x ∗ x^* x在朝平面一侧(正类,标记为1),当 w ‘ x ∗ + b < 0 w^`x^* + b<0 wx+b<0时,则表示 x ∗ x^* x在朝平面另一侧,(负类,类别为-1),因此 ( w ‘ x ∗ + b ) y ∗ (w^`x^* + b)y^* (wx+b)y的正负性恰能表示数据点 x ∗ x^* xs是否能被分类正确,于是便引出了函数间隔的定义 :
γ = y ( w T x + b ) = y f ( x ) \gamma = y(w^Tx + b) = yf(x) γ=y(wTx+b)=yf(x)

而超平面 ( w , b ) (w,b) (w,b)关于所有样本点 ( x i , y i ) (x_i,y_i) (xi,yi)的函数间隔最小值则为超平面在训练数据T上的函数间隔:
γ = min ⁡ γ i ( i = 1 , 2 , 3... , n ) \gamma = \min{\gamma_i} (i = 1,2,3...,n) γ=minγi(i=1,2,3...,n)
可以看出这样定义函数间隔在处理SVM上会有问题,当超平面两个参数 w , b w,b w,b同比例改变时,函数间隔也会跟着改变,但是实际上超平面还是源来的超平面:并设有变化:
例如 w 1 x 1 + w 2 x 2 + w 3 x 3 + b = 0 w_1x_1 + w_2x_2 + w_3x_3 + b = 0 w1x1+w2x2+w3x3+b=0 其实等价于
2 w 1 x 1 + 2 w 2 x 2 + 2 w 3 x 3 + 2 b = 0 2w_1x_1 + 2w_2x_2 + 2w_3x_3 + 2b = 0 2w1x1+2w2x2+2w3x3+2b=0 但计算函数的间隔却翻了一倍,从而引出了能真正度量点到超平面距离的概念。——几何间隔。

几何间隔

几何间隔代表则是数据点到朝平面的真实距离,对于朝平面 w ‘ x + b = 0 w^`x + b = 0 wx+b=0, w w w代表的则是该朝平面的法向量,设 x ∗ x^* x

你可能感兴趣的:(周志华机器学习,支持向量机,算法)