神經(jīng)網(wǎng)絡(luò)與MATLAB仿真ppt課件_第1頁
神經(jīng)網(wǎng)絡(luò)與MATLAB仿真ppt課件_第2頁
神經(jīng)網(wǎng)絡(luò)與MATLAB仿真ppt課件_第3頁
神經(jīng)網(wǎng)絡(luò)與MATLAB仿真ppt課件_第4頁
神經(jīng)網(wǎng)絡(luò)與MATLAB仿真ppt課件_第5頁
已閱讀5頁,還剩140頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、11.人工神經(jīng)網(wǎng)絡(luò)簡介 2.神經(jīng)網(wǎng)絡(luò)的特點(diǎn)及應(yīng)用 3.神經(jīng)網(wǎng)絡(luò)模型 4.神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)方式 2 人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network,ANN),通常簡稱為神經(jīng)網(wǎng)絡(luò),是一種在生物神經(jīng)網(wǎng)絡(luò)的啟示下建立的數(shù)據(jù)處理模型。主要通過調(diào)整神經(jīng)元之間的權(quán)值來對(duì)輸入的數(shù)據(jù)進(jìn)行建模,最終具備解決實(shí)際問題。3 單層感知器結(jié)構(gòu) 人工神經(jīng)網(wǎng)絡(luò)的可塑性表現(xiàn)于,其連接權(quán)值都是可調(diào)整的,它將一系列僅具有簡單處理能力的節(jié)點(diǎn)通過權(quán)值相連,當(dāng)權(quán)值調(diào)整至恰當(dāng)時(shí),就能輸出正確的結(jié)果。網(wǎng)絡(luò)將知識(shí)存儲(chǔ)在調(diào)整后的各權(quán)值中,這一點(diǎn)是神經(jīng)網(wǎng)絡(luò)的精髓。 41.自學(xué)習(xí)和自適應(yīng)性。自學(xué)習(xí)和自適應(yīng)性。給神經(jīng)網(wǎng)絡(luò)輸入新的訓(xùn)練樣

2、本,網(wǎng)絡(luò)能夠自動(dòng)調(diào)整結(jié)構(gòu)參數(shù),改變映射關(guān)系 2.非線性性。非線性性。人工神經(jīng)元處于激活或抑制狀態(tài),表現(xiàn)為數(shù)學(xué)上的非線性關(guān)系。 3.魯棒性與容錯(cuò)性魯棒性與容錯(cuò)性 。局部的損害會(huì)使人工神經(jīng)網(wǎng)絡(luò)的運(yùn)行適度減弱,但不會(huì)產(chǎn)生災(zāi)難性的錯(cuò)誤。4.計(jì)算的并行性與存儲(chǔ)的分布性。計(jì)算的并行性與存儲(chǔ)的分布性。每個(gè)神經(jīng)元都可以根據(jù)接收到的信息進(jìn)行獨(dú)立運(yùn)算和處理 。人工神經(jīng)網(wǎng)絡(luò)具有強(qiáng)大的模式識(shí)別和數(shù)據(jù)擬合能力 51.模式分類 。需要提供已知樣本 2.聚類 。不需要提供已知樣本 。3.回歸與擬合 。相似的樣本輸入在神經(jīng)網(wǎng)絡(luò)的映射下,往往能得到相近的輸出。 4.優(yōu)化計(jì)算 。尋找一組參數(shù)組合,使由該組合確定的目標(biāo)函數(shù)達(dá)到最小

3、值 。5.數(shù)據(jù)壓縮 。將數(shù)據(jù)保存于連接權(quán)值中。6l 單層網(wǎng)絡(luò):單層感知器,線性網(wǎng)絡(luò)。l 多層網(wǎng)絡(luò):其他網(wǎng)絡(luò)。n 前向網(wǎng)絡(luò):BP、徑向基網(wǎng)絡(luò)、自組織網(wǎng)絡(luò)等。n 反饋網(wǎng)絡(luò):Hopfield網(wǎng)絡(luò),Elman網(wǎng)絡(luò)等。 本書共介紹了單層感知器、線性網(wǎng)絡(luò)、BP網(wǎng)絡(luò)、徑向基網(wǎng)絡(luò)、自組織競爭網(wǎng)絡(luò)、反饋網(wǎng)絡(luò)、隨機(jī)神經(jīng)網(wǎng)絡(luò)等神經(jīng)網(wǎng)絡(luò)模型。 71.有監(jiān)督學(xué)習(xí)(有教師學(xué)習(xí) )。訓(xùn)練樣本對(duì)應(yīng)一個(gè)教師信號(hào) 。2.無監(jiān)督學(xué)習(xí) (無教師學(xué)習(xí) )。網(wǎng)絡(luò)只接受一系列的輸入樣本,而對(duì)該樣本應(yīng)有的輸出值一無所知。 1. Hebb學(xué)習(xí)規(guī)則:權(quán)值的調(diào)整量與輸入前一神經(jīng)元輸出值和后一神經(jīng)元輸出值的乘積成正比 。2. 糾錯(cuò)學(xué)習(xí)規(guī)則:權(quán)值的調(diào)

