《電子技術應用》
您所在的位置:首頁 > 其他 > 設計應用 > 基于BP網絡的字母識別
基于BP網絡的字母識別
謝麗娟,丁正生,陳 俏
摘要: 介紹了用BP神經網絡方法對英文字母進行識別,并在識別過程中考慮了噪聲干擾及非線性因素的存在,使網絡具有一定的容錯能力,并用MATLAB完成了對字母識別的模擬。
Abstract:
Key words :

  摘  要: 介紹了用BP神經網絡方法對英文字母進行識別,并在識別過程中考慮了噪聲干擾及非線性因素的存在,使網絡具有一定的容錯能力,并用MATLAB完成了對字母識別的模擬。
    關鍵詞: BP神經網絡;模式識別,MATLAB

   智能控制作為一門新興的交叉學科,在許多方面都優于傳統控制,而智能控制中的人工神經網絡由于模仿人類的神經網絡,具有感知識別、學習、聯想、記憶、推理等智能,更是有著廣闊的發展前景。其中最核心的是反向傳播網絡(Back Propagation Network),簡稱BP網絡[1]。本文介紹了運用matlab工具箱確定隱層神經元的個數和構造BP神經網絡,并用兩類不同的數據對該神經網絡進行訓練,然后運用訓練后的網絡對字符進行識別。
1 BP網絡
1.1  BP網絡的簡介
  20世紀80年代中期,學者Rumelhart、McClelland和他們的同事提出了多層前饋網絡MFNN(Mutltilayer Feedforward Neural Networks)的反向傳播學習算法,簡稱BP網絡(Back Propagation Network)學習算法。BP網絡是對非線性可微分函數進行權值訓練的多層前向網絡。在人工神經網絡的實際應用中,80%~90%的模型都采用BP網絡或其變化形式。
BP網絡主要作用于以下幾個方面:
(1)函數逼近:用輸入矢量和相應的輸出矢量訓練一個網絡來逼近一個函數;
(2)模式識別:用一個特定的輸出矢量將它與輸入矢量聯系起來;
(3)分類:把輸入矢量以所定義的合適的方式進行分類;
(4)數據壓縮:減少輸出矢量的維數以便于數據傳輸或存儲。
1.2  BP網絡模型
BP網絡是一種單向傳播的多層前向網絡[2],每一層節點的輸出只影響下一層節點的輸出,其網絡結構如圖1所示,其中X和U分別為網絡輸入、輸出向量,每個節點表示一個神經元。網絡是由輸入層、隱層和輸出層節點構成,隱層節點可為一層或多層,同層節點沒有任何耦合,前層節點到后層節點通過權連接。輸入信號從輸入層節點依次傳過各隱層節點到達輸出層節點。

 

 


2 字符識別問題的描述及網絡識別前的預處理
字符識別是模式識別領域的一項傳統課題,這是因為字符識別不是一個孤立的問題,而是模式識別領域中大多數課題都會遇到的基本問題,并且在不同的課題中,由于具體的條件不同,解決的方法也不盡相同,因而字符識別的研究仍具有理論和實踐意義。這里討論的是用BP神經網絡對26個英文字母的識別。
在對字母進行識別之前,首先必須將字母進行預處理[3],即將待識別的26個字母中的每一個字母都通過的方格形式進行數字化處理,其有數據的位置設為1,其他位置設為0。如圖2給出了字母A、B和C的數字化過程,然后用一個1×35的向量表示。例如圖2中字母A的數字化處理結果所得對應的向量為:
LetterA=[00100010100101010001111111000110001]

 


