目录

1.1  Logistic回归线性分类器

1.2 SVM概述:

1.3 深入SVM

1.3.1 对偶问题求解的三个步骤

1.3.2 核函数

1.3.3 使用松弛变量处理 outliers 方法


1.1  Logistic回归线性分类器

 

给定一个分类超平面将空间中的数据分为两类,分类超平面为:

                SVM分类

使 得,

SVM分类

    其中x是n维特征向量,函数g就是logistic函数。

 SVM分类的图像是

SVM分类

    可以看到,将无穷映射到了(0,1)。

也可以对g(z)做一个简化,将其简单映射到y=-1和y=1上。映射关系如下:

SVM分类

一个简单的线性回归分类超平面为:

SVM分类

1.2 SVM概述:

易知符合1.1的分类器有多个,SVM是要寻找最优的分类器。

SVM分类

定义函数间隔(用表示)为:SVM分类

几何间隔SVM分类SVM分类

SVM分类 SVM分类两边同乘W,SVM分类

SVM分类,距离要取绝对值,乘y实现取绝对值:SVM分类

 

求最优超平面问题转化为约束优化为题:

MaxSVM分类,s.t, SVM分类

将函数间隔取1,问题转化为:

SVM分类

1.3 深入SVM

优化问题可进一步转化为:

SVM分类

因为现在的目标函数是二次的,约束条件是线性的,所以它是一个凸二次规划问题。

根据拉格朗日对偶性,得到与原问题等价的对偶问题,将约束优化问题转化为无约束优化问题:

SVM分类

SVM分类

把最小和最大的位置交换一下,变成:

SVM分类

因为满足KKT条件所以有d*=p*

1.3.1 对偶问题求解的三个步骤

(1)、首先固定SVM分类要让 L 关于 w 和 b 最小化,我们分别对w,b求偏导数,即令 L/w L/b 等于零

SVM分类

将以上结果代入之前的L: 

    得到:SVM分类

SVM分类

(2)利用SMO算法求解对偶问题中的拉格朗日乘子SVM分类

SVM分类

(3)求出了SVM分类,根据SVM分类,即可求出w,然后通过SVM分类,即可求出b,最终得出分离超平面和分类决策函数。

注意:所有非Supporting Vector 所对应的系数SVM分类都是等于零的,因此对于新点的内积计算实际上只要针对少量的“支持向量”而不是所有的训练数据即可。

Lagrange multiplier得到的目标函数:

SVM分类

     注意到如果 xi 是支持向量的话,上式中红颜色的部分是等于 0 的(因为支持向量的 functional margin 等于 1 ),而对于非支持向量来说,functional margin 会大于 1 ,因此红颜色部分是大于零的,而又是非负的,为了满足最大化,必须等于 0 。这也就是这些非Supporting Vector 的点的局限性。 

1.3.2 核函数

对于一个数据点 x 进行分类,实际上是通过把 x 带入到SVM分类算出结果然后根据其正负号来进行类别划分的。而前面的推导中我们得到 

SVM分类

    因此分类函数为:

SVM分类

我们目前求出的f函数还是一个超平面,只能处理线性情况,我们通过引入Kernel函数可以将其推广到非线性情况。

在线性不可分的情况下,支持向量机首先在低维空间中完成计算,然后通过核函数将输入空间映射到高维特征空间,最终在高维特征空间中构造出最优分离超平面,从而把平面上本身不好分的非线性数据分开。如图所示,一堆数据在二维空间无法划分,从而映射到三维空间里划分:

SVM分类

在我们的分类函数中我们主要是计算内积<xi,x>.所以我们现在是要将x映射到高维空间,在高维空间中计算内积<>.核函数方法:是一种直接计算样本x在高维空间中内积的方法.所以有SVM分类(ϕ:X->F是从输入空间到高维特征空间的映射).

有如下线性不可分样本:

   SVM分类

显然样本的理想分类超平面为圆

圆方程可表示为SVM分类

相等于将样本x映射到五维空间(X1,X12,X2,X22,X1X2),后再做分类超平面求解。而求解过程中我们又要计算内积,所以我们直接用一下方法计算高维空间的内积:

SVM分类

我们把这里的计算两个向量在隐式映射过后的空间中的内积的函数叫做核函数:

SVM分类

注意:我们之前的计算中先算w,b,再算a。而后将他们带入原式,得到分类函数

SVM分类

SVM分类

b的求解公式为SVM分类,在整个过程中没有单独计算x。所以我们使用核函数代替内积计算不影响中间任何求解过程。

最终 SVM分类 由如下 dual 问题计算而得:

SVM分类

然后再带入求得w,b。

核函数的精髓就是避开了直接在高维空间中进行计算,而结果却是等价的。

核函数的价值在于它虽然也是将特征进行从低维到高维的转换,但核函数绝就绝在它事先在低维上进行计算,而将实质上的分类效果表现在了高维上,也就如上文所说的避免了直接在高维空间中的复杂计算。

附:

高斯核SVM分类

 

1.3.3 使用松弛变量处理 outliers 方法

例如可能并不是因为数据本身是非线性结构的,而只是因为数据有噪音。对于这种偏离正常位置很远的数据点,我们称之为 outlier。outlier 的存在有可能造成很大的影响,

SVM分类

考虑到outlier问题,约束条件由:

SVM分类

 变为:

SVM分类

其中SVM分类称为松弛变量,对应数据点SVM分类允许偏离的 functional margin 的量。

所以最终的约束优化问题为:

SVM分类

    其中 SVM分类 是一个参数,用于控制目标函数中两项(“寻找 margin 最大的超平面”和“保证数据点偏差量最小”)之间的权重。

 

 

 

相关文章:

  • 2021-09-20
  • 2022-12-23
  • 2021-11-14
  • 2021-11-15
  • 2021-10-24
  • 2021-11-19
  • 2021-06-03
猜你喜欢
  • 2021-09-16
  • 2021-11-11
  • 2021-04-01
  • 2021-08-10
  • 2021-08-31
相关资源
相似解决方案