1、ATR实验室周报告模板ATR实验室研究生 年 月第4周进度报告学生姓名: 提交日期: ,星期日 指导老师: I. 本周工作小结1. 工作小结 (1)重新尝试另一个数据库柏林情感语音库,并用opensmile对其进行384个特征提取。 (2)对支持向量机算法作出一些改进,用libsvm工具包的核函数解决线性可分问题,并用grid- search方法寻找最优参数C和g。 (3)对特征选取方法作出改进,用PCA降维,以及重新选取24个重要特征。 (4)对不同的特征选取方法的分类正确率对比,对不同情绪识别率对比。 (5)学习四种算法的基本原理,完成第三章部分工作。2. 原计划的完成情况(与原计划是否有
2、出入?有哪些出入?原因?) 与原计划的完成情况差不多,但是不同算法的优缺点对比不明显,这方面在理论和实验上都要多做点工作。 II. 下周工作计划1. 总体目标(1)学习四种算法的原理以及优缺点,并联系实验结果分析对比。(2)基本完成毕业论文第三章2. 需要的条件及建议III 技术报告1 1.重新用另一个语音库柏林情感语音库1.1柏林EMO-DB情感语音库简介新选取的语音库为免费的柏林DMO-DB情感语音库,是由柏林工业大学录制的情感语音库。其采样频率为16KHZ,16bit 量化,共有500 句情感语音信号。该语音库分别由10名专业演员(5男,5女),在7种不同情感状态下(中性/nertral
3、、生气/anger、害怕/fear、高兴/joy、悲伤/sadness、厌恶/disgust、无聊/boredom)朗读10句不同文本的德语组成。本实验选取其中的部分情感(高兴、愤怒、平静、悲伤)加以识别。2 2.支持向量机算法的改进对于不是线性可分的问题,就不能通过寻找最优分类超平面进行分类,SVM这时通过把n维空间的样本映射到更高维的空间中,使得在高维的空间上样本是线性可分的。在实际的算法中,SVM不需要真正地进行样本点的映射,因为算法中涉及到的高维空间的计算总是以内积的形式出现,而高维空间的内积可以通过在原本n维空间中求内积然后再进行一个变换得到,这里计算两个向量在隐式地映射到高维空间的
4、内积的函数就叫做核函数。SVM根据问题性质和数据规模的不同可以选择不同的核函数。在libsvm中,有自带的核函数,但需要自己调节参数,可以使用grid-search或cross-validation方法选择最优的参数惩罚因子c和核函数的参数g。-g r(gama):核函数中的gamma函数设置(针对多项式/rbf/sigmoid核函数)(默认1/ k)-c cost:设置C-SVC,e -SVR和v-SVR的参数(损失函数)(默认1)具体方法:1. 对数据做归一化(simple scaling)2. 用RBF(径向基)核函数:exp(-r|u-v|2),-t 23. 用cross-valida
5、tion或grid-search得到最优的参数c和g4. 用得到的最优c和g训练训练数据5. 测试2.1 2.1 用grid-search网格法找核函数最优参数网格搜索就是尝试各种可能的(C,g)对值,然后进行交叉验证,找出使交叉验证精确度最高的(C,g)对。通过反复实验测试,本文中参数C 和g 最终的值分别设为11.3137和0.1250。下载libsvm-mat-加强工具箱,在libsvm-mat-2.89-3的基础上给出相应的辅助函数插件,方便用户来选取最佳的参数。MATLAB程序如下:clc,clear alltrain_data=xlsread(all_bolin4_24_train
6、.xlsx,1,A1:X230); train_label=xlsread(all_bolin4_24_train.xlsx,1,Y1:Y230);test_data=xlsread(all_bolin4_24_test.xlsx,1,A1:X106); test_label=xlsread(all_bolin4_24_test.xlsx,1,Y1:Y106); %bolin24train_data,test_data,ps= scaleForSVM(train_data,test_data,-1,1);bestCVaccuracy,bestc,bestg=SVMcgForClass(trai
7、n_label,train_data,-3,3.5,-3,3.5,3,0.5,0.5,0.9);cmd = -c ,num2str(bestc), -g ,num2str(bestg);Factor = svmtrain(train_label, train_data,cmd); %建立svm分类器训练数据predicted_label = svmpredict(test_label,test_data, Factor); % 预测测试数据分类标签参数选择及其分类结果:3 3.特征选取方法改进3.1 3.1PCA降维Matlab程序:clc,clear allx=xlsread(all_bol
8、in4.xlsx,1,A1:NT335); pc,score,latent,tsquare = princomp(x); a=cumsum(latent)./sum(latent);final= score(:,1:20)xlswrite(pca_jw.xlsx,final);结果:(1) 朴素贝叶斯(2) 神经网络(3) 随机森林(4) 支持向量机正确率为:84.9%,参数分别为c:2.8284,g:0.03133.2 3.2重新自选24个特征通过查阅相关资料以及多次试验,选取24个对识别情感贡献较大的特征,分别为:Pcm_RMSenergy: max,min,range,mean,std,
9、linregerrQ,skewnessPcm_zcr: max,min,range,mean,stdVoice prob: max,min,range,mean,std,linregerrQF0: max,min,range,mean,std,linregerrQ结果:(1) 朴素贝叶斯正确率为:80.19%(2)神经网络正确率为78.3% (3)随机森林正确率为76.42% (4)支持向量机4 4结果分析与总结4.1 4.1不同特征选取方法对比算法特征选取方法PCA降维自选24个特征朴素贝叶斯63.21%80.19%神经网络61.30%78.13%随机森林63.21%76.42%支持向量机84.91%79.25%4.2 4.2不同情绪识别率对比算法情绪angry happy neutral sad朴素贝叶斯84.2%63.0%90.4%85.0%神经网络92.1%40.8%95.3%85.0%随机森林92.1%40.8%85.7%85.0%支持向量机92.1%48.2%90.5%85.0% 可以看出,对生气,伤心,中性的识别率都不错,但高兴的识别率较低,原因是高兴与生气两个情绪的能量,基频等特征比较相似,高兴容易归属到生气一类。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1