感知器算法實(shí)驗(yàn)-1_第1頁(yè)
感知器算法實(shí)驗(yàn)-1_第2頁(yè)
感知器算法實(shí)驗(yàn)-1_第3頁(yè)
感知器算法實(shí)驗(yàn)-1_第4頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1/12一 .實(shí)驗(yàn)?zāi)康?. 理解線性分類器的分類原理。2. 掌握感知器算法,利用它對(duì)輸入的數(shù)據(jù)進(jìn)行分類。3. 理解 BP 算法,使用 BP 算法對(duì)輸入數(shù)據(jù)進(jìn)行分類。二 . 實(shí)驗(yàn)原理1.感知器算法感知器算法是通過(guò)訓(xùn)練模式的迭代和學(xué)習(xí)算法,產(chǎn)生線性可分的模式判別函數(shù)。感知器算法就是通過(guò)對(duì)訓(xùn)練模式樣本集的“學(xué)習(xí)”得出判別函數(shù)的系數(shù)解。在本次實(shí)驗(yàn)中,我們主要是采用硬限幅函數(shù)進(jìn)行分類。感知器的訓(xùn)練算法如下:設(shè)輸入矢量其中每一個(gè)模式類別已知,它們分別屬于 1 類和 2 類。( 1)置步數(shù)k=1 ,令增量為某正的常數(shù),分別賦給初始增廣權(quán)矢量w(1) 的各分量較小的任意值。( 2)輸入訓(xùn)練模式,計(jì)算判別函數(shù)值

2、(k)。( 3)調(diào)整增廣權(quán)矢量,規(guī)則是:a.如果 1 和(k)0,則 w(k+1)=w(k)+ ;b.如果 2 和(k)0,則 w(k+1)=w(k)- ;c.如果 1 和(k)0,或 2 和(k)0,則 w(k+1)=w(k)( 4)如果 k,令 k=k+1 ,返回至( 2)。如果 k=N ,檢驗(yàn)判別函數(shù)(k)對(duì)是否正確分類。如果是,結(jié)束;如果不是,令k=1 ,返回至( 2)。如果訓(xùn)練模式已經(jīng)符號(hào)規(guī)范化,即 2 已經(jīng)乘以 -1(包括增廣分量1),則校正權(quán)矢量的規(guī)則可統(tǒng)一為w(kw(k )1)xkw(k )如果(k)0 分類正確, 則為第一個(gè)表達(dá)式,如果(k)0 錯(cuò)誤分類則為第二個(gè)表達(dá)式。在全

3、部模式訓(xùn)練完一輪之后只要還有模式分類錯(cuò)誤,則需要進(jìn)行第二輪迭代,再用全部訓(xùn)練模式訓(xùn)練一次,建立新的權(quán)矢量。如果對(duì)訓(xùn)練模式還有錯(cuò)分,則進(jìn)行第三輪迭代依此類推,直至對(duì)所有馴良模式均能正確分類為止,此時(shí)的w 即為所求的權(quán)矢量。2/122 BP 算法BP (Back Propagation)神經(jīng)網(wǎng)絡(luò)是一種神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法。其由輸入層、隱層、輸出層組成的階層型神經(jīng)網(wǎng)絡(luò),隱層可擴(kuò)展為多層。 相鄰層之間各神經(jīng)元進(jìn)行全連接,而每層各神經(jīng)元之間無(wú)連接,網(wǎng)絡(luò)按有教師示教的方式進(jìn)行學(xué)習(xí),當(dāng)一對(duì)學(xué)習(xí)模式提供給網(wǎng)絡(luò)后, 各神經(jīng)元獲得網(wǎng)絡(luò)的輸入響應(yīng)產(chǎn)生連接權(quán)值(Weight)。然后按減小希望輸出與實(shí)際輸出誤差的方向,從輸

4、出層經(jīng)各中間層逐層修正各連接權(quán),回到輸入層。 此過(guò)程反復(fù)交替進(jìn)行, 直至網(wǎng)絡(luò)的全局誤差趨向給定的極小值,即完成學(xué)習(xí)的過(guò)程。算法描述:輸入層 :單元 i 的輸入: xi ;單元數(shù)量: d;單元 i 的輸出: xi ;單元 i 的激活函數(shù):線性函數(shù) ;隱層:?jiǎn)卧?j 的輸入: netj;單元數(shù)量: nH;dtnet jji xij 0xji1x( x , x ,., x)t , x101d0j(j 0 ,j 1,., jd )t單元 j 的輸出: yjf (netj );單元 j的激活函數(shù):非線性函數(shù);輸出層:?jiǎn)卧?k 的輸入: netk ;單元數(shù)量: c ;nHtnetkjyjk 0ykkj1y

