改进的一对一多类分类SVM在语音识别中的应用

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

改进的一对一多类分类SVM在语音识别中的应用
何小萍;白静;刘晓峰
【摘要】支持向量机一对一多类分类在测试阶段需执行在训练阶段构造好的所有子分类器,耗费较长时间,这一缺点极大地限制了其在大规模数据识别中的应用.提出一种改进的一对一多类分类方法,在测试的中期阶段先对所有类别的得票数进行统计,将得票较低者剔除,不必计算由这些类别构成的子分类器,从而有效减少子分类器的数目.最后将此改进方法应用到抗噪语音识别系统中,实验结果表明该方法具有一定的优势.%For one-against-one multi-classification method of Support Vector Machine (SVM) , all sub-classifiers that have been constructed during training phase are executed, which takes longer predicting time. This shortcoming greatly limits its application in the identification of large-scale datasets. Hence an improved one-against-one multi-class support vector machine is proposed. In the middle of the testing phase, statistics votes of all the categories , the lower of which will be removed, and the sub-classifiers constituted by these categories is not caculated. In this case,sub-classifiers can be reduced effectively. Finally, the improved method is applied to speech recognition system with noise immunity. The experiment results show that the method has certain advantages.
【期刊名称】《科学技术与工程》
【年(卷),期】2013(013)010
【总页数】4页(P2686-2689)
【关键词】支持向量机;多类分类;一对一;语音识别
【作者】何小萍;白静;刘晓峰
【作者单位】太原理工大学信息工程学院,太原030024
【正文语种】中文
【中图分类】TN912.34
语音识别是机器通过识别过程把语音信号转换成相应的文本或命令,最终实现人机通信的一项技术。

传统的语音识别方法都是基于统计的、概率的或者信息理论的方法,如人工神经网络。

20世纪90年代Vapnik等人提出基于统计学习理论的支持向量机[1]方法,它在解决小样本、非线性和高维的学习问题中有很多优势。

支持向量机(Support Vector Machine,SVM)的基本思想是根据风险最小化理论建立的一种机器学习方法,广泛应用于模式识别、回归预测等方面。

SVM最初是针对线性可分情况下的二分类问题提出的,但在实际中需要解决多类分类问题,如何将其有效地推广到多类分类,并且提高分类性能,是机器学习领域研究的一个重要课题。

一般情况,需要将多类分类问题转换成多个二分类问题来解决,根据不同的分解策略,多类分类方法包括一对余、一对一和有向无环图等。

1 支持向量机分类原理
1.1 线性可分
在线性二分类问题中,设训练样本集为{(x1,y1),…(xn,yn)},其中xi∈X,
yi∈Y={1,-1}。

分类超平面的方程为:(w·x)+b0=0,该平面能够将两类不同样本准确无误地分开,分类间隔函数为:Φ(w)=2/||w||。

因为分类间隔越大分类器的泛化能力越强,所以||w||必须尽可能的小。

可通过求解下列式子的最小值,得到最优
分类超平面的解[2]:
利用Lagrange优化方法将上述最优分类面问题转化成对偶问题:
αi为训练样本对应的Lagrange乘子,C为惩罚参数,表示对样本错分程度的度量,C越大则对错误分类的惩罚越厉害。

最终的最优分类函数为:
该式只包含预测样本与训练样本中支持向量的内积运算,为支持向量所对应的Lagrange乘子,f(x)值确定预测样本x的类别。

1.2 非线性可分
SVM是在线性可分情况下求解最优分类面,当数据在低维特征空间中不能被线性分开时,可以通过非线性变换x=K(x)将样本映射到高维空间,在核函数满足Mercer条件时,采用适当的内积函数,得到高维空间的分类函数,从而实现线性可分,计算的复杂度并没有增加。

引入松弛变量ξ,是允许数据在一定程度上违反间隔约束[2],使更多的数据点线性可分,约束条件变为
为了避免ξi取值过大,在目标函数中增加这一项,新的最优问题转化为
此时的对偶问题转化为
决策函数变为
2 支持向量机多类分类
SVM最初是针对二分类问题设计的,当处理多类分类问题时,就需要构造适合的多类分类器。

