王真真,張雪英+,劉曉峰
(1.太原理工大學(xué)信息工程學(xué)院,山西太原030024;2.太原理工大學(xué)數(shù)學(xué)學(xué)院,山西太原030024)
語音識(shí)別就是讓機(jī)器通過識(shí)別和理解過程把語音信號(hào)轉(zhuǎn)變?yōu)橄鄳?yīng)的文本或命令的高技術(shù),現(xiàn)已廣泛應(yīng)用于通信、國防、家電和醫(yī)療等領(lǐng)域。
最小二乘支持向量機(jī)(least square support vector machine,LSSVM)[1]作為標(biāo)準(zhǔn)支持向量機(jī)(support vector machine,SVM)[2]的一種改進(jìn)類型,通過求解一系列的線性方程組得到一個(gè)簡單的優(yōu)化問題,避免了求解SVM的計(jì)算復(fù)雜和需花費(fèi)大量存儲(chǔ)空間的二次規(guī)劃問題。然而,由于LSSVM使用二次損失函數(shù)作為損失函數(shù)導(dǎo)致它喪失了SVM的一個(gè)優(yōu)勢——解的稀疏性,它將幾乎所有的訓(xùn)練樣本當(dāng)做支持向量并參與模型預(yù)測,降低了模型預(yù)測速度。為此,Suykens、Kruif等人提出了各種支持向量的稀疏化方法[3-6]。然而這些稀疏化方法都是迭代剪枝方法,每次剪枝后需要再次訓(xùn)練樣本,因此隨著訓(xùn)練樣本集的增大、迭代次數(shù)的增加,耗時(shí)明顯增多。
本文提出了一種新的LSSVM稀疏方案(IS-LSSVM),從樣本特征維數(shù)和樣本點(diǎn)個(gè)數(shù)兩方面同時(shí)進(jìn)行稀疏化且只需要訓(xùn)練模型一次。韓語語音的實(shí)驗(yàn)結(jié)果表明,該方法能明顯縮短語音識(shí)別時(shí)間,優(yōu)于傳統(tǒng)的稀疏化方法。
引入拉格朗日乘子αk,構(gòu)建拉格朗日函數(shù)
對(duì)式(2)分別求解關(guān)于w,ek,b和αk這4個(gè)變量的偏導(dǎo)數(shù),并令4個(gè)偏導(dǎo)數(shù)都等于0,得到下面矩陣形式的KKT系統(tǒng)
其中,核函數(shù)一般選取高斯核函數(shù)
由LSSVM最優(yōu)化條件可以得出在LSSVM中支持向量值αk正比于樣本點(diǎn)的誤差ek,而在SVM中許多支持向量的值為零,因此LSSVM的解失去了SVM解的稀疏性。
研究LSSVM稀疏化的必要性:①減少模型分類所需的訓(xùn)練樣本數(shù)目,減少存儲(chǔ)空間的浪費(fèi);②用具有代表性的少量樣本代表所有的訓(xùn)練樣本,避免模型的過擬合;③減少模型的支持向量,可以在模型預(yù)測階段降低支持向量的分析復(fù)雜度和提高模型分類速度。因此越來越多的學(xué)者從事LSSVM稀疏化方面的研究,其中Suykens等人提出的稀疏化方法(SS-LSSVM)是所有稀疏化算法中最經(jīng)典的方法。它的編程思想簡單,容易實(shí)現(xiàn),且在模式識(shí)別中取得了較好的稀疏化效果[8]。因此,在本文的實(shí)驗(yàn)部分將本文提出的IS-LSSVM同SS-LSSVM進(jìn)行了比較,以說明IS-LSSVM的有效性。SS-LSSVM稀疏化算法的具體實(shí)現(xiàn)步驟如下:
(1)在n個(gè)樣本點(diǎn)上訓(xùn)練LSSVM(n表示所有訓(xùn)練樣本的總數(shù));
(3)在剪枝后的樣本集上重新訓(xùn)練LSSVM;
(4)返回步驟(2),直到用戶定義的性能指標(biāo)下降。
對(duì)于多分類問題,對(duì)每個(gè)二分類器分別進(jìn)行上述剪枝過程。
IS-LSSVM算法的整體流程如圖1所示,圖1中的虛線框表示IS-LSSVM算法的改進(jìn)之處,其中ICA特征降維是為了降低建模復(fù)雜度,ICA快速剪枝是為了篩選支持向量。
圖1 IS-LSSVM算法的整體流程
獨(dú)立成分分析(independent component analysis,ICA)[9]的核心思想是假設(shè)數(shù)據(jù)是由一組相互獨(dú)立的源信號(hào)線性混合得到,并以互信息作為統(tǒng)計(jì)獨(dú)立的測量標(biāo)準(zhǔn)分離出這些獨(dú)立源。
語音樣本的不同特征之間往往存在不同程度的信息重疊,去除特征間的冗余信息一方面可以降低建模復(fù)雜度、提高建模速度,另一方面也可以去掉語音樣本中部分干擾噪聲,提高建模精度。ICA不僅利用語音樣本的二階統(tǒng)計(jì)信息還利用語音樣本間的高階統(tǒng)計(jì)信息,以保證提取的語音樣本新特征之間相互獨(dú)立。FastICA[10]是ICA的一種快速實(shí)現(xiàn)方法,本文在進(jìn)行LSSVM建模之前采用FastICA對(duì)語音樣本進(jìn)行特征降維,提取出新的語音樣本特征,具體步驟如下:
(1)預(yù)處理
2)PCA白化:去除語音樣本的相關(guān)性并得到降維的白化信號(hào)
(2)采用FastICA算法求解白化信號(hào)珦XtrainN×n1的分離矩陣W并計(jì)算源估計(jì)S∧
(3)語音樣本特征降維
經(jīng)過以上步驟,訓(xùn)練集和測試集的樣本特征由M維降到N維。
2.2.1 快速剪枝和神經(jīng)網(wǎng)絡(luò)
本文提出的篩選支持向量方法的思想來源于多層前饋神經(jīng)網(wǎng)絡(luò)刪除冗余隱藏節(jié)點(diǎn)的快速剪枝算法[11]。
隱含層有h個(gè)隱節(jié)點(diǎn)且第j個(gè)隱節(jié)點(diǎn)的活化函數(shù)為fj(X),輸出層為線性輸出,則輸出函數(shù)可表示為
該快速剪枝方法通過主成分分析(principal component analysis,PCA)從An×h的h列中提取出含信息量較多、比較重要的m列,并將與其相對(duì)應(yīng)的m個(gè)隱節(jié)點(diǎn)保留,其余隱節(jié)點(diǎn)作為冗余節(jié)點(diǎn)刪除。
2.2.2 ICA快速剪枝和LSSVM
由式(4)可以看出,LSSVM可以看作一個(gè)三層前饋網(wǎng)絡(luò):隱節(jié)點(diǎn)的個(gè)數(shù)為n,第k個(gè)隱節(jié)點(diǎn)的活化函數(shù)輸出函數(shù)y(x)是隱含層輸出的加權(quán)和,權(quán)重等于拉格朗日乘子αk。因此上節(jié)中的快速剪枝算法適用于LSSVM的稀疏化。
本文提出的ICA快速剪枝在上節(jié)的快速剪枝方法的基礎(chǔ)上做了兩方面的改進(jìn):ICA取代PCA進(jìn)行核矩陣列向量的提取,以提高列向量間的獨(dú)立性;將剪枝掉的樣本點(diǎn)的分類信息轉(zhuǎn)移到保留的支持向量上,以提高IS-LSSVM算法的識(shí)別率。
(1)ICA作為PCA的一種改進(jìn)算法,它的優(yōu)點(diǎn)是:充分利用了數(shù)據(jù)的二階和高階統(tǒng)計(jì)信息;ICA提取出的獨(dú)立源(ICs)不僅是不相關(guān)的而且是獨(dú)立的。因此用ICA提取訓(xùn)練樣本構(gòu)造的核矩陣列向量之間的獨(dú)立性更強(qiáng),更接近于核矩陣的基向量。又由于ICs不是按重要性依次排列,為此采用2006年Wang Jing等人提出的基于高階統(tǒng)計(jì)特性的獨(dú)立成分排序算法HOS-ICA[12]對(duì)ICs進(jìn)行排序。
(2)LSSVM的求解系統(tǒng)(如式(3)所示)的第k行可以表示為
從式(11)可以看出,如果刪除核矩陣的第j列,則相應(yīng)的權(quán)重αj也將被刪除,那么與之對(duì)應(yīng)的訓(xùn)練樣本點(diǎn)xj不再參與下一步的LSSVM的分類識(shí)別,因此被刪除的樣本點(diǎn)的分類信息不能被充分利用。為了盡量提高IS-LSSVM算法的識(shí)別率,采用最小二乘法將刪除的樣本點(diǎn)的分類信息轉(zhuǎn)移到保留的支持向量上,具體實(shí)現(xiàn)如下:設(shè)Km矩陣由IS-LSSVM算法篩選出的核矩陣K的m個(gè)列向量組成,Kd矩陣由K中其余列向量組成,是與Km中列向量對(duì)應(yīng)的乘子向量,是與Kd中列向量對(duì)應(yīng)的乘子向量。則LSSVM對(duì)訓(xùn)練樣本集的輸出函數(shù)可以表示為
令ΔαKm=珗αdKd,得出
稀疏化后的LSSVM的分類決策函數(shù)為
2.2.3 ICA快速剪枝步驟
(2)計(jì)算核矩陣的獨(dú)立源:通過FastICA算法計(jì)算核矩陣K的所有ICs,并采用HOS-ICA算法對(duì)ICs的各列按重要性降序排序,記為KICs;
(3)對(duì)所有訓(xùn)練樣本點(diǎn)按重要性排序:
1)計(jì)算K各列與KICs各列的相關(guān)性。記KICs的第i列為首先計(jì)算當(dāng)k=1時(shí)與K的所有列的相關(guān)系數(shù),選擇相關(guān)系數(shù)的絕對(duì)值最大的列記為i1;然后依次計(jì)算當(dāng)時(shí),與K中所有剩余的未被選中的列的相關(guān)系數(shù),選擇相關(guān)系數(shù)的絕對(duì)值最大的列記為ik且以避免K中已經(jīng)被選中的列再次被選中;
2)按序號(hào)ik對(duì)K的各列排序,排序結(jié)果記為,相應(yīng)的支持向量乘子向量α排序?yàn)?,?xùn)練樣本排序?yàn)?/p>
(5)信息轉(zhuǎn)移:按式(13)將非支持向量的分類信息轉(zhuǎn)移到保留的支持向量上;
(8)剪枝算法結(jié)束,m即為稀疏化后保留的支持向量個(gè)數(shù)。
對(duì)于多類分類問題,因?yàn)槊總€(gè)二分類器的核矩陣K是一樣的,只需要將步驟(3)和步驟(4)中的α按行運(yùn)算即可。
本實(shí)驗(yàn)采用韓語非特定人孤立詞語音庫對(duì)IS-LSSVM算法進(jìn)行測試,并且與標(biāo)準(zhǔn)SVM、標(biāo)準(zhǔn)LSSVM和經(jīng)典稀疏化算法SS-LSSVM進(jìn)行了比較。
韓語語音庫:詞匯量分為10詞、20詞、30詞、40詞和50詞;由16個(gè)人每人每詞發(fā)音3遍得到所有的語音文件,其中前9個(gè)人的語音文件作為訓(xùn)練集,后7個(gè)人的語音文件作為測試集;噪聲為人為添加的高斯白噪聲,且信噪比為30dB;語音信號(hào)采樣率為11.025k Hz,幀長N=256點(diǎn),幀移M=128點(diǎn),采用MFCC方法提取1024維的語音特征。
本實(shí)驗(yàn)的運(yùn)行環(huán)境為雙核Pentium(R)Dual-Core CPU、2GB RAM的PC機(jī),軟件平臺(tái)為MATLAB 2010a。SVM采用SVM-KM工具包[13],LSSVM采用LSSVMlab 1.8工具包[14]。SVM的多類分類編碼采用一對(duì)一編碼,LSSVM、SS-LSSVM和IS-LSSVM采用最小輸出編碼。所有算法的核函數(shù)均采用高斯核函數(shù)。懲罰參數(shù)γ和高斯核函數(shù)的寬度參數(shù)σ采用10折交叉驗(yàn)證方法選取。每個(gè)實(shí)驗(yàn)運(yùn)行5次,實(shí)驗(yàn)結(jié)果取平均值。IS-LSSVM算法采用ICA進(jìn)行語音特征降維時(shí),對(duì)于10詞、20詞數(shù)據(jù)集設(shè)置累積貢獻(xiàn)率為85%,30詞、40詞和50詞數(shù)據(jù)集設(shè)置累積貢獻(xiàn)率為90%。
表1描述了不同詞匯量下語音樣本的個(gè)數(shù)。表2-表5分別是采用不同的識(shí)別算法對(duì)韓語語音庫建模需要的樣本特征個(gè)數(shù)、支持向量數(shù)目、識(shí)別率和識(shí)別時(shí)間進(jìn)行測試的實(shí)驗(yàn)結(jié)果。
表1 韓語數(shù)據(jù)庫
表2 不同識(shí)別算法下各個(gè)詞匯建模需要的樣本特征
表3 不同識(shí)別算法下各個(gè)詞匯建模所支持的向量數(shù)目
表4 不同識(shí)別算法在各個(gè)詞匯下的識(shí)別率(%)
表5 不同識(shí)別算法對(duì)各個(gè)詞匯中的測試集的識(shí)別時(shí)間/s
由表2可以看出IS-LSSVM算法與其它3種算法相比,因?yàn)椴捎肐CA特征降維,因而建模所需的樣本特征個(gè)數(shù)明顯降低,這不僅可以降低建模復(fù)雜度還有利于節(jié)省識(shí)別時(shí)間。
由表3可以看出,4種識(shí)別方法中LSSVM建模所需要的支持向量數(shù)最多,等于訓(xùn)練樣本的個(gè)數(shù),SVM的支持向量是訓(xùn)練集的子集,驗(yàn)證了LSSVM喪失了SVM的稀疏性的理論;SS-LSSVM和IS-LSSVM建模所需的支持向量數(shù)目均少于SVM和LSSVM,說明這兩種方法均實(shí)現(xiàn)了LSSVM的稀疏化;IS-LSSVM的支持向量數(shù)目少于SS-LSSVM,說明IS-LSSVM算法稀疏化效果優(yōu)于SS-LSSVM;IS-LSSVM是4種識(shí)別算法中稀疏效果最好的。
由表4可以看出,4種識(shí)別方法中標(biāo)準(zhǔn)SVM對(duì)所有詞匯量的識(shí)別率都是最高的,平均識(shí)別率97%左右;LSSVM次之;兩種LSSVM的改進(jìn)算法SS-LSSVM和IS-LSSVM對(duì)測試集的識(shí)別率不相上下,平均識(shí)別率90%左右,低于LSSVM的識(shí)別率,這是因?yàn)樗械腖SSVM稀疏化算法都會(huì)不同程度的刪除部分樣本來實(shí)現(xiàn)稀疏化,但這同時(shí)也會(huì)丟失該部分樣本的分類信息,因而導(dǎo)致識(shí)別率有所降低。
由表5可以看出,4種識(shí)別方法中IS-LSSVM對(duì)測試集識(shí)別時(shí)間最短,明顯縮短了標(biāo)準(zhǔn)LSSVM的識(shí)別時(shí)間;SSLSSVM也縮短了LSSVM對(duì)測試集的識(shí)別時(shí)間,但是效果沒有IS-LSSVM好;SVM測試集識(shí)別時(shí)間最長,這與SVM的求解模型是二次型規(guī)劃問題有關(guān)。
實(shí)驗(yàn)結(jié)果表明,IS-LSSVM在相對(duì)保持語音識(shí)別率的基礎(chǔ)上,有效提取了語音樣本特征和支持向量,大大降低了測試時(shí)間??傮w來看,IS-LSSVM優(yōu)于其它3種算法。
為了改善語音識(shí)別系統(tǒng)的實(shí)時(shí)性,提出了一種新的最小二乘支持向量機(jī)稀疏化算法,其特點(diǎn)是:對(duì)訓(xùn)練樣本的特征和樣本點(diǎn)數(shù)均進(jìn)行降維;只需要訓(xùn)練LSSVM分類器一次;將非支持向量的信息轉(zhuǎn)移到支持向量上,以改善稀疏化對(duì)分類器分類能力的影響。韓語語音庫的實(shí)驗(yàn)結(jié)果表明,該算法通過ICA特征降維有效減少了樣本特征、降低了建模復(fù)雜度,ICA快速剪枝有效剔除了冗余支持向量,最終在保持識(shí)別精度的前提下,大大縮短了語音識(shí)別時(shí)間。下一步打算在該算法的預(yù)處理中加入樣本預(yù)選取,在建模時(shí)用序貫最小化等快速訓(xùn)練算法實(shí)現(xiàn)等。
[1]Mitra V,Wang C J,Banerjee S.Text classification:A least square support vector machine approach[J].Applied Soft Computing Journal,2007,7(3):908-914.
[2]DING Shifei,QI Bingjuan,TAN Hongyan.An overview on theory and algorithm of support vector machines[J].Journal of University of Electronic Science and Technology of China,2011,40(1):1-10(in Chinese).[丁世飛,齊丙娟,譚紅艷.支持向量機(jī)理論與算法研究綜述[J].電子科技大學(xué)學(xué)報(bào),2011,40(1):1-10.]
[3]Carvalho B P R,Braga A P.IP-LSSVM:A two-step sparse classifier[J].Pattern Recognition Letters,2009,30(16):1507-1515.
[4]Kuh A,De W P.Comments on‘Pruning error minimization in least squares support vector machines’[J].IEEE Trans Neural Networks,2007,18(2):606-609.
[5]Xia X L,Jiao W D,Li K,et al.A novel sparse least squares support vector machines[J].Mathematical Problems in Engineering,2013.
[6]Li Y G,Lin C,Zhang W D.Improved sparse least-squares support vector machine classifiers[J].Neurocomputing,2006,69(13-15):1655-1658.
[7]Ahmed T,Wei X L,Ahmed S.Efficient and effective automated surveillance agents using kernel tricks[J].Simulation,2013,89(5):562-577.
[8]Luo R L,Cai W Q,Chen M,et al.The application of improved sparse least-squares support vector machine in speaker identification[C]//Proceedings of 3rd International Workshop on Intelligent Systems and Applications,2011:1-4.
[9]SHEN Yang,ZHAN Yongzhao,SHAN Shijuan.Research of license plate Chinese characters recognition based ICA[J].Computer Engineering and Design,2012,33(3):1127-1131(in Chinese).[沈洋,詹永照,單士娟.基于ICA降維的車牌漢字識(shí)別研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2012,33(3):1127-1131.]
[10]LIANG Shufen,JIANG Taihui.Blind separation of speech signal based on Fast ICA algorithm[J].Computer Engineering and Design,2010,31(13):3047-3050(in Chinese).[梁淑芬,江太輝.Fast ICA算法在語音信號(hào)盲分離中的應(yīng)用[J].計(jì)算機(jī)工程與設(shè)計(jì),2010,31(13):3047-3050.]
[11]Chen Y Q,Hu S X,Chen D Z.Fast pruning strategy for neural network size optimization and its application[J].Journal of Chemical Industry and Engineering,2001,52(6):522-526.
[12]Wang J,Chang C I.Applications of independent component analysis in endmember extraction and abundance quantification for hyperspectral imagery[J].IEEE Trans Geosci Remote Sens,2006,44(9):2601-2616.
[13]Canu S,Grandvalet Y,Guigue V,et al.SVM and kernel methods matlab toolbox[EB/OL].[2013-7-10].http://asi.insa-rouen.fr/enseignants/~arakoto/toolbox/index.html.
[14]Pelckmans K,Suykens J A K,Gestel T V,et al.LS-SVM-lab:A MATLAB/C toolbox for least squares support vector machines[EB/OL].[2013-7-20].http://www.esat.kuleuven.be/sista/lssvmlab/.