5、( y, y ,., yn)t , y0101Hk ( k0 , k1,., knH )t單元 k 的輸出: zkf ( netk )單元 k 的激活函數(shù):非線性函數(shù)兩層神經(jīng)網(wǎng)絡(luò)圖如下:3/12分析:( 1)給定隱層單元及輸出層單元的激活函數(shù),一個(gè)神經(jīng)網(wǎng)絡(luò)就可以實(shí)現(xiàn)一個(gè)對(duì)輸入特征向量 x 的非線性映射。因此,神經(jīng)網(wǎng)絡(luò)本質(zhì)上是一個(gè)非線性函數(shù)。( 2)給定隱層單元及輸出層單元的激活函數(shù),該非線性函數(shù)所對(duì)應(yīng)的映射關(guān)系完全由權(quán)系數(shù)決定。不同的權(quán)系數(shù)對(duì)應(yīng)不同的非線性映射。( 3)神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的目的, 就是根據(jù)已知的訓(xùn)練樣本, 確定神經(jīng)網(wǎng)絡(luò)的權(quán)系數(shù)。這一過(guò)程稱為訓(xùn)練過(guò)程。在訓(xùn)練過(guò)程結(jié)束后,對(duì)于新樣本 x

6、,根據(jù)神經(jīng)網(wǎng)絡(luò)的輸出進(jìn)行判決。( 4)對(duì)于 C 類分類問(wèn)題,神經(jīng)網(wǎng)絡(luò)的輸出為 zk ( x), k 1,.,c。神經(jīng)網(wǎng)絡(luò)的判決規(guī)則為:如果 zk ( x)zl ( x), l 1,.,c,l k ,則判 x 屬于 wk。( 5)令 gk ( x) zk ( x),k1,.,c,可以看出神經(jīng)網(wǎng)絡(luò)實(shí)際上實(shí)現(xiàn)了C 個(gè)非線性的鑒別函數(shù),并根據(jù)鑒別函數(shù)的取值進(jìn)行分類。( 6)神經(jīng)網(wǎng)絡(luò)的訓(xùn)練目標(biāo):調(diào)整權(quán)系數(shù) w,即所有的 wkj 及 wij ,使得對(duì)于訓(xùn)練集中的每一個(gè)訓(xùn)練樣本 (x,t) ,網(wǎng)絡(luò)的輸出盡可能滿足:z1 (x)t1z( x).tzc (x)tc( 7)優(yōu)化準(zhǔn)則:對(duì)于樣本集D,使下述誤差函數(shù)取

7、得最小值:J ( )Jx ()x DJx (1 c2)tk zk (x)2 k 14/12權(quán)系數(shù)的調(diào)整:kjkjJJk y j, kkjkjjijiJ, Jj xi, jjijiBP 算法描述:對(duì)于給定的樣本集D=(x,t) ,初始化網(wǎng)絡(luò)結(jié)構(gòu)效率、閾值。tkzf' (netk)kf (netj )ck kjk1d*nH*c 。初始化權(quán)系數(shù)w,學(xué)習(xí)隨機(jī)從 D 中取出一個(gè)樣本 (x,t),根據(jù)該樣本更新權(quán)系數(shù)w:JkjkjkjJjijiji計(jì)算JJ (pre ) J( ),如果J結(jié)束訓(xùn)練,并認(rèn)為此時(shí)的w 為最優(yōu)。否則轉(zhuǎn)第 2 步繼續(xù)進(jìn)行循環(huán)。三 實(shí)驗(yàn)內(nèi)容1. 感知器算法實(shí)驗(yàn)本實(shí)驗(yàn)利用感知器

