神經(jīng)網(wǎng)絡算法_第1頁
神經(jīng)網(wǎng)絡算法_第2頁
神經(jīng)網(wǎng)絡算法_第3頁
神經(jīng)網(wǎng)絡算法_第4頁
神經(jīng)網(wǎng)絡算法_第5頁
已閱讀5頁,還剩37頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1會計學神經(jīng)網(wǎng)絡算法神經(jīng)網(wǎng)絡算法神經(jīng)網(wǎng)絡算法簡介 感知器感知器(perceptron)是由美國科學家F.Rosenblatt于1957年提出的,其目的是為了模擬人腦的感知和學習能力。感知器是最早提出的一種神經(jīng)網(wǎng)絡模型。它特別適合于簡單的模式分類問題,如線性可分的形式。神經(jīng)網(wǎng)絡算法簡介以兩個輸入的單層感知器神經(jīng)元為例w(1,1)w(1,2)p(1)p(2)nabw 權(quán)重; b 閾值如果設 w(1,1)=-1,w(1,2)=2,b=1L-b/ w(1,2) -b/ w(1,1) wp+b0a=1 wp+b0a=0 單層感知器 多層感知器w(1,1)w(1,2)p1p2na2b1b2n1a1n2a1

2、b1w(2,1)w(2,2)111221212(),()af w pbafw ab性能指標:均方誤差達到最小2( , )()minF w bE ta涉及算法注意:單層感知器的局限性是:僅對線性可分問題具有分類能力。分類問題的MATLAB軟件實現(xiàn)以蠓蟲分類問題為例% 輸入向量P=1.241.36 1.38 1.38 1.38 1.4 1.48 1.54 1.56 1.14 1.18 1.2 1.26 1.28 1.3; 1.72 1.74 1.64 1.82 1.9 1.7 1.82 1.82 2.08 1.78 1.96 1.86 2.0 2.0 1.96;% 目標向量T=1 1 1 1 1

3、1 1 1 1 0 0 0 0 0 0;% 繪制輸入向量plotpv(P,T);11.21.41.61.81.41.51.61.71.81.922.12.22.3Vectors to be ClassifiedP(1)P(2)1)單層感知器w(1,1)w(1,2)p(1)p(2)nab% 建立一個感知器net=newp(0 3;0 3,1);% 繪制輸入向量plotpv(P,T);E=1;% 初始化感知器net=init(net);linehandle=plotpc(net. IW 1,net. b 1);分類問題的MATLAB軟件實現(xiàn)0.911.11.21.31.41.51.61.71.81

