版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、基于BP算法的分類器設計1 概述已近證明利用神經(jīng)網(wǎng)絡誤差反向傳播學習算法(BP算法)設計線性或非線性分類器可以具有較好的效果。然而在決策面已知,即已知物體的分類面時,能否設計神經(jīng)網(wǎng)絡利用BP算法逼近該決策面呢,答案是肯定的。實際上該問題就是利用神經(jīng)網(wǎng)絡去逼近一條或多條曲線。利用神經(jīng)網(wǎng)絡產生的曲面去代替這個決策面,這樣就可以非常方便的根據(jù)需要來修改決策面,以適應物體變異或突變等情況。下面以一個具體的例子說明這個問題。2 仿真實例已知在二維平面上存在兩條決策線,其方程為f1(x1,x2)= x1e-以及f2(x1,x2)= sin24,=x12+x22??杀硎緸閥=f(x)=y1y2=f1(x1,
2、x2)f2(x1,x2)=x1e-sin24,其中=x12+x22。由這兩條決策線構成了的非線性分類器可將空間中的三種不同性質的物質分開。利用BP算法設計模型f(x)。 首先考察隱含層為4個神經(jīng)元的情形。任意選取x1與x2的值(此處各選取20個值)利用MATLAB畫出原函數(shù)f1與f2的三維圖形如圖1所示。畫出前向傳播神經(jīng)網(wǎng)絡圖形如圖2所示,用神經(jīng)網(wǎng)絡反向學習算法與此圖去逼近模型,學習矩陣為之前選取的x1與x2的20個值與其對應的20個輸出值。 圖1函數(shù)f(x)的圖像 圖2前向傳播神經(jīng)網(wǎng)絡3 算法設計算法的程序流程圖如圖3所示 圖3 程序流程圖 圖 4輸出層神經(jīng)元示意圖圖5 隱含層神經(jīng)元示意圖3
3、.1 輸出層神經(jīng)元的權值修正算法(神經(jīng)元j)由于權值的修正值W是通過梯度下降法求得的,因此要求出(n)Wji(n)。如圖4, (n)Wji(n)的計算公式如下(n)Wji(n)=(n)ej(n)ej(n)yj(n)yj(n)vj(n)vj(n)Wji(n)對等式右側的分式分別求偏導數(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)這樣就得到了權值的修正值Wji(n)=ej(n)yi(n)(1-yi(n) yi(n)由此值修正權系數(shù)Wji(n)。3.2 隱含層神經(jīng)元的權值修正算法(神經(jīng)元j)仿照3.1求(n)Wji(n)。如圖5, (n)Wji(n)的計算公式如下:(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)則權值的修正值Wji(n)=(-(n)Wji(n)= j(n)yi(n)由此值修正權系數(shù)Wji(n)。3.3 MATLAB程序eta=0.06; %學習步長e1=zeros(1,20); e2=zeros(1,20); %誤差值sita=zeros(100,1); %誤差矩陣zeta=0; %誤差
6、初值N=20; %學習矩陣的長度 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);%真實值輸出矩陣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' %初始權值rou=0.03; %誤差衡量標準times=1000; %學習次數(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;%修正權值 W4=W4+dW4;% 修正權值 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;% 修正權值 W2=W2+dW2;% 修正權值 end sita(i)=zeta/N;%均方誤差計算 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');程序運行后可得到修正后的權值矩陣W1,W2,W3,W4分別賦給矩陣A,B,C,D。以及實際輸出的圖行曲線與BP算法得到的圖形曲線的比較圖。d1與y1的比較圖如圖3所示,d2與y2的比較圖如圖4所示。結果經(jīng)BP學習算法得到的學習曲線能與實際輸出的真實曲線有較好的相似度,且誤差在允許的范圍之內。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 結論根據(jù)以上的例子可以看出誤差反向傳播學習算法能夠較好的逼近任意的曲線,從而在決策面性質或其部分輸入輸出關系已知的情況下利用簡單的方法構造出決策面。因此在構造決策面(尤其是非線
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 9445-2024無損檢測人員資格鑒定與認證
- 保證保險行業(yè)經(jīng)營分析報告
- 個人背景調查行業(yè)市場調研分析報告
- 玩具箱家具市場分析及投資價值研究報告
- 襯裙項目運營指導方案
- 自行車腳踏車輪圈市場分析及投資價值研究報告
- 回熱式換熱器產品供應鏈分析
- 空白盒式錄像帶產品供應鏈分析
- 公共關系傳播策略咨詢行業(yè)經(jīng)營分析報告
- 醫(yī)療設備租賃行業(yè)經(jīng)營分析報告
- 2024年高考數(shù)學(理科)全國3卷(精校版)
- 中國新聞事業(yè)史 知到智慧樹網(wǎng)課答案
- 新質生產力-講解課件
- 2024年西安陜鼓動力股份有限公司招聘筆試沖刺題(帶答案解析)
- 形勢與政策(論當前國際形勢和中國外交)
- 第六章常微分方程
- 組織行為與領導力智慧樹知到期末考試答案2024年
- 《研學旅行課程設計》課件-體驗式學習課程內容設計
- 藝術中國智慧樹知到期末考試答案2024年
- 30道計量員崗位常見面試問題含HR問題考察點及參考回答
- 高等職業(yè)教育??朴⒄Z課程標準(2021版)
評論
0/150
提交評論