8、算法的原理,隨機(jī)抽取兩類的部分?jǐn)?shù)據(jù),然后,用這兩類的其他數(shù)據(jù)來(lái)驗(yàn)證分類是否正確。這里是利用感知器兩兩分類的原理。實(shí)驗(yàn)可得結(jié)果如下表。其中r1是輸入 x1 所得的分類正確率,r2 是輸入 x2 所得的分類正確率,r3 是輸入 x3 所得的分類正確率。當(dāng)訓(xùn)練樣本數(shù)m 取20 時(shí),x1 和 x2 數(shù)據(jù)分類正確率都是100% ,x1 和 x3 數(shù)據(jù)分類正確率是 100% ,而 x2和 x3的分類正確率分別為 86% 和 93%。當(dāng)訓(xùn)練樣本數(shù)m 取30 時(shí),x1 和 x2 數(shù)據(jù)分類正確率都是100% ,x1 和 x3 數(shù)據(jù)分類正確率是 100% ,而 x2和 x3的分類正確率分別為 92% 和 88%。

9、由實(shí)驗(yàn)結(jié)果可以看出, x1 和 x2、 x1 和 x3 之間是線性可分的,而x2 和 x3 則達(dá)到了與預(yù)設(shè)的迭代次數(shù)的上限, 且分類效果不明顯。 說(shuō)明感知器算法對(duì)于現(xiàn)行可分的數(shù)據(jù)有比較好的性能與速度,但對(duì)于線性不可分的數(shù)據(jù)則效果較差。2 BP 算法實(shí)驗(yàn)( 1)異或問(wèn)題實(shí)驗(yàn)利用前向兩層神經(jīng)網(wǎng)絡(luò)來(lái)完成異或分類,輸入的樣本為x1=01 1, x2=1 0 1,5/12x3=0 0 1,x4=1 11將這四個(gè)樣本分成兩類。其中,x1 和 x2 是屬于 w1 類, x3 和 x4屬于 w2 類。第一層(輸入層) 采用三個(gè)神經(jīng)元, 兩個(gè)輸入神經(jīng)元和一個(gè)恒等于1 的神經(jīng)元,第二層(輸出層)設(shè)置一個(gè)神經(jīng)元,第

10、二層輸出的值若小于0.5 就表示為w1 類,大于0.5就表示 w2 類。這里采用負(fù)梯度法調(diào)整參數(shù)。在本實(shí)驗(yàn)中,我們記錄訓(xùn)練次數(shù)和做不同次實(shí)驗(yàn)的分類正確率。取實(shí)驗(yàn)次數(shù)為1,訓(xùn)練次數(shù)為3686 ,分類正確率為100% ;取實(shí)驗(yàn)次數(shù)為25,最后一次訓(xùn)練次數(shù)為2970 ,分類正確率100%;取實(shí)驗(yàn)次數(shù)為50,最后一次訓(xùn)練次數(shù)2942,分類正確率100%。由實(shí)驗(yàn)可以看出,分別做1 次、 25 次和 50 次實(shí)驗(yàn),所得到的分類正確率都是100,所以說(shuō)利用前向兩層神經(jīng)網(wǎng)絡(luò)來(lái)完成異或分類問(wèn)題可以得到很好的分類效果。( 2)BP 算法實(shí)驗(yàn)采用前向兩層神經(jīng)網(wǎng)絡(luò)來(lái)實(shí)現(xiàn) x1、x2 和 x3 兩兩之間的分類。 分別選

11、取不同個(gè)數(shù) ( m)的樣本進(jìn)行訓(xùn)練, 得到相應(yīng)的權(quán)系數(shù), 然后再將全部數(shù)據(jù)代入進(jìn)行分類, 記錄訓(xùn)練次數(shù)和分類正確率??傻萌缦陆Y(jié)果:輸入不同組數(shù)據(jù)后的訓(xùn)練次數(shù)和分類正確率訓(xùn)練樣本數(shù)x1和 x2x1 和 x3x2 和 x3正確率迭代正確率迭代正確率迭代系數(shù)次數(shù)次數(shù)m=5r1=100%r1=100%r2=92%r2=100%1334r3=100%1336r3=86%4452m=15r1=100%r1=100%r2=92%r2=100%915r3=100%1276r3=98%2213m=25r1=100%r1=100%r2=92%r2=100%989r3=100%1131r3=96%1970m=35r

12、1=100%r1=100%r2=92%r2=100%961r3=100%1044r3=98%1410m=45r1=100%r1=100%r2=90%r2=100%867r3=100%1039r3=100%2006x1 和 x2 之間分別選取訓(xùn)練樣本數(shù)為5 和 45 時(shí)的分類效果 :6/12x1 和 x3 之間分別選取訓(xùn)練樣本數(shù)為5 和 45 時(shí)的分類效果:x2 和 x3 之間分別選取訓(xùn)練樣本數(shù)為5 和 45 時(shí)的分類效果:7/12下面是分別進(jìn)行不同多次實(shí)驗(yàn)所得的正確率的統(tǒng)計(jì)結(jié)果:實(shí)驗(yàn)次數(shù)訓(xùn)練樣本分類正確次數(shù)正確率個(gè)數(shù)m=5r1=19, r2=2097.5p=20m=15r1=20, r2=20