4、整量與誤差大小成正比 。3. 隨機(jī)學(xué)習(xí)規(guī)則:Boltzmann機(jī)事實(shí)上就是模擬退火算法 。4. 競爭學(xué)習(xí)規(guī)則:只有一個(gè)獲勝神經(jīng)元可以進(jìn)行權(quán)值調(diào)整,其他神經(jīng)元的權(quán)值維持不變,體現(xiàn)了神經(jīng)元之間的側(cè)向抑制 。 abey8單9iuijxnj, 1ijwjuiuis10)(iiugy jiijijisxwNet)(iiNetfu iiuug)()(iiNetfy 11120001)(iiiNetNetNetf13iliiliiiiiiNetNetfNetNetNetkNetNetNetNetfmax000)(14TNetiieNetf11)(15161.單層感知器的結(jié)構(gòu) 2.單層感知器的學(xué)習(xí)算法 3.感

5、知器的局限性 4.單層感知器應(yīng)用實(shí)例 17 單層感知器屬于單層前向網(wǎng)絡(luò),即除了輸入層和輸出層之外只擁有一層神經(jīng)元節(jié)點(diǎn)。 感知器(感知器(perception )的原理相對(duì)簡單,是學(xué)習(xí)其他復(fù)雜)的原理相對(duì)簡單,是學(xué)習(xí)其他復(fù)雜神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)神經(jīng)網(wǎng)絡(luò)的基礎(chǔ) 。 由單個(gè)神經(jīng)元組成的單層感知器只能用來解決線性可分的二分類問題。 典型使用場(chǎng)景: 將其用于兩類模式分類時(shí),就相當(dāng)于在高維樣本空間中,用一個(gè)超平面將樣本分開。Rosenblatt證明,如果兩類模式線性可分,則算法一定收斂。 181sgnNiiiyxb12, , ,Nx xxxi1Niiivx1010vyv輸入是一個(gè)N維向量其中的每一個(gè)分量都對(duì)應(yīng)于

6、一個(gè)權(quán)值,隱含層的輸出疊加為一個(gè)標(biāo)量值:隨后在二值閾值元件中對(duì)得到的v值進(jìn)行判斷,產(chǎn)生二值輸出二值輸出:1911220 xxb二維空間中的超平面是一條直線。在直線下方的點(diǎn),輸出-1;在直線上方的點(diǎn),輸出1。分類面:20在實(shí)際應(yīng)用中 ,通常采用糾錯(cuò)學(xué)習(xí)規(guī)則的學(xué)習(xí)算法。 將偏置作為一個(gè)固定輸入 T12( )1,( ),( ),( )Nnx n x nxn x輸入T12( )( ),( ),( ),( )Nnb nnnn權(quán)值T0( )( ) ( )Ni iiv nxnnx21(1)定義變量和參數(shù)。X為輸入,y為實(shí)際輸出,d為期望輸出,b為偏置,w為權(quán)值。(2)初始化。n=0,將權(quán)值向量 設(shè)置為隨機(jī)值

7、或全零值。(3)激活。輸入訓(xùn)練樣本,對(duì)每個(gè)訓(xùn)練樣本指定其期望輸出 。T12( )1,( ),( ),( )Nnx n x nxn xd(4)計(jì)算實(shí)際輸出。T( )sgn( ) ( )y nnnwx22(5)更新權(quán)值向量。(1)( )( )( )( )nnd ny nnx(6)判斷。若滿足收斂條件,算法結(jié)束;若不滿足,n自增1,轉(zhuǎn)到第3步繼續(xù)執(zhí)行。誤差小于某個(gè)預(yù)先設(shè)定的較小的值 兩次迭代之間的權(quán)值變化已經(jīng)很小 設(shè)定最大迭代次數(shù)M,當(dāng)?shù)薓次之后算法就停止迭代 條件的混合使用,防止出現(xiàn)算法不收斂現(xiàn)象。 23確定學(xué)習(xí)率 不應(yīng)當(dāng)過大,以便為輸入向量提供一個(gè)比較穩(wěn)定的權(quán)值估計(jì) 不應(yīng)當(dāng)過小,以便使權(quán)值能

8、夠根據(jù)輸入的向量x實(shí)時(shí)變化,體現(xiàn)誤差對(duì)權(quán)值的修正作用 粗準(zhǔn)焦螺旋 和細(xì)準(zhǔn)焦螺旋的類比。自適應(yīng)學(xué)習(xí)率。24單層感知器無法解決線性不可分問題,只能做近似分類。 感知器的激活函數(shù)使用閾值函數(shù),輸出值只有兩種取值,限制了在分類種類上的擴(kuò)展 。 如果輸入樣本存在奇異樣本,網(wǎng)絡(luò)需要花費(fèi)很長的時(shí)間。 感知器的學(xué)習(xí)算法只對(duì)單層有效 。251.手算2.使用工具箱函數(shù) 坐標(biāo)點(diǎn)的二類模式分類問題 :二維平面坐標(biāo)系中存在一系列坐標(biāo)點(diǎn),已知部分坐標(biāo)點(diǎn)屬于第一類,部分坐標(biāo)點(diǎn)屬于第二類,求新坐標(biāo)點(diǎn)的類別。26序號(hào)Xy所屬類型(期望輸出)1-915021813-12404-45050110659127T12,b 定義:T11

9、221,1,x yx yPT0,1,0,0,0,1d n=0.2; P= -9 1 -12 -4 0, 5;.15 -8 4 5 11, 9; d=0,1,0,0,0,1; P=ones(1,6);P28(2)初始化,將權(quán)值和偏置初始化為零。 w=0,0,0;(3)第一次迭代。 v=w*P% 輸出層的輸入 y=hardlim(v)% 計(jì)算網(wǎng)絡(luò)的輸出根據(jù) 調(diào)整權(quán)值 e=(d-y)% 誤差 ee=mae(e) % 計(jì)算誤差的平均絕對(duì)差 w=w+n*(T-y)*P% 調(diào)整wTdy P29(4)第二次迭代。 重復(fù)以上的步驟 v=w*P y=hardlim(v) e=(d-y) ee=mae(e) %

