王真真,張雪英+,劉曉峰
(1.太原理工大學信息工程學院,山西太原030024;2.太原理工大學數(shù)學學院,山西太原030024)
語音識別就是讓機器通過識別和理解過程把語音信號轉變?yōu)橄鄳奈谋净蛎畹母呒夹g,現(xiàn)已廣泛應用于通信、國防、家電和醫(yī)療等領域。
最小二乘支持向量機(least square support vector machine,LSSVM)[1]作為標準支持向量機(support vector machine,SVM)[2]的一種改進類型,通過求解一系列的線性方程組得到一個簡單的優(yōu)化問題,避免了求解SVM的計算復雜和需花費大量存儲空間的二次規(guī)劃問題。然而,由于LSSVM使用二次損失函數(shù)作為損失函數(shù)導致它喪失了SVM的一個優(yōu)勢——解的稀疏性,它將幾乎所有的訓練樣本當做支持向量并參與模型預測,降低了模型預測速度。為此,Suykens、Kruif等人提出了各種支持向量的稀疏化方法[3-6]。然而這些稀疏化方法都是迭代剪枝方法,每次剪枝后需要再次訓練樣本,因此隨著訓練樣本集的增大、迭代次數(shù)的增加,耗時明顯增多。
本文提出了一種新的LSSVM稀疏方案(IS-LSSVM),從樣本特征維數(shù)和樣本點個數(shù)兩方面同時進行稀疏化且只需要訓練模型一次。韓語語音的實驗結果表明,該方法能明顯縮短語音識別時間,優(yōu)于傳統(tǒng)的稀疏化方法。
引入拉格朗日乘子αk,構建拉格朗日函數(shù)
對式(2)分別求解關于w,ek,b和αk這4個變量的偏導數(shù),并令4個偏導數(shù)都等于0,得到下面矩陣形式的KKT系統(tǒng)
其中,核函數(shù)一般選取高斯核函數(shù)
由LSSVM最優(yōu)化條件可以得出在LSSVM中支持向量值αk正比于樣本點的誤差ek,而在SVM中許多支持向量的值為零,因此LSSVM的解失去了SVM解的稀疏性。
研究LSSVM稀疏化的必要性:①減少模型分類所需的訓練樣本數(shù)目,減少存儲空間的浪費;②用具有代表性的少量樣本代表所有的訓練樣本,避免模型的過擬合;③減少模型的支持向量,可以在模型預測階段降低支持向量的分析復雜度和提高模型分類速度。因此越來越多的學者從事LSSVM稀疏化方面的研究,其中Suykens等人提出的稀疏化方法(SS-LSSVM)是所有稀疏化算法中最經(jīng)典的方法。它的編程思想簡單,容易實現(xiàn),且在模式識別中取得了較好的稀疏化效果[8]。因此,在本文的實驗部分將本文提出的IS-LSSVM同SS-LSSVM進行了比較,以說明IS-LSSVM的有效性。SS-LSSVM稀疏化算法的具體實現(xiàn)步驟如下:
(1)在n個樣本點上訓練LSSVM(n表示所有訓練樣本的總數(shù));
(3)在剪枝后的樣本集上重新訓練LSSVM;
(4)返回步驟(2),直到用戶定義的性能指標下降。
對于多分類問題,對每個二分類器分別進行上述剪枝過程。
IS-LSSVM算法的整體流程如圖1所示,圖1中的虛線框表示IS-LSSVM算法的改進之處,其中ICA特征降維是為了降低建模復雜度,ICA快速剪枝是為了篩選支持向量。
圖1 IS-LSSVM算法的整體流程
獨立成分分析(independent component analysis,ICA)[9]的核心思想是假設數(shù)據(jù)是由一組相互獨立的源信號線性混合得到,并以互信息作為統(tǒng)計獨立的測量標準分離出這些獨立源。
語音樣本的不同特征之間往往存在不同程度的信息重疊,去除特征間的冗余信息一方面可以降低建模復雜度、提高建模速度,另一方面也可以去掉語音樣本中部分干擾噪聲,提高建模精度。ICA不僅利用語音樣本的二階統(tǒng)計信息還利用語音樣本間的高階統(tǒng)計信息,以保證提取的語音樣本新特征之間相互獨立。FastICA[10]是ICA的一種快速實現(xiàn)方法,本文在進行LSSVM建模之前采用FastICA對語音樣本進行特征降維,提取出新的語音樣本特征,具體步驟如下:
(1)預處理
2)PCA白化:去除語音樣本的相關性并得到降維的白化信號
(2)采用FastICA算法求解白化信號珦XtrainN×n1的分離矩陣W并計算源估計S∧
(3)語音樣本特征降維
經(jīng)過以上步驟,訓練集和測試集的樣本特征由M維降到N維。
2.2.1 快速剪枝和神經(jīng)網(wǎng)絡
本文提出的篩選支持向量方法的思想來源于多層前饋神經(jīng)網(wǎng)絡刪除冗余隱藏節(jié)點的快速剪枝算法[11]。
隱含層有h個隱節(jié)點且第j個隱節(jié)點的活化函數(shù)為fj(X),輸出層為線性輸出,則輸出函數(shù)可表示為
該快速剪枝方法通過主成分分析(principal component analysis,PCA)從An×h的h列中提取出含信息量較多、比較重要的m列,并將與其相對應的m個隱節(jié)點保留,其余隱節(jié)點作為冗余節(jié)點刪除。
2.2.2 ICA快速剪枝和LSSVM
由式(4)可以看出,LSSVM可以看作一個三層前饋網(wǎng)絡:隱節(jié)點的個數(shù)為n,第k個隱節(jié)點的活化函數(shù)輸出函數(shù)y(x)是隱含層輸出的加權和,權重等于拉格朗日乘子αk。因此上節(jié)中的快速剪枝算法適用于LSSVM的稀疏化。
本文提出的ICA快速剪枝在上節(jié)的快速剪枝方法的基礎上做了兩方面的改進:ICA取代PCA進行核矩陣列向量的提取,以提高列向量間的獨立性;將剪枝掉的樣本點的分類信息轉移到保留的支持向量上,以提高IS-LSSVM算法的識別率。
(1)ICA作為PCA的一種改進算法,它的優(yōu)點是:充分利用了數(shù)據(jù)的二階和高階統(tǒng)計信息;ICA提取出的獨立源(ICs)不僅是不相關的而且是獨立的。因此用ICA提取訓練樣本構造的核矩陣列向量之間的獨立性更強,更接近于核矩陣的基向量。又由于ICs不是按重要性依次排列,為此采用2006年Wang Jing等人提出的基于高階統(tǒng)計特性的獨立成分排序算法HOS-ICA[12]對ICs進行排序。
(2)LSSVM的求解系統(tǒng)(如式(3)所示)的第k行可以表示為
從式(11)可以看出,如果刪除核矩陣的第j列,則相應的權重αj也將被刪除,那么與之對應的訓練樣本點xj不再參與下一步的LSSVM的分類識別,因此被刪除的樣本點的分類信息不能被充分利用。為了盡量提高IS-LSSVM算法的識別率,采用最小二乘法將刪除的樣本點的分類信息轉移到保留的支持向量上,具體實現(xiàn)如下:設Km矩陣由IS-LSSVM算法篩選出的核矩陣K的m個列向量組成,Kd矩陣由K中其余列向量組成,是與Km中列向量對應的乘子向量,是與Kd中列向量對應的乘子向量。則LSSVM對訓練樣本集的輸出函數(shù)可以表示為
令ΔαKm=珗αdKd,得出
稀疏化后的LSSVM的分類決策函數(shù)為
2.2.3 ICA快速剪枝步驟
(2)計算核矩陣的獨立源:通過FastICA算法計算核矩陣K的所有ICs,并采用HOS-ICA算法對ICs的各列按重要性降序排序,記為KICs;
(3)對所有訓練樣本點按重要性排序:
1)計算K各列與KICs各列的相關性。記KICs的第i列為首先計算當k=1時與K的所有列的相關系數(shù),選擇相關系數(shù)的絕對值最大的列記為i1;然后依次計算當時,與K中所有剩余的未被選中的列的相關系數(shù),選擇相關系數(shù)的絕對值最大的列記為ik且以避免K中已經(jīng)被選中的列再次被選中;
2)按序號ik對K的各列排序,排序結果記為,相應的支持向量乘子向量α排序為,訓練樣本排序為
(5)信息轉移:按式(13)將非支持向量的分類信息轉移到保留的支持向量上;
(8)剪枝算法結束,m即為稀疏化后保留的支持向量個數(shù)。
對于多類分類問題,因為每個二分類器的核矩陣K是一樣的,只需要將步驟(3)和步驟(4)中的α按行運算即可。
本實驗采用韓語非特定人孤立詞語音庫對IS-LSSVM算法進行測試,并且與標準SVM、標準LSSVM和經(jīng)典稀疏化算法SS-LSSVM進行了比較。
韓語語音庫:詞匯量分為10詞、20詞、30詞、40詞和50詞;由16個人每人每詞發(fā)音3遍得到所有的語音文件,其中前9個人的語音文件作為訓練集,后7個人的語音文件作為測試集;噪聲為人為添加的高斯白噪聲,且信噪比為30dB;語音信號采樣率為11.025k Hz,幀長N=256點,幀移M=128點,采用MFCC方法提取1024維的語音特征。
本實驗的運行環(huán)境為雙核Pentium(R)Dual-Core CPU、2GB RAM的PC機,軟件平臺為MATLAB 2010a。SVM采用SVM-KM工具包[13],LSSVM采用LSSVMlab 1.8工具包[14]。SVM的多類分類編碼采用一對一編碼,LSSVM、SS-LSSVM和IS-LSSVM采用最小輸出編碼。所有算法的核函數(shù)均采用高斯核函數(shù)。懲罰參數(shù)γ和高斯核函數(shù)的寬度參數(shù)σ采用10折交叉驗證方法選取。每個實驗運行5次,實驗結果取平均值。IS-LSSVM算法采用ICA進行語音特征降維時,對于10詞、20詞數(shù)據(jù)集設置累積貢獻率為85%,30詞、40詞和50詞數(shù)據(jù)集設置累積貢獻率為90%。
表1描述了不同詞匯量下語音樣本的個數(shù)。表2-表5分別是采用不同的識別算法對韓語語音庫建模需要的樣本特征個數(shù)、支持向量數(shù)目、識別率和識別時間進行測試的實驗結果。
表1 韓語數(shù)據(jù)庫
表2 不同識別算法下各個詞匯建模需要的樣本特征
表3 不同識別算法下各個詞匯建模所支持的向量數(shù)目
表4 不同識別算法在各個詞匯下的識別率(%)
表5 不同識別算法對各個詞匯中的測試集的識別時間/s
由表2可以看出IS-LSSVM算法與其它3種算法相比,因為采用ICA特征降維,因而建模所需的樣本特征個數(shù)明顯降低,這不僅可以降低建模復雜度還有利于節(jié)省識別時間。
由表3可以看出,4種識別方法中LSSVM建模所需要的支持向量數(shù)最多,等于訓練樣本的個數(shù),SVM的支持向量是訓練集的子集,驗證了LSSVM喪失了SVM的稀疏性的理論;SS-LSSVM和IS-LSSVM建模所需的支持向量數(shù)目均少于SVM和LSSVM,說明這兩種方法均實現(xiàn)了LSSVM的稀疏化;IS-LSSVM的支持向量數(shù)目少于SS-LSSVM,說明IS-LSSVM算法稀疏化效果優(yōu)于SS-LSSVM;IS-LSSVM是4種識別算法中稀疏效果最好的。
由表4可以看出,4種識別方法中標準SVM對所有詞匯量的識別率都是最高的,平均識別率97%左右;LSSVM次之;兩種LSSVM的改進算法SS-LSSVM和IS-LSSVM對測試集的識別率不相上下,平均識別率90%左右,低于LSSVM的識別率,這是因為所有的LSSVM稀疏化算法都會不同程度的刪除部分樣本來實現(xiàn)稀疏化,但這同時也會丟失該部分樣本的分類信息,因而導致識別率有所降低。
由表5可以看出,4種識別方法中IS-LSSVM對測試集識別時間最短,明顯縮短了標準LSSVM的識別時間;SSLSSVM也縮短了LSSVM對測試集的識別時間,但是效果沒有IS-LSSVM好;SVM測試集識別時間最長,這與SVM的求解模型是二次型規(guī)劃問題有關。
實驗結果表明,IS-LSSVM在相對保持語音識別率的基礎上,有效提取了語音樣本特征和支持向量,大大降低了測試時間。總體來看,IS-LSSVM優(yōu)于其它3種算法。
為了改善語音識別系統(tǒng)的實時性,提出了一種新的最小二乘支持向量機稀疏化算法,其特點是:對訓練樣本的特征和樣本點數(shù)均進行降維;只需要訓練LSSVM分類器一次;將非支持向量的信息轉移到支持向量上,以改善稀疏化對分類器分類能力的影響。韓語語音庫的實驗結果表明,該算法通過ICA特征降維有效減少了樣本特征、降低了建模復雜度,ICA快速剪枝有效剔除了冗余支持向量,最終在保持識別精度的前提下,大大縮短了語音識別時間。下一步打算在該算法的預處理中加入樣本預選取,在建模時用序貫最小化等快速訓練算法實現(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].電子科技大學學報,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降維的車牌漢字識別研究[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算法在語音信號盲分離中的應用[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/.