改进的支持向量机SMO算法说话人识别系统研究
说话人识别[1,2]作为生物认证技术的一种,是根据语音波形中反映说话人生理和行为特征的语音参数,自动鉴别说话人身份的一项技术。说话人识别是交叉运用心理学、生理学、语音信号处理、模式识别、统计学习理论和人工智能的综合性研究课题。
说话人识别从映射关系上可以分为:说话人辨认和说话人确认辨认系统与确认系统除了身份声明部分(确认系统)以及判别准则有所差异外,二者没有本质的区别。习惯上说话人识别这个词通常指说话人辨认,本文中也主要研究说话人的辨认。而从信息角度说话人识别又可以分为:与文本有关和与文本无关两种方式。前者是指训练和识别都采用相同的词或句子,后者则是训练和识别的内容可以不同。说话人识别被应用到说话人核对、声控电子密码锁、罪犯确认、医学中患者确认以及军事等领域。随着通信和多媒体技术的发展,说话人识别技术的应用前景十分广阔。
1 SMO 算法
支持向量机[3-5]是在统计学习理论基础上构造的一种通用学习机器,主要优点在于它对有限样本下的模式识别中的一些根本性问题进行了系统的理论研究,并且在此基础上建立了一种较好的通用学习算法。它保持经验风险固定而最小化置信范围。从考虑线性决策规则(分类超平面)开始,通过构造间隔最大的最优分类超平面构造决策函数。本文将该方法应用到说话人识别的研究中,对支持向量机[6]的 SMO 算法中有关两个待优化拉格朗日乘子的选取做了一些改进,用很简单的排列算法取代函数集中的遍历操作来使目标函数值下降,实验证明 SMO 算法确实具有占用内存少,运算速度快等优点,而本文中的 SMO 改进算法在时间上还可以节省 50%左右。SMO 算法[7,8]是通过在可行的双重问题区域内搜索合适的参数使下面的函数值最大:
每步 SMO 从 个( 为训练样本数)拉格朗日乘子中选择两个元素 和 共同优化,在其他参数固定的前提下,找到这两个元素参数的最优值,并更新相应的 向量。如此反复迭代,直到收敛于目标函数(1)式的最大值。然后通过求得的拉格朗日乘子进一步求出分类超平面的参数w和b的值,并最终求出分类决策函数。
1.1 两个拉格朗日乘子的优化
SMO 启发式选择两个训练点的规则如下:第一个选择的启发式算法:第一个训练点x1,y1是从那些违反式(6)的点中选出来的。在算法中这称为外层循环,它首先在整个训练集上进行迭代,判断是否每一个训练样本都违反 KKT 条件式(6)。如有违反,那么它就要被优化,同时采用第二个启发式的选择方法来寻找第二个要被优化的样本,这两个样本放到一起被联合的优化,并更新支持向量集合、误差 b 等,以方便下一次的启发式的选择。在做完更新后,外层循环继续寻找违反KKT 条件的样本。为使最终的 SVM 在具有可接受的分类精度的同时,训练算法能够尽快收敛,在检验 KKT 条件的时候使用非负的公差 ,通常取=0.01~0.001。
相关文章
- 2022-07-28基于嵌入式Linux的BACnet控制器软件设计
- 2022-12-30迷宫密封转子动力学特性的数值模拟
- 2024-08-05弯管流量计取压孔实验研究
- 2022-10-10基于EVOC-EPI总线的工控机相关特性研析
- 2024-08-17基于VC++·NET2003平台的脉动生物反应器的研制
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。