10、誤差不為零! w=w+n*(T-y)*P均勻分布元素的方差30(5)第三次迭代,重復(fù)以上步驟。 v=w*P y=hardlim(v) e=(d-y) ee=mae(e) w=w+n*(T-y)*P31(6)第四次迭代。 v=w*P y=hardlim(v) e=(d-y) ee=mae(e) w=w+n*(T-y)*P73.40.40 xyperception_hand.m誤差為零,權(quán)值w不再更新,得到的分類超平面為:322.使用工具箱函數(shù)使用工具箱函數(shù)用到的函數(shù):newptrainsimperception_fcn.m33程序% perception_hand.m% 清理 (1)定義變量 定

11、義輸入 期望輸出clear,clcclose all%n=0.2; % 學(xué)習(xí)率w=0,0,0; P= -9, 1, -12, -4, 0, 5;. 15, -8, 4, 5, 11, 9;d=0,1,0,0,0,1; % 期望輸出P=ones(1,6);P;P34P = 1 1 1 1 1 1 -9 1 -12 -4 0 5 15 -8 4 5 11 935% (2)顯示要分類的點(diǎn)figure;subplot(2,1,1); % 顯示待分類的點(diǎn)和分類結(jié)果plot(-9 , -12 -4 0,15, 4 5 11,o);hold on;plot(1,5,-8,9,*);axis(-13,6,-1

12、0,16);legend(第一類,第二類);title(6個(gè)坐標(biāo)點(diǎn)的二分類);36-12-10-8-6-4-20246-10-50510156個(gè) 坐 標(biāo) 點(diǎn) 的 二 分 類第 一 類第 二 類37% (3) 初始化w=0,0,0;% (4)第一次迭代計(jì)算V和y值v=w*P; v y=hardlim(v); % 實(shí)際輸出y% y是實(shí)際輸出,與期望輸出d不一致需要根據(jù)誤差d-y調(diào)整權(quán)值和偏置e=(d-y);e ee=mae(e);ee w=w+n*(d-y)*P;w38v = 0 0 0 0 0 0y = 1 1 1 1 1 1e = -1 0 -1 -1 -1 0ee = 0.6667w = -

13、0.8000 5.0000 -7.000039% (5)第二次迭代,根據(jù)第一次迭代更新的w向量的值,計(jì)算V和y值 v=w*P; v y=hardlim(v); % 實(shí)際輸出ye=(d-y);e ee=mae(e);ee% 可以發(fā)現(xiàn),實(shí)際輸出與期望輸出仍然不一致,還需要再次調(diào)整w向量w=w+n*(d-y)*P;w40v = -150.8000 60.2000 -88.8000 -55.8000 -77.8000 -38.8000y = 0 1 0 0 0 0e = 0 0 0 0 0 1ee = 0.1667w = -0.6000 6.0000 -5.200041% (6)第三次迭代,根據(jù)第一次

14、迭代更新的w向量的值,計(jì)算V和y值v=w*P; v y=hardlim(v); % 實(shí)際輸出ye=(d-y);e ee=mae(e);ee% 可以發(fā)現(xiàn),mae值與前一次迭代相比沒有變化,但是v值已經(jīng)有了更新,繼續(xù)調(diào)整權(quán)值和偏置w=w+n*(d-y)*P;w42v = -132.6000 47.0000 -93.4000 -50.6000 -57.8000 -17.4000y = 0 1 0 0 0 0e = 0 0 0 0 0 1ee = 0.1667w = -0.4000 7.0000 -3.400043% (7)第四次迭代v=w*P; v y=hardlim(v); % 實(shí)際輸出ye=(d

15、-y);e ee=mae(e);ee% 可以發(fā)現(xiàn),程序在第四次迭代時(shí)就已經(jīng)取得正確的結(jié)果,mae值為0,此時(shí)算法就收斂了,由于mae值為0,因此即使繼續(xù)更新w向量,其值也保持不變:w=w+n*(d-y)*P;w44v = -114.4000 33.8000 -98.0000 -45.4000 -37.8000 4.0000y = 0 1 0 0 0 1e = 0 0 0 0 0 0ee = 045 w=w+n*(d-y)*P;ww = -0.4000 7.0000 -3.4000程序在第4次迭代時(shí)就已經(jīng)取得了正確的結(jié)果,mae值為零。此時(shí)算法就收斂了,由于mae值為零,因此繼續(xù)更新w向量,其值