由此可得每個字母由35個元素組成一個向量。由26個標準字母組成的輸入向量被定義為一個輸入向量矩陣alphabet,即神經網絡的樣本輸入為一個35×26的矩陣。其中alphabet=[letterA,letterB,lettereC,……letterZ]。網絡樣本輸出需要一個對26個輸入字母進行區分輸出向量,對于任意一個輸入字母,網絡輸出在字母對應的順序位置上的值為1,其余為0,即網絡輸出矩陣為對角線上為1的26×26的單位陣,定義為target=eye(26)。
本文共有兩類這樣的數據作為輸入:一類是理想的標準輸入信號;另一類是在標準輸入信號中加上用MATLAB工具箱里的噪聲信號,即randn函數。
3  網絡設計及其試驗分析
為了對字母進行識別,所設計的網絡具有35個輸入節點和26個輸出節點,對于隱含層節點的個數的選取在后面有詳細的介紹。目標誤差為0.000 1,從輸入層到隱層的激活函數采用了S型正切函數tansig,從隱層到輸出層的激活函數采用了S型對數函數logsig,這是因為函數的輸出位于區間[0,1]中,正好滿足網絡輸出的要求。
3.1  隱層節點個數的確定
根據BP網絡的設計目標,一般的預測問題都可以通過單隱層的BP網絡實現。難點是隱層節點個數的選擇,隱層節點數對網絡的學習和計算特性具有非常重要的影響,是該網絡結構成敗的關鍵。若隱層節點數過少,則網絡難以處理復雜的問題;但若隱層節點數過多,則將使網絡學習時間急劇增加,而且還可能導致網絡學習過度,抗干擾能力下降。
目前為止,還沒有完善的理論來指導隱層節點數的選擇,僅能根據Kolmogorov定理,和單隱層的設計經驗公式[4],并考慮本例的實際情況,確定隱層節點個數應該介于8~17之間。
本文設計了一個隱層節點數目可變的BP網絡,通過誤差對比,確定最佳的隱層節點個數,具體程序如下:
[alphabet,targets]=prprob;
p=alphabet;
t=targets;
s=8:17;
res=zeros(1,10);
res2=zeros(1,10);
for i=1:10
fprintf('s(i)=%.0f\n',s(i));
net=newff(minmax(p),[s(i),26],{'tansig','logsig'},'traingdx');
net.trainParam.epochs=1000;
net.trainParam.goal=0.0001;
[net,tr]=train(net,p,t);
y=sim(net,p);
error=(y(1,:)-t(1,:)).^2;
error2=(y(2,:)-t(2,:)).^2;
res(i)=norm(error);
res2(i)=norm(error2);
pause
i=i+1;
end
通過網絡的輸出顯示以及網絡訓練速度和精度因素,選取隱層節點的最佳個數為14。
3.2 生成網絡
  使用函數newff創建一個兩層網絡,具體函數為:
[alphabet,targets]=prprob;
[R1,Q1]=size(alphabet)
[R2,Q2]=size(targets)
S1=14;
S2=R2;
net=newff(minmax(p),[S1 S2],{'tansig','logsig'},'trainlm')
net.LW{2,1}=net.LW{2,1}*0.01;
net.b{2}=net.b{2}*0.01;
3.3  網絡訓練
  為了使產生的網絡對輸入向量有一定的容錯能力,最好的辦法是使用理想的信號和帶有噪聲的信號對網絡進行訓練。使用不同信號的訓練都是通過BP網絡來實現的。網絡學習的速率和沖量參數設置為自適應改變,并使用函數trainlm進行快速訓練。
3.3.1 理想樣本訓練
首先用理想的輸入信號對網絡進行訓練,直到平方和誤差足夠小。下面進行理想樣本訓練,訓練結束條件為:最大次數為1 000,誤差平方和為0.000 01。訓練代碼如下:
net.performFcn='sse';
net.trainParam.goal=0.00001;
net.trainParam.show=5;
net.trainParam.epochs=1000;
net.trainParam.mc=0.95;
[net,tr]=train(net,p,t);
訓練過程誤差變化情況可通過MATLAB進行觀察,訓練結果為:
TRAINLM, Epoch 77/1000, SSE 6.58108e-006/1e-005, Gradient 8.03024e-005/1e-010
TRAINLM, Performance goal met.
可見,經過77次訓練后,網絡誤差達到要求,結果如圖3所示。

 

3.3.2  加噪樣本訓練
為了保證設計的網絡對噪聲不敏感,有必要用10組帶有噪聲的信號對網絡進行訓練,設置向字母表加入的噪聲信號平均值分別為0.1和0.2。這樣就可以保證神經元網絡學會在辨別帶噪聲信號的字母表向量時,也能對理想的字母向量有正確的識別。同時在輸入帶有誤差的向量時,要輸入兩倍重復的無誤差信號,其目的是為了保證網絡在分辨理想輸入向量時的穩定性。
在輸入理想樣本上加入噪聲的信號后,網絡的訓練過程誤差變化情況也可通過MATLAB進行觀察。選取其中的一組,觀察系統輸出結果如下:
TRAINLM, Epoch 30/1000, SSE 4.45738e-006/1e-005, Gradient 5.97808e-005/1e-010
TRAINLM, Performance goal met.
結果如圖4所示。

 

3.3.3  再次用理想樣本訓練
  在網絡進行了上述的訓練以后,網絡對無誤差的信號可能也會采用對帶有噪聲信號的辦法。這樣做會付出較大的代價。因此,必須再次使用理想的樣本進行訓練。這樣就可以保證在輸入理想數字信號時,網絡能夠最好地對其做出反應。其訓練代碼如下:
