神經網絡與matlab仿真.doc_第1頁
神經網絡與matlab仿真.doc_第2頁
神經網絡與matlab仿真.doc_第3頁
神經網絡與matlab仿真.doc_第4頁
神經網絡與matlab仿真.doc_第5頁
免費預覽已結束,剩余2頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

溫馨提示

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

評論

0/150

提交評論