目前构造多类分类器的方法主要有两种:一种是直接法,在目标函数上进行修改,将多个分类面的参数求解合并到一个最优化问题中,一次性实现多类分类。

该方法计算复杂度很高,在实际应用中很少采用。

另一种是间接法,通过组合多个二分类器实现多分类,常见的方法有[3]一对余和一对一,其它方法都是在这两种基础上进行的深入研究。

2.1 一对余算法
一对余算法是支持向量机最早使用的多类分类算法,该算法在训练阶段每次将第i 类样本标记为正类,其余所有样本标记为负类,如果训练样本有K个类别,共需构造K个类似的二类分类器。

预测阶段,测试样本需要分别计算各个二分类器的决策函数值,最后选取函数值最大所对应的类别作为该样本的类别。

一对余算法构造的二类器数目较少,但是每次生成二分类器,所有样本点都参与计算,产生较多的支持向量,特别是对于大数据量样本,算法复杂度很高,影响训练速度。

预测阶段可能出现分类重叠或不可分类现象;训练阶段构造二类分类器时,正类和负类的样本数目相差很大,产生数据集偏斜,影响最终分类的准确率。

2.2 一对一算法
一对一是在K类训练样本上构造所有可能的二分类器[4],对任意的两个类别,设定第p类样本为正类,第q类样本为负类,共需构造K(K-1)/2个子分类器。

在预测阶段,将测试样本依次输入训练好的K·(K-1)/2个二分类模型中。

决策时采用“投票法”,每个子分类器根据自己的决策结果对样本所属类别进行投票,最后K类中得票最高者就是预测样本的类别。

一对一算法的显著优点是每次只训练两类样本,分类器的构造简单,算法复杂度较低。

但由于构造的二分类器数目随着样本类别数目的增加而增加,使训练和预测速
度变慢;它也存在不可分现象,如果某两类别的得票数相同时,可能出现分类错误
的现象。

2.3 改进一对一多类分类方法
就分类速度而言,分类器判别次数与系统分类速度成反比。

一对一算法在预测过程中,每一个预测样本需要分别进入所有二类别组合训练出的判决器进行判决,根据各个分类器投票结果来决定此样本的类别。

但是当某一预测样本不属于两分类器中的任何一类时[5,6],将这一票投给其中任何一类都不合理,得到的分类结果
也是不可信的。

由于投票结果具有随意性,影响分类的准确率,并且对这些无效投票的计算增加了额外的运算时间。

鉴于上述缺点,提出一种改进方法,对传统一对一多分类方法的预测阶段进行改进。

改进方法如下:当预测样本进入若干个二分类判决器后,统计所有类别的得票数,
如果某些类别的得票数很低时[7],说明测试样本属于该类别的概率很小,最终不可能在投票结果中胜出,可以直接将其剔除,不再计算由这些类中任意两类样本产生的决策函数。

其余得票较高的类别将按照传统一对一投票策略进行分类预测,这样可减少预测时执行二分类器的数目,从而减小计算复杂度,提高样本预测速度。

假设训练样本有K个类别,改进算法的流程图如图1所示:
图1 改进一对一算法流程图
改进算法需要对下列两个参数进行调整,才能使预测速度和识别率达到最佳的折衷: 1)迭代次数的选择:该值较大则执行的二分类器太多,对预测速度几乎没有提高;该
值较小,构成的两分类器数目较少,影响最终的识别率;
2)对某个类别得票阈值的确定:该阈值设定太小,对某些得票低的类别没有剔除掉,继续执行该类别构成的二分类器;该值设定太大,将剔除大量的类别,影响识别率。

3 实验结果
实验采用的数据是通过16人每人每个词发音三次得到,将其中9人在不同的信噪
比、不同词汇量下的数据作为训练样本,7人在同等条件下的数据作为测试样本。

样本的词汇量分别为10词、20词、30词、40词和50词,不同的词汇量代表样本不同的类别。