16、也保持不變。46% 顯示figure;subplot(2,1,1); % 顯示待分類的點(diǎn)和分類結(jié)果plot(-9 , -12 -4 0,15, 4 5 11,o);hold on;plot(1,5,-8,9,*);axis(-13,6,-10,16);legend(第一類,第二類);title(6個(gè)坐標(biāo)點(diǎn)的二分類);x=-13:.2:6;y=x*(-w(2)/w(3)-w(1)/w(3);plot(x,y);hold off;47-12-10-8-6-4-20246-10-50510156個(gè) 坐 標(biāo) 點(diǎn) 的 二 分 類第 一 類第 二 類48總程序% perception_hand.m% 清理

17、clear,clcclose all%n=0.2; % 學(xué)習(xí)率w=0,0,0; P= -9, 1, -12, -4, 0, 5;. 15, -8, 4, 5, 11, 9;d=0,1,0,0,0,1; % 期望輸出P=ones(1,6);P;MAX=20; % 最大迭代次數(shù)為20次% 訓(xùn)練i=0;49while 1 v=w*P; y=hardlim(v); % 實(shí)際輸出 %更新 e=(d-y); ee(i+1)=mae(e); if (ee(i+1)=MAX) % 達(dá)到最大迭代次數(shù),退出 disp(MAX times loop); disp(w); disp(ee(i+1); break; e

18、nd i= i+1;end51% 顯示figure;subplot(2,1,1); % 顯示待分類的點(diǎn)和分類結(jié)果plot(-9 , -12 -4 0,15, 4 5 11,o);hold on;plot(1,5,-8,9,*);axis(-13,6,-10,16);legend(第一類,第二類);title(6個(gè)坐標(biāo)點(diǎn)的二分類);x=-13:.2:6;y=x*(-w(2)/w(3)-w(1)/w(3);plot(x,y);hold off;52subplot(2,1,2); % 顯示mae值的變化x=0:i;plot(x,ee,o-);s=sprintf(mae的值(迭代次數(shù):%d), i+1

19、);title(s);5354551.線性神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu) 2.LMS學(xué)習(xí)算法 3.LMS算法中學(xué)習(xí)率的選擇 4.線性神經(jīng)網(wǎng)絡(luò)與感知器的對(duì)比 5.線性神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)直線擬合6.線性神經(jīng)網(wǎng)絡(luò)應(yīng)用實(shí)例-與 56 線性神經(jīng)網(wǎng)絡(luò)最典型的例子是自適應(yīng)線性元件(Adaptive Linear Element,Adaline)。 線性神經(jīng)網(wǎng)絡(luò)與感知器的主要區(qū)別在于,感知器的傳輸函數(shù)只能輸出兩種可能的值,而線性神經(jīng)網(wǎng)絡(luò)的輸出可以取任意值,其傳輸函數(shù)是線性函數(shù)。 線性神經(jīng)網(wǎng)絡(luò)在收斂的精度和速度上較感知器都有了較大提高,但由于其線性運(yùn)算規(guī)則,它也只能解決線性可分的問題。 57 線性神經(jīng)網(wǎng)絡(luò)在結(jié)構(gòu)上與感知器網(wǎng)絡(luò)非常相似

20、,只是神經(jīng)元傳輸函數(shù)不同。 1Niiivxb( )ypurelin v1()Niiiypurelinxb58 若網(wǎng)絡(luò)中包含多個(gè)神經(jīng)元節(jié)點(diǎn),就能形成多個(gè)輸出,這種線性神經(jīng)網(wǎng)絡(luò)叫Madaline網(wǎng)絡(luò)。 Madaline可以用一種間接的方式解決線性不可分的問題,方法是用多個(gè)線性函數(shù)對(duì)區(qū)域進(jìn)行劃分,然后對(duì)各個(gè)神經(jīng)元的輸出做邏輯運(yùn)算。 59 線性神經(jīng)網(wǎng)絡(luò)解決線性不可分問題的另一個(gè)方法是,對(duì)神經(jīng)元添加非線性輸入,從而引入非線性成分,這樣做會(huì)使等效的輸入維度變大。60 LMS算法與感知器網(wǎng)絡(luò)的學(xué)習(xí)算法在權(quán)值調(diào)整上都基于糾錯(cuò)學(xué)習(xí)規(guī)則,但LMS更易實(shí)現(xiàn),因此得到了廣泛應(yīng)用,成為自適應(yīng)濾波的標(biāo)準(zhǔn)算法。也稱為 規(guī)則

21、 采用均方誤差作為評(píng)價(jià)指標(biāo) T( )( )( ) ( )e nd nnn x211( )QkmseekQ 是輸入訓(xùn)練樣本的個(gè)數(shù)。線性神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的目標(biāo) 是找到適當(dāng)?shù)?,使得誤差的均方差最小。只要用對(duì) 求偏導(dǎo),再令該偏導(dǎo)等于零即可求出 的極值。顯然, 必為正值,因此二次函數(shù)是凹向上的,求得的極值必為極小值。Qmsemsemse6121( )( )2Een( )( )Ee ne nT( )( )( ) ( )e nd nnnxT( )( )e nn xT( ) ( )En e n x誤差表示為求導(dǎo)誤差等于期望輸出實(shí)際輸出(1)( )()nnT(1)( )( )( ) ( )Ennnn e nx求導(dǎo)

22、代入,有:權(quán)值的修正值正比于當(dāng)前位置上的梯度 62(1)定義變量和參數(shù)。(2)初始化。給向量賦一個(gè)較小的隨機(jī)初值 。(3)輸入樣本,計(jì)算實(shí)際輸出和誤差。 (4)調(diào)整權(quán)值向量。(5)判斷算法是否收斂。若滿足收斂條件,則算法結(jié)束 ,否則跳轉(zhuǎn)到第3步重新計(jì)算。 T(1)( )( ) ( )nnn e nx63 學(xué)習(xí)率越小,算法的運(yùn)行時(shí)間就越長,算法也就記憶了更多過去的數(shù)據(jù)。因此,學(xué)習(xí)率的倒數(shù)反映了LMS算法的記憶容量大小。 1996年Hayjin證明,只要學(xué)習(xí)率滿足下式,LMS算法就是按方差收斂的 max20max:輸入向量自相關(guān)矩陣的最大特征值max一般不可知,用矩陣的跡代替,跡就是主對(duì)角線元素之

23、和。64自相關(guān)矩陣的主對(duì)角線元素就是各輸入向量的均方值 ,故:20向量均方值之和 在感知器學(xué)習(xí)算法中曾提到,學(xué)習(xí)率隨著學(xué)習(xí)的進(jìn)行逐漸下降比始終不變更加合理。 0n0=nc01n反比例函數(shù)指數(shù)式下降搜索收斂方案 65網(wǎng)絡(luò)傳輸函數(shù)。感知器傳輸函數(shù)是一個(gè)二值閾值元件,而線性神經(jīng)網(wǎng)絡(luò)的傳輸函數(shù)是線性的。這就決定了感知器只能做簡單的分類,而線性神經(jīng)網(wǎng)絡(luò)還可以實(shí)現(xiàn)擬合或逼近。 學(xué)習(xí)算法 。LMS算法得到的分類邊界往往處于兩類模式的正中間,而感知器學(xué)習(xí)算法在剛剛能正確分類的位置就停下來了,從而使分類邊界離一些模式距離過近,使系統(tǒng)對(duì)誤差更敏感。 66 對(duì)于一些離散的數(shù)據(jù)點(diǎn),從中找到這些點(diǎn)的規(guī)律,就做一條直線,

