基于BP算法的分類(lèi)器設(shè)計(jì)_第1頁(yè)
基于BP算法的分類(lèi)器設(shè)計(jì)_第2頁(yè)
基于BP算法的分類(lèi)器設(shè)計(jì)_第3頁(yè)
基于BP算法的分類(lèi)器設(shè)計(jì)_第4頁(yè)
基于BP算法的分類(lèi)器設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、基于BP算法的分類(lèi)器設(shè)計(jì)1 概述已近證明利用神經(jīng)網(wǎng)絡(luò)誤差反向傳播學(xué)習(xí)算法(BP算法)設(shè)計(jì)線性或非線性分類(lèi)器可以具有較好的效果。然而在決策面已知,即已知物體的分類(lèi)面時(shí),能否設(shè)計(jì)神經(jīng)網(wǎng)絡(luò)利用BP算法逼近該決策面呢,答案是肯定的。實(shí)際上該問(wèn)題就是利用神經(jīng)網(wǎng)絡(luò)去逼近一條或多條曲線。利用神經(jīng)網(wǎng)絡(luò)產(chǎn)生的曲面去代替這個(gè)決策面,這樣就可以非常方便的根據(jù)需要來(lái)修改決策面,以適應(yīng)物體變異或突變等情況。下面以一個(gè)具體的例子說(shuō)明這個(gè)問(wèn)題。2 仿真實(shí)例已知在二維平面上存在兩條決策線,其方程為f1(x1,x2)= x1e-以及f2(x1,x2)= sin24,=x12+x22??杀硎緸閥=f(x)=y1y2=f1(x1,

2、x2)f2(x1,x2)=x1e-sin24,其中=x12+x22。由這兩條決策線構(gòu)成了的非線性分類(lèi)器可將空間中的三種不同性質(zhì)的物質(zhì)分開(kāi)。利用BP算法設(shè)計(jì)模型f(x)。 首先考察隱含層為4個(gè)神經(jīng)元的情形。任意選取x1與x2的值(此處各選取20個(gè)值)利用MATLAB畫(huà)出原函數(shù)f1與f2的三維圖形如圖1所示。畫(huà)出前向傳播神經(jīng)網(wǎng)絡(luò)圖形如圖2所示,用神經(jīng)網(wǎng)絡(luò)反向?qū)W習(xí)算法與此圖去逼近模型,學(xué)習(xí)矩陣為之前選取的x1與x2的20個(gè)值與其對(duì)應(yīng)的20個(gè)輸出值。 圖1函數(shù)f(x)的圖像 圖2前向傳播神經(jīng)網(wǎng)絡(luò)3 算法設(shè)計(jì)算法的程序流程圖如圖3所示 圖3 程序流程圖 圖 4輸出層神經(jīng)元示意圖圖5 隱含層神經(jīng)元示意圖3

