理论教育 支持向量机理论基础

支持向量机理论基础

时间:2023-06-15 理论教育 版权反馈
【摘要】:对式进行求解得到最后决策函数为:其中i表示样本数据中支持向量所对应的序列。对核函数的研究也成为支持向量机算法研究的一个重要部分。采用核函数代替分类函数中的内积运算,支持向量机结构如图3-19所示[10]。起初支持向量机是针对数据分类问题提出的,但是实际的分类问题和回归问题一样都是优化求解问题,因此支持向量机也被广泛应用于非线性系统建模。

支持向量机理论基础

首先对训练样本数据是线性可分的情况下进行讨论,假设现在有一组训练样本数据(x1,y1),……,(xl, yl),x∈R, y∈{+1,-1},其中l为样本数量,xi为样本特征向量,y是两种样本类别标签,支持向量机原理就是找到一个最优超平面将这两类数据最大限度地分开,支持向量机的分类原理如图3-18所示,图中三角形和正方形分别代表需要分类的两类样本数据,H为能将两类样本数据无错误分开的分类面,可以容易的知道满足将两类样本数据进行无错误分类这个条件的平面H会有很多,支持向量机的核心思想就是找到最好的分类面H,由图3-18看到,平面H1和H2分别是过两类数据且平行于H的平面,在H1和H2知道的条件下寻找到H,要求H即可以使两类数据能无错误的分开,同时又能使H到H1和H2之间的间隔最大,这样求得的分类面H就叫作最优超平面,位于H1和H2上样本叫支撑向量[8]。对于前面的假设,超平面可以用函数形式描述为:

图3-18 SVM原理图

分类结果如下式所示:

其中,w是超平面g(x)的法向量,b是超平面g(x)的平移分量,将决策函数进行归一化处理使得两种类别的所有样本到超平面g(x)的距离都满足g(x)≥1,也即位于平面H1和H2上的支持向量到分类面的法向量距离为g(x)=1,此时分类间隔为2/‖w‖,因此要使得超平面的分类间隔最大就等价于求出最小的‖w‖,该问题可以转化为求如下二次规划问题:

对式(3-30)二次规划问题构造其Lagrange函数为:

其中αi为Lagrange乘子,通常只有与支持向量对应的不为零。根据Wolfe对偶理论式(3-31)的对偶形式可以写成:

这是一个等式约束条件下的二次凸规划问题,且根据KKT(Karush-Kuhn-Tucker)条件,式(2-33)的最优解满足:

因此大多数的训练样本都不会满足这个条件,只有处于平面H1和H2上的支持向量才会满足。对式(3-33)进行求解得到最后决策函数为:

其中i表示样本数据中支持向量所对应的序列。

当训练样本数据受到噪声干扰时,会出现线性不可分的情况,这种情况下需要引入松弛变量ξi, i=1,2,……,l,式(2-6)的约束条件就变为:

因此求超平面的二次规划问题应该表示为:

其中C>0叫作惩罚因子,C越大对样本进行错误分类的惩罚程度就越大,分类器出现错误分类的概率就越小,但是相对应的分类器的泛化能力就会下降,相反的C越小,分类器在分类时对样本错误分类的概率就会较大,泛化能力会比较强,C在使用分类器进行分类时是可以根据需要设置的,通过对它的设置可以实现对泛化能力和分类误差之间进行折中。这时,式(3-36)二次规划问题的拉格朗日函数就表示为:

其对偶问题:

其KKT条件为:(www.daowen.com)

如果αi>0则说明与其对应的xi为支持向量,最后求得分类函数为:

上面对分类函数的求解过程是在需要分类的样本数据在所属空间里是线性可分的情况下来分析的,但是多数情况下,需要分类的样本数据往往不是线性可分的,对于不能线性可分的情况该如何构造二次规划问题来求解分类函数呢?对于这个问题,解决办法是通过一个非线性函数Φ(·)将样本从所属空间投射到一个相对于其所属空间来说维数较高的空间中去,使其在高维的空间中线性可分,这样就可以运用前面的方法对非线性样本数据求分类超平面[9]。因此,对于非线性情况,分类超平面为:

由式(3-40)可得到非线性情况下分类函数为:

二次规划问题为:

对偶形式(3-42)为:

其中K(xi, xj)=Φ(xi)·Φ(xj)称为核函数。采用不同的核函数可以构造不同的学习机,目前常用的核函数有以下四种[10]

(1)线性核函数:K(xi, xj)=xi·xj

(2)多项式核函数:K(xi, xj)=(xi·xj+1)d。

(3)高斯核函数:(4)神经网络核函数:tanh(kxi·xj+θ)。

在现实应用中,大多数的需要进行分类的问题都是非线性的,因此核函数的提出对于支持向量机的发展和应用来说是十分必要的,解决了线性不可分的难题,大大的推广了支持向量机的应用空间,但是,目前对于如何选择合适的核函数来达到最好的分类效果,还没有一个统一的理论体系,往往都是根据经验进行选择。经过大量的使用,从使用不同的核函数的结果对比来看,对大部分的需要分类的样本来说,使用高斯核函数和多项式核函数的分类效果会比使用其他核函数的分类效果要好一点,所以,首选使用高斯核函数和多项式核函数,实际上,根据训练数据的不同情况,各种核函数都有其优点和缺点。对核函数的研究也成为支持向量机算法研究的一个重要部分。采用核函数代替分类函数中的内积运算,支持向量机结构如图3-19所示[10]

起初支持向量机是针对数据分类问题提出的,但是实际的分类问题和回归问题一样都是优化求解问题,因此支持向量机也被广泛应用于非线性系统建模。

图3-19 SVM结构图

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