神經(jīng)網(wǎng)絡(luò)與matlab仿真.doc_第1頁
神經(jīng)網(wǎng)絡(luò)與matlab仿真.doc_第2頁
神經(jīng)網(wǎng)絡(luò)與matlab仿真.doc_第3頁
神經(jīng)網(wǎng)絡(luò)與matlab仿真.doc_第4頁
神經(jīng)網(wǎng)絡(luò)與matlab仿真.doc_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余2頁可下載查看

下載本文檔

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

文檔簡介

神經(jīng)網(wǎng)絡(luò)與matlab仿真摘要 隨著技術(shù)的發(fā)展,人工神經(jīng)網(wǎng)絡(luò)在各個(gè)方面應(yīng)用越來越廣泛,由于matlab仿真技術(shù)對(duì)神經(jīng)網(wǎng)絡(luò)的建模起著十分重要的作用,因此,本文通過討論神經(jīng)網(wǎng)絡(luò)中基礎(chǔ)的一類線性神經(jīng)網(wǎng)絡(luò)的matlab仿真,對(duì)神經(jīng)網(wǎng)絡(luò)的matlab仿真做一個(gè)基本的了解和學(xué)習(xí)。關(guān)鍵詞:人工神經(jīng)網(wǎng)路 matlab仿真 線性神經(jīng)網(wǎng)絡(luò)1 神經(jīng)網(wǎng)絡(luò)的發(fā)展及應(yīng)用人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network,簡稱ANN)是一種高度并行的信息處理系統(tǒng),它具有高度的容錯(cuò)性,自組織能力和自學(xué)習(xí)能力;它以神經(jīng)科學(xué)的研究成果為基礎(chǔ),反映了人腦功能的若干基本特性,對(duì)傳統(tǒng)的計(jì)算機(jī)結(jié)構(gòu)和人工智能方法是一個(gè)有力的挑戰(zhàn),其目的在于探索人腦加工、儲(chǔ)存和搜索信息的機(jī)制,進(jìn)而應(yīng)用于人工智能系統(tǒng)。1.1 神經(jīng)網(wǎng)絡(luò)的研究歷史及發(fā)展現(xiàn)狀神經(jīng)網(wǎng)絡(luò)的研究已有較長的歷史。1943年,心理學(xué)家McCulloch和數(shù)學(xué)家Pitts合作提出形式(興奮與抑制型)神經(jīng)元的數(shù)學(xué)模型(MP模型),開創(chuàng)了神經(jīng)科學(xué)理論研究的時(shí)代。1944年,Hebb提出了神經(jīng)元連接強(qiáng)度的修改規(guī)則,它們至今仍在各種神經(jīng)網(wǎng)絡(luò)模型中起著重要作用。50年代末60年代初,開始了作為人工智能的網(wǎng)絡(luò)系統(tǒng)的研究。1958年,F(xiàn).Rosenblatt首次引進(jìn)了模擬人腦感知和學(xué)習(xí)能力的感知器概念,它由閾值性神經(jīng)元組成。1962年,B.Widrow提出的自適應(yīng)線性元件(adaline),具有自適應(yīng)學(xué)習(xí)功能,在信息處理、模式識(shí)別等方面受到重視和應(yīng)用。在這期間,神經(jīng)網(wǎng)絡(luò)大都是單層線性網(wǎng)絡(luò)。此時(shí),人們對(duì)如何解決非線性分割問題很快有了明確的認(rèn)識(shí),但此時(shí),計(jì)算機(jī)科學(xué)已被人工智能研究熱潮所籠罩。80年代后,傳統(tǒng)的數(shù)字計(jì)算機(jī)在模擬視聽覺的人工智能方面遇到了物理上不能逾越的基線,此時(shí),物理學(xué)家Hopfield提出了HNN模型,引入了能量函數(shù)的概念,給出了網(wǎng)絡(luò)穩(wěn)定性的判據(jù),同時(shí)開拓了神經(jīng)網(wǎng)絡(luò)用于聯(lián)想記憶和優(yōu)化計(jì)算的新途徑。神經(jīng)網(wǎng)絡(luò)的熱潮再次掀起。此后,F(xiàn)eldmann和Ballard的連接網(wǎng)絡(luò)模型指出了傳統(tǒng)的人工智能“計(jì)算”與生物的“計(jì)算”的不同點(diǎn),給出了并行分布的計(jì)算原則;Hinton和Sejnowski提出的Boltzman機(jī)模型則急用了統(tǒng)計(jì)物理學(xué)的概念和方法,首次采用了多層網(wǎng)絡(luò)的學(xué)習(xí)算法,保證整個(gè)系統(tǒng)趨于全局穩(wěn)定點(diǎn);Rumelhart和McClelland等人發(fā)展了多層網(wǎng)絡(luò)的BP算法;Kosko提出了雙向聯(lián)想記憶網(wǎng)絡(luò);Hecht-Nielsen提出了另一種反向傳播網(wǎng)絡(luò),可用于圖像壓縮和統(tǒng)計(jì)分析;Holland提出了分類系統(tǒng)類似于以規(guī)則為基礎(chǔ)的專家系統(tǒng)。這些努力為神經(jīng)網(wǎng)絡(luò)的后期發(fā)展奠定了牢固的基礎(chǔ)。目前,神經(jīng)網(wǎng)絡(luò)在研究方向上已經(jīng)形成多個(gè)流派,包括多層網(wǎng)絡(luò)BP算法,Hopfield網(wǎng)絡(luò)模型,自適應(yīng)共振理論(ART),自組織特征映射理論等。1987年,IEEE在San Diego召開大規(guī)模的神經(jīng)網(wǎng)絡(luò)國際學(xué)術(shù)會(huì)議,國際神經(jīng)網(wǎng)絡(luò)學(xué)會(huì)也隨之誕生。迄今為止的神經(jīng)網(wǎng)絡(luò)研究。大體可分為三個(gè)大的方向:1)探求人腦神經(jīng)系統(tǒng)的生物結(jié)構(gòu)和機(jī)制;2)用微電子學(xué)或光學(xué)器件形成特殊功能網(wǎng)絡(luò),主要應(yīng)用于新一代計(jì)算機(jī)制造;3)講神經(jīng)網(wǎng)絡(luò)理論作為解決某些問題的一種手段和方法。1.2 神經(jīng)網(wǎng)絡(luò)的應(yīng)用 在理論工作取得重要進(jìn)展的同時(shí),硬件實(shí)現(xiàn)的研究工作也在積極開展,神經(jīng)網(wǎng)絡(luò)理論已經(jīng)滲透到各個(gè)領(lǐng)域,并在智能控制、模式識(shí)別、計(jì)算機(jī)視覺、自適應(yīng)濾波和信號(hào)處理、非線性優(yōu)化、自動(dòng)目標(biāo)識(shí)別、連續(xù)語音識(shí)別、聲納信號(hào)的處理、知識(shí)處理、傳感器技術(shù)與機(jī)器人、生物醫(yī)學(xué)工程等方面取得了很大的進(jìn)展。 人工神經(jīng)網(wǎng)絡(luò)系統(tǒng)是仿照人腦的工作原理而產(chǎn)生。它是大量的、同時(shí)也是很簡單的處理單元(神經(jīng)元)廣泛互連形成的復(fù)雜的非線性系統(tǒng)。在人工神經(jīng)網(wǎng)絡(luò)中存在著許多簡單的、具有非線性函數(shù)功能的幾類單元,它們稱為人工神經(jīng)元。神經(jīng)元以分層的形式來組織,而它們之間又存在著用突觸維持的高度互連。人工神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)能力就在于突觸的權(quán)值能夠在學(xué)習(xí)過程中得到加強(qiáng)或是削弱,并以此將信息儲(chǔ)存于神經(jīng)網(wǎng)絡(luò)中。人工神經(jīng)網(wǎng)絡(luò)經(jīng)過訓(xùn)練,能夠?qū)崿F(xiàn)輸入到輸出的映射關(guān)系,同時(shí)具有一定的推廣性,因此在不同的領(lǐng)域得到廣泛的應(yīng)用,如自動(dòng)控制、移動(dòng)通信、生物醫(yī)學(xué)、模式識(shí)別、生產(chǎn)制造等等。2 面向matlab工具箱的神經(jīng)網(wǎng)絡(luò)設(shè)計(jì) 人工神經(jīng)網(wǎng)絡(luò)可通過硬件或軟件方式來實(shí)現(xiàn)。硬件方式即神經(jīng)計(jì)算機(jī)。目前較常用的還是軟件實(shí)現(xiàn)方式。已有許多公司和研究單位設(shè)計(jì)了通用的ANN程序以方便人們使用,matlab提供的神經(jīng)網(wǎng)絡(luò)工具箱就是其重要代表。神經(jīng)網(wǎng)絡(luò)工具箱是在matlab環(huán)境下所開發(fā)出來的許多工具箱之一,它是以人工神經(jīng)網(wǎng)絡(luò)理論為基礎(chǔ),用matlab語言構(gòu)造出典型神經(jīng)網(wǎng)絡(luò)的激活函數(shù),如S型、線性、競爭層、飽和線性等激活函數(shù),使設(shè)計(jì)者對(duì)所選定網(wǎng)絡(luò)輸出的計(jì)算變成對(duì)激活函數(shù)的調(diào)用。另外,根據(jù)各種典型的修正網(wǎng)絡(luò)權(quán)值的規(guī)定,加上網(wǎng)絡(luò)的訓(xùn)練過程,用matlab編寫出各種網(wǎng)絡(luò)設(shè)計(jì)與訓(xùn)練所涉及的公式運(yùn)算、矩陣操作和方程求解等大部分子程序,網(wǎng)絡(luò)的設(shè)計(jì)者可以根據(jù)自己的需要進(jìn)行調(diào)用,免除了自己編寫復(fù)雜而龐大的算法程序的困擾,集中精力去思考需要解決的問題,提高工作效率和解題質(zhì)量。目前matlab幾乎完整地概括了神經(jīng)網(wǎng)絡(luò)的基本成果,對(duì)于各種網(wǎng)絡(luò)模型,神經(jīng)網(wǎng)絡(luò)工具箱集成了多種學(xué)習(xí)算法,為用戶提供了極大的方便。同時(shí),matlab的其他工具箱也為我們在神經(jīng)網(wǎng)絡(luò)工具箱的基礎(chǔ)上開發(fā)研究模糊與神經(jīng)網(wǎng)絡(luò)的結(jié)合、神經(jīng)網(wǎng)絡(luò)的樣條算法等問題提供了輔助手段。3 線性神經(jīng)網(wǎng)絡(luò) 線性神經(jīng)網(wǎng)絡(luò)是最簡單的一種神經(jīng)元網(wǎng)絡(luò),它可以由一個(gè)或多個(gè)線性神經(jīng)元構(gòu)成。50年代末期提出的自適應(yīng)線性元件是線性神經(jīng)網(wǎng)絡(luò)最早的典型代表。其每個(gè)神經(jīng)元的傳遞函數(shù)為線性函數(shù),其輸出可以取任意值。線性神經(jīng)網(wǎng)絡(luò)可以采用Widrow-Hoff學(xué)習(xí)規(guī)則,也稱為LMS算法來調(diào)整網(wǎng)絡(luò)的權(quán)值和閾值。3.1 線性神經(jīng)網(wǎng)絡(luò)模型線性神經(jīng)元模型的神經(jīng)元有一個(gè)線性傳遞函數(shù)purelin,其輸入輸出之間是簡單的比例關(guān)系,一次對(duì)單個(gè)線性神經(jīng)元,由圖1可得,a=purelin(p+b).因此,線性神經(jīng)網(wǎng)絡(luò)允許輸出可以取任意值,而不僅僅是0或1。圖1 線性神經(jīng)元模型圖2 線性神經(jīng)元傳遞函數(shù)具有R個(gè)輸入的單層(S個(gè)神經(jīng)元)線性神經(jīng)網(wǎng)絡(luò)模型如下圖3所示。圖3 單層多輸入的線性神經(jīng)網(wǎng)絡(luò)模型3.2 線性神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)算法 Widrow-Hoff學(xué)習(xí)規(guī)則,又稱為最小均方誤差LMS(Least Mean Square Error)學(xué)習(xí)算法,由Widrow-Hoff提出,屬于有導(dǎo)師學(xué)習(xí)算法。LMS學(xué)習(xí)規(guī)則定義如下: (3-1)其目標(biāo)是通過調(diào)節(jié)權(quán)值,使mse從誤差空間的某點(diǎn)開始,沿著mse的斜面向下滑行,最終使mse達(dá)到最小值。LMS算法的實(shí)現(xiàn)有五個(gè)步驟:第一步:初始化。給各個(gè)連接賦一個(gè)較小的隨機(jī)值;第二步:輸入一個(gè)樣本,計(jì)算連接權(quán)值的調(diào)整量: (3-2) (3-3) (3-4)第三步:調(diào)整連接權(quán)值:根據(jù)負(fù)梯度下降的原則,網(wǎng)絡(luò)權(quán)值和閾值修正公式如下 (3-5)式中為學(xué)習(xí)率,當(dāng)其取較大值時(shí),可以加快網(wǎng)絡(luò)的訓(xùn)練速度,但是如果其值太大,會(huì)導(dǎo)致網(wǎng)絡(luò)穩(wěn)定性的降低和訓(xùn)練誤差的增加。所以,為了保證網(wǎng)絡(luò)進(jìn)行穩(wěn)定的訓(xùn)練,學(xué)習(xí)率的值必須選擇一個(gè)合適的值;第四步:計(jì)算均方誤差: (3-6)第五步:判斷誤差是否為零或者是否達(dá)到預(yù)選設(shè)定的要求。如果是,則結(jié)束算法,否則輸入下一個(gè)樣本,返回第二步進(jìn)入下一輪求解過程。4 線性神經(jīng)網(wǎng)絡(luò)的matlab實(shí)現(xiàn)下表1給出了matlab中與線性網(wǎng)絡(luò)相關(guān)的神經(jīng)網(wǎng)絡(luò)工具函數(shù)。 表1 神經(jīng)網(wǎng)絡(luò)工具函數(shù)函數(shù)名稱功能newlind設(shè)計(jì)一個(gè)線性層newlin構(gòu)造一個(gè)線性層purelin線性傳遞函數(shù)dotprod權(quán)值點(diǎn)積函數(shù)netsum網(wǎng)絡(luò)輸入求和函數(shù)initlay某層的初始化函數(shù)initwb某層的權(quán)值和閾值的初始化函數(shù)initzero零權(quán)值閾值初始化函數(shù)init一個(gè)網(wǎng)絡(luò)的初始化函數(shù)mae求平均絕對(duì)誤差性能函數(shù)learnwhWidrow-hoff的學(xué)習(xí)規(guī)則adaptwb網(wǎng)絡(luò)的權(quán)值閾值的自適應(yīng)函數(shù)adapt神經(jīng)網(wǎng)絡(luò)的自適應(yīng)函數(shù)trainwb網(wǎng)絡(luò)的權(quán)值和閾值訓(xùn)練函數(shù)train神經(jīng)網(wǎng)絡(luò)訓(xùn)練函數(shù)maxlinlr線性層的最大學(xué)習(xí)率errsurf計(jì)算誤差性能曲面sim仿真一個(gè)神經(jīng)網(wǎng)絡(luò)下面給出一個(gè)線性神經(jīng)網(wǎng)絡(luò)的設(shè)計(jì)要求,并嘗試用matlab提供的神經(jīng)網(wǎng)絡(luò)工具函數(shù)實(shí)現(xiàn)。 設(shè)計(jì)一個(gè)簡單的單層線性神經(jīng)元,其輸入和目標(biāo)分別為P=+1.0 -1.2,T=+0.5 +1.0。權(quán)值和閾值的范圍分別為-11。試用matlab實(shí)現(xiàn)其從輸入到輸出的變化關(guān)系。該線性網(wǎng)絡(luò)的結(jié)構(gòu)如下圖4所示。圖4 線性網(wǎng)絡(luò)結(jié)構(gòu)圖由例中的條件編寫matlab源程序如下:%dlin1.m%NEWLIND%SIMclf;figure(gcf);P=1.0 -1.2;T=0.5 1.0;w_range=-1:0.1:1;b_range=-1:0.2:1;ES=errsurf(P,T,w_range,b_range,purelin);plotes(w_range,b_range,ES);ax=findobj(gcf.type,axes);pausenet=neslind(P,T);format compact;A=0;E=0;SSE=0;A=sim(net,P)E=T-ASSE=sumsqr(E)plotes(w_range,b_range,ES);plotep(net.IW1.1,net.b1,SSE);p=-1.2;a=0;a=sim(net,p) % 進(jìn)行網(wǎng)絡(luò)驗(yàn)證disp(End of dline1)執(zhí)行程序,可得到線性網(wǎng)絡(luò)求解后的誤差曲面圖5如下。圖5 線性網(wǎng)絡(luò)誤差曲面圖對(duì)此線性網(wǎng)絡(luò)進(jìn)行更多的訓(xùn)練以求最優(yōu)解,則matlab程序更改如下。% dlin2.m% NEWLIN% TRAIN% SIMclf;figure(gcf);P=1.0 -1.2;T=0.5 1.0;w_range=-1:0.2:1;b_range=-1:0.2:1;ES=errsurf(P,T,w_range,b_range,purelin);plotes(w_range,b_range,ES);pausemaxlr=0.40*maxlinlr(P,bias);net=newlin(-2 2.1.0,maxlr);net.trainParam.goal=.001;subplot(1,2,2);h=text(sum(get(gca,xlim)*0.5,sum(get(gca,ylim)*0.5*Click On ME*);set(h,horizontal,center,fontweight,bold);net.IW1.1net.b1=ginput(1);delete(h);net,tr=train (net,P,T);format conpact;A=0;E=0;SSE=0;A=sim(net,P)E=T-ASSE=sumsqr(E)plotes(w_range,b_range,ES);plotep(net.IW1.1,net.b1,SSE);pauseplotperf(tr,net.trainParam.goal);p=-1.2;a=sim(net,P)disp(End of dlin2)運(yùn)行程序,得到的誤差曲面及誤差等高線圖如下圖6所示。圖6 誤差曲面及誤差等高線5 結(jié)束語由于自身知識(shí)的局限性,本文只是討論了神經(jīng)網(wǎng)絡(luò)中最基本的matlab建模。我希望隨著以后的

溫馨提示

  • 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)論