BP神經(jīng)網(wǎng)絡(luò)分類_第1頁
BP神經(jīng)網(wǎng)絡(luò)分類_第2頁
BP神經(jīng)網(wǎng)絡(luò)分類_第3頁
BP神經(jīng)網(wǎng)絡(luò)分類_第4頁
BP神經(jīng)網(wǎng)絡(luò)分類_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

利用BP神經(jīng)網(wǎng)絡(luò)解決分類問題1.1BP網(wǎng)絡(luò)介紹1.2BP網(wǎng)絡(luò)模型1.3學(xué)習(xí)規(guī)劃1.4網(wǎng)絡(luò)程序設(shè)計人工神經(jīng)網(wǎng)絡(luò)(ArtificialNeuralNetworks,ANN)系統(tǒng)是

20

世紀(jì)

40

年代后出現(xiàn)的。它是由眾多的神經(jīng)元可調(diào)的連接權(quán)值連接而成,具有大規(guī)模并行處理、分布式信息存儲、良好的自組織自學(xué)習(xí)能力等特點。BP(BackPropagation)算法又稱為誤差反向傳播算法,是人工神經(jīng)網(wǎng)絡(luò)中的一種監(jiān)督式的學(xué)習(xí)算法。BP神經(jīng)網(wǎng)絡(luò)算法基本的結(jié)構(gòu)由非線性變化單元組成,具有很強的非線性映射能力。而且網(wǎng)絡(luò)的中間層數(shù)、各層的處理單元數(shù)及網(wǎng)絡(luò)的學(xué)習(xí)系數(shù)等參數(shù)可根據(jù)具體情況設(shè)定,靈活性很大,在優(yōu)化、信號處理與模式識別、智能控制、故障診斷等許多領(lǐng)域都有著廣泛的應(yīng)用前景。1.1BP神經(jīng)網(wǎng)絡(luò)介紹在人工神經(jīng)網(wǎng)絡(luò)的實際應(yīng)用中,BP網(wǎng)絡(luò)廣泛應(yīng)用于函數(shù)逼近、模式識別/分類、數(shù)據(jù)壓縮等,80%~90%的人工神經(jīng)網(wǎng)絡(luò)模型是采用BP網(wǎng)絡(luò)或它的變化形式。BP網(wǎng)絡(luò)也是前饋型神經(jīng)網(wǎng)絡(luò)的核心部分,體現(xiàn)了人工神經(jīng)網(wǎng)絡(luò)最精華的部分。主要思想是從后向前(反向)逐層傳播輸出層的誤差,以間接計算出隱層誤差。故稱為誤差反向傳播算法1.1BP神經(jīng)網(wǎng)絡(luò)介紹BP算法分為兩個部分:第一部分(正向傳播過程)輸入信息從輸入層經(jīng)隱層逐層計算各單元的輸出值第二部分(反向傳播過程)輸出誤差逐層向前計算出隱層各單元的誤差,并用此誤差修正前層權(quán)值,最終使誤差減小到可接受的范圍。具體步驟如下:1.1BP神經(jīng)網(wǎng)絡(luò)介紹1.從訓(xùn)練集中取出某一樣本,把信息輸入網(wǎng)絡(luò)中。2.通過各節(jié)點間的連接情況正向逐層處理后,得到神經(jīng)網(wǎng)絡(luò)的實際輸出。3.計算網(wǎng)絡(luò)實際輸出與期望輸出的誤差。4.將誤差逐層反向回傳至之前各層,并按一定原則將誤差信號加載到連接權(quán)值上,使整個神經(jīng)網(wǎng)絡(luò)的連接權(quán)值向誤差減小的方向轉(zhuǎn)化。5、對訓(xùn)練集中每一個輸入—輸出樣本對重復(fù)以上步驟,直到整個訓(xùn)練樣本集的誤差減小到符合要求為止。1.1BP神經(jīng)網(wǎng)絡(luò)介紹BP網(wǎng)絡(luò)一般為多層神經(jīng)網(wǎng)絡(luò),由BP神經(jīng)元構(gòu)成的二層網(wǎng)絡(luò)(如下圖所示:兩層BP神經(jīng)網(wǎng)絡(luò)模型),BP網(wǎng)絡(luò)的信息從輸入層流向輸出層,因此是一種多層前饋神經(jīng)網(wǎng)絡(luò)。

一個具有輸入和隱含層的神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)(圖1)1.2BP神經(jīng)網(wǎng)絡(luò)模型1.BP網(wǎng)絡(luò)具有一層或多層隱含層,除了在多層網(wǎng)絡(luò)上與其他的模型有不同外,其主要差別也表現(xiàn)在激活函數(shù)上。2.BP網(wǎng)絡(luò)的激活函數(shù)必須是處處可微的,因此它不能采用二值型的閥值函數(shù){0,1}或符號函數(shù){-1,1}3.BP網(wǎng)絡(luò)經(jīng)常使用的是S型傳輸函數(shù)(如logsig函數(shù)),其輸出值將會限制在較小的范圍(0,1)內(nèi),線性傳輸函數(shù)則可以取任意值1.2BP神經(jīng)網(wǎng)絡(luò)模型

