支持向量机(SVM)是一种泛化能力很强的分类器。它在解决小样本、非线性及高维模式识别问题方面表现出了许多特有的优势,其最大特点是根据结构风险最小化原则,尽量提高学习的泛化能力,即由有限的训练集样本得到的小误差,仍能够保证对独立测试集的小的误差。另外,由于支持向量机算法是一个凸优化问题,因此局部最优解一定是全局最优解,可防止过学习,就可以避免神经网络结构选择和局部极小点问题。它的基本思想可以概括为:对于非线性可分样本,首先通过非线性变换,将输入空间变换到一个高维空间,然后在这个新空间中求取最优线性分界面,而这种非线性变换是通过定义适当的内积函数K(x,xi)来实现的。
对于表情识别问题,面临着样本集不够大的困扰,特别是对于不同类别的表情,训练样本数目往往有较大的差别。毕竟让人类标准地表达各类表情,并不是很轻松容易的事情。因为基于心理学理论,表情库中各类面部表情的表现,往往要实验者经过专门的训练和学习,才能准确有效地展现。所以将支持向量机理论用于表情的识别,是很有实际意义的,既可以解决非线性分类的问题,又适合小样本、高维的模式分类问题,是非常值得研究和重视的。
实际利用支持向量机算法进行人脸特征分类或表情分类时,需要考虑以下三个方面的问题:
1)确定多类别支持向量机分类方法。
2)核函数的选择。在采用支持向量机对人脸或表情分类时,必须首先对SVM进行模型选择,即首先确定核函数类型。
3)模型参数C和γ的选择。(www.xing528.com)
关于SVM的研究表明,特征空间的维数与SVM的复杂度没有直接关系,核参数影响数据在特征空间分布的复杂程度,误差惩罚参数C通过调整给定特征空间中经验误差的水平来影响学习机器推广能力,这两种参数的影响是同时存在的,只有综合考虑,才能得到性能最优的SVM。因此,确定了核函数后,必须对两个未知参数C和γ进行选择,使得SVM能做出准确的分类。
其中,误差惩罚参数C的作用是,在确定的数据子空间中调节学习机器置信范围和经验风险的比例,以使学习机器的推广能力最好,不同数据子空间中最优的C不同。在确定的数据子空间中,C的取值小表示对经验误差的惩罚小,学习机器的复杂度小而经验风险值较大;反之亦然。前者称为“欠学习”现象,而后者则称为“过学习”。每个数据子空间中至少存在一个合适的C,使得SVM推广能力最好。当C超过一定值时,SVM的复杂度达到了数据子空间允许的最大值,此时经验风险和推广能力几乎不再变化。
由统计学习理论可以知道,在训练分类器时,不能一味追求经验风险最小(即训练误差最小),那样势必造成分类器过训练,使得分类器推广误差比较差。因此,在训练分类器时,可以采用交叉验证的方法,把训练样本集分成互不相交的两部分:其一作为常规的训练集,用于调整SVM参数;其二是验证集(Valitation Set),用于评价SVM的推广误差。实际上,常常首先给出(C,γ)一个大概的取值范围,对其中的每一对(C,γ)取值,再分别采用交叉验证方法进行训练SVM,这样可得到一组较优参数值。
在参考文献[13]中,Philipp Michel等人将22个面部特征点的位移作为SVM的输入,比较了三种内积函数对于6种基本表情的分类效果,发现径向基核的表现明显好于另外两个核,其对静态图像数据的表情识别准确率达到了87.9%。另外,参考文献[14]中,首先将ICA(独立分量分析)分解与SVM分类器相结合而用于表情识别,发现其效果优于传统的贝叶斯分类器;接着又对原始人脸图像进行一系列的Gabor变化,将获得的新的特征作为SVM的分类器输入,得到了更好的识别结果。参考文献[15]中,也将Gabor变换与SVM分类器相结合,利用经过人脸检测器定位过的图像块作为原始输入,将表情最终分为七类,并达到了91.4%的准确率。在参考文献[16]中,作者用一对多策略设计SVM分类器,再与最邻近分类法结合用于人脸识别。参考文献[17]提出了两种用支持向量机进行分类的人脸识别系统,并测试比较了对姿势变化的鲁棒性。
虽然以统计学习理论作为坚实的理论依据的SVM有很多优点,如基于结构风险最小化,克服了传统方法的过学习和陷入局部最小的问题,具有很强的泛化能力;采用核函数方法,向高维空间映射时,并不增加计算的复杂性,又有效地克服了维数灾难问题。但同时也要看到目前研究的一些局限性:①SVM的性能很大程度上取决于核函数的选择,但没有很好的方法可指导对具体问题的核函数的选择;②训练和测试SVM的速度和规模是另一个问题,尤其是对实时控制问题,速度是一个对应用很大限制的因素;③现有SVM理论仅讨论具有固定惩罚系数的情况,而实际上正负样本的两种误判往往造成损失是不同的,等等。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。