3、.1 輸出層神經(jīng)元的權(quán)值修正算法(神經(jīng)元j)由于權(quán)值的修正值W是通過(guò)梯度下降法求得的,因此要求出(n)Wji(n)。如圖4, (n)Wji(n)的計(jì)算公式如下(n)Wji(n)=(n)ej(n)ej(n)yj(n)yj(n)vj(n)vj(n)Wji(n)對(duì)等式右側(cè)的分式分別求偏導(dǎo)數(shù)有 (n)Wji(n)=ej(n)(-1)' (vj(n) yi(n) =-ej(n)' (vj(n) yi(n)其中vj(n)=i=1rWji(n)yi(n) yi(n)=(vi(n)可以得到Wji(n)=ej(n)' (vj(n) yi(n)若yi(n)=(vi(n)=11+e-vj(n

4、),則' (vj(n)= yi(n)(1-yi(n)這樣就得到了權(quán)值的修正值Wji(n)=ej(n)yi(n)(1-yi(n) yi(n)由此值修正權(quán)系數(shù)Wji(n)。3.2 隱含層神經(jīng)元的權(quán)值修正算法(神經(jīng)元j)仿照3.1求(n)Wji(n)。如圖5, (n)Wji(n)的計(jì)算公式如下:(n)Wji(n)=(n)yj(n)yj(n)vj(n)vj(n)Wji(n)其中vj(n)=i=1rWji(n)yi(n) vj(n)Wji(n)=yi(n) yj(n)vj(n)=' (vj(n)= yi(n)(1-yi(n) (n)=12k=1mek(n)2 ek(n)yj(n)=ek(

5、n)vk(n)vk(n)yj(n)=' (vk(n) Wkj(n) (n)yj(n)=-k=1mek(n)(' (vk(n) Wkj(n) =-k=1mk(n)Wkj(n)故有(n)Wji(n)=-k=1mk(n)Wkj(n) ' (vj(n) yi(n)=-j(n)yi(n)則權(quán)值的修正值Wji(n)=(-(n)Wji(n)= j(n)yi(n)由此值修正權(quán)系數(shù)Wji(n)。3.3 MATLAB程序eta=0.06; %學(xué)習(xí)步長(zhǎng)e1=zeros(1,20); e2=zeros(1,20); %誤差值sita=zeros(100,1); %誤差矩陣zeta=0; %誤差

6、初值N=20; %學(xué)習(xí)矩陣的長(zhǎng)度 x1=-10.5 -9.8 -8.6 -7.4 -6.7 -5.5 -4.3 -3.1 -2.8 -1.9 1.2 2.7 3.5 4.3 5.1 6.2 7.9 8 9.9 10;x2=-10.5 -9.8 -8.6 -7.4 -6.7 -5.5 -4.3 -3.1 -2.8 -1.9 1.2 2.7 3.5 4.3 5.1 6.2 7.9 8 9.9 10;%輸入矩陣d1=zeros(1,20);d2=zeros(1,20);%真實(shí)值輸出矩陣y1=zeros(1,20);y2=zeros(1,20);%BP算法輸出矩陣for a=1:20 d1(a)=x1

7、(a)*exp(-(x1(a)2+x2(a)2); d2(a)=sin(2*(x1(a)2+x2(a)2)/(4*(x1(a)2+x2(a)2);endW1=1 -1 2 -2'W2=2 1 3 -1'W3=1 0 3 -1'W4=0 3 2 -1' %初始權(quán)值rou=0.03; %誤差衡量標(biāo)準(zhǔn)times=1000; %學(xué)習(xí)次數(shù)v1=zeros(4,1);v2=zeros(4,1);v3=zeros(4,1);v4=zeros(4,1);u1=zeros(4,1);u2=zeros(4,1);o1=zeros(4,1);o2=zeros(4,1);o3=zero

8、s(4,1);o4=zeros(4,1); %神經(jīng)元上的值for i=1:times for j=1:N for k=1:4 v1(j)=W1(1)*x1(j)+W2(1)*x2(j); o1(j)=logsig(v1(j); v2(j)=W1(2)*x1(j)+W2(2)*x2(j); o2(j)=logsig(v2(j); v3(j)=W1(3)*x1(j)+W2(3)*x2(j); o3(j)=logsig(v3(j); v4(j)=W1(4)*x1(j)+W2(4)*x2(j); o4(j)=logsig(v4(j); end O=o1(j) o2(j) o3(j) o4(j)'

9、; u1(j)=W3'*O; u2(j)=W4'*O; y1(j)=logsig(u1(j); y2(j)=logsig(u2(j); e1(j)=d1(j)-y1(j); e2(j)=d2(j)-y2(j); zeta=zeta+(e1(j)2+e2(j)2)/2; dW3=eta*e1(j)*y1(j).*O; dW4=eta*e2(j)*y2(j).*O; W3=W3+dW3;%修正權(quán)值 W4=W4+dW4;% 修正權(quán)值 dW1=zeros(4,1); dW2=zeros(4,1); dW1(1)=eta*(e1(j)*y1(j)*(1-y1(j)*W3(1)+e2(j)

10、*y2(j)*(1-y2(j)*W4(1)*O(1)*(1-O(1)*x1(j); dW1(2)=eta*(e1(j)*y1(j)*(1-y1(j)*W3(2)+e2(j)*y2(j)*(1-y2(j)*W4(2)*O(2)*(1-O(2)*x1(j); dW1(3)=eta*(e1(j)*y1(j)*(1-y1(j)*W3(3)+e2(j)*y2(j)*(1-y2(j)*W4(3)*O(3)*(1-O(3)*x1(j); dW1(4)=eta*(e1(j)*y1(j)*(1-y1(j)*W3(2)+e2(j)*y2(j)*(1-y2(j)*W4(4)*O(4)*(1-O(4)*x1(j);

11、dW2(1)=eta*(e1(j)*y1(j)*(1-y1(j)*W3(1)+e2(j)*y2(j)*(1-y2(j)*W4(1)*O(1)*(1-O(1)*x2(j); dW2(2)=eta*(e1(j)*y1(j)*(1-y1(j)*W3(2)+e2(j)*y2(j)*(1-y2(j)*W4(2)*O(2)*(1-O(2)*x2(j); dW2(3)=eta*(e1(j)*y1(j)*(1-y1(j)*W3(3)+e2(j)*y2(j)*(1-y2(j)*W4(3)*O(3)*(1-O(3)*x2(j); dW2(4)=eta*(e1(j)*y1(j)*(1-y1(j)*W3(2)+e2(

12、j)*y2(j)*(1-y2(j)*W4(4)*O(4)*(1-O(4)*x2(j); W1=W1+dW1;% 修正權(quán)值 W2=W2+dW2;% 修正權(quán)值 end sita(i)=zeta/N;%均方誤差計(jì)算 if sita(i)<rou;%判斷誤差能否接受 break; end endA=W1B=W2C=W3D=W4 plot3(x1,x2,d1,'b');grid on;hold on;plot3(x1,x2,d2,'r');title('functon f');xlabel('input x1');ylabel(

13、9;input x2');zlabel('output f');hold offfor j=1:N for k=1:4 v1(j)=W1(1)*x1(j)+W2(1)*x2(j); o1(j)=logsig(v1(j); v2(j)=W1(2)*x1(j)+W2(2)*x2(j); o2(j)=logsig(v2(j); v3(j)=W1(3)*x1(j)+W2(3)*x2(j); o3(j)=logsig(v3(j); v4(j)=W1(4)*x1(j)+W2(4)*x2(j); o4(j)=logsig(v4(j); end O=o1(j) o2(j) o3(j)

14、o4(j)' u1(j)=W3'*O; u2(j)=W4'*O; y1(j)=logsig(u1(j); y2(j)=logsig(u2(j);endplot3(x1,x2,y1,'b');grid on;hold onplot3(x1,x2,d1,'r');title('compare functon d1 and y1');xlabel('input x1');ylabel('input x2');zlabel('output d1 and y1');hold off;p

15、lot3(x1,x2,y2,'b');grid on;hold onplot3(x1,x2,d2,'r');title('compare functon d2 and y2');xlabel('input x1');ylabel('input x2');zlabel('output d2 and y2');程序運(yùn)行后可得到修正后的權(quán)值矩陣W1,W2,W3,W4分別賦給矩陣A,B,C,D。以及實(shí)際輸出的圖行曲線與BP算法得到的圖形曲線的比較圖。d1與y1的比較圖如圖3所示,d2與y2的比較圖如圖4所示。結(jié)果經(jīng)BP學(xué)習(xí)算法得到的學(xué)習(xí)曲線能與實(shí)際輸出的真實(shí)曲線有較好的相似度,且誤差在允許的范圍之內(nèi)。A =1.0109;-0.9579; 1.9998;-1.9877B = 2.0109;1.0421; 2.9998;-0.9877C =-1.9955;-2.7510;-0.0016;-2.8610D =-3.0749;-0.0936;-1.0825; 圖6 d1與y1曲線比較圖 圖7 d2與y2曲線比較圖4 結(jié)論根據(jù)以上的例子可以看出誤差反向傳播學(xué)習(xí)算法能夠較好的逼近任意的曲線,從而在決策面性質(zhì)或其部分輸入輸出關(guān)系已知的情況下利用簡(jiǎn)單的方法構(gòu)造出決策面。因此在構(gòu)造決策面(尤其是非線

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論