<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 電源與新能源 > 設(shè)計應(yīng)用 > 基于BP網(wǎng)絡(luò)的字母識別

          基于BP網(wǎng)絡(luò)的字母識別

          作者: 時間:2010-12-25 來源:網(wǎng)絡(luò) 收藏

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

          本文引用地址:http://www.ex-cimer.com/article/180043.htm

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


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


            由此可得每個字母由35個元素組成一個向量。由26個標(biāo)準(zhǔn)字母組成的輸入向量被定義為一個輸入向量矩陣alphabet,即神經(jīng)網(wǎng)絡(luò)的樣本輸入為一個35×26的矩陣。其中alphabet=[letterA,letterB,lettereC,……letterZ]。網(wǎng)絡(luò)樣本輸出需要一個對26個輸入字母進(jìn)行區(qū)分輸出向量,對于任意一個輸入字母,網(wǎng)絡(luò)輸出在字母對應(yīng)的順序位置上的值為1,其余為0,即網(wǎng)絡(luò)輸出矩陣為對角線上為1的26×26的單位陣,定義為target=eye(26)。
            本文共有兩類這樣的數(shù)據(jù)作為輸入:一類是理想的標(biāo)準(zhǔn)輸入信號;另一類是在標(biāo)準(zhǔn)輸入信號中加上用MATLAB工具箱里的噪聲信號,即randn函數(shù)。
          3 網(wǎng)絡(luò)設(shè)計及其試驗(yàn)分析
            為了對字母進(jìn)行識別,所設(shè)計的網(wǎng)絡(luò)具有35個輸入節(jié)點(diǎn)和26個輸出節(jié)點(diǎn),對于隱含層節(jié)點(diǎn)的個數(shù)的選取在后面有詳細(xì)的介紹。目標(biāo)誤差為0.000 1,從輸入層到隱層的激活函數(shù)采用了S型正切函數(shù)tansig,從隱層到輸出層的激活函數(shù)采用了S型對數(shù)函數(shù)logsig,這是因?yàn)楹瘮?shù)的輸出位于區(qū)間[0,1]中,正好滿足網(wǎng)絡(luò)輸出的要求。
          3.1 隱層節(jié)點(diǎn)個數(shù)的確定
            根據(jù)BP網(wǎng)絡(luò)的設(shè)計目標(biāo),一般的預(yù)測問題都可以通過單隱層的BP網(wǎng)絡(luò)實(shí)現(xiàn)。難點(diǎn)是隱層節(jié)點(diǎn)個數(shù)的選擇,隱層節(jié)點(diǎn)數(shù)對網(wǎng)絡(luò)的學(xué)習(xí)和計算特性具有非常重要的影響,是該網(wǎng)絡(luò)結(jié)構(gòu)成敗的關(guān)鍵。若隱層節(jié)點(diǎn)數(shù)過少,則網(wǎng)絡(luò)難以處理復(fù)雜的問題;但若隱層節(jié)點(diǎn)數(shù)過多,則將使網(wǎng)絡(luò)學(xué)習(xí)時間急劇增加,而且還可能導(dǎo)致網(wǎng)絡(luò)學(xué)習(xí)過度,抗干擾能力下降。
            目前為止,還沒有完善的理論來指導(dǎo)隱層節(jié)點(diǎn)數(shù)的選擇,僅能根據(jù)Kolmogorov定理,和單隱層的設(shè)計經(jīng)驗(yàn)公式[4],并考慮本例的實(shí)際情況,確定隱層節(jié)點(diǎn)個數(shù)應(yīng)該介于8~17之間。
            本文設(shè)計了一個隱層節(jié)點(diǎn)數(shù)目可變的BP網(wǎng)絡(luò),通過誤差對比,確定最佳的隱層節(jié)點(diǎn)個數(shù),具體程序如下:
            [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)=%.0fn',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
            通過網(wǎng)絡(luò)的輸出顯示以及網(wǎng)絡(luò)訓(xùn)練速度和精度因素,選取隱層節(jié)點(diǎn)的最佳個數(shù)為14。
          3.2 生成網(wǎng)絡(luò)
            使用函數(shù)newff創(chuàng)建一個兩層網(wǎng)絡(luò),具體函數(shù)為:
            [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;

          矢量控制相關(guān)文章:矢量控制原理

          上一頁 1 2 3 4 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();