1 概述
传统的说话人识别主要用支持向量机(Support Vector
Machine, SVM)实现分类,SVM 是基于统计理论的分类规 则,针对小样本情况进行,在大样本情况下会出现训练速度慢的缺点,SVM 在训练过程中不考虑数据之间可能存在的相关性,需要求解二次规划(Quadratic Programming, QP)问题,计算较复杂,所以,SVM 对大样本数据的分类并不是很准确[1]。
粒子群优化算法(Particle Swarm Optimization, PSO) 是由Kennedy J 等人于1995年提出的一种迭代优化工具[2],其主要特点是简单、收敛速度较快、没有很多参数需要调整,且不需要计算梯度,文献[3]提出一种基于自动学习机的分类器设计,其中包括粒子群分类器(Particle Swarm, PS-classifier),然而PS-classifier 在求解复杂问题时,存在易陷入局部最优解、收敛速度慢、参数设置等问题影响其分类准确率。一些学者对PSO 算法提出改进,文献[4]提出的基于量子理论的量子粒子群优化(Quantum PSO, QPSO) 算法是一种新型的具有高效率全局搜索能力的算法,但是QPSO 算法是在假定所有粒子对整个群体的贡献率均相等的情况下进行的,这不符合一般进化过程中优胜劣汰的思想。
针对该问题,本文引入权重最优位置策略改进QPSO ,并将改进后的加权粒子群优化算法用于基于量子粒子群的分类器设计,得到基于加权量子粒子群的分类器。
随机数。
L =β⋅mbest *-x (t ) (1)
⎧x i (t +1) =p +L ⋅ln() if k ≥0.5⎪ (2) ⎨
x (t +1) =p -L ⋅ln() if k
在QPSO 中引入平均最好位置Mbest 概念作为所有粒子
的重心:
Mbest =
1M 1M 1M ⎛1M ⎫
∑p i = ∑p i 1, ∑p i 2, , ∑p iD ⎪ (3) M i =1M i =1M i =1⎭⎝M i =1
其中,p i 为第i 个粒子的pbest ,表示粒子群体中最好粒子,在这种情况下,局部吸引确保粒子群收敛于以下坐标:
p =(c 1p i , d +c 2p g , d ) /(c 1+c 2) (4)
3 加权量子粒子群优化算法
在QPSO 算法中,平均最好位置Mbest 利用式(3)进行计算,最好平均位置仅是所有粒子在个体最优位置上的平均值,即每个粒子对Mbest 的贡献是相同的,这是一种主流思路,由平均最好位置Mbest 决定搜寻的范围和粒子的创造力。虽然个体最好位置的定义是合理的,但与自然社会进化的规律相比,又有一些矛盾。其原因是整个社会的机制受主流思想决定,但每个个体都平等是不合理的。事实上,杰出的个体
基金项目:甘肃省自然科学基金资助项目(0803RJZA025);甘肃省教育厅科研基金资助项目(0803-07) 作者简介:收稿日期:2009-10-20
2 量子粒子群优化算法的基本理论
QPSO 算法是从量子力学的角度提出一种新的算法,其粒子状态不是由粒子的位置和速度描述,而是由波函数
ψ(x , t ) 描述,其概率密度函数为(x , t ) ,它的形式取决于
粒子所在的势阱能量强度参数。
通过蒙特卡罗随机模拟方式得到的粒子根据以下迭代公
在进化发展中起着主要作用,因此,引入权重最优位置对 式(3)进行改进。
—1—
[4]
2
改进的主要思想是如何确定一个粒子是否为最优粒子,即如何确定它对Mbest 值计算的重要性。在其他进化算法中,大多根据粒子的适应值确定它是否重要[5],适应值越大,粒子越重要。所以,利用粒子适应值的大小,先将粒子按降序排列,然后为每个粒子确定其权重系数a i ,a i 根据粒子的排序呈线性下降,即离最佳解决方案越近,权重系数越大,所以,最好平均位置Mbest 的计算改进为
Mbest =
1M
M ∑p i =1
i = ⎛ 1M ⎝M ∑a 1M 1M ⎫
i =1i 1p i 1, M ∑a i 2p i 2, , ∑a (5)
i =1M i =1iD p iD ⎪
⎭其中,a i 为权重系数;a id 为每个粒子的维度系数;M 为种群数。本文采用每个粒子的权重系数1.5~0.5呈线性递减。
4 基于加权量子粒子群的分类器设计
4.1 编码规则和适应度函数
采用改进的Michigan 编码方案[5]对语音数据进行编码,每个粒子与编码规则一一对应,规则集对应整个粒子群。每个粒子由不同维度组成,数据集中每个特征属性对应粒子的不同维度值。数据集中的类别属性对应粒子的一个维度值,但不参与粒子间的信息交换,属于粒子的恒定属性。因此,分类规则与粒子建立一一对应关系。采用这种编码规则,粒子每个维度表达不同的含义,可以方便地进行粒子群算法的粒子位置更新操作,同时能满足粒子间不同维度进行信息交换的独立性要求。
设说话人数据集D 中每一个说话人包含r 个特征x 1, x 2, , x r ,r 维属性是本文采用的每一个说话人的MFCC 系数的维数,然后对其进行二值化,如果实验中共有n 个说话人,表明类别属性为n ,即clsss 1, class 2, …, class n 这样,第i 个粒子为一个r 维向量x i =(x i 1, x i 2, , x i , r -1, x ir ) , i =1,2, , n ,它们共同构成r 维规则搜寻空间,在这个r 维目标搜索空间内进行优化分类。
适应度函数定义为
fit (p i ) =T -Miss (p i ) (6) 其中,T 为总体训练样本数据集;Miss (p i ) 是指被p i 错误训练的点,通过最大化适应度函数,最小化错误训练点的个数来达到最优分类。
4.2 决策超平面
超平面的一般形式定义为
d (X ) =w 1x 1+w 2x 2+ +w n x n +w n +1 (7)
其中,X =(x 1, x 2, , x n ,1) , W =(w 1, w 2, , w n +1) 分别称为增扩特征和权向量,n 为特征空间的维数。一般情况下有许多超
平面(log M
2是最小值,M 是类别数) 将特征空间分为不同的区
域。二维空间中3个超平面分类如图1所示。
x
图1 二维空间中3个超平面分类
图1为3个特征属性,3个类别属性的分类情况,每一—2—
个类属于一个区域的编码,这个编码是由3个超平面获得的
(对于二维的特征空间) ,其中,IR 表示不确定的区域;本文分类器在解空间找到W j (j =1,2, , H ) ,H 为必需的超平面 个数。
4.3 基于加权量子粒子群的分类器结构
通过以上定义,可以利用量子粒子群优化算法进行分类规则的挖掘,进而形成分类器。分类规则挖掘注重获得代表一条最佳规则的粒子,更注重获得最佳协调规则组合,由于分类规则挖掘问题的特殊性,因此针对分类规则挖掘问题,改进量子粒子群算法,基于量子行为使用更合理的搜寻方法,然后采用信任分配算法(Credit Assignment Algorithm, CAA) 使规则集对数据进行分类,用文献[6]中定义的精度(precision)作为分类规则权值,根据该权值决定矛盾数据分属类别,最终实现基于量子粒子群算法的分类器设计。
本文分类器设计的主要步骤如下:
步骤1 初始化种群,设种群规模为M ,粒子维数为D ,初始化β=1.2, a i =1.5。
步骤2 根据式(8)计算每个粒子的适应度值,按降序排列,确定每个粒子的权重系数a i 。
步骤3 利用式(1)计算L 值,从而利用式(5)计算最好平均位置Mbest 。
步骤4 根据式(2)判断粒子的更新位置。
步骤5 CAA 使得规则集对数据进行分类,根据精度进行分类。
步骤6 判断是否满足循环条件,若满足则结束优化,则输出结果,否则返回步骤2。
在本文分类器中每一个粒子都是随机地以如下形式从解空间中选择:
P =[W 1, W 2, , W i , , H '] 其中,W i =(w i 1, w i 2, , w in , w in +1) 是第i 个超平面的权向量,H 是预先定义的超平面个数。适应度函数如下:
p -dist =p H
g -p i =∑w kd -w ki (8)
k =1其中,p i 和p g 均为矩阵,p i =[W 1i , W 2i , , W Hi ]' ,p g =
[W 1g , W 2g , , W ig , , W Hg ]' ;∙对(W kd -W ki ) 向量的归一化,终
止条件为最适应值或者默认的最大迭代次数;在本实验中,选择最大的迭代次数,权向量w 选为线性下降。
5 仿真实验结果与分析
仿真实验中采用2个语音库,分别称为语音库1和语音库2。语音库1有50名录音人员,包含30名男性和20名女性;语音库2有20名录音人员,包含12名男性和8名女性,分别在不同信噪比情况下,对其进行录音。每个人在实验室环境下进行录音,采用16 KHz采样率,16 bit采样精度。录音人员为班上同学,每人朗读随机生成的词句,语句长度为2 s ~4 s,每个语句存为一个文件,每次录取20段语句。
仿真实验在Matlab7.0环境下,首先对采样后的语音信号进行端点检测、预加重1-0.97z -1,加窗(Hamming窗,帧长20 ms,帧移10 ms),提取12维MFCC 倒谱系数取其一阶、二阶差分系数,构成36维的特征矢量序列差。然后对其按照改进的Michigan 编码方案进行语音编码,并对其训练。粒子数选择10个或20个粒子,最大迭代次数为500,迭代次数阈值选择300,β从1.2线性递减到0.5,试验中将WQPS- classifier 识别率(Recognition Rate, RR)和识别时间(T)与SVM 、
PS-classifier 进行性能比较。
表1使用语音库1中的数据进行仿真,在预设训练的超平面值H 为10、粒子束取为20时,对识别率、识别时间进行分析比较。由表1可以看出,本文分类器提高了说话人识别率,减少了识别时间,满足说话人识别的实用性。
SVM 90.1 2.95 PS-classifier 92.4 1.72 本文分类器
95.8
0.95
表2是选用语音库2中不同信噪比环境下的语音数据,在预设训练的超平面值H 为10时,对这3种分类器的抗噪声性能进行测试,由实验数据可以看出,在信噪比较低的情况下(SNR =-15 dB) 时,本文分类器 的抗噪特性略优于其他 2个分类器,但是随着信噪比的提高,如在SNR =10 dB 和SNR =15 dB时,本文分类器的识别率比SVM 分别高出46.8%和29.8%。从总体上说,在同等的SNR 下,本文分类器的识别率是最高的。
算法 -15 dB -10 dB -5 dB 0 dB 5 dB 10 dB 15 dB SVM 8.4 9.2 15.3 43.4 50.9 55.8 61.8 PS-classifier 10.1 11.6 24.1 45.6 59.8 64.7 73.3 本文分类器
9.8
14.7
25.6
52.5
62.3
90.2
91.6
6 结束语
针对SVM 及PS –classifier 分类器的不足,提出一种新的分类器,并将其用于实现说话人识别中。实验结果表明,本
文分类器克服了SVM 不适合大样本情况下的分类及PS-classifier 容易陷入局部最优的缺点,提高了在高维空间中的训练速度,具有更好的收敛精度。改进的Michigan 编码方法及本文分类器满足了对语音数据分类的需求,有效提高了说话人识别速度和抗噪性。
参考文献
[1] 侯风雷, 王炳锡. 基于支持向量机的说话人辨认研究[J]. 通信学
报, 2002, 23(6): 61-67.
[2] Kennedy J, Eberhart R. Particle Swarm Optimization[C]//Proc. of
IEEE International Conference on Neural Networks. Piscataway, USA: IEEE Press, 1995.
[3] Zahiri S H. Learning Automata Based Classifier[J]. Pattern
Recognition Letters, 2008, 29(1): 40-48.
[4] Jun Sun, Xu Wenbo, Feng Bin. Adaptive Parameter Control for
Quantum-behaved Particle Swarm Optimization on Individual Level[C]//Proc. of IEEE International Conference on Systems, Man and Cybernetics. Hawii, USA: [s. n.], 2005.
[5] 段晓东, 王存睿, 王楠楠, 等. 一种基于粒子群算法的分类器的
设计[J]. 计算机工程, 2005, 31(20): 107-109.
[6] 王自强, 冯博琴. 分类规则挖掘的免疫算法[J]. 西安交通大学学
报, 2005, 39(2): 111-114.
编辑 陆燕菲
—3—
1 概述
传统的说话人识别主要用支持向量机(Support Vector
Machine, SVM)实现分类,SVM 是基于统计理论的分类规 则,针对小样本情况进行,在大样本情况下会出现训练速度慢的缺点,SVM 在训练过程中不考虑数据之间可能存在的相关性,需要求解二次规划(Quadratic Programming, QP)问题,计算较复杂,所以,SVM 对大样本数据的分类并不是很准确[1]。
粒子群优化算法(Particle Swarm Optimization, PSO) 是由Kennedy J 等人于1995年提出的一种迭代优化工具[2],其主要特点是简单、收敛速度较快、没有很多参数需要调整,且不需要计算梯度,文献[3]提出一种基于自动学习机的分类器设计,其中包括粒子群分类器(Particle Swarm, PS-classifier),然而PS-classifier 在求解复杂问题时,存在易陷入局部最优解、收敛速度慢、参数设置等问题影响其分类准确率。一些学者对PSO 算法提出改进,文献[4]提出的基于量子理论的量子粒子群优化(Quantum PSO, QPSO) 算法是一种新型的具有高效率全局搜索能力的算法,但是QPSO 算法是在假定所有粒子对整个群体的贡献率均相等的情况下进行的,这不符合一般进化过程中优胜劣汰的思想。
针对该问题,本文引入权重最优位置策略改进QPSO ,并将改进后的加权粒子群优化算法用于基于量子粒子群的分类器设计,得到基于加权量子粒子群的分类器。
随机数。
L =β⋅mbest *-x (t ) (1)
⎧x i (t +1) =p +L ⋅ln() if k ≥0.5⎪ (2) ⎨
x (t +1) =p -L ⋅ln() if k
在QPSO 中引入平均最好位置Mbest 概念作为所有粒子
的重心:
Mbest =
1M 1M 1M ⎛1M ⎫
∑p i = ∑p i 1, ∑p i 2, , ∑p iD ⎪ (3) M i =1M i =1M i =1⎭⎝M i =1
其中,p i 为第i 个粒子的pbest ,表示粒子群体中最好粒子,在这种情况下,局部吸引确保粒子群收敛于以下坐标:
p =(c 1p i , d +c 2p g , d ) /(c 1+c 2) (4)
3 加权量子粒子群优化算法
在QPSO 算法中,平均最好位置Mbest 利用式(3)进行计算,最好平均位置仅是所有粒子在个体最优位置上的平均值,即每个粒子对Mbest 的贡献是相同的,这是一种主流思路,由平均最好位置Mbest 决定搜寻的范围和粒子的创造力。虽然个体最好位置的定义是合理的,但与自然社会进化的规律相比,又有一些矛盾。其原因是整个社会的机制受主流思想决定,但每个个体都平等是不合理的。事实上,杰出的个体
基金项目:甘肃省自然科学基金资助项目(0803RJZA025);甘肃省教育厅科研基金资助项目(0803-07) 作者简介:收稿日期:2009-10-20
2 量子粒子群优化算法的基本理论
QPSO 算法是从量子力学的角度提出一种新的算法,其粒子状态不是由粒子的位置和速度描述,而是由波函数
ψ(x , t ) 描述,其概率密度函数为(x , t ) ,它的形式取决于
粒子所在的势阱能量强度参数。
通过蒙特卡罗随机模拟方式得到的粒子根据以下迭代公
在进化发展中起着主要作用,因此,引入权重最优位置对 式(3)进行改进。
—1—
[4]
2
改进的主要思想是如何确定一个粒子是否为最优粒子,即如何确定它对Mbest 值计算的重要性。在其他进化算法中,大多根据粒子的适应值确定它是否重要[5],适应值越大,粒子越重要。所以,利用粒子适应值的大小,先将粒子按降序排列,然后为每个粒子确定其权重系数a i ,a i 根据粒子的排序呈线性下降,即离最佳解决方案越近,权重系数越大,所以,最好平均位置Mbest 的计算改进为
Mbest =
1M
M ∑p i =1
i = ⎛ 1M ⎝M ∑a 1M 1M ⎫
i =1i 1p i 1, M ∑a i 2p i 2, , ∑a (5)
i =1M i =1iD p iD ⎪
⎭其中,a i 为权重系数;a id 为每个粒子的维度系数;M 为种群数。本文采用每个粒子的权重系数1.5~0.5呈线性递减。
4 基于加权量子粒子群的分类器设计
4.1 编码规则和适应度函数
采用改进的Michigan 编码方案[5]对语音数据进行编码,每个粒子与编码规则一一对应,规则集对应整个粒子群。每个粒子由不同维度组成,数据集中每个特征属性对应粒子的不同维度值。数据集中的类别属性对应粒子的一个维度值,但不参与粒子间的信息交换,属于粒子的恒定属性。因此,分类规则与粒子建立一一对应关系。采用这种编码规则,粒子每个维度表达不同的含义,可以方便地进行粒子群算法的粒子位置更新操作,同时能满足粒子间不同维度进行信息交换的独立性要求。
设说话人数据集D 中每一个说话人包含r 个特征x 1, x 2, , x r ,r 维属性是本文采用的每一个说话人的MFCC 系数的维数,然后对其进行二值化,如果实验中共有n 个说话人,表明类别属性为n ,即clsss 1, class 2, …, class n 这样,第i 个粒子为一个r 维向量x i =(x i 1, x i 2, , x i , r -1, x ir ) , i =1,2, , n ,它们共同构成r 维规则搜寻空间,在这个r 维目标搜索空间内进行优化分类。
适应度函数定义为
fit (p i ) =T -Miss (p i ) (6) 其中,T 为总体训练样本数据集;Miss (p i ) 是指被p i 错误训练的点,通过最大化适应度函数,最小化错误训练点的个数来达到最优分类。
4.2 决策超平面
超平面的一般形式定义为
d (X ) =w 1x 1+w 2x 2+ +w n x n +w n +1 (7)
其中,X =(x 1, x 2, , x n ,1) , W =(w 1, w 2, , w n +1) 分别称为增扩特征和权向量,n 为特征空间的维数。一般情况下有许多超
平面(log M
2是最小值,M 是类别数) 将特征空间分为不同的区
域。二维空间中3个超平面分类如图1所示。
x
图1 二维空间中3个超平面分类
图1为3个特征属性,3个类别属性的分类情况,每一—2—
个类属于一个区域的编码,这个编码是由3个超平面获得的
(对于二维的特征空间) ,其中,IR 表示不确定的区域;本文分类器在解空间找到W j (j =1,2, , H ) ,H 为必需的超平面 个数。
4.3 基于加权量子粒子群的分类器结构
通过以上定义,可以利用量子粒子群优化算法进行分类规则的挖掘,进而形成分类器。分类规则挖掘注重获得代表一条最佳规则的粒子,更注重获得最佳协调规则组合,由于分类规则挖掘问题的特殊性,因此针对分类规则挖掘问题,改进量子粒子群算法,基于量子行为使用更合理的搜寻方法,然后采用信任分配算法(Credit Assignment Algorithm, CAA) 使规则集对数据进行分类,用文献[6]中定义的精度(precision)作为分类规则权值,根据该权值决定矛盾数据分属类别,最终实现基于量子粒子群算法的分类器设计。
本文分类器设计的主要步骤如下:
步骤1 初始化种群,设种群规模为M ,粒子维数为D ,初始化β=1.2, a i =1.5。
步骤2 根据式(8)计算每个粒子的适应度值,按降序排列,确定每个粒子的权重系数a i 。
步骤3 利用式(1)计算L 值,从而利用式(5)计算最好平均位置Mbest 。
步骤4 根据式(2)判断粒子的更新位置。
步骤5 CAA 使得规则集对数据进行分类,根据精度进行分类。
步骤6 判断是否满足循环条件,若满足则结束优化,则输出结果,否则返回步骤2。
在本文分类器中每一个粒子都是随机地以如下形式从解空间中选择:
P =[W 1, W 2, , W i , , H '] 其中,W i =(w i 1, w i 2, , w in , w in +1) 是第i 个超平面的权向量,H 是预先定义的超平面个数。适应度函数如下:
p -dist =p H
g -p i =∑w kd -w ki (8)
k =1其中,p i 和p g 均为矩阵,p i =[W 1i , W 2i , , W Hi ]' ,p g =
[W 1g , W 2g , , W ig , , W Hg ]' ;∙对(W kd -W ki ) 向量的归一化,终
止条件为最适应值或者默认的最大迭代次数;在本实验中,选择最大的迭代次数,权向量w 选为线性下降。
5 仿真实验结果与分析
仿真实验中采用2个语音库,分别称为语音库1和语音库2。语音库1有50名录音人员,包含30名男性和20名女性;语音库2有20名录音人员,包含12名男性和8名女性,分别在不同信噪比情况下,对其进行录音。每个人在实验室环境下进行录音,采用16 KHz采样率,16 bit采样精度。录音人员为班上同学,每人朗读随机生成的词句,语句长度为2 s ~4 s,每个语句存为一个文件,每次录取20段语句。
仿真实验在Matlab7.0环境下,首先对采样后的语音信号进行端点检测、预加重1-0.97z -1,加窗(Hamming窗,帧长20 ms,帧移10 ms),提取12维MFCC 倒谱系数取其一阶、二阶差分系数,构成36维的特征矢量序列差。然后对其按照改进的Michigan 编码方案进行语音编码,并对其训练。粒子数选择10个或20个粒子,最大迭代次数为500,迭代次数阈值选择300,β从1.2线性递减到0.5,试验中将WQPS- classifier 识别率(Recognition Rate, RR)和识别时间(T)与SVM 、
PS-classifier 进行性能比较。
表1使用语音库1中的数据进行仿真,在预设训练的超平面值H 为10、粒子束取为20时,对识别率、识别时间进行分析比较。由表1可以看出,本文分类器提高了说话人识别率,减少了识别时间,满足说话人识别的实用性。
SVM 90.1 2.95 PS-classifier 92.4 1.72 本文分类器
95.8
0.95
表2是选用语音库2中不同信噪比环境下的语音数据,在预设训练的超平面值H 为10时,对这3种分类器的抗噪声性能进行测试,由实验数据可以看出,在信噪比较低的情况下(SNR =-15 dB) 时,本文分类器 的抗噪特性略优于其他 2个分类器,但是随着信噪比的提高,如在SNR =10 dB 和SNR =15 dB时,本文分类器的识别率比SVM 分别高出46.8%和29.8%。从总体上说,在同等的SNR 下,本文分类器的识别率是最高的。
算法 -15 dB -10 dB -5 dB 0 dB 5 dB 10 dB 15 dB SVM 8.4 9.2 15.3 43.4 50.9 55.8 61.8 PS-classifier 10.1 11.6 24.1 45.6 59.8 64.7 73.3 本文分类器
9.8
14.7
25.6
52.5
62.3
90.2
91.6
6 结束语
针对SVM 及PS –classifier 分类器的不足,提出一种新的分类器,并将其用于实现说话人识别中。实验结果表明,本
文分类器克服了SVM 不适合大样本情况下的分类及PS-classifier 容易陷入局部最优的缺点,提高了在高维空间中的训练速度,具有更好的收敛精度。改进的Michigan 编码方法及本文分类器满足了对语音数据分类的需求,有效提高了说话人识别速度和抗噪性。
参考文献
[1] 侯风雷, 王炳锡. 基于支持向量机的说话人辨认研究[J]. 通信学
报, 2002, 23(6): 61-67.
[2] Kennedy J, Eberhart R. Particle Swarm Optimization[C]//Proc. of
IEEE International Conference on Neural Networks. Piscataway, USA: IEEE Press, 1995.
[3] Zahiri S H. Learning Automata Based Classifier[J]. Pattern
Recognition Letters, 2008, 29(1): 40-48.
[4] Jun Sun, Xu Wenbo, Feng Bin. Adaptive Parameter Control for
Quantum-behaved Particle Swarm Optimization on Individual Level[C]//Proc. of IEEE International Conference on Systems, Man and Cybernetics. Hawii, USA: [s. n.], 2005.
[5] 段晓东, 王存睿, 王楠楠, 等. 一种基于粒子群算法的分类器的
设计[J]. 计算机工程, 2005, 31(20): 107-109.
[6] 王自强, 冯博琴. 分类规则挖掘的免疫算法[J]. 西安交通大学学
报, 2005, 39(2): 111-114.
编辑 陆燕菲
—3—