netn.trainParam.goal=0.00001;
netn.trainParam.epochs=1000;
netn.trainParam.show=5;
[netn,tr]=train(netn,p,t);
訓練結果為:
TRAINLM, Epoch 0/1000, SSE 4.60127e-007/1e-005, Gradient 4.23932e-006/1e-010
TRAINLM, Performance goal met.
滿足要求。
3.4  對網絡進行仿真和測試
  為了測試系統的可靠性,本文用了加入不同級別的噪聲的字母樣本作為輸入,來觀察用理想樣本和加噪樣本訓練出來的網絡的性能,并繪制出誤識率曲線,如圖5所示。

 

  圖5其中虛線代表用無噪聲訓練網絡的出錯率,實線代表用有噪聲訓練網絡的出錯率。從圖5可以看出,在均值為0~0.05之間的噪聲環境下,兩個網絡都能夠準確地進行識別。當所加的噪聲均值超過0.05時,待識別字符在噪聲作用下不再接近于理想字符,無噪聲訓練網絡的出錯率急劇上升,此時有噪聲訓練網絡的性能較優。
3.5 測試實例
  本文用一個含噪聲的字母F作為網絡輸入,并繪出含噪聲的字母F,其輸出語句為:
noisyF=alphabet(:,6)+randn(35,1)*0.2;plotchar(noisyF) ;
其結果如圖6所示。

 

  然后再用訓練后的網絡進行識別,其識別語句為:
A2=sim(net,noisyF);
A2=compet(A2);
answer=find(compet(A2)==1)。識別結果如圖7所示。

 