噪声为高斯白噪声,信号的采样频率为11.025 kHz,经过MFCC 特征提取得到原始语音样本的特征样本数据,帧长为256点。

本文是在Windows平台下,使用Libsvm工具包在信噪比分别为20 dB和无噪声两种情况下进行实验,程序采用C++编程,时间是重复三次实验的均值。

核函数采用径向基(RBF)函数,通过交叉验证寻找到20 dB和无噪声下参数C和γ的最优值分别对应为:
C=32,γ =0.000 122 070 312 5和C=128,γ =0.000 122 070 312 5。

最佳参数下的实验结果见表1和表2。

表1 SNR=20 dB时算法改进前后的实验结果比较词汇量/词实验方法训练时间/s 预测时间/s识别率/%10 标准SVM 2.43 2.41 97.14改进 SVM 2.42 2.25 96.67 20 标准 SVM 5.74 5.72 96.43改进 SVM 5.74 4.74 95.71 30 标准 SVM 9.73 9.93 96.19改进 SVM 9.72 8.46 95.24 40 标准 SVM 14.65 15.24 95.95改进SVM 14.65 12.83 94.99 50 标准 SVM 20.33 21.33 95.81改进SVM 20.34 17.93 94.48
表2 无噪声时算法改进前后的实验结果比较词汇量/词实验方法训练时间/s预测时间/s识别率/%10 标准SVM 2.56 2.29 99.05改进 SVM 2.56 2.06 98.57 20 标准 SVM 5.54 5.33 98.33改进 SVM 5.54 4.26 97.86 30 标准 SVM 9.33 9.54 98.10改进 SVM 9.35 7.84 97.30 40 标准 SVM 14.02 14.70 97.74改进 SVM 14.10 12.37 96.79 50 标准 SVM 19.45 20.64 97.43改进SVM 19.47 17.55 96.09
从实验结果可以看出:
(1)在不同信噪比下,随着词汇量的增加,训练时间和预测时间都随之增加,识别
率随之降低;
(2)采用本文的改进方法之后,预测时间有所减小,达到提高预测速度的目的。

但是与此同时识别率有所降低,其主要原因是某些样本类别在预测前期它的得票率较低,在预测后期得票率较高,改进方法在前期就将其剔除掉,导致最终该类别得票率低,出现误判的情形,影响预测样本识别率;
(3)在信噪比较低的情况下,训练样本中存在某些离群点,使的分类超平面过于复杂,降低分类器的分类效率。

因此本文在信噪比为20 dB时,采用较小的惩罚参数C,降低机器学习的复杂度,但C太小会影响分类的准确率。

4 结论
针对传统SVM一对一多类分类算法存在的缺点,提出了一种改进方法,在分类预测阶段,将得票低的类别剔除掉,减少对子二分类器的调用数目。

实验结果表明,此改进方法可缩短预测时间,提高预测速度。

但是此改进方法也存在不足之处,在大词汇量的情况下,对参数调整比较困难,语音识别率有所下降。

因此还需对SVM做进一步的研究和改进,使其在不降低识别率的同时,力求预测速度有较大的提高。

参考文献
【相关文献】
1 邓乃扬,田英杰.支持向量机导论.北京:科学出版社,2009
2 孙庆嘉.多类支持向量机的研究与分析.北京:北京交通大学,2010
3 Galar M,Fernández A,Barrenechea E,et al.An overview of ensemble methods for binary classifiers in multi-class problems:experimental study on one-vs-one and one-vs-all schemes.Pattern Recognition,2011;(44):1761—1776
4 肖荣,李金凤,覃俊.一种改进的一对一多类支持向量机.软件导刊,2010;9(10):109—111
5 张国柱,黄可生,周一宇,等.基于加权AVA的SVM辐射源识别算法研究.信号处理,
2006;(3):357—360
6 Hüllermeier E,Vanderlooy bining predictions in pairwise classification:an optimal adaptive voting strategy and its relation to weighted voting.Pattern Recognition,2010;(1):128—142
7 苟博,黄贤武.支持向量机多类分类方法.数据采集与处理,2006;(3):334—339。

相关文档
最新文档