對于圖1的BP神經(jīng)網(wǎng)絡(luò),設(shè)K為迭代次數(shù),則每層權(quán)值和閾值的修正按下式進(jìn)行:式中,x(K)為第K次迭代各層之間的鏈接權(quán)向量或閾向量;g(k)=?E(K)/?x(k)為第K次迭代的神經(jīng)網(wǎng)絡(luò)輸出誤差對各權(quán)值或閾值的梯度向量;負(fù)號表示梯度的反方向,即梯度的最速下降方向;a(k)為學(xué)習(xí)效率,一般為常數(shù);E(K)為第K次迭代的網(wǎng)絡(luò)輸出的總誤差性能函數(shù),BP網(wǎng)絡(luò)誤差性能函數(shù)的默認(rèn)值為均方誤差。1.3學(xué)習(xí)規(guī)則當(dāng)一個樣本(設(shè)第P個樣本)輸入網(wǎng)絡(luò),并產(chǎn)生輸出時,均方誤差應(yīng)為各輸出單元誤差平方之和,即當(dāng)所有樣本都輸入一次后,總誤差為1.3學(xué)習(xí)規(guī)則假設(shè)輸入為P,輸入神經(jīng)元有r個,隱含層內(nèi)有s1個神經(jīng)元,激活函數(shù)為F1,輸出層內(nèi)有s2個神經(jīng)元,對應(yīng)的激活函數(shù)為F2,輸出為A,目標(biāo)矢量為T1.3學(xué)習(xí)規(guī)則信息的正向傳遞隱含層中第i個神經(jīng)元的輸出

輸出層第k個神經(jīng)元的輸出

(1.3.1)

定義誤差函數(shù)

(1.3.2)

1.3學(xué)習(xí)規(guī)則算法的下一階是反向傳播的敏感性值,在開始反向傳播前需要先求傳輸函數(shù)的導(dǎo)數(shù)對于f1為對數(shù)S型激活函數(shù):1.3學(xué)習(xí)規(guī)劃對于f2為線性激活函數(shù):根據(jù)式:()或()和各層的傳輸函數(shù),可求出第K次迭代的誤差曲面的梯度g(k)=?E(K)/?x(k),代入x(k+1)=x(k)-αg(k),便可逐次修正其權(quán)值和閾值,并使總的誤差減小的方向變化,直到所要求的誤差性能為止。1.3學(xué)習(xí)規(guī)劃蠓蟲分類問題可概括敘述如下:生物學(xué)家試圖對兩種蠓蟲(Af與Apf)進(jìn)行鑒別,依據(jù)的資料是觸角和翅膀的長度,已經(jīng)測得了9支Af和6支Apf的數(shù)據(jù)如下:Af:(1.24,1.27),(1.36,1.74),(1.38,1.64),(1.38,1.82),(1.38,1.90),(1.40,1.70),(1.48,1.82),(1.54,1.82),(1.56,2.08).Apf:(1.14,1.82),(1.18,1.96),(1.20,1.86),(1.26,2.00),(1.28,2.00),(1.30,1.96).1.4網(wǎng)絡(luò)程序設(shè)計現(xiàn)在的問題是:1.根據(jù)如上資料,如何制定一種方法,正確地區(qū)分兩類蠓蟲。2.對觸角和翼長分別為(1.24,1.80),(1.28,1.84),(1.40,2.04)的3個標(biāo)本,用所得到的方法加以識別。3.設(shè)Af是寶貴的傳粉益蟲,Apf是某疾病的載體,是否應(yīng)該修改分類方法。1.4程序設(shè)計clearp1=[1.24,1.27;1.36,1.74;1.38,1.64;1.38,1.82;1.38,1.90;1.40,1.70;1.48,1.82;1.54,1.82;1.56,2.08];%9行2列的數(shù)據(jù),代表9只Af的觸角和翼長p2=[1.14,1.82;1.18,1.96;1.20,1.86;1.26,2.00;28,2.00;1.30,1.96];%6行2列的數(shù)據(jù)代表6只APf的觸角和翼長p=[p1;p2]';%p1和p2分別作為數(shù)據(jù)p的兩個行pr=minmax(p);%取出每行的最大值和最小值goal=[ones(1,9),zeros(1,6);zeros(1,9),ones(1,6)];%產(chǎn)生一個兩行15列的數(shù)據(jù)%對應(yīng)數(shù)據(jù)p的期望輸出,第一行現(xiàn)有9個1,再有6個0;%第二行現(xiàn)有9個0,再有6個1.10兩位數(shù)出表示9只Af,01輸出表示6個APfplot(p1(:,1),p1(:,2),'h',p2(:,1),p2(:,2),'o')%p1(:,1)讓行標(biāo)變起來、列標(biāo)是1,%即取出p1的第一列1.4程序設(shè)計net=newff(pr,[3,2],{'logsig','logsig'});%隱層3個神經(jīng)元,輸出2個神經(jīng)元,這兩層的傳遞函數(shù)都用對數(shù)s型函數(shù)net.trainParam.show=10;%網(wǎng)絡(luò)訓(xùn)練10次顯示一次結(jié)果net.trainParam.lr=0.05;%設(shè)置學(xué)習(xí)效率net.trainParam.goal=1e-10;%誤差設(shè)置net.trainParam.epochs=50000;%規(guī)定訓(xùn)練次數(shù)net=train(net,p,goal);%根據(jù)網(wǎng)絡(luò)的輸入和期望輸出訓(xùn)練網(wǎng)絡(luò)x=[1.241.80;1.281.84;1.402.04]';%測試數(shù)據(jù)xy0=sim(net,p)%訓(xùn)練完的網(wǎng)絡(luò),再次輸入原始數(shù)據(jù)p,看看網(wǎng)絡(luò)此時的實際輸出y0是否與期望輸出一模一樣,結(jié)果確實如此。y=sim(net,x)%將測試數(shù)據(jù)輸入網(wǎng)絡(luò),查看其測試輸出,從而將x代表的三只蟲子進(jìn)行分類1.4

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論