4、.41.51.61.71.81.922.12.22.3Vectors to be ClassifiedP(1)P(2)分類問題的MATLAB軟件實現(xiàn)% 修正感知器網(wǎng)絡while(sse(E) net,Y,E=adapt(net,P,T); %返回學習后的網(wǎng)絡,Y是輸出,E是誤差 linehandle=plotpc(net. IW 1,net. b 1,linehandle); %分界線繪制函數(shù) drawnow; %更新分界線end;% 利用訓練好的感知器對未知類別樣本進行分類p=1.24,1.28,1.4;1.8,1.84,2.04;a=sim(net,p);plotpv(p,a);ThePo

5、int=findobj(gca,type,line);set(ThePoint,Color,red);hold on;plotpv(P,T);plotpc(net. IW 1,net. b 1);hold off;disp(End of percept)分類問題的MATLAB軟件實現(xiàn)11.21.41.61.81.41.51.61.71.81.922.12.22.3Vectors to be ClassifiedP(1)P(2)分類結(jié)果:AfApf以上結(jié)果是圖形化的結(jié)果,如下給出數(shù)值化的結(jié)果:mcfl1.mP=1.241.36 1.38 1.38 1.38 1.4 1.48 1.54 1.56

6、1.14 1.18 1.2 1.26 1.28 1.3; 1.72 1.74 1.64 1.82 1.9 1.7 1.82 1.82 2.08 1.78 1.96 1.86 2.0 2.0 1.96;% 目標向量T=1 1 1 1 1 1 1 1 1 0 0 0 0 0 0;% 建立一個感知器net=newp(0 3;0 3,1);% 網(wǎng)絡訓練次數(shù)net=adapt(net,P,T); %返回自適應的神經(jīng)網(wǎng)絡% 輸出仿真結(jié)果Y=sim(net,P)% 利用訓練好的感知器進行分類p=1.24,1.28,1.4;1.8,1.84,2.04;a=sim(net,p)仿真結(jié)果:Y = Columns

7、1 through 11 1 1 1 1 1 1 1 1 1 0 0 Columns 12 through 15 0 0 0 0a = 1 1 1準確率達到100%。 BP網(wǎng)絡(Back-Propagation Network) 目前,在人工神經(jīng)網(wǎng)絡的實際應用中,決大部分的神經(jīng)網(wǎng)絡模型是采用BP網(wǎng)絡和它的變化形式。BP網(wǎng)絡主要用于: 函數(shù)逼近 模式識別 分類 數(shù)據(jù)壓縮 學習過程由信號的正向傳播與反向傳播兩個過程組成。正向傳播時,輸入樣本從輸入層傳入,經(jīng)各隱層逐層處理后,傳向輸出層。若輸出層的實際輸出與期望輸出(教師信號)不符合時,則轉(zhuǎn)入誤差的反向傳播階段。誤差反傳是將輸出誤差以某種形式通過隱層

8、向輸入層逐層反傳,并將誤差分攤給各層的所有單元,從而獲得各層單元的誤差信號,此信號作為修正各單元權(quán)值的依據(jù)。 BP算法的基本思想:x1x2xixn-1xny1y2yjymW1WkWlo1okol輸入層隱層輸出層隱層到輸出層之間的權(quán)值矩陣:W = W1, W2, ,Wl 1、網(wǎng)絡結(jié)構(gòu)2、各層信號之間的數(shù)學關系輸出層 ok = f (netk) , netk = j=0:mwjkyj , k = 1,2,l, 對隱層 yk = f (netj) , netj = i=0:nvijxi , j = 1,2,m, 傳遞函數(shù)一般用:f (x) = 1/ (1+exp(-x) (s型函數(shù))誤差函數(shù): Eh

9、 = 0.5*(j=0:l(thj-ohj)2) , thj, ohj分別為期望輸出和網(wǎng)絡的實際輸出。 MATLAB中有關BP網(wǎng)絡的重要函數(shù)newff 創(chuàng)建前向BP網(wǎng)絡格式:net = newff(PR,S1 S2.SNl,TF1 TF2.TFNl,BTF,BLF,PF) 其中:PR R維輸入元素的R2階最大最小值矩陣; Si 第i層神經(jīng)元的個數(shù),共N1層; TFi 第i層的轉(zhuǎn)移函數(shù),默認tansig; BTF BP網(wǎng)絡的訓練函數(shù),默認trainlm; BLF BP權(quán)值/偏差學習函數(shù),默認learngdm PF 性能函數(shù),默認mse;(誤差) MATLAB中有關BP網(wǎng)絡的重要函數(shù)例如:net=

10、newff(0 20;0 16;0 12;0 12;0 13,5 1, logsig purelin,traingdx);三層神經(jīng)網(wǎng)絡結(jié)構(gòu):中間層為5輸出層為1輸入層5維向量的取值范圍訓練函數(shù)轉(zhuǎn)移函數(shù)(1)purelin 線性傳遞函數(shù);(2)tansig 雙曲正切S型(sigmoid)傳遞函數(shù);(3)logsig 對數(shù)S型(sigmoid)傳遞函數(shù);1、轉(zhuǎn)移函數(shù):(1)(2)(3)1logsig( )1xxetansig( )xxxxeexee2、訓練函數(shù):trainlm Levenberg-Marquardt的BP算法訓練函數(shù);trainbfg BFGS擬牛頓BP算法訓練函數(shù);trainrp

11、 具有彈性的BP算法訓練;traingd 梯度下降是BP算法訓練;traingda 梯度下降自適應lr的BP算法訓練;traingdm 梯度下降動量的BP算法訓練;traingdx 梯度下降動量和自適應lr的BP算法訓練; 如果對神經(jīng)網(wǎng)絡的輸入、輸出數(shù)據(jù)進行一定的預處理,可以加快網(wǎng)絡的訓練速度。有三種方法: 1)歸一化 將每組數(shù)據(jù)都變?yōu)?1至1之間的數(shù),matlab中有函數(shù):premnmx,postmnmx,tramnmx算法: pn = 2*(p-minp)/(maxp-minp) - 1; 2)標準化 將每組數(shù)據(jù)變換為均值為0,方差為1的數(shù),所涉及的函數(shù)有:prestd,posttd,tr