本文利用BP網絡對有噪聲的字母進行識別和仿真,結果表明此網絡具有聯想記憶和抗干擾功能,對字母具有一定的辨識能力,是一種對字母識別的有效方法。
參考文獻
[1] 侯媛彬, 杜京義, 汪梅. 神經網絡[M].西安:西安電子科技大學出版社, 2007.
[2] 叢 爽. 面向MATLAB工具箱的神經網絡理論與應用[M]. 北京:中國科學技術大學出版社, 1998.
[3] 叢 爽, 陸婷婷. 用于英文字母識別的三種人工神經網絡的設計[J]. 儀器儀表學報, 2006,27(6):2242-2244.
[4] 孟娜, 周以齊. 基于Matlab的時序數據兩種建模和預測方法比較. 山東農業大學學報,2006, 37(3):471-476.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美午夜剧场| 国产一区二区视频在线观看 | 先锋影音久久| 99国产精品视频免费观看| 小黄鸭精品aⅴ导航网站入口| 洋洋av久久久久久久一区| 亚洲国产另类久久精品| 国产一区日韩欧美| 国产精品中文字幕欧美| 国产精品v日韩精品| 欧美日韩视频在线第一区| 欧美美女操人视频| 老鸭窝亚洲一区二区三区| 久久视频一区二区| 久久精品国产欧美激情| 久久国产一区二区三区| 先锋影音国产一区| 性欧美办公室18xxxxhd| 亚洲欧美久久久久一区二区三区| 亚洲午夜精品久久| 亚洲天堂av高清| 中文无字幕一区二区三区| 日韩视频欧美视频| aa级大片欧美三级| 一本久道久久久| av不卡免费看| 亚洲视频 欧洲视频| 亚洲一区尤物| 香蕉久久夜色精品国产使用方法| 亚洲欧美日韩国产一区| 亚洲欧美中文另类| 午夜亚洲福利| 久久爱另类一区二区小说| 久久国产直播| 美女91精品| 欧美福利一区| 免费欧美日韩国产三级电影| 欧美成人视屏| 欧美日本韩国| 国产精品xvideos88| 国产精品亚洲综合久久| 国产日韩欧美精品一区| 欧美激情一区二区三区不卡| 欧美日韩高清在线观看| 欧美日韩在线影院| 国产精品五月天| 国内视频精品| 亚洲国产另类精品专区| 夜夜爽av福利精品导航| 欧美一区二区三区四区视频| 亚洲人成网站色ww在线| 亚洲欧美变态国产另类| 久久偷看各类wc女厕嘘嘘偷窃| 欧美刺激性大交免费视频| 国产精品九九久久久久久久| 国产午夜精品一区二区三区欧美| 亚洲国产成人av好男人在线观看| 一本色道久久综合亚洲精品不卡| 午夜久久美女| 亚洲精品资源| 欧美一区二区三区视频在线观看| 欧美va天堂在线| 国产精品分类| 在线精品亚洲| 在线一区二区三区做爰视频网站| 欧美一区激情| 洋洋av久久久久久久一区| 香蕉亚洲视频| 欧美成人精品三级在线观看| 国产精品毛片a∨一区二区三区| 一区视频在线看| 在线综合+亚洲+欧美中文字幕| 久久精品国产成人| 亚洲最新合集| 久久国产精品久久久久久| 你懂的视频一区二区| 久久精品视频网| 欧美久久视频| 国产毛片一区| 亚洲精品国产精品国自产观看浪潮| 宅男噜噜噜66国产日韩在线观看| 午夜精品福利一区二区蜜股av| 亚洲人被黑人高潮完整版| 亚洲天天影视| 亚洲第一福利社区| 亚洲女ⅴideoshd黑人| 久久成人一区二区| 欧美激情精品久久久久久| 国产精品日韩精品欧美在线| 一区二区三区在线视频免费观看| 一区二区三区高清不卡| 久久福利视频导航| 亚洲五月婷婷| 久久综合伊人| 久久久精品动漫| 欧美精品大片| 国产综合色产在线精品| 一本久道久久综合婷婷鲸鱼| 久久精品人人| 亚洲一区二区在线视频| 欧美激情一区二区在线| 国产日韩综合一区二区性色av| 亚洲激情另类| 亚洲综合第一| 99国产精品国产精品毛片| 久久夜色精品一区| 国产精品国产| 亚洲欧洲日本一区二区三区| 欧美亚洲视频| 亚洲伦理久久| 午夜精品久久久| 欧美电影电视剧在线观看| 国产一区二区三区在线观看精品| 日韩网站在线观看| 亚洲激情视频网| 久久久亚洲综合| 国产精品国产成人国产三级| 亚洲激情在线| 亚洲国产成人av在线| 亚洲一区二区三区激情| 欧美日韩一区精品| 亚洲电影自拍| 亚洲国产精品va在线观看黑人 | 一区二区欧美亚洲| 久久网站热最新地址| 国产精品狼人久久影院观看方式| 亚洲二区在线视频| 久久成人18免费观看| 欧美伊人久久| 国产精品久久影院| 日韩一级免费观看| 99精品欧美一区二区三区| 久久午夜色播影院免费高清| 国产欧美一区二区精品忘忧草| 一本色道久久综合亚洲精品不卡| 亚洲精品网址在线观看| 欧美高清视频在线播放| 尤物九九久久国产精品的特点 | 亚洲黄色在线看| 亚洲免费播放| 欧美一区永久视频免费观看| 亚洲国产精品一区二区第四页av| 午夜一级久久| 亚洲欧美一区二区在线观看| 国产精品都在这里| 一本久久综合| 亚洲一区二区三区成人在线视频精品| 欧美午夜影院| 一区二区三区视频免费在线观看| 亚洲视频视频在线| 欧美日韩精品国产| 亚洲裸体视频| 夜夜精品视频| 欧美日韩理论| 中日韩高清电影网| 一区二区精品在线| 国产精品白丝jk黑袜喷水| 亚洲视频精品| 亚欧成人在线| 国产综合亚洲精品一区二| 亚洲国产小视频| 欧美+亚洲+精品+三区| 在线日韩av片| 日韩亚洲在线| 国产精品久久久久久五月尺| 亚洲综合日韩中文字幕v在线| 亚洲男人的天堂在线观看| 国产精品爽爽爽| 亚洲在线视频免费观看| 久久久女女女女999久久| 狠狠爱www人成狠狠爱综合网| 亚洲国产欧美一区二区三区久久| 欧美 日韩 国产一区二区在线视频 | 欧美一区二区三区在线视频| 久久久久这里只有精品| 亚洲国产精品小视频| 亚洲免费在线看| 国产日韩欧美中文| 亚洲另类在线一区| 亚洲国产一区二区a毛片| 欧美日韩国产综合一区二区| 在线视频一区二区| 久久精品九九| 亚洲国产91| 亚洲一区观看| 国产亚洲成人一区| 亚洲精品日本| 国产精品乱码久久久久久| 欧美主播一区二区三区美女 久久精品人| 欧美精品18+| 亚洲一区二区三区精品在线| 久久影视三级福利片| 亚洲久久一区| 欧美在线视频播放| 亚洲国产日韩欧美在线图片| 亚洲欧美精品伊人久久| 黄色亚洲免费| 在线亚洲欧美视频| 国产亚洲一本大道中文在线| 一本色道久久88综合亚洲精品ⅰ |