24、穿過盡可能多的點(diǎn),使得這些數(shù)據(jù)和直線上所的估計(jì)的點(diǎn)的方差最小,找到的這條直線就是擬合直線,該直線代表了數(shù)據(jù)之間的線性規(guī)律。67% 清理clear,clcclose all% 定義數(shù)據(jù)P=-5:5; % 輸入:11個(gè)標(biāo)量Pd=3*P-7;drandn(state,2);d=d+randn(1,length(d)*1.5 % 期望輸出:加了噪聲的線性函數(shù)d68P=ones(1,length(P);P % P加上偏置Plp.lr = 0.01; % 學(xué)習(xí)率MAX = 150; % 最大迭代次數(shù)ep1 = 0.1; % 均方差終止閾值ep2 = 0.0001; % 權(quán)值變化終止閾值% 初始化w=0,0

25、;69% 循環(huán)更新 for i=1:MAX fprintf(第%d次迭代:n, i) e=d-purelin(w*P); % 求得誤差向量 ms(i)=mse(e); % 均方差 ms(i) if (ms(i) ep1) % 如果均方差小于某個(gè)值,則算法收斂 fprintf(均方差小于指定數(shù)而終止n); break; end70dW = lp.lr*e*P; % 權(quán)值調(diào)整量 if (norm(dW) P=0,0,1,1;0,1,0,1 P=ones(1,4);P d=0,0,0,1 pinv(P)*d 74手算:% 定義 P=0,0,1,1;0,1,0,1 P=ones(1,4);P % 包含

26、偏置的輸入向量 d=0,0,0,1% 期望輸出向量% 初始化 w=0,0,0% 權(quán)值向量初始化為零向量 lr=maxlinlr(P)% 根據(jù)輸入矩陣求解最大學(xué)習(xí)率 MAX=200;% 最大迭代次數(shù),根據(jù)經(jīng)驗(yàn)確定75 for i=1:MAX.fprintf(第%d次迭代n, i);v=w*P;% 求出輸出y=v;disp(線性網(wǎng)絡(luò)的二值輸出:);yy=y=0.5% 將模擬輸出轉(zhuǎn)化為二值輸出,以0.5為閾值e=d-y;% 誤差m(i)=mse(e);% 均方誤差fprintf(均方誤差: %fn,m(i);dw=lr*e*P;% 權(quán)值向量的調(diào)整量fprintf(權(quán)值向量:n);w=w+dw% 調(diào)整

27、權(quán)值向量end6.線性神經(jīng)網(wǎng)絡(luò)應(yīng)用實(shí)例與76plot(0,0,1,0,1,0,o);hold on;plot(1,1,d);x=-2:.2:2;y=1.5-x;plot(x,y)axis(-0.5,2,-0.5,2)xlabel(x);ylabel(ylabel);title(線性神經(jīng)網(wǎng)絡(luò)用于求解與邏輯)legend(0,1,分類面);6.線性神經(jīng)網(wǎng)絡(luò)應(yīng)用實(shí)例與77-0.500.511.52-0.500.511.52xylabel線 性 神 經(jīng) 網(wǎng) 絡(luò) 用 于 求 解 與 邏 輯01分 類 面得到的分類超平面為:111242xy78使用工具箱函數(shù):and_linearlayer.m : 線性網(wǎng)

28、絡(luò)與感知器的對(duì)比 線性網(wǎng)絡(luò)得到的分類面大致位于兩類坐標(biāo)點(diǎn)的中間位置,而感知器得到的分類面恰好穿過其中一個(gè)坐標(biāo)點(diǎn)。線性神經(jīng)網(wǎng)絡(luò)魯棒性強(qiáng),優(yōu)于感知器。 6.線性神經(jīng)網(wǎng)絡(luò)應(yīng)用實(shí)例與79添加非線性輸入:6.線性神經(jīng)網(wǎng)絡(luò)應(yīng)用實(shí)例異或運(yùn)行xor_linearlayer.m 806.線性神經(jīng)網(wǎng)絡(luò)應(yīng)用實(shí)例異或使用Madaline:兩個(gè)神經(jīng)元 運(yùn)行xor_madaline.m 81821.BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu) 2.BP網(wǎng)絡(luò)的學(xué)習(xí)算法 3.設(shè)計(jì)BP網(wǎng)絡(luò)的方法 4.BP神經(jīng)網(wǎng)絡(luò)的局限性 5.BP神經(jīng)網(wǎng)絡(luò)應(yīng)用實(shí)例 83 BP神經(jīng)網(wǎng)絡(luò)是包含多個(gè)隱含層的網(wǎng)絡(luò),具備處理線性不可分問題的能力。 誤差反向傳播算法(Error B

29、ack Propagtion,BP),解決了多層神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)問題。 是一種多層前向網(wǎng)絡(luò),又叫多層感知器 。 BP網(wǎng)絡(luò)是前向神經(jīng)網(wǎng)絡(luò)的核心部分,也是整個(gè)人工神經(jīng)網(wǎng)絡(luò)體系中的精華,廣泛應(yīng)用于分類識(shí)別、逼近、回歸、壓縮等領(lǐng)域。在實(shí)際應(yīng)用中,大約80%的神經(jīng)網(wǎng)絡(luò)模型采取了BP網(wǎng)絡(luò)或BP網(wǎng)絡(luò)的變化形式。 84 網(wǎng)絡(luò)由多層構(gòu)成,層與層之間全連接,同一層之間的神經(jīng)元無連接 。 包含一個(gè)多多個(gè)隱層,可以實(shí)現(xiàn)復(fù)雜的映射關(guān)系。85 BP網(wǎng)絡(luò)的傳遞函數(shù)必須可微。BP網(wǎng)絡(luò)一般使用Sigmoid函數(shù)或線性函數(shù)作為傳遞函數(shù)。 Sigmoid函數(shù)是光滑、可微的函數(shù),在分類時(shí)它比線性函數(shù)更精確,容錯(cuò)性較好。 將輸入從負(fù)無窮

30、到正無窮的范圍映射到01或-11區(qū)間內(nèi),具有非線性的放大功能。 11xf xe-6-4-20246-1.5-1-0.500.511.5Log-Sigmoid Functionxy-6-4-20246-1.5-1-0.500.511.5Tan-Sigmoid FunctionxyLog-Sigmoid Tan-Sigmoid86 “誤差反向傳播” :誤差信號(hào)反向傳播。修正權(quán)值時(shí),網(wǎng)絡(luò)根據(jù)誤差從后向前逐層進(jìn)行修正。 “反饋神經(jīng)網(wǎng)絡(luò)” :輸出層的輸出值又連接到輸入神經(jīng)元作為下一次計(jì)算的輸入,如此循環(huán)迭代,直到網(wǎng)絡(luò)的輸出值進(jìn)入穩(wěn)定狀態(tài)為止。在本書后面的章節(jié)中會(huì)專門介紹反饋神經(jīng)網(wǎng)絡(luò),包括Hopfield

31、網(wǎng)絡(luò)、Elman網(wǎng)絡(luò)等。 BP神經(jīng)網(wǎng)絡(luò)屬于多層前向網(wǎng)絡(luò),工作信號(hào)始終正向流動(dòng),沒有反饋結(jié)構(gòu)。 BP網(wǎng)絡(luò)采用誤差反向傳播算法誤差反向傳播算法(Back-Propagation Algorithm)進(jìn)行學(xué)習(xí)。在BP網(wǎng)絡(luò)中,數(shù)據(jù)從輸入層經(jīng)隱含層逐層向后傳播,訓(xùn)練網(wǎng)絡(luò)權(quán)值時(shí),則沿著減少誤差的方向,從輸出層經(jīng)過中間各層逐層向前修正網(wǎng)絡(luò)的連接權(quán)值。87 BP學(xué)習(xí)算法的原理與LMS算法比較類似,屬于最速下降法。 最速下降法最速下降法 最速下降法可以求某指標(biāo)(目標(biāo)函數(shù))的極小值,若將目標(biāo)函數(shù)取為均方誤差,就得到了LMS算法。 對(duì)于實(shí)值函數(shù) ,如果在某點(diǎn) 處有定義且可微,則函數(shù)在該點(diǎn)處沿著梯度相反的方向 下降最

32、快。因此,使用梯度下降法時(shí),應(yīng)首先計(jì)算函數(shù)在某點(diǎn)處的梯度,再沿著梯度的反方向以一定的步長調(diào)整自變量的值。 F x0 x0F x100 xxF x 當(dāng)步長足夠小時(shí) 10F xF x反復(fù)迭代110nnF xF xF xF xL求得函數(shù)最小值88最速下降法 實(shí)例:求函數(shù)的最小值222/ 2 1.2zxy 根據(jù)梯度值可以再函數(shù)中畫出一系列的等值線或等值面,在等值線或等值面上函數(shù)值相等。梯度下降法相當(dāng)于沿著垂直于等值線方向向最小值所在位置移動(dòng)。 89(1)目標(biāo)函數(shù)必須可微 。(2)如果最小值附近比較平坦,算法會(huì)在最小值附近停留很久,收斂緩慢。 “之之”字形下降字形下降(3)對(duì)于包含多個(gè)極小值的函數(shù),所獲

33、得的結(jié)果依賴初始值。算法有可能陷入局部極小值點(diǎn),而沒有達(dá)到全局最小值點(diǎn)。 BP神經(jīng)網(wǎng)絡(luò)來說,由于傳遞函數(shù)都是可微的,因此能滿足最速下降法的使用條件。90最速下降BP法 隱含層傳遞函數(shù)為Sigmoid函數(shù),輸出層傳遞函數(shù)為線性函數(shù) 1.工作信號(hào)正向傳播 2.誤差信號(hào)反向傳播 2112Jjje nen jiijJInvn權(quán)值調(diào)整量=學(xué)習(xí)率 * 局部梯度 * 上一層輸出信號(hào)91 當(dāng)輸出層傳遞函數(shù)為線性函數(shù)時(shí),輸出層與隱含層之間權(quán)值調(diào)整的規(guī)則類似于線性神經(jīng)網(wǎng)絡(luò)的權(quán)值調(diào)整規(guī)則。 BP網(wǎng)絡(luò)的復(fù)雜之處在于,隱含層與隱含層之間、隱含層與輸入層之間調(diào)整權(quán)值時(shí),局部梯度的計(jì)算需要用到上一步計(jì)算的結(jié)果。前一層的局部

34、梯度是后一層局部梯度的加權(quán)和。 因此,BP網(wǎng)絡(luò)學(xué)習(xí)權(quán)值時(shí)只能從后向前依次計(jì)算。 串行方式 。在線方式,網(wǎng)絡(luò)每獲得一個(gè)新樣本,就計(jì)算一次誤差并更新權(quán)值,直到樣本輸入完畢。 隨機(jī)輸入樣本,不容易陷入局部最優(yōu)陷阱。 批量方式 :離線方式。網(wǎng)絡(luò)獲得所有的訓(xùn)練樣本,計(jì)算所有樣本均方誤差的和作為總誤差 。 容易并行化,速度快。92 動(dòng)量BP法 在標(biāo)準(zhǔn)BP算法的權(quán)值更新階段引入動(dòng)量因子 ,使權(quán)值修正值具有一定慣性: 11ne nn 本次權(quán)值的更新方向和幅度不但與本次計(jì)算所得的梯度有關(guān),還與上一次更新的方向和幅度有關(guān)(1)如果前后兩次計(jì)算所得的梯度方向相同,得到的權(quán)值較大,可以加速收斂過程 。(2)如果前后兩

35、次計(jì)算所得梯度方向相反,則說明兩個(gè)位置之間可能存在一個(gè)極小值,可以得到一個(gè)較小的步長,更容易找到最小值點(diǎn),而不會(huì)陷入來回振蕩 93 學(xué)習(xí)率可變的學(xué)習(xí)率可變的BP算法:算法: 當(dāng)誤差以減小的方式趨于目標(biāo)時(shí),說明修正方向是正確的,可以增加學(xué)習(xí)率; 當(dāng)誤差增加超過一定范圍時(shí),說明前一步修正進(jìn)行地不正確,應(yīng)減小步長,并撤銷前一步修正過程。 111incdeckne ne nnkne ne n 擬牛頓法擬牛頓法 。牛頓法具有收斂快的優(yōu)點(diǎn),但需要計(jì)算誤差性能函數(shù)的二階導(dǎo)數(shù),計(jì)算較為復(fù)雜。擬牛頓法只需要知道目標(biāo)函數(shù)的梯度,通過測(cè)量梯度的變化進(jìn)行迭代,收斂速度大大優(yōu)于最速下降法。擬牛頓法有DFP方法、BFGS

36、方法、SR1方法和Broyden族方法。 941.網(wǎng)絡(luò)層數(shù)。對(duì)于大部分應(yīng)用場(chǎng)合,單個(gè)隱含層即可滿足需要 2.輸入層節(jié)點(diǎn)數(shù)。輸入層節(jié)點(diǎn)數(shù)取決于輸入向量的維數(shù)。如果輸入的是的圖像,則輸入向量應(yīng)為圖像中所有的像素形成的4096維向量。 如果待解決的問題是二元函數(shù)擬合,則輸入向量應(yīng)為二維向量。3.隱含層節(jié)點(diǎn)數(shù) 。較多的隱含層節(jié)點(diǎn)數(shù)可以帶來更好的性能,但可能導(dǎo)致訓(xùn)練時(shí)間過長 。經(jīng)驗(yàn)公式:BP網(wǎng)絡(luò)的設(shè)計(jì)主要包括網(wǎng)絡(luò)層數(shù)、輸入層節(jié)點(diǎn)數(shù)、隱含層節(jié)點(diǎn)數(shù)、輸出層節(jié)點(diǎn)數(shù)及傳輸函數(shù)、訓(xùn)練方法、訓(xùn)練參數(shù)的設(shè)置等幾個(gè)方面。 0niMiCk0niMiCkMnma2logMn樣本數(shù)輸入層結(jié)點(diǎn)數(shù)95 輸出層神經(jīng)元的個(gè)數(shù)同樣需要

37、根據(jù)從實(shí)際問題中得到的抽象模型來確定。在模式分類問題中,如果共有n種類別,則輸出可以采用n個(gè)神經(jīng)元 。也可以將節(jié)點(diǎn)個(gè)數(shù)設(shè)計(jì)為 個(gè), 表示最小的不小于 的整數(shù)。由于輸出共有4種情況,因此采用二維輸出即可覆蓋整個(gè)輸出空間,00、01、10和11分別表示一種類別。 輸出層神經(jīng)元個(gè)數(shù) 2log n xx傳遞函數(shù)的選擇 一般隱含層使用Sigmoid函數(shù),而輸出層使用線性函數(shù)。如果輸出層也采用Sigmoid函數(shù),輸出值將會(huì)被限制在 01或-11之間。96訓(xùn)練方法的選擇 使用LM算法收斂速度最快,均方誤差也較小。 LM算法對(duì)于模式識(shí)別相關(guān)問題的處理能力較弱,且需要較大的存儲(chǔ)空間 模式識(shí)別問題,使用RPROP

38、算法能收到較好的效果 SCG算法對(duì)于模式識(shí)別和函數(shù)逼近問題都有較好的性能表現(xiàn)。初始權(quán)值的確定 通常將初始權(quán)值定義為較小的非零隨機(jī)值,經(jīng)驗(yàn)值為 2.4/,2.4/FFF:權(quán)值輸入端連接的神經(jīng)元個(gè)數(shù) 97 確定以上參數(shù)后,將訓(xùn)練數(shù)據(jù)進(jìn)行歸一化處理,并輸入網(wǎng)絡(luò)中進(jìn)行學(xué)習(xí),若網(wǎng)絡(luò)成功收斂,即可得到所需的神經(jīng)網(wǎng)絡(luò)。 98BP網(wǎng)絡(luò)具有實(shí)現(xiàn)任何復(fù)雜非線性映射的能力,特別適合求解內(nèi)部機(jī)制復(fù)雜的問題 ,但BP網(wǎng)絡(luò)也具有一些難以克服的局限性 (1)需要的參數(shù)較多)需要的參數(shù)較多,且參數(shù)的選擇沒有有效的方法。隱含層結(jié)點(diǎn)個(gè)數(shù)。(2)容易陷入局部最優(yōu))容易陷入局部最優(yōu)。 (3)樣本依賴性)樣本依賴性。如果樣本集合代表性