12、astd 3) 正交化 主成分分析也可以將數(shù)據(jù)進行正交處理,減少輸入數(shù)據(jù)的處理,函數(shù)有:prepca,trapca.注意:數(shù)據(jù)預處理輸入向量 P = 0 1 2 3 4 5 6 7 8 9 10;期望輸出 T = 0 1 2 3 4 3 2 1 2 3 4;例:創(chuàng)建兩層的BP網(wǎng)絡:net = newff ( 0 10, 5 1, tansig, purelin );Y = sim(net,P);plot(P,T,P,Y,o)或net = train(net,P,T);Y = sim(net,P);plot(P,T,P,Y,o)Y = -2.3431 -2.7532 -2.4510 -1.278

13、4 -0.8590 -0.2981 0.2495 0.4811 1.0375 1.2268 1.4232T = 0 1 2 3 4 3 2 1 2 3 4; % 期望輸出第一種情況的輸出結(jié)果:0246810-3-2-101234誤差很大!未訓練,非線性映射能力差。Y = -0.0019 1.0045 1.9896 3.0157 3.9637 3.1021 1.8175 1.2056 1.8322 3.1162 3.9551T = 0 1 2 3 4 3 2 1 2 3 4; % 期望輸出第二種情況的輸出結(jié)果:0246810-0.500.511.522.533.54思考:究竟誤差有多大?修改程序

14、:P = 0 1 2 3 4 5 6 7 8 9 10;T = 0 1 2 3 4 3 2 1 2 3 4;net = newff(0 10,5 1,tansig purelin);每次循環(huán)50次最大循環(huán)500次期望目標誤差最小值net = train(net,P,T); %對網(wǎng)絡進行反復訓練Y = sim(net,P)Figure % 打開另外一個圖形窗口plot(P,T,P,Y,o) Y = 0.0005 1.0026 1.9947 3.0134 3.9429 3.1211 1.8482 1.1755 1.8568 3.1150 3.9595第二種情況的輸出結(jié)果:024681000.511

15、.522.533.54051015202510-310-210-110010129 EpochsTraining-Blue Goal-BlackPerformance is 0.00975742, Goal is 0.01范例:DNA序列模式分類問題一、問題 假定已知兩組人工已分類的DNA序列(20個已知類別的人工制造的序列),其中序列標號110 為A類,11-20為B類。要求我們從中提取已經(jīng)分類了的DNA序列片段的特征和構(gòu)造分類方法,并且還要衡量所用分類方法的好壞,從而構(gòu)造或選擇一種較好的分類方法。測試對象是20個未標明類別的人工序列(標號2140)和182個自然DNA序列。例如A類: a1

16、=aggcacggaaaaacgggaataacggaggaggacttggcacggcattacacggaggacgaggtaaaggaggcttgtctacggccggaagtgaagggggatatgaccgcttgg;b1=gttagatttaacgttttttatggaatttatggaattataaatttaaaaatttatattttttaggtaagtaatccaacgtttttattactttttaaaattaaatatttatt;二、特征提取 序列中含有四個堿基a、g、t、c,反映該序列特征的方面主要有兩個:1、堿基的含量,反映了該序列的內(nèi)容; 統(tǒng)計a、g、t、c序列中分別

17、出現(xiàn)的頻率; 2、 堿基的排列情況,反映了該序列的形式;從字符出現(xiàn)的周期性來反映。統(tǒng)計三個字符出現(xiàn)的頻率;在遺傳學中每三個堿基的組合被稱為一個密碼子,如agg,att,ggc, cgg等,共有43=64個,還可以由密碼子組成20個氨基酸。三、神經(jīng)網(wǎng)絡對DNA序列分類問題的應用 假定提取已知序列類別的三字符串,如agg,att,ggc, cgg,共有43=64個,將它簡化成只有5個:ttt, tta, ggc, cgg, gga。統(tǒng)計出任意一個DNA序列片段的5維向量,即每個特征字符串在序列中出現(xiàn)的頻數(shù)作為分量。a1=aggcacggaaaaacgggaataacggaggaggacttggca

