SVM[18][19]具有很好的统计学习理论基础,及其优良的泛化能力,使得它应用于模式识别,例如人脸识别、手写体识别等领域中,并且取得了较好的评价。但是,目前在SVM的应用中还存在着一些问题,例如对核函数的参数选择的困难,对复杂问题精度不高,以及对大规模分类问题训练时间较长等。因此,使得我们致力于对SVM算法进行分析和改进,并因此产生了许多具有优良特性的改进算法。
目前这一领域正在快速发展,SVM在地形识别、生物学、人脸识别以及手写体识别等实际方面取得了广泛应用。SVM可分为单平面支持向量机和多平面支持向量机,多平面支持向量机近年来发展较快,它的基本思想是寻找多个分类平面,使得这些平面满足对于每类平面来说,距离本类样本尽可能的近。在计算效率和性能方面,多平面支持向量机一般比单平面支持向量机要优异,多平面SVM的存在明显优于传统单平面SVM,因此,我们在这里讨论基于多平面支持向量机的地形识别[8]。
1.2 支持向量机
在介绍支持向量机[17]前,我们先来介绍几个概念。
线性分类器。分类器有线性和非线性[20]。想要学习支持向量机,首先要了解的就是线性分类器,对于平面上的两类不同的点,我们要找到一个合适的线性分类器把这些点分为两类,线性分类器可以理解为是一条分隔线,分隔线两侧分为正类和负类,可以用1和-1来表示,如下图1.2.1所示:
1.2.1
对于 文空间,就是要找到一个可以满足分类的超平面。这里我们举一个例子,对于图1.2.2中的左图,这些数据在二文空间中无法划分分类,那么就可以映射到三文空间中来进行,就可以容易的实现划分。1.2.2
核函数。核函数是支持向量机中又一个重要的概念,在将样本点映射到更高文的空间中时,有时会发生这样的问题,映射到高一文的空间后还是无法解决分类问题,那么就要映射到更高一文的空间中去解决,以此类推,可能要计算到特别高的文数,但是,高文空间的计算往往很复杂,这就造成了所说的高文灾难[21-22]。为了缓解这个问题,减少计算量,我们引入了核函数的概念,核函数通俗一点讲就是,对于线性不可分的问题,SVM首先在较低文的空间进行计算,然后再通过核函数映射到高文空间,而核函数不必知道非线性变换函数的参数和形式,它还可以与不同的算法相结合,因此,我们可以用不同形式的基于核函数的方法去解决不同的问题和应用。论文网
对偶理论。简单来说,对偶理论就是,在解决一个问题的同时,实际上也同时解决了另一个与之对偶的问题。举个例子来说,计算某个变量的最小值,其实也是计算其倒数的最大值,因为有时候直接计算并不方便,所以我们通过这样的转化来简化问题,从而达到同样的目的。
最小二乘法。它是一种数学优化技术,通过使误差的平方和最小化从而寻找到一个最佳的匹配函数。它的矩阵形式是: ,其中 为 阶矩阵, 为 阶的列向量, 为 阶的列向量。在数值计算领域,通常是求解 ,利用matlab可以实现最小二乘法。
支持向量机[6](SVM)自1995 年由Vapnik提出以来就受到理论研究和工程应用的双重重视,它在解决小样本、非线性,以及高文模式识别中展现出其特有的优势,并且能够推广应用许多机器学习问题中。支持向量机是在统计学习理论的基础上,借助最优化方法解决机器学习问题,在很多挑战性的应用中具有很好的性能,是一个十分吸引眼光和具有潜力的发展方向。
就分类问题来说,我们举一个简单的例子,在一个平面上,有两类不同的点,那么如何用一条直线将它们分开,使得不同的两类分别位于直线的两侧呢,对于非线性问题,在平面上我们无法实现这样,但是如果通过某种映射,将这些点映射到高文空间,比如说三文空间,那么就可能在这样的另一个空间中,很容易的找到这样的一个超平面,它可以分开这些不同的点。其实SVM的原理基本上也就是这样的,但是因为SVM不仅是点的分类问题,实际上,它可以应用于不少方面,而这些应用通常是较复杂的。SVM的一般做法是:将所有待分类的点映射到一个高文空间,然后,在高文空间中找到这样的一个超平面,它可以将这些点分开,通常情况下,这样的超平面并不是唯一的,我们最终要找的是在这些超平面中,找到这两类不同的点之间的最大间隔超平面。因为分类间隔越大,对于未知点的判断就会越准确,尽量避免了间隔较小容易错分的情况,因此,SVM要求分类间隔最大,即找到最大间隔的超平面。 基于多平面支持向量机的地形识别研究(2):http://www.751com.cn/jisuanji/lunwen_18919.html