丁 碩,常曉恒,巫慶輝,楊友林
(渤海大學(xué) 工學(xué)院,遼寧 錦州 121013)
啟發(fā)式改進(jìn)BPNN在模式分類(lèi)領(lǐng)域內(nèi)的對(duì)比研究
丁 碩,常曉恒,巫慶輝,楊友林
(渤海大學(xué) 工學(xué)院,遼寧 錦州 121013)
采用附加動(dòng)量BP算法、自適應(yīng)最速下降BP算法、自適應(yīng)動(dòng)量BP算法、彈性BP算法4種啟發(fā)式改進(jìn)方法分別對(duì)標(biāo)準(zhǔn)BP算法進(jìn)行改進(jìn),并構(gòu)建了相應(yīng)的BP神經(jīng)網(wǎng)絡(luò)分類(lèi)模型,將構(gòu)建的4種分類(lèi)模型應(yīng)用于二維向量模式的分類(lèi),并進(jìn)行了泛化能力測(cè)試,將4種BP網(wǎng)絡(luò)分類(lèi)模型的分類(lèi)結(jié)果進(jìn)行對(duì)比。仿真結(jié)果表明,對(duì)于中小規(guī)模的網(wǎng)絡(luò)而言,彈性BP算法改進(jìn)的BP網(wǎng)絡(luò)的分類(lèi)結(jié)果最為精確,收斂速度最快,分類(lèi)性能最優(yōu);附加動(dòng)量BP算法改進(jìn)的BP網(wǎng)絡(luò)的分類(lèi)結(jié)果誤差最大,收斂速度最慢,分類(lèi)性能最差;自適應(yīng)學(xué)習(xí)速率BP算法改進(jìn)的BP網(wǎng)絡(luò)的分類(lèi)結(jié)果的誤差值、收斂速度及分類(lèi)性能介于上述兩種算法之間。
啟發(fā)式方法;算法改進(jìn);BP神經(jīng)網(wǎng)絡(luò);模式分類(lèi);泛化能力
人工神經(jīng)網(wǎng)絡(luò)用于模式分類(lèi)成為當(dāng)今的一個(gè)研究熱點(diǎn)問(wèn)題,在進(jìn)行模式分類(lèi)時(shí),BP 神經(jīng)網(wǎng)絡(luò)是應(yīng)用得最為廣泛一類(lèi)網(wǎng)絡(luò)模型。因?yàn)闃?biāo)準(zhǔn)的BP(Back Propagation)算法存在學(xué)習(xí)收斂速度較慢、穩(wěn)定性差、易陷入局部極小等缺點(diǎn)[1-3],所以一部分學(xué)者利用啟發(fā)式改進(jìn)方法對(duì)標(biāo)準(zhǔn)的BP算法進(jìn)行改進(jìn)。啟發(fā)式改進(jìn)方法是在梯度下降法的基礎(chǔ)上,通過(guò)改進(jìn)標(biāo)準(zhǔn)BP神經(jīng)網(wǎng)絡(luò)的各項(xiàng)參數(shù),從而克服網(wǎng)絡(luò)在學(xué)習(xí)過(guò)程中的各種缺陷。典型的啟發(fā)式改進(jìn)方法有:附加動(dòng)量BP算法、自適應(yīng)最速下降BP算法、自適應(yīng)動(dòng)量BP算法和彈性BP算法。這些方法的核心思想是,使權(quán)值的調(diào)整量最大限度的適應(yīng)誤差下降的要求。啟發(fā)式改進(jìn)方法對(duì)權(quán)值變化量的調(diào)整方法略有不同,因此網(wǎng)絡(luò)學(xué)習(xí)的誤差收斂能力也有所差異[4]。盡管這些研究成果都在不同程度上改善了BP網(wǎng)絡(luò)性能,但是究竟何種啟發(fā)式方法改進(jìn)的BP網(wǎng)絡(luò)更適合于模式分類(lèi),網(wǎng)絡(luò)的收斂速度更快且分類(lèi)結(jié)果更為準(zhǔn)確,涉及到這些問(wèn)題的文獻(xiàn)尚不是很多。文中詳細(xì)分析了4種啟發(fā)式改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)的分類(lèi)性能,在MATLAB7.0環(huán)境下,分別基于4種啟發(fā)式改進(jìn)算法構(gòu)建了相應(yīng)的BP神經(jīng)網(wǎng)絡(luò),并將其應(yīng)用于平面上二維向量模式的分類(lèi),通過(guò)實(shí)例仿真,比較4種啟發(fā)式改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)的分類(lèi)性能,得出每種啟發(fā)式改進(jìn)BP神經(jīng)網(wǎng)絡(luò)進(jìn)行模式分類(lèi)的可行性及各自的優(yōu)越性。
1.1 附加動(dòng)量的改進(jìn)BP算法
附加動(dòng)量BP算法是在梯度下降算法基礎(chǔ)上在每一個(gè)權(quán)值的變化上加上一項(xiàng)正比于上一次權(quán)值變化量的值,并根據(jù)梯度下降算法來(lái)產(chǎn)生新的權(quán)值變化。帶有附加動(dòng)量因子的權(quán)值調(diào)整公式如式(1)所示。
式(1)中,w為訓(xùn)練次數(shù),k為訓(xùn)練步數(shù),η為學(xué)習(xí)率,mc(0≤mc≤1)為動(dòng)量因子,Δf(w(k))為誤差函數(shù)的梯度。BP算法在修正網(wǎng)絡(luò)權(quán)重和閾值時(shí),不僅考慮誤差在梯度上的作用,而且考慮在誤差曲面上變化趨勢(shì)的影響,它允許忽略網(wǎng)絡(luò)上的微小變化特性。其實(shí)質(zhì)是將最后一次權(quán)值變化的影響,通過(guò)一個(gè)動(dòng)量因子來(lái)傳遞。當(dāng)mc= 0時(shí),權(quán)值的變化僅是根據(jù)梯度下降法產(chǎn)生;當(dāng) mc= 1時(shí),新的權(quán)值變化則是設(shè)置為最后一次權(quán)值的變化,而以梯度法產(chǎn)生的變化部分則被忽略掉了[5]。附加動(dòng)量BP算法降低了網(wǎng)絡(luò)對(duì)于誤差曲面局部細(xì)節(jié)的敏感性,有效的抑制網(wǎng)絡(luò)陷入局部極小。在MATLAB工具箱中,采用動(dòng)量BP算法的訓(xùn)練函數(shù)為traingdm。
1.2 自適應(yīng)學(xué)習(xí)速率的改進(jìn)BP算法
自適應(yīng)學(xué)習(xí)速率BP算法在訓(xùn)練過(guò)程中使學(xué)習(xí)的步長(zhǎng)盡可能增大,又使學(xué)習(xí)率能夠根據(jù)局部誤差做出相應(yīng)調(diào)整,同時(shí)兼顧算法穩(wěn)定性。自適應(yīng)學(xué)習(xí)速率算法如式(2)所示。
當(dāng)誤差逐漸減小接近目標(biāo)時(shí),說(shuō)明修正方向正確,于是使學(xué)習(xí)步長(zhǎng)增加,即學(xué)習(xí)率乘以增量因子kinc,學(xué)習(xí)率增加;當(dāng)誤差增加超過(guò)預(yù)設(shè)值時(shí),說(shuō)明修正過(guò)度,于是使學(xué)習(xí)步長(zhǎng)減小,即學(xué)習(xí)率乘以減量因子kdec,學(xué)習(xí)率減小,同時(shí)舍去使誤差增加的前一步修正過(guò)程[6]。在MATLAB工具箱中,自適應(yīng)最速下降BP算法和自適應(yīng)動(dòng)量BP算法采用的訓(xùn)練函數(shù)分別為traingda(算法對(duì)應(yīng)于式(3))與traingdx(算法對(duì)應(yīng)于式(4))。式(4)中,η為學(xué)習(xí)速率,mc為動(dòng)量因子,一般取0.95左右,E為誤差函數(shù)。
1.3 彈性的改進(jìn)BP算法
彈性BP算法只取偏導(dǎo)數(shù)的符號(hào),而不考慮偏導(dǎo)數(shù)的幅值。彈性BP算法的權(quán)值修正的迭代過(guò)程如式所示。式(5)中,sign(·)為符號(hào)函數(shù)。在彈性BP算法中,當(dāng)訓(xùn)練發(fā)生振蕩時(shí),權(quán)值的變化量將減??;當(dāng)在幾次迭代過(guò)程中權(quán)值均朝一個(gè)方向變化時(shí),權(quán)值的變化量將增大;彈性BP算法復(fù)雜度較低,占用計(jì)算機(jī)內(nèi)存相對(duì)較少。
建立啟發(fā)式改進(jìn)的BP神經(jīng)網(wǎng)絡(luò),主要包含網(wǎng)絡(luò)層數(shù)、隱層神經(jīng)元個(gè)數(shù)、初始權(quán)值和學(xué)習(xí)率4個(gè)要素。
2.1 網(wǎng)絡(luò)層數(shù)的確定
模式分類(lèi)問(wèn)題實(shí)質(zhì)是模式特征空間的劃分問(wèn)題,也可以說(shuō)是一種映射問(wèn)題。理論上已經(jīng)證明,一個(gè)三層的BP網(wǎng)絡(luò)可以完成任意的從n維到m維的映射[7]。文中在進(jìn)行模式分類(lèi)實(shí)驗(yàn)時(shí),BP神經(jīng)網(wǎng)絡(luò)全部采用單隱層結(jié)構(gòu)。
2.2 隱含層節(jié)點(diǎn)數(shù)的確定
隱含層的神經(jīng)元數(shù)目與輸入、輸出層神經(jīng)元數(shù)目相關(guān)。文中采用動(dòng)態(tài)法來(lái)確定隱含層神經(jīng)元數(shù),即一開(kāi)始選用較少的隱層神經(jīng)元,如果學(xué)習(xí)一定次數(shù)后效果不好,再增加隱層神經(jīng)元,一直達(dá)到比較合理的隱層神經(jīng)元數(shù)為止,經(jīng)過(guò)反復(fù)多次試驗(yàn)隱含層神經(jīng)元數(shù)最終確定為20,可以達(dá)到逼近要求。
2.3 初始權(quán)值的選取
如果初始權(quán)值選取過(guò)大,會(huì)使得輸入樣本向量經(jīng)過(guò)加權(quán)后落入傳遞函數(shù)的飽和區(qū),從而終止網(wǎng)絡(luò)訓(xùn)練過(guò)程。所以,文中在建立4種啟發(fā)式方法改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)時(shí),盡可能使輸入值經(jīng)過(guò)加權(quán)處理后接近0,這樣可以保證初始權(quán)值的調(diào)整發(fā)生在S型傳遞函數(shù)的斜率最陡處。
2.4 學(xué)習(xí)率
學(xué)習(xí)率太大,會(huì)造成網(wǎng)絡(luò)不穩(wěn)定;學(xué)習(xí)率太小,網(wǎng)絡(luò)的訓(xùn)練時(shí)間就會(huì)延長(zhǎng),收斂速度緩慢,最終陷入局部最小值。為了兼顧系統(tǒng)穩(wěn)定性和具有較快的收斂速度,文中在建立4種啟發(fā)式方法改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)時(shí),學(xué)習(xí)率選取為0.1。
2.5 樣本的預(yù)處理
由于文中的訓(xùn)練樣本集各元素的取值范圍不完全一致,為了提高網(wǎng)絡(luò)的訓(xùn)練速度和訓(xùn)練的成功率。文中采用minmax函數(shù)將訓(xùn)練樣本集中各元素歸一化到(0-1)范圍內(nèi)。
利用4種啟發(fā)式改進(jìn)方法改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)對(duì)圖1所示的15個(gè)樣本二維向量的模式進(jìn)行分類(lèi)。網(wǎng)絡(luò)輸入層節(jié)點(diǎn)數(shù)被確定為15。在對(duì)樣本二維向量的模式進(jìn)行分類(lèi)實(shí)驗(yàn)時(shí),網(wǎng)絡(luò)的輸出分別用(0 0)表示第一類(lèi)模式、(0 1)表示第二類(lèi)模式、(1 0)表示第三類(lèi)模式、(1 1)表示第四類(lèi)模式。所以網(wǎng)絡(luò)輸出層節(jié)點(diǎn)數(shù)被確定為2。
圖1 樣本向量與測(cè)試向量分布Fig.1 Distribution of sample vectors and test vectors
3.1 啟發(fā)式改進(jìn)的BP網(wǎng)絡(luò)分類(lèi)模型對(duì)訓(xùn)練樣本的分類(lèi)結(jié)果
在目標(biāo)精度設(shè)置為0.001、訓(xùn)練樣本數(shù)目相等的條件下,4種啟發(fā)式改進(jìn)BP算法仿真結(jié)果對(duì)比如表1所示。可以看出,在4種啟發(fā)式方法改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)中,附加動(dòng)量BP算法需要大于10 000步才能達(dá)到目標(biāo)精度,訓(xùn)練時(shí)間最長(zhǎng),均方誤差最大;在2種自適應(yīng)學(xué)習(xí)速率算法中,自適應(yīng)最速下降BP算法需要183步才能達(dá)到目標(biāo)精度,訓(xùn)練時(shí)間略長(zhǎng),均方誤差略大,而自適應(yīng)動(dòng)量BP算法只需131步即可達(dá)到目標(biāo)精度,訓(xùn)練時(shí)間略短,均方誤差略?。粡椥訠P算法只需要6步就可以達(dá)到目標(biāo)精度,訓(xùn)練時(shí)間最短,均方誤差最?。豢偟膩?lái)說(shuō),相對(duì)于訓(xùn)練樣本集而言,只要訓(xùn)練步數(shù)設(shè)置足夠大,4種啟發(fā)式方法改進(jìn)BP算法都能在規(guī)定的訓(xùn)練步數(shù)范圍內(nèi)完成對(duì)已知二維向量的模式聚類(lèi)任務(wù),但相比之下,在4種算法中,彈性BP算法分類(lèi)性能最優(yōu);在2種自適應(yīng)學(xué)習(xí)速率算法中,自適應(yīng)動(dòng)量BP算法與自適應(yīng)最速下降BP算法的均方誤差相差不大,但自適應(yīng)動(dòng)量BP算法的訓(xùn)練時(shí)間明顯比自適應(yīng)最速下降BP算法少,即自適應(yīng)動(dòng)量BP算法分類(lèi)性能略?xún)?yōu)于自適應(yīng)最速下降BP算法;彈性BP算法只需6步即可達(dá)到目標(biāo)精度,網(wǎng)絡(luò)訓(xùn)練時(shí)間遠(yuǎn)遠(yuǎn)少于其它3種啟發(fā)式方法改進(jìn)BP算法,均方誤差也遠(yuǎn)小于其它3種啟發(fā)式方法改進(jìn)BP算法,是所有4種啟發(fā)式方法改進(jìn)BP算法中所需訓(xùn)練時(shí)間最短、均方誤差最小、分類(lèi)性能最優(yōu)一種改進(jìn)算法。
表1 啟發(fā)式改進(jìn)BP算法仿真結(jié)果對(duì)比Tab.1 Comparison of simulation results of BP neural networks improved by heuristic methods
3.2 啟發(fā)式改進(jìn)的BP網(wǎng)絡(luò)分類(lèi)模型的泛化能力測(cè)試
為了檢驗(yàn)基于4種啟發(fā)式改進(jìn)的BP網(wǎng)絡(luò)分類(lèi)模型的泛化能力,文中分別利用4種分類(lèi)模型(經(jīng)過(guò)訓(xùn)練后的網(wǎng)絡(luò))對(duì)測(cè)試向量(不在訓(xùn)練樣本空間內(nèi)的向量)進(jìn)行分類(lèi)。設(shè)置4個(gè)分屬于不同類(lèi)別的測(cè)試向量,如圖1所示,(5.37,5.78)屬于第1類(lèi),(5.11,5.83)屬于第2類(lèi),(5.50,6.01)屬于第3類(lèi),(5.28,5.97)屬于第4類(lèi),利用仿真函數(shù)sim得到BP神經(jīng)網(wǎng)絡(luò)的輸出。
圖2 附加動(dòng)量BP算法訓(xùn)練誤差變化曲線(xiàn)Fig.2 Training error curve of additional momentum adaptive steepest BP algorithm
圖3 自適應(yīng)最速下降BP算法訓(xùn)練誤差變化曲線(xiàn)Fig.3 Training error curve of descent BP algorithm
附加動(dòng)量BP算法、自適應(yīng)最速下降BP算法、自適應(yīng)動(dòng)量BP算法和彈性BP算法改進(jìn)的BP網(wǎng)絡(luò)對(duì)測(cè)試向量分類(lèi)的誤差變化曲線(xiàn)如圖2~圖5所示。從圖2~圖5可以看出,在上述4種啟發(fā)式改進(jìn)BP算法中,附加動(dòng)量BP算法需要大于10 000步才能達(dá)到目標(biāo)精度,收斂時(shí)間最長(zhǎng),均方誤差最大;自適應(yīng)最速下降BP算法和自適應(yīng)動(dòng)量BP算法所需訓(xùn)練時(shí)間稍短,分別需要183步和131步達(dá)到目標(biāo)精度,均方誤差較附加動(dòng)量BP算法略有減?。粡椥訠P算法只需6步即可達(dá)到目標(biāo)精度,收斂時(shí)間最短,均方誤差最小。4種啟發(fā)式改進(jìn)的BP網(wǎng)絡(luò)對(duì)測(cè)試向量的分類(lèi)結(jié)果對(duì)比如表2所示。從表2可以看出,彈性BP算法最大絕對(duì)誤差為-0.024 9,自適應(yīng)學(xué)習(xí)速率算法最大絕對(duì)誤差為-0.056 2,附加動(dòng)量BP算法最大絕對(duì)誤差為-0.082 7。總的來(lái)說(shuō),相對(duì)于測(cè)試樣本集而言,4種啟發(fā)式改進(jìn)BP網(wǎng)絡(luò)都能在規(guī)定的訓(xùn)練步數(shù)范圍內(nèi)完成對(duì)測(cè)試樣本的模式分類(lèi)任務(wù),但相比之下,彈性BP算法改進(jìn)的BP網(wǎng)絡(luò)的分類(lèi)結(jié)果最為精確,收斂速度最快,分類(lèi)性能最優(yōu);附加動(dòng)量BP算法改進(jìn)的BP網(wǎng)絡(luò)的分類(lèi)結(jié)果誤差最大,收斂速度最慢,分類(lèi)性能最差;自適應(yīng)學(xué)習(xí)速率算法改進(jìn)的BP網(wǎng)絡(luò)的分類(lèi)結(jié)果誤差值、收斂速度及分類(lèi)性能介于上述兩種算法之間。
圖5 彈性BP算法訓(xùn)練誤差變化曲線(xiàn)Fig.5 Training error curve of BP algorithm
文中利用啟發(fā)式改進(jìn)方法構(gòu)建了4種改進(jìn)的BP網(wǎng)絡(luò)分類(lèi)模型,并對(duì)輸入的二維向量模式進(jìn)行分類(lèi)實(shí)驗(yàn)。仿真結(jié)果表明:附加動(dòng)量BP算法、自適應(yīng)最速下降BP算法、自適應(yīng)動(dòng)量BP算法和彈性BP算法都能在規(guī)定預(yù)設(shè)精度范圍內(nèi)完成分類(lèi)任務(wù)。但相比之下,附加動(dòng)量BP算法的分類(lèi)效果相對(duì)較差,需要較長(zhǎng)的收斂時(shí)間,才能勉強(qiáng)達(dá)到分類(lèi)精度要求;彈性BP算法收斂速度最快,訓(xùn)練準(zhǔn)確性和分類(lèi)精度也明顯優(yōu)于附加動(dòng)量BP算法、自適應(yīng)最速下降BP算法和自適應(yīng)動(dòng)量BP算法。所以在工程技術(shù)領(lǐng)域內(nèi)進(jìn)行設(shè)備的故障分類(lèi)和故障診斷等應(yīng)用時(shí)建議優(yōu)先采用彈性BP算法進(jìn)行分類(lèi),不建議采用附加動(dòng)量BP算法。
表2 4種啟發(fā)式改進(jìn)的BP網(wǎng)絡(luò)對(duì)測(cè)試向量的分類(lèi)結(jié)果對(duì)比Tab.2 Comparison of classi fi cation results of 4 heuristic BP networks
[1] DING Shuo,CHANG Xiao-heng,WU Qing-hui.Approximation Performance of BP Neural Networks Improved by Heuristic Approach[J].Applied Mechanics and Materials,Vols.412-414(2013):1952-1955
[2] 余妹蘭,匡芳君.BP神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法的改進(jìn)及應(yīng)用[J].沈陽(yáng)農(nóng)業(yè)大學(xué)學(xué)報(bào),2011,42(3):382-384.
YU Mei-lan,KUANG Fang-jun.Improved Learning Algorithms for BP Neural Network and Application[J].Journal of Shenyang Agricultural University,2011,42(3):382-384.
[3] DING Shuo,CHANG Xiao-heng,WU Qing-hui.Application of Probabilistic Neural Network in Pattern Classification[J].Applied Mechanics and Materials,Vols.441(2014):738-741.
[4] 賀清碧.BP神經(jīng)網(wǎng)絡(luò)及應(yīng)用研究[D].重慶:重慶交通學(xué)院,2004.
[5] 丁碩,巫慶輝.基于改進(jìn)BP神經(jīng)網(wǎng)絡(luò)的函數(shù)逼近性能對(duì)比研究[J].計(jì)算機(jī)與現(xiàn)代化,2012(11):10-13.
DING Shuo,WU Qing-hui.Function Approximation Based on Improved BP Neural Network [J].Computer and Modernization,2012(11):10-13.
[6] 周黃斌,周永華,朱麗娟.基于MATLAB的改進(jìn)BP神經(jīng)網(wǎng)絡(luò)的實(shí)現(xiàn)與比較[J].計(jì)算技術(shù)與自動(dòng)化,2008,27(1):28-31.
ZHOU Huang-bin,ZHOU Yong-hua,ZHU Li-juan.Implementation and Comparison of Improving BP Neural Network Based on MATLAB [J].Computing Technology and Automation,2008,27(1):28-31.
[7] 江虹,曾立波,胡繼明.優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)分類(lèi)器的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與應(yīng)用,2001(5):122-125.
JIANG Hong,ZENG Li-bo,HU Ji-ming.The Design and Performance of Optimal BP Neural Network Classifier[J].Computer Engineering and Applications,2001(5):122-125.
Comparative study of BPNNs improved by heuristic method in the fi eld of pattern classi fi cation
DING Shuo,CHANG Xiao-heng,WU Qing-hui,YANG You-lin
(College of Engineering,Bohai University,Jinzhou 121013,China)
Four kinds of heuristic methods including additional momentum BP algorithm,adaptive steepest descent BP algorithm,adaptive momentum BP algorithm and resilient BP algorithm are used to improve standard BP algorithm,and the corresponding BP neural networks are also established.The four kinds of classification methods are applied to classification of two-dimensional vectors.Then their generalization abilities are tested and the classification results of the four BP network are compared with each other.The simulation results show that for small and medium scale networks,BP neural network improved by resilient BP algorithm has the most accurate classification result,the fastest convergence speed and the best classification ability;the one improved by additional momentum BP algorithm has the biggest classification error,the slowest convergence speed and the worst classification ability;while the classification error,convergence speed and classification ability of BP neural network improved by adaptive steepest descent BP algorithm lie between the above two algorithms.
heuristic method;algorithm improvement;BP neural networks;pattern classification;generalization ability
TP391.9
A
1674-6236(2014)11-0137-04
2013-12-15 稿件編號(hào):201312112
國(guó)家自然科學(xué)基金(61104071)
丁 碩(1979—),男,天津人,碩士,講師。研究方向:測(cè)試信號(hào)處理、虛擬儀器、人工神經(jīng)網(wǎng)絡(luò)理論及其應(yīng)用。