徐玉潔 蘇慧芳 邵淑娜
摘? ?要:傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)在模式識別中存在識別速度慢和識別準確率低等若干不足,針對這些問題對BP神經(jīng)網(wǎng)絡(luò)改進。通過將改進的BP算法與傳統(tǒng)的BP算法比較,發(fā)現(xiàn)改進后的BP算法在收斂速率和局部極值點上有了較大的改善且提高了準確率。將改良后的BP算法應(yīng)用于對無線信道的分類識別中,輸出結(jié)果表明,優(yōu)化后的BP算法是一種速度快誤差小的神經(jīng)網(wǎng)絡(luò)分類算法。
關(guān)鍵詞:神經(jīng)網(wǎng)絡(luò)? BP算法? 模式識別
中圖分類號:TP183? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?文獻標識碼:A? ? ? ? ? ? ? ? ? ? ? ? 文章編號:1674-098X(2019)11(c)-0131-02
神經(jīng)網(wǎng)絡(luò)參照動物神經(jīng)網(wǎng)絡(luò)行為,憑借其內(nèi)部節(jié)點的密切聯(lián)系,采用分布式方法達到處理信息的目的。近年來被廣泛使用的是BP算法,即一種按誤差逆?zhèn)鞑ニ惴ㄓ柧毜亩鄬忧梆伨W(wǎng)絡(luò)。BP算法可以在沒有描述映射關(guān)系的數(shù)學方程的前提下學習并儲存大量映射關(guān)系,并通過最速下降法,借助向傳播反復修改網(wǎng)絡(luò)權(quán)值和閾值,因此使得誤差最小。但是實際應(yīng)用中,BP算法對新鮮樣本的適應(yīng)能力低,非常容易陷入局部極值點并且在權(quán)值初始化的有很大的盲目性,種種弱點導致了BP算法準確率低等問題,本文設(shè)計了一個新的高斯誤差函數(shù),降低算法陷入極值點的可能,進一步縮小了誤差提高了準確率。
1? 誤差函數(shù)及BP結(jié)構(gòu)
設(shè)輸入輸出節(jié)點數(shù)分別為m、n,則神經(jīng)網(wǎng)絡(luò)是n維歐幾里得空間到維歐幾里得空間的非線性算子。隨著算法的深入,神經(jīng)網(wǎng)絡(luò)的缺點也暴露出來:(1)由于算法是最速下降法,而目標函數(shù)極其復雜,所以會產(chǎn)生鋸齒屈服的情況,導致算法低效。(2)算法非常容易陷入極值點故收斂序列向其極限逼近的速度變慢。(3)神經(jīng)元輸出接近0或1,出現(xiàn)平坦區(qū),權(quán)值誤差浮動小造成麻痹現(xiàn)象。針對BP算法的缺點,并根據(jù)樣本的實際情況,實時地調(diào)整參數(shù),通過神經(jīng)網(wǎng)絡(luò)的輸出與期望的輸出比較,參照差值及時修改算法權(quán)重,迫使誤差最小,并提高算法的泛化能力。假設(shè)神經(jīng)網(wǎng)絡(luò)有個m1輸入層m2個輸出層m3個隱含層,結(jié)構(gòu)如圖1所示。
那么該神經(jīng)元網(wǎng)絡(luò)的隱含神經(jīng)元輸出為
輸出層神經(jīng)元輸出為
式中,wij表示輸入層第i個神經(jīng)元與隱層第j個神經(jīng)元的;連接權(quán),vjt表示隱含層第j個神經(jīng)元與輸出層第t個神經(jīng)元的連接權(quán),θj、rt為神經(jīng)元閾值;f(x)為激勵函數(shù)
訓練總數(shù)設(shè)為K,全局輸出誤差引入新誤差函數(shù),定義為,則N個樣本誤差是
這個新的誤差函數(shù)的好處是出現(xiàn)異常點時及時調(diào)整誤差權(quán)重,使權(quán)重變小,這樣就降低了異常值對輸出帶來的影響。
2? 優(yōu)化的BP算法實際應(yīng)用
BP神經(jīng)元網(wǎng)絡(luò)算法對無線信道進行模式識別。
第一步根據(jù)無線信道參數(shù)提取算法的指紋模型和評價指標給出信道特征參數(shù)向量,即輸入模式,X1=[特征參數(shù)1,特征參數(shù)2,特征參數(shù)3,...]此中l(wèi)表示第l個場景,設(shè)總共有有N個場景,則l=1,2,...N。實際上提取的特征參數(shù)是有限的,為了充分利用神經(jīng)網(wǎng)絡(luò),Xi可以用常數(shù)補齊,考慮特張參數(shù)的量級可能相差較大,會給模式識別帶來不必要的誤差,我們對其進行同量化處理,形式如下。
X1=[特征參數(shù)1/a,特征參數(shù)2/b,特征參數(shù)3/c, ... ,c]
X2=[特征參數(shù)1/a,特征參數(shù)2/b,特征參數(shù)3/c, ... ,c]
X3=[特征參數(shù)1/a,特征參數(shù)2/b,特征參數(shù)3/c, ... ,c]
第二步確定輸出模式的個數(shù),若識別的個數(shù)增加時,我們只需要增加矩陣元素個數(shù)即可表示更多的模式。
第三步,確定BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)參數(shù),例如,我們可以用輸入模式和輸出模式確定神經(jīng)網(wǎng)絡(luò)中的輸入層、隱含層、輸出層的神經(jīng)元的個數(shù)。若輸入?yún)?shù)為16,則輸入神經(jīng)元個數(shù)為n=16,輸出層神經(jīng)元個數(shù)q=3,中間層神經(jīng)元個數(shù)取n,p中間的數(shù)即可,令p=8。一般情況下網(wǎng)絡(luò)最大容許誤差為0.01,動量因子α控制不在局部極值點抖動取0.5~1.0和η控制收斂速度取0.5~2.0,λ取小量,讓區(qū)間飽和度變小,利于網(wǎng)絡(luò)的收斂。網(wǎng)絡(luò)最大學習次數(shù)為100,該神經(jīng)網(wǎng)絡(luò)即可很好的識別不同的模式。最后一步就是建立量高的神經(jīng)網(wǎng)絡(luò)進行模式識別,整個模式識別的誤差變化如圖2所示。
3? 結(jié)語
本文針對傳統(tǒng)BP算法的弊端改進了BP算法,提高了神經(jīng)網(wǎng)絡(luò)的準確率,減小了異常值權(quán)重從而降低了陷入局部權(quán)值的可能性,在無線信道模式識別的應(yīng)用中,取得了較好的結(jié)果。與傳統(tǒng)BP算法相比改進后的算法還是無法完全避免陷入局部權(quán)值的可能性,所以仍然有待于優(yōu)化。
參考文獻
[1] 姚文俊.基于遺傳算法的故障診斷的研究[J].現(xiàn)代電子技術(shù),2003(23):85-86.
[2] 曾凡智,李鳳保.基于神經(jīng)網(wǎng)絡(luò)的設(shè)備故障診斷[J].計算機應(yīng)用,2004(2):24-26.
[3] 胡師彥.混合遺傳BP算法在圖像識別中的應(yīng)用[J].石家莊鐵道學院學報,2002,15(3):5-8.
[4] VittorioManiezzo.GeneticEvolutionoftheNeuralNetworks[J].Trans.onNeura lNetworks,1994,5(1):39-53.