神經(jīng)網(wǎng)絡(luò)算法含感知器和B_第1頁
神經(jīng)網(wǎng)絡(luò)算法含感知器和B_第2頁
神經(jīng)網(wǎng)絡(luò)算法含感知器和B_第3頁
神經(jīng)網(wǎng)絡(luò)算法含感知器和B_第4頁
神經(jīng)網(wǎng)絡(luò)算法含感知器和B_第5頁
已閱讀5頁,還剩33頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、神經(jīng)網(wǎng)絡(luò)算法簡介,實(shí)際應(yīng)用問題,1、蠓蟲的分類問題 2、DNA序列分類問題 3、癌癥診斷問題,神經(jīng)網(wǎng)絡(luò)算法簡介,感知器 感知器(perceptron)是由美國科學(xué)家F.Rosenblatt于1957年提出的,其目的是為了模擬人腦的感知和學(xué)習(xí)能力。感知器是最早提出的一種神經(jīng)網(wǎng)絡(luò)模型。它特別適合于簡單的模式分類問題,如線性可分的形式,神經(jīng)網(wǎng)絡(luò)算法簡介,以兩個(gè)輸入的單層感知器神經(jīng)元為例,w 權(quán)重; b 閾值 如果設(shè) w(1,1)=-1,w(1,2)=2,b=1,單層感知器,多層感知器,性能指標(biāo):均方誤差達(dá)到最小,涉及算法,注意:單層感知器的局限性是:僅對線性可分問題具有分類能力,分類問題的MATLA