39、差、矛盾樣本多、存在冗余樣本,網(wǎng)絡(luò)就很難達(dá)到預(yù)期的性能 (4)初始權(quán)重敏感性)初始權(quán)重敏感性。訓(xùn)練的第一步是給定一個(gè)較小的隨機(jī)初始權(quán)重,由于權(quán)重是隨機(jī)給定的,BP網(wǎng)絡(luò)往往具有不可重現(xiàn)性。 995.BP神經(jīng)網(wǎng)絡(luò)應(yīng)用實(shí)例實(shí)現(xiàn)二值邏輯異或 學(xué)習(xí)率為0.6,動(dòng)量因子為0.8,默認(rèn)最大迭代次數(shù)為1000次 采用手算實(shí)現(xiàn)基于BP網(wǎng)絡(luò)的異或邏輯。訓(xùn)練時(shí)采用批量訓(xùn)練的方法,訓(xùn)練算法使用帶動(dòng)量因子的最速下降法。main_xor.m 1006.BP神經(jīng)網(wǎng)絡(luò)應(yīng)用實(shí)例分類面xy101% 清理clear all clc randn(state,2);% 參數(shù)eb = 0.01; % 誤差容限 eta = 0.6; %

40、學(xué)習(xí)率mc = 0.8; % 動(dòng)量因子 maxiter = 1000; % 最大迭代次數(shù)102% 初始化網(wǎng)絡(luò)nSampNum = 4; nSampDim = 2; nHidden = 3; nOut = 1; w = 2*(rand(nHidden,nSampDim)-1/2); b = 2*(rand(nHidden,1)-1/2); wex = w,b; W = 2*(rand(nOut,nHidden)-1/2); B = 2*(rand(nOut,1)-1/2); WEX = W,B; 103% 數(shù)據(jù)SampIn=0,0,1,1;. 0,1,0,1;. 1,1,1,1;expected