13、100m=25r1=20, r2=20100m=35r1=19, r2=2097.5m=45r1=20, r2=20100m=5r1=50, r2=50100x1 和 x3p=50m=15r1=50, r2=50100m=25r1=49, r2=5099之間m=35r1=50, r2=50100m=45r1=50, r2=50100m=5r1=98, r2=10099p=100m=15r1=97, r2=10098.5m=25r1=100,r2=100100m=35r1=97, r2=10098.5m=45r1=99, r2=10099.5實(shí)驗(yàn)次數(shù)訓(xùn)練樣本分類正確次數(shù)正確率個(gè)數(shù)m=5r1=20

14、, r2=20100m=15r1=19, r2=2097.5m=25r1=19, r2=2097.5p=20m=35r1=20, r2=20100m=45r1=20, r2=20100m=5r1=48, r2=5098x1 和 x2p=50m=15r1=49, r2=5099m=25r1=49, r2=5099之間m=35r1=50, r2=50100m=45r1=50, r2=50100p=100m=5r1=95, r2=10097.5m=15r1=99, r2=10099.5m=25r1=97,r2=10098.5m=35r1=99, r2=10099.5m=45r1=98, r2=100

15、99實(shí)驗(yàn)次數(shù)訓(xùn)練樣本分類正確次數(shù)正確率8/12個(gè)數(shù)m=5r1=4 ,r2=420p=20m=15r1=0 ,r2=2050m=25r1=4 ,r2=1137.5x2 和 x3m=35r1=4 ,r2=2037.5之間m=45r1=0 ,r2=1127.5m=5r1=3 ,r2=25p=50m=15r1=0 ,r2=4343m=25r1=13, r2=2134m=35r1=1 ,r2=1314m=45r1=0 ,r2=4040分析實(shí)驗(yàn)結(jié)果可以得出:無(wú)論從一次實(shí)驗(yàn)所得結(jié)果還是從做多次實(shí)驗(yàn)所得的統(tǒng)計(jì)結(jié)果上來(lái)看,利用前向二層神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)x1、 x2 和 x3 兩兩之間的分類,對(duì)于x1 和 x2 之間、

16、 x1和 x3 之間的分類效果是比較明顯的,可以很好的將兩類分開。而對(duì)于x2 和 x3 之間卻很難用此種辦法達(dá)到很好的分類效果。四 . 實(shí)驗(yàn)小結(jié)本次實(shí)驗(yàn)主要是進(jìn)行線性可分類問(wèn)題的實(shí)驗(yàn),實(shí)驗(yàn)中分別運(yùn)用感知器算法和BP 算法進(jìn)行 x1、x2 和 x3 兩兩之間的分類,結(jié)果得出, 只有 x1 和 x2 之間及 x1 和 x3 之間是線性可分的,而 x2 和 x3 之間是無(wú)法用這兩種辦法分開的。本次實(shí)驗(yàn)中,在運(yùn)用BP 算法進(jìn)行x1、x2和 x3 之間的分類之前,還進(jìn)行了異或問(wèn)題的實(shí)驗(yàn),實(shí)驗(yàn)中采用兩層前向神經(jīng)網(wǎng)絡(luò)達(dá)到了很好的分類效果,為進(jìn)行后面的實(shí)驗(yàn)打好了基礎(chǔ)。通過(guò)本次實(shí)驗(yàn),使我對(duì)感知器算法和 BP 算

17、法有了更加深入的認(rèn)識(shí),以前在神經(jīng)網(wǎng)絡(luò)這門課程中所學(xué)的理論問(wèn)題, 在本次實(shí)驗(yàn)中通過(guò)具體動(dòng)手進(jìn)行編程, 使得對(duì)當(dāng)時(shí)所學(xué)知識(shí)有了更加深入的認(rèn)識(shí)。 在實(shí)驗(yàn)中也遇到了各種各樣的問(wèn)題, 通過(guò)思考解決后, 對(duì)我以后的學(xué)習(xí)很有幫助。五. 代碼1.感知器算法clear all;k1(i,:)=k(i,:);close all;k2(i,:)=k(i+50,:);clc;k3(i,:)=k(i+100,:);k=load('iris.txt');endk1=zeros(50,4);m=input(' 訓(xùn)練樣本數(shù)m=');k2=zeros(50,4);T1=zeros(m,4);k3

