本發(fā)明涉及語音識(shí)別技術(shù)領(lǐng)域。
背景技術(shù):
隨著信息時(shí)代發(fā)展,人機(jī)交互給現(xiàn)代社會(huì)帶來巨大的改變,語音識(shí)別作為人機(jī)交互技術(shù)的基礎(chǔ),已是當(dāng)今信息領(lǐng)域的研究熱點(diǎn)。支持向量機(jī)通過其卓越的分類能力和良好的泛化性能,成為語音識(shí)別技術(shù)中較常用的分類模型。
支持向量機(jī)(supportvectormachine,svm)是基于結(jié)構(gòu)風(fēng)險(xiǎn)最小化原則的一種新的機(jī)器學(xué)習(xí)技術(shù)。它可以更好的解決小樣本、非線性、高維度等分類問題,并且具有良好的泛化性,廣泛應(yīng)用在模式識(shí)別、分類估計(jì)等問題當(dāng)中。svm的擬合性能和泛化能力依賴于相關(guān)參數(shù)的選擇,選擇的結(jié)果直接關(guān)系到分類效果。因此,支持向量機(jī)的參數(shù)選擇在實(shí)際應(yīng)用中是一個(gè)關(guān)鍵問題。
目前,國際上并沒有公認(rèn)的統(tǒng)一的svm參數(shù)的優(yōu)化選取方法,較為常用的方法有:網(wǎng)格尋優(yōu)方法、遺傳算法、粒子群算法等。網(wǎng)格尋優(yōu)(gridsearch,gs)算法是一種實(shí)用的參數(shù)尋優(yōu)方法,該方法將待搜索參數(shù)在給定范圍中劃分為網(wǎng)格,通過遍歷網(wǎng)格中所有的參數(shù)組合來尋找最優(yōu)參數(shù)組,具有尋優(yōu)速度快的優(yōu)點(diǎn),但是網(wǎng)格尋優(yōu)對(duì)參數(shù)尋優(yōu)范圍和尋優(yōu)步距依賴性較大。遺傳算法(geneticalgorithm,ga)是j.h.holland于20世紀(jì)70年代提出的一類基于自然選擇和遺傳學(xué)原理的有效尋優(yōu)方法,它模擬生物進(jìn)化過程,是一種全局優(yōu)化搜索算法,具有簡(jiǎn)單通用、魯棒性強(qiáng)的優(yōu)點(diǎn),但是搜索后期效率低下易早熟。粒子群優(yōu)化算法(particleswarmoptimization,pso)由kennedy和eberhart于1995年提出,源于對(duì)鳥群捕食行為的研究,通過個(gè)體間的協(xié)作來尋找最優(yōu)解,具有算法簡(jiǎn)單實(shí)現(xiàn)容易的優(yōu)點(diǎn),但是pso算法對(duì)于有多個(gè)局部極值點(diǎn)的函數(shù)容易陷入局部最優(yōu)。
2015年由xian-bingmeng等人提出的鳥群算法(birdswarmalgorithm,bsa),是一種生物啟發(fā)式智能算法,該算法具有很好的多樣性,并且能有效的避免過早收斂,與傳統(tǒng)的群智能算法相比準(zhǔn)確率更高、魯棒性更強(qiáng)。
文獻(xiàn)《基于鳥群算法的微電網(wǎng)多目標(biāo)運(yùn)行優(yōu)化》將鳥群算法應(yīng)用于微電網(wǎng)多目標(biāo)優(yōu)化問題,構(gòu)建了以微電網(wǎng)運(yùn)行成本及環(huán)境污染度為目標(biāo)的微電網(wǎng)多目標(biāo)優(yōu)化模型,與粒子群算法和微分進(jìn)化算法比較,驗(yàn)證了鳥群算法更強(qiáng)的最優(yōu)解搜索能力。
文獻(xiàn)《基于群智能算法的光ofdm系統(tǒng)papr抑制研究》提出利用非線性反余弦的方法動(dòng)態(tài)調(diào)整加速因子,通過對(duì)鳥群算法中覓食行為的學(xué)習(xí)因子動(dòng)態(tài)調(diào)整,使其自身與群體對(duì)迭代過程中的粒子位置產(chǎn)生不同的影響程度,以此來豐富粒子的多樣性,從而緩解粒子陷入局部最優(yōu)的情況,改善了易陷入局部最優(yōu)的缺陷,改進(jìn)了算法的有效性。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問題是:克服現(xiàn)有技術(shù)不足,提供一種融合數(shù)據(jù)歸一化的自適應(yīng)語音識(shí)別系統(tǒng),通過對(duì)支持向量機(jī)參數(shù)尋優(yōu),提高語音識(shí)別準(zhǔn)確率。
本發(fā)明所采用的技術(shù)方案是:一種融合數(shù)據(jù)歸一化的自適應(yīng)變異鳥群語音識(shí)別系統(tǒng),其特征按照如下的步驟進(jìn)行:
步驟一、用錄音設(shè)備收集語音數(shù)據(jù),對(duì)收集的語音數(shù)據(jù)進(jìn)行特征提取,將特征提取后的數(shù)據(jù)作為輸入樣本,把輸入樣本劃分為訓(xùn)練集(train_data)和測(cè)試集(test_data)兩部分,分別給兩個(gè)集合加注標(biāo)簽,得到訓(xùn)練集標(biāo)簽(train_label)和測(cè)試集標(biāo)簽(test_label);
步驟二、采用數(shù)據(jù)歸一化方法,對(duì)原始數(shù)據(jù)進(jìn)行歸一化處理;
步驟三、采用融合數(shù)據(jù)歸一化自適應(yīng)變異鳥群算法對(duì)svm參數(shù)進(jìn)行尋優(yōu),求得最佳參數(shù)組(c,γ),用該參數(shù)組建立svm模型model;
步驟四、將測(cè)試集帶入svm模型,得到語音識(shí)別準(zhǔn)確率。
步驟二中利用數(shù)據(jù)歸一化方法處理數(shù)據(jù)按照如下的步驟進(jìn)行:
由于語音樣本特征的差異性,特征提取后得到的數(shù)據(jù)參差不齊,數(shù)據(jù)水平差別較大,采用這樣數(shù)據(jù)進(jìn)行識(shí)別,會(huì)突出數(shù)值較高的特征在識(shí)別過程中的作用,而相對(duì)降低數(shù)值較低的特征在綜合分析中的作用。因此,為了保證識(shí)別效果的可靠性,采用數(shù)據(jù)歸一化方法,對(duì)原始數(shù)據(jù)進(jìn)行歸一化處理。
將每列數(shù)據(jù)樣本設(shè)為yi,歸一化后的數(shù)據(jù)樣本為:
其中yi是原始數(shù)據(jù),
作為一種優(yōu)選方式:步驟三中,利用自適應(yīng)變異鳥群算法優(yōu)化svm按照如下的步驟進(jìn)行:
a、設(shè)置鳥群的種群數(shù)量p、最大迭代次數(shù)m和遷徙頻率fq,初始化認(rèn)知系數(shù)c和社會(huì)加速系數(shù)s、影響因子a1和a2以及參數(shù)組(c,γ)的最大值ub和最小值lb,隨機(jī)產(chǎn)生p個(gè)參數(shù)組(c,γ)作為鳥群的初始狀態(tài):
其中,
b、將初始參數(shù)組代入libsvm工具箱中的svmtrain函數(shù),得到初始適應(yīng)值fit(i):
fit(i)=svmtrain(train_label,train_data,′-v-c-g′)
其中,'-v'表示交叉驗(yàn)證的次數(shù),’-c’和’-g’分別代表參數(shù)組(c,γ)中的c和γ;
c、在第j次迭代更新時(shí),自適應(yīng)調(diào)整鳥群個(gè)體:
其中,
d、在第j次迭代更新時(shí),依次對(duì)鳥群執(zhí)行自適應(yīng)鳥群算法的覓食、警覺和遷徙行為,生成新一代種群:
覓食行為,鳥群中的個(gè)體通過一個(gè)隨機(jī)決策來選擇覓食還是警覺,當(dāng)一個(gè)(0,1)之間的隨機(jī)數(shù)rand小于常數(shù)r(r∈(0,1)),選擇覓食:
警覺行為,當(dāng)隨機(jī)數(shù)rand大于常數(shù)r,鳥群中的個(gè)體選擇警覺,試圖飛往中心的個(gè)體受到種群競(jìng)爭(zhēng)行為的影響,具有高儲(chǔ)備量的個(gè)體比具有低儲(chǔ)備量的個(gè)體更易接近種群中心:
其中,meanj表示整個(gè)鳥群第j個(gè)元素的平均位置,a1為周邊環(huán)境引起的間接影響因子,a2為特定干擾引起的直接影響因子,pfiti表示第i只鳥的最佳適應(yīng)值,sumfit表示整個(gè)種群的適應(yīng)值之和,ε用于避免零分割,是計(jì)算機(jī)里最小的常數(shù);
遷徙行為,由于覓食或躲避捕食威脅等原因,鳥群會(huì)飛向其它地方,當(dāng)?shù)竭_(dá)一個(gè)新的地方,它們會(huì)繼續(xù)覓食,并被分為生產(chǎn)者和乞食者。具有最高儲(chǔ)備量的鳥為生產(chǎn)者,最低儲(chǔ)備量的鳥為乞食者,其他儲(chǔ)備量介于二者之間的鳥隨機(jī)選擇作為生產(chǎn)者或者乞食者。生產(chǎn)者主動(dòng)搜索食物,乞食者隨機(jī)跟隨一位生產(chǎn)者搜尋食物:
其中,
比較三種行為所得鳥群個(gè)體所處狀態(tài)的適應(yīng)度值,選擇適應(yīng)度值最大的行為執(zhí)行,并與歷史記錄進(jìn)行比較,記錄適應(yīng)度值最大的個(gè)體。判斷迭代次數(shù)是否已經(jīng)達(dá)到最大迭代次數(shù)m,如果滿足則執(zhí)行步驟e;否則返回步驟c,繼續(xù)下一次迭代尋優(yōu);
e、尋優(yōu)得到最佳適應(yīng)值所對(duì)應(yīng)的位置
model=svmtrain(train_label,train_data,′-c-g′)
其中'-c'對(duì)應(yīng)最優(yōu)參數(shù)組(c,γ)中c的值,'-g'對(duì)應(yīng)最優(yōu)參數(shù)組(c,γ)中γ的值。
本發(fā)明的有益效果是:通過采用自適應(yīng)變異的方法對(duì)鳥群個(gè)體更新方法進(jìn)行改進(jìn),鳥群算法在迭代更新初期,引入一種變異操作,對(duì)參數(shù)自適應(yīng)過程進(jìn)行優(yōu)化,并結(jié)合數(shù)據(jù)歸一化方法,簡(jiǎn)化了數(shù)據(jù)結(jié)構(gòu)和算法復(fù)雜度,有效提高了算法的種群多樣性,增強(qiáng)了模型的泛化能力,解決了算法早熟收斂以及搜索能力隨代數(shù)增加而逐漸下降的問題,改善了易陷入局部最優(yōu)的缺陷。將融合數(shù)據(jù)歸一化的自適應(yīng)變異鳥群算法優(yōu)化的svm模型應(yīng)用于語音識(shí)別系統(tǒng),識(shí)別準(zhǔn)確率更高,收斂速度更快,魯棒性更強(qiáng),尋優(yōu)效果更好。
具體實(shí)施方式
本發(fā)明以windows7系統(tǒng)作為程序開發(fā)軟件環(huán)境,使用matlabr2010a作為程序開發(fā)平臺(tái),本例通過9個(gè)人對(duì)10個(gè)孤立詞在信噪比為15db條件下,每詞發(fā)音三次的270個(gè)語音樣本作為訓(xùn)練集,對(duì)應(yīng)7個(gè)人在相應(yīng)的詞匯量和信噪比下的210個(gè)語音樣本作為測(cè)試集,樣本經(jīng)過錄音設(shè)備收集后作為輸入數(shù)據(jù),然后通過語音識(shí)別系統(tǒng)對(duì)輸入的語音信號(hào)進(jìn)行預(yù)處理,再從處理過的語音信號(hào)中提取能夠代表該語音信號(hào)的特征,每個(gè)樣本從語音信號(hào)中獲得的60維特征矩陣,最終獲得訓(xùn)練集特征矩陣train_data和測(cè)試集特征矩陣test_data以及對(duì)應(yīng)的類別標(biāo)簽train_label和test_label,如表1和表2列出部分?jǐn)?shù)據(jù)如下:
表1訓(xùn)練集樣本
表2測(cè)試集樣本
對(duì)訓(xùn)練集和測(cè)試集數(shù)據(jù)進(jìn)行歸一化處理,將每列數(shù)據(jù)樣本設(shè)為yi,歸一化后的數(shù)據(jù)樣本為:
其中yi是原始數(shù)據(jù),
表3歸一化后訓(xùn)練集樣本
表4歸一化后測(cè)試集樣本
設(shè)置鳥群的種群數(shù)量p=30,最大迭代次數(shù)m=100,遷徙頻率fq=10,初始化認(rèn)知系數(shù)c=1.5,社會(huì)加速系數(shù)s=1.5,影響因子a1=1,a2=1,令參數(shù)組(c,γ)的最大值ub=100,最小值lb=-100,鳥群的30組個(gè)體初始狀態(tài)如表5:
表5鳥群初始狀態(tài)
計(jì)算每個(gè)鳥群個(gè)體的適應(yīng)度值fit(i):
將表1中訓(xùn)練集樣本的語音特征矩陣train_data和類別標(biāo)簽train_label代入公式:
fit(i)=svmtrain(train_label,train_data,′-v-c-g′)
其中,i為1到30的整數(shù),'-v'表示交叉驗(yàn)證的次數(shù),’-c’和’-g’分別代表參數(shù)組(c,γ)中的c和γ,所得每個(gè)鳥群個(gè)體的適應(yīng)度值如表6:
表6適應(yīng)度值(%)
通過比較,記錄最大的適應(yīng)度值fit(16)=66.2963%,對(duì)應(yīng)參數(shù)組(15.7697,97.0596);
自適應(yīng)更新種群個(gè)體:
在第j次迭代更新時(shí),自適應(yīng)調(diào)整鳥群個(gè)體:
其中,
表7個(gè)體自適應(yīng)變異更新結(jié)果
在第j次迭代更新時(shí),依次對(duì)鳥群執(zhí)行自適應(yīng)鳥群算法的覓食、警覺和遷徙行為,生成新一代種群:
覓食行為,鳥群中的個(gè)體通過一個(gè)隨機(jī)決策來選擇覓食還是警覺,當(dāng)一個(gè)(0,1)之間的隨機(jī)數(shù)rand小于常數(shù)r(r∈(0,1)),選擇覓食:
警覺行為,當(dāng)隨機(jī)數(shù)rand大于常數(shù)r,鳥群中的個(gè)體選擇警覺,試圖飛往中心的個(gè)體受到種群競(jìng)爭(zhēng)行為的影響,具有高儲(chǔ)備量的個(gè)體比具有低儲(chǔ)備量的個(gè)體更易接近種群中心:
其中,meanj表示整個(gè)鳥群第j個(gè)元素的平均位置,a1為周邊環(huán)境引起的間接影響因子,a2為特定干擾引起的直接影響因子,pfiti表示第i只鳥的最佳適應(yīng)值,sumfit表示整個(gè)種群的適應(yīng)值之和,ε用于避免零分割,是計(jì)算機(jī)里最小的常數(shù);
遷徙行為,由于覓食或躲避捕食威脅等原因,鳥群會(huì)飛向其它地方,當(dāng)?shù)竭_(dá)一個(gè)新的地方,它們會(huì)繼續(xù)覓食,并被分為生產(chǎn)者和乞食者。具有最高儲(chǔ)備量的鳥為生產(chǎn)者,最低儲(chǔ)備量的鳥為乞食者,其他儲(chǔ)備量介于二者之間的鳥隨機(jī)選擇作為生產(chǎn)者或者乞食者。生產(chǎn)者主動(dòng)搜索食物,乞食者隨機(jī)跟隨一位生產(chǎn)者搜尋食物:
其中,
比較三種行為所得鳥群個(gè)體所處狀態(tài)的適應(yīng)度值,選擇適應(yīng)度值最大的行為執(zhí)行,并與歷史記錄進(jìn)行比較,記錄適應(yīng)度值最大的個(gè)體。
判斷迭代次數(shù)是否已經(jīng)達(dá)到最大迭代次數(shù)m,如果滿足則執(zhí)行步驟e;否則返回步驟c,繼續(xù)下一次迭代尋優(yōu);
本實(shí)施例僅例舉說明表5中序號(hào)為1的鳥群個(gè)體在迭代次數(shù)m分別為1、2、3時(shí)的狀態(tài)更新,其他鳥群個(gè)體和其他迭代次數(shù)鳥群個(gè)體狀態(tài)更新過程類似。
m=1時(shí),由以下公式進(jìn)行初始化:
初始化后鳥群個(gè)體
通過以下公式執(zhí)行自適應(yīng)變異:
個(gè)體
判斷是否符合覓食條件,滿足條件,鳥群執(zhí)行覓食行為:
個(gè)體
m=2時(shí),將上一代的鳥群個(gè)體進(jìn)行自適應(yīng)變異,鳥群個(gè)體
判斷是否符合警覺條件,滿足條件,鳥群執(zhí)行警覺行為:
個(gè)體
m=3時(shí),將上一代的鳥群個(gè)體進(jìn)行自適應(yīng)變異,鳥群個(gè)體
判斷是否滿足遷徙條件,滿足條件,鳥群執(zhí)行遷徙行為,將鳥群劃分為生產(chǎn)者或者乞食者:
個(gè)體
迭代次數(shù)i=i+1,判斷迭代次數(shù)是否已經(jīng)達(dá)到最大迭代次數(shù)m,如果滿足則繼續(xù)執(zhí)行下一步驟;否則返回進(jìn)行新一次迭代更新。
得到最大適應(yīng)度值94.4444%所處狀態(tài)對(duì)應(yīng)的最優(yōu)參數(shù)組(c,γ)的值為(47.7881,0.0892),利用libsvm軟件包里的svmtrain函數(shù)得到svm模型model:
model=svmtrain(train_label,train_data,′-c47.7881-g0.0892′)
利用svmpredict函數(shù),代入測(cè)試集樣本的語音特征矩陣test_data和類別標(biāo)簽test_label
[predict_label,accuracy]=svmpredict(test_label,test_data,model)
其中accuracy為測(cè)試集樣本的分類準(zhǔn)確率,對(duì)應(yīng)該測(cè)試集樣本的語音識(shí)別準(zhǔn)確率為accuracy=89.0476%。
本實(shí)例只用來說明具體實(shí)施方式,為了顯示方便,僅用某一個(gè)體的三次迭代將最佳狀態(tài)展示出來,實(shí)際應(yīng)用中會(huì)有一定誤差。