41、=0,1,1,0;104% 訓(xùn)練iteration = 0; errRec = ; outRec = ; for i = 1 : maxiter % 工作信號(hào)正向傳播 hp = wex*SampIn; tau = logsig(hp); tauex = tau, 1*ones(nSampNum,1); 105HM = WEX*tauex; out = logsig(HM); outRec = outRec,out; err = expected - out; sse = sumsqr(err); errRec = errRec,sse; fprintf(第 %d 次迭代,誤差: %f n,i,

42、sse ) 106% 判斷是否收斂 iteration = iteration + 1; if sse x=0,0;0,1;1,1;1,0% 輸入向量 t=0,1;0,1% 隱含節(jié)點(diǎn)的中心 z=dist(x,t)% 計(jì)算輸入向量到中心的距離 G=radbas(z) % 將算得的距離輸入到徑向基函數(shù)中G相當(dāng)于徑向基層的輸出。再加上偏置b=1,形成矩陣10.135310.3679 0.367910.1353110.3679 0.36791G125 G=G,ones(4,1)% 加上偏置 d=0,1,0,1% 期望輸出 w=inv(G.*G)*G.*d% 求權(quán)值向量Gwdd=0,1,0,1T,w=w

43、,w,bT采用以下公式求解w1TTwG dG GG d最終:最終:w=-2.5027,-2.5027,2.8413T 計(jì)算實(shí)際輸出: Y=G*w% 計(jì)算實(shí)際輸出1266.徑向基網(wǎng)絡(luò)應(yīng)用實(shí)例10.135310.3679 0.367910.1353110.3679 0.36791G忽略第三列偏置,第一行是第一個(gè)輸入向量0,0T在隱含層的輸出,其余行以此類推。表示為坐標(biāo)的形式 RBF網(wǎng)絡(luò)的隱含層經(jīng)過高斯函數(shù)的運(yùn)算,將原向量空間中的四個(gè)點(diǎn)映射為隱含層空間中的三個(gè)點(diǎn)。原空間中四個(gè)點(diǎn)線性不可分,而在新的空間中卻可由一條直線正確地分成兩類 一些解釋1276.徑向基網(wǎng)絡(luò)應(yīng)用實(shí)例% xor_hand.m% 清理