18、cggcattacacggaggacgaggtaaaggaggcttgtctacggccggaagtgaagggggatatgaccgcttgg;編程統(tǒng)計出該片段的字符串( ttt, tta, ggc, cgg, gga)的頻數(shù)分別為:(0,1,5,7,10)經(jīng)過統(tǒng)計計算,得到已知類別的輸入向量:p = 0 1 0 5 1 3 2 2 2 1 19 18 23 17 43 12 2 17 19 23; 1 2 0 4 1 1 1 4 0 1 13 15 13 11 9 9 2 14 12 7; 5 5 8 0 10 9 5 7 11 9 0 0 1 0 0 0 3 1 0 0; 7 10 16

19、 2 11 9 6 5 8 6 0 0 0 1 0 0 3 2 0 0; 10 11 15 2 11 12 12 9 5 6 2 1 1 1 0 1 1 0 1 1;待判類別的輸入向量:P = 9 2 3 13 3 15 3 10 3 2 6 5 9 2 2 2 2 16 2 18; 7 4 4 8 5 9 6 12 3 3 12 4 7 3 2 4 4 10 2 10; 0 0 4 1 5 0 2 1 7 0 2 2 0 4 2 1 3 1 2 1; 0 2 8 0 1 1 5 0 7 0 1 3 0 3 3 1 1 1 0 2; 2 3 9 1 2 1 8 1 5 0 2 1 1 5 4

20、1 3 1 1 2;由前20個已知類別的DNA序列片段可以構(gòu)造出目標向量:t = 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0;1、應用感知器對DNA序列進行分類:(DNAper1.m)net=newp(0 1;0 1;0 1;0 1;0 1,1);net=adapt(net,p,t);Y=sim(net,p) % 回代檢驗a=sim(net,P) % 對待判類別的序列進行分類A 類B 類a = 0 1 1 0 0 0 1 0 1 0 0 0 0 1 1 0 1 0 0 0回代檢驗結(jié)果是100%的準確。待判序列的分類結(jié)果:A類:22,23,27,29,34,3

21、5,37;B類:21,24,25,26,28,30,31,32, 33,36,38,39,40;輸出結(jié)果:a = 0 1 1 0 0 0 1 0 1 0 0 0 0 1 1 0 1 0 0 0并附圖形:獲得數(shù)值分類結(jié)果:(DNAper.m)net=newp(0 1;0 1;0 1;0 1;0 1,1);net=adapt(net,p,t);Y=sim(net,p) % 回代檢驗a=sim(net,P) % 對待判類別的序列進行分類輸出結(jié)果:024681000.10.20.30.40.50.60.70.80.9110 EpochsTraining-Blue Goal-BlackPerforman

22、ce is 0, Goal is 0.01誤差曲線圖2、應用BP網(wǎng)絡對DNA序列進行分類:(DNAbp.m)net=newff(0 20;0 16;0 12;0 12;0 13,3 1,logsig purelin,traingdx); %兩次顯示之間的訓練步數(shù)訓練目標net,tr=train(net,p,t);Y=sim(net,p)a=sim(net,P)Y = 1.0436 1.0223 0.9879 0.6593 1.0348 1.0225 1.0364 1.0111 0.8835 0.9824 0.0079 0.0079 0.0077 0.0088 0.0077 0.0813 0.2

23、153 0.0080 0.0080 0.0078a = 0.4215 0.7467 0.9664 0.0766 0.4305 0.0158 0.9113 0.1174 0.8094 0.1735 0.4612 0.5622 0.4323 0.8334 0.8310 0.4070 0.5784 0.0115 0.1521 0.0082回代檢驗結(jié)果也是100%的準確。待判序列的分類結(jié)果:同上輸出結(jié)果:誤差曲線圖01020304050607010-310-210-110010175 EpochsTraining-Blue Goal-BlackPerformance is 0.00945768, Goal is 0.01思考:1、前面所述的特征提取為:ttt, tta, ggc, cgg, gga, 是否合理? 2、請給出另外的特征重新計算! 3、分析改進后的誤差。性能指標:均方誤差達到最小2( , )()minF w bE ta涉及算法注意:單層感知器的局限性是:僅對線性可分問題具有分類能力。 學習過程由信號的正向傳播與反向傳播兩個過程組成。正向傳播時,輸入樣本從輸入層傳入,經(jīng)各隱層逐層處理后,傳向輸出層。若輸出層的實際輸出與期望輸出(教師信號)不符合時,則轉(zhuǎn)入誤差的反向傳播階段。

溫馨提示

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

評論

0/150

提交評論