2、B軟件實(shí)現(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; % 目標(biāo)向量 T=1 1 1 1 1 1 1 1 1 0 0 0 0 0 0; % 繪制輸入向量 plotpv(P,T,1)單層感知器, 建立一個(gè)感知器 net=newp(0 3;0 3,1); % 繪制輸入向量 plotpv(P,T); % 初始化感知器 net

3、=init(net); %畫出分類線 net. iw 1,1 net. b 1 linehandle=plotpc(net. iw 1,1,net. b 1); %作wx+b=0的分類線,分類問題的MATLAB軟件實(shí)現(xiàn),分類問題的MATLAB軟件實(shí)現(xiàn),E=1; % 修正感知器網(wǎng)絡(luò) while(sse(E) %sse 返回誤差的平方 net,Y,E=adapt(net,P,T); %返回學(xué)習(xí)后的網(wǎng)絡(luò),Y是輸出,E是誤差 linehandle=plotpc(net. IW 1,net. b 1,linehandle); %分界線繪制函數(shù) drawnow; %更新分界線 end, 利用訓(xùn)練好的感知器

4、對未知類別樣本進(jìn)行分類 p=1.24,1.28,1.4;1.8,1.84,2.04; a=sim(net,p); plotpv(p,a); ThePoint=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軟件實(shí)現(xiàn),分類結(jié)果,Af,Apf,以上結(jié)果是圖形化的結(jié)果,如下給出數(shù)值化的結(jié)果:mcfl1.m,P=1.241.36 1.38 1.38 1.38 1.4 1.4

5、8 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; % 目標(biāo)向量 T=1 1 1 1 1 1 1 1 1 0 0 0 0 0 0; % 建立一個(gè)感知器 net=newp(0 3;0 3,1); % 網(wǎng)絡(luò)訓(xùn)練次數(shù) net.adaptParam.passes=100 net=adapt(net,P,T); %返回自適應(yīng)的神經(jīng)網(wǎng)絡(luò) % 輸出仿真結(jié)果 Y=sim(net,P) % 利用訓(xùn)練好的感知器進(jìn)行分類 p=1.24,1.28

6、,1.4;1.8,1.84,2.04; a=sim(net,p,仿真結(jié)果,Y = Columns 1 through 11 1 1 1 1 1 1 1 1 1 0 0 Columns 12 through 15 0 0 0 0 a = 1 1 1 準(zhǔn)確率達(dá)到100,BP網(wǎng)絡(luò)(Back-Propagation Network,目前,在人工神經(jīng)網(wǎng)絡(luò)的實(shí)際應(yīng)用中,決大部分的神經(jīng)網(wǎng)絡(luò)模型是采用BP網(wǎng)絡(luò)和它的變化形式。BP網(wǎng)絡(luò)主要用于: 函數(shù)逼近 模式識別 分類 數(shù)據(jù)壓縮,學(xué)習(xí)過程由信號的正向傳播與反向傳播兩個(gè)過程組成。正向傳播時(shí),輸入樣本從輸入層傳入,經(jīng)各隱層逐層處理后,傳向輸出層。若輸出層的實(shí)際輸出

7、與期望輸出(教師信號)不符合時(shí),則轉(zhuǎn)入誤差的反向傳播階段。誤差反傳是將輸出誤差以某種形式通過隱層向輸入層逐層反傳,并將誤差分?jǐn)偨o各層的所有單元,從而獲得各層單元的誤差信號,此信號作為修正各單元權(quán)值的依據(jù),BP算法的基本思想,隱層到輸出層之間的權(quán)值矩陣: W = W1, W2, ,Wl,1、網(wǎng)絡(luò)結(jié)構(gòu),2、各層信號之間的數(shù)學(xué)關(guān)系,輸出層 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型函

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

9、重要函數(shù),例如: net=newff(0 20;0 16;0 12;0 12;0 13,5 1, logsig purelin,traingdx,三層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu): 中間層為5 輸出層為1,輸入層5維向量的取值范圍,訓(xùn)練函數(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,2、訓(xùn)練函數(shù),trainlm Levenberg-Marquardt的BP算法訓(xùn)練函數(shù); trainbfg BFGS擬牛頓BP算法訓(xùn)練函數(shù); trainrp 具有彈性的BP算法訓(xùn)練;

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

11、化 主成分分析也可以將數(shù)據(jù)進(jìn)行正交處理,減少輸入數(shù)據(jù)的處理,函數(shù)有:prepca,trapca,注意:數(shù)據(jù)預(yù)處理,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)絡(luò): net = newff ( 0 10, 5 1, tansig, purelin ); Y = sim(net,P); %輸出仿真結(jié)果 plot(P,T,P,Y,o) %作圖,未經(jīng)過訓(xùn)練的結(jié)果 或 net.trainParam.epochs = 50; net = train(net,P,T); Y = sim(net,P);

12、plot(P,T,P,Y,o) %作圖 訓(xùn)練后的結(jié)果,Y = -2.3431 -2.7532 -2.4510 -1.2784 -0.8590 -0.2981 0.2495 0.4811 1.0375 1.2268 1.4232 T = 0 1 2 3 4 3 2 1 2 3 4; % 期望輸出,第一種情況的輸出結(jié)果,誤差很大! 未訓(xùn)練,非線性映射能力差,Y = -0.0019 1.0045 1.9896 3.0157 3.9637 3.1021 1.8175 1.2056 1.8322 3.1162 3.9551 T = 0 1 2 3 4 3 2 1 2 3 4; % 期望輸出,第二種情況的

13、輸出結(jié)果,思考: 究竟誤差有多大,修改程序,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); net.trainparam.show=50; %每次循環(huán)50次 net.trainParam.epochs = 500; %最大循環(huán)500次 net.trainparam.goal=0.01; %期望目標(biāo)誤差最小值 net = train(net,P,T); %對網(wǎng)絡(luò)進(jìn)行反復(fù)訓(xùn)練 Y = sim(net,P) figure % 打開另外一個(gè)圖形窗口 plot(P,T

14、,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é)果,范例:DNA序列模式分類問題,一、問題,假定已知兩組人工已分類的DNA序列(20個(gè)已知類別的人工制造的序列),其中序列標(biāo)號110 為A類,11-20為B類。要求我們從中提取已經(jīng)分類了的DNA序列片段的特征和構(gòu)造分類方法,并且還要衡量所用分類方法的好壞,從而構(gòu)造或選擇一種較好的分類方法。測試對象是20個(gè)未標(biāo)明類別的人工序列(標(biāo)號2140)和182個(gè)自然DNA序列。例如A類,a1=aggcacggaaa

15、aacgggaataacggaggaggacttggcacggcattacacggaggacgaggtaaaggaggcttgtctacggccggaagtgaagggggatatgaccgcttgg; b1=gttagatttaacgttttttatggaatttatggaattataaatttaaaaatttatattttttaggtaagtaatccaacgtttttattactttttaaaattaaatatttatt;,二、特征提取,序列中含有四個(gè)堿基a、g、t、c,反映該序列特征的方面主要有兩個(gè): 1、堿基的含量,反映了該序列的內(nèi)容; 統(tǒng)計(jì)a、g、t、c序列中分別出現(xiàn)的頻率,2、

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

17、cacggaggacgaggtaaaggaggcttgtctacggccggaagtgaagggggatatgaccgcttgg; 編程統(tǒng)計(jì)出該片段的字符串( ttt, tta, ggc, cgg, gga)的頻數(shù)分別為:(0,1,5,7,10,經(jīng)過統(tǒng)計(jì)計(jì)算,得到已知類別的輸入向量: 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 2 11

18、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 1 3 1

19、 1 2,由前20個(gè)已知類別的DNA序列片段可以構(gòu)造出目標(biāo)向量: t = 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0,1、應(yīng)用感知器對DNA序列進(jìn)行分類: (DNAper1.m) net=newp(0 1;0 1;0 1;0 1;0 1,1); net.adaptParam.passes=110 net=adapt(net,p,t); Y=sim(net,p) % 回代檢驗(yàn) a=sim(net,P) % 對待判類別的序列進(jìn)行分類,A 類,B 類,a = 0 1 1 0 0 0 1 0 1 0 0 0 0 1 1 0 1 0 0 0,回代檢驗(yàn)結(jié)果是100%的準(zhǔn)

20、確。 待判序列的分類結(jié)果: A類:22,23,27,29,34,35,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.adaptParam.passes=110 net=adapt(net,p,t); Y=sim(net,p) % 回代檢驗(yàn) a=sim(net,P) % 對待判類別的序列進(jìn)行分類,輸出結(jié)果,誤差曲線圖,2、應(yīng)用BP網(wǎng)絡(luò)對DNA序列進(jìn)行分類: (DN

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論