44、clear allclose allclc% 輸入% 輸入向量x=0,0;0,1;1,1;1,0% 隱含節(jié)點(diǎn)的中心t=0,1;0,11286.徑向基網(wǎng)絡(luò)應(yīng)用實(shí)例% 計(jì)算網(wǎng)絡(luò)% 計(jì)算輸入向量到中心的距離z=dist(x,t)% 將算得的距離輸入到徑向基函數(shù)中G=radbas(z)% 加上偏置G=G,ones(4,1)1296.徑向基網(wǎng)絡(luò)應(yīng)用實(shí)例% 期望輸出d=0,1,0,1% 求權(quán)值向量w=inv(G.*G)*G.*dG% 計(jì)算實(shí)際輸出Y=G*w1306.徑向基網(wǎng)絡(luò)應(yīng)用實(shí)例RBF網(wǎng)絡(luò)曲線擬合 : 輸入18個(gè)樣本點(diǎn),將隱含節(jié)點(diǎn)個(gè)數(shù)設(shè)為18,其中心就是輸入的x值。期望輸出為相對(duì)應(yīng)的y值。 這樣,網(wǎng)絡(luò)中有一個(gè)輸入節(jié)點(diǎn),一個(gè)輸出節(jié)點(diǎn),18個(gè)隱含節(jié)點(diǎn)。手算:curve_filt_hand_buid.m 訓(xùn)練curve_filt_hand_sim.m 測(cè)試采用工具箱函數(shù):curve_filt_newrb_build.mcurve_filt_newrb_sim.m131132離散Hopfield神經(jīng)網(wǎng)絡(luò)1331.與前向網(wǎng)絡(luò)的根本區(qū)別 在前向神經(jīng)網(wǎng)絡(luò)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論