18、=zeros(50,4);T2=zeros(m,4);for i=1:1:50T3=zeros(m,4);9/12index=randperm(50);endfor i=1:1:mendT1(i,:)=k1(index(i),:);endT2(i,:)=k2(index(i),:);T3(i,:)=k3(index(i),:);2.BP 算法解決異或問(wèn)題endclear all;W=0.1,0.1,0.1,0.1;close all;count=0;clc;k=0.02;p=0;cc=0;x1=0 0 -1;1 1 -1;while(count<m&&cc<100)

19、x2=0 1 -1;1 0 -1;i=1;r11=0;r22=0;count=0;while p<25while(i<=m)a=0.5;if(W*T1(i,:)'<0)pf=1;W=W+k*T1(i,:);w1=rand(3,2);count=0;w2=rand(3,1);endk=1;if(W*T2(i,:)'>0)while pf>0.001W=W-k*T2(i,:);if mod(k,4)=1count=0;g1=x1(1,:);endd=0.1;if(W*T1(i,:)'>0)&&(W*T2(i,:)'

20、<0)endcount=count+1;if mod(k,4)=2endg1=x2(1,:);i=i+1;d=0.9;endendcc=cc+1;if mod(k,4)=3endg1=x1(2,:);ccd=0.1;k=k1;k2;endfor i=1:1:100if mod(k,4)=0if(W*k(i,:)'>0)g1=x2(2,:);if(0<i&&i<51) fprintf(' 第 %d個(gè)數(shù)d=0.9;據(jù)被分為第一類,分類正確n',i);endelse fprintf(' 第 %d個(gè)數(shù)據(jù)被分為g2=g1*w1;第一

21、類,分類錯(cuò)誤 n',i);o1=1./(1+exp(-g2);endo1_y=o1 -1;endg3=o1_y*w2;if(W*k(i,:)'<0)o2=1./(1+exp(-g3);if(50<i&&i<101)fprintf(' 第 %d 個(gè)% 輸出層的權(quán)系數(shù)調(diào)整數(shù)據(jù)被分為第二類,分類正確n',i);det2=a*2*(d-o2)*o2*(1-o2)*o1_y;else fprintf(' 第 %d個(gè)數(shù)據(jù)被分為w2=w2+det2'第二類,分類錯(cuò)誤 n',i);s=2*(d-o2)*o2*(1-o2)

22、;10/12%第一層的權(quán)系數(shù)調(diào)整load('data.mat');w22=w2'm=input(' 訓(xùn)練樣本數(shù)m=');% 輸入訓(xùn)det1=a*g1'*(s*w22(:,1:2).*o1.*(1-o1);練樣本數(shù)w1=w1+det1;T1=zeros(m,4);err=d-o2;T2=zeros(m,4);pf=err2;T3=zeros(m,4);k=k+1;%隨機(jī)抽取 m 個(gè)訓(xùn)練樣本endindex=randperm(50);r1=0;for i=1:1:m%得到隨機(jī)的訓(xùn)練樣本for j=1:1:2x1(i,:)=k1(index(i),:)

23、;t1=x1(j,:)*w1;x2(i,:)=k2(index(i),:);y1=1./(1+exp(-t1);x3(i,:)=k3(index(i),:);y1_y=y1 -1;endI2=y1_y*w2;p=0;r11=0;r22=0;y2(j)=1./(1+exp(-I2);while p<50if y2(j)<0.5a=0.5;r1=r1+1;pf=1;endw1=rand(4,5);endw2=rand(6,1);if r1=2k=1;tt=1;r11=r11+1;while pf>0.000001endif k>mr2=0;k=1;for j=1:1:2endt2=x2(j,:)*w1;if mod(k,2)=1y11=1./(1+exp(-t2);g1=x2(k,:);y11_y=y11 -1;d=0.1;I21=y11_y*w2;endy21(j)=1./(1+exp(-I21);if mod(k,2)=0if y21(j)>0.5g1=x3(k,:);r2=r2+1;d=0.9;endendendif r2=2g

溫馨提示

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

評(píng)論

0/150

提交評(píng)論