基于matlab的bp神經(jīng)網(wǎng)絡(luò)應(yīng)用_第1頁
基于matlab的bp神經(jīng)網(wǎng)絡(luò)應(yīng)用_第2頁
基于matlab的bp神經(jīng)網(wǎng)絡(luò)應(yīng)用_第3頁
基于matlab的bp神經(jīng)網(wǎng)絡(luò)應(yīng)用_第4頁
基于matlab的bp神經(jīng)網(wǎng)絡(luò)應(yīng)用_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

基于MATLAB的BP神經(jīng)網(wǎng)絡(luò)應(yīng)用目錄TOC\o"1-2"\h\z\u1緒論 11.1人工神經(jīng)網(wǎng)絡(luò)的研究背景和意義 11.2神經(jīng)網(wǎng)絡(luò)的發(fā)展與研究現(xiàn)狀 21.3神經(jīng)網(wǎng)絡(luò)的研究內(nèi)容和目前存在的問題 31.4神經(jīng)網(wǎng)絡(luò)的應(yīng)用 42神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)及BP神經(jīng)網(wǎng)絡(luò) 42.1神經(jīng)元與網(wǎng)絡(luò)結(jié)構(gòu) 42.2BP神經(jīng)網(wǎng)絡(luò)及其原理 72.3BP神經(jīng)網(wǎng)絡(luò)的主要功能 92.4BP網(wǎng)絡(luò)的優(yōu)點以及局限性 93BP神經(jīng)網(wǎng)絡(luò)在實例中的應(yīng)用 103.1基于MATLAB的BP神經(jīng)網(wǎng)絡(luò)工具箱函數(shù) 103.2BP網(wǎng)絡(luò)在函數(shù)逼近中的應(yīng)用 123.3BP網(wǎng)絡(luò)在樣本含量估計中的應(yīng)用 174結(jié)束語 23參考文獻(xiàn): 24英文摘要 25致謝 26PAGE26基于MATLAB的BP神經(jīng)網(wǎng)絡(luò)應(yīng)用蔣亮亮南京信息工程大學(xué)濱江學(xué)院自動化專業(yè),南京210044摘要:本文首先說明課題研究的目的和意義,評述課題的國內(nèi)外研究現(xiàn)狀,引出目前存在的問題。然后分析了神經(jīng)網(wǎng)絡(luò)算法的基本原理,給出經(jīng)典神經(jīng)網(wǎng)絡(luò)算法的具體實現(xiàn)方法,總結(jié)神經(jīng)網(wǎng)絡(luò)算法的特點,并給出神經(jīng)網(wǎng)絡(luò)算法的基本流程。采用Matlab軟件編程實現(xiàn)BP神經(jīng)網(wǎng)絡(luò)算法。將神經(jīng)網(wǎng)絡(luò)算法應(yīng)用于函數(shù)逼近和樣本含量估計問題中,并分析相關(guān)參數(shù)對算法運(yùn)行結(jié)果的影響。最后對BP神經(jīng)網(wǎng)絡(luò)算法進(jìn)行了展望。關(guān)鍵詞:神經(jīng)網(wǎng)絡(luò);BP神經(jīng)網(wǎng)絡(luò);函數(shù)逼近1緒論人工神經(jīng)網(wǎng)絡(luò)(ArtificialNeuralNetworks,NN)是由大量的、簡單的處理單元(稱為神經(jīng)元)廣泛地互相連接而形成的復(fù)雜網(wǎng)絡(luò)系統(tǒng),它反映了人腦功能的許多基本特征,是一個高度復(fù)雜的非線性動力學(xué)系統(tǒng)[1]。神經(jīng)網(wǎng)絡(luò)具有大規(guī)模并行、分布式存儲和處理、自組織、自適應(yīng)和自學(xué)習(xí)能力,特別適合處理需要同時考慮許多因素和條件的、不精確和模糊的信息處理問題。神經(jīng)網(wǎng)絡(luò)的發(fā)展與神經(jīng)科學(xué)、數(shù)理科學(xué)、認(rèn)知科學(xué)、計算機(jī)科學(xué)、人工智能、信息科學(xué)、控制論、機(jī)器人學(xué)、微電子學(xué)、心理學(xué)、微電子學(xué)、心理學(xué)、光計算、分子生物學(xué)等有關(guān),是一門新興的邊緣交叉學(xué)科。神經(jīng)網(wǎng)絡(luò)具有非線性自適應(yīng)的信息處理能力,克服了傳統(tǒng)人工智能方法對于直覺的缺陷,因而在神經(jīng)專家系統(tǒng)、模式識別、智能控制、組合優(yōu)化、預(yù)測等領(lǐng)域得到成功應(yīng)用[2]。神經(jīng)網(wǎng)絡(luò)與其他傳統(tǒng)方法相組合,將推動人工智能和信息處理技術(shù)不斷發(fā)展。近年來,神經(jīng)網(wǎng)絡(luò)在模擬人類認(rèn)知的道路上更加深入發(fā)展,并與模糊系統(tǒng)、遺傳算法、進(jìn)化機(jī)制等組合,形成計算智能,成為人工智能的一個重要方向。MATLAB是一種科學(xué)與工程計算的高級語言,廣泛地運(yùn)用于包括信號與圖像處理,控制系統(tǒng)設(shè)計,系統(tǒng)仿真等諸多領(lǐng)域。為了解決神經(jīng)網(wǎng)絡(luò)問題中的研究工作量和編程計算工作量問題,目前工程領(lǐng)域中較為流行的軟件MATLAB,提供了現(xiàn)成的神經(jīng)網(wǎng)絡(luò)工具箱(NeuralNetworkToolbox,簡稱NNbox)[3],為解決這個矛盾提供了便利條件。神經(jīng)網(wǎng)絡(luò)工具箱提供了很多經(jīng)典的學(xué)習(xí)算法,使用它能夠快速實現(xiàn)對實際問題的建模求解。在解決實際問題中,應(yīng)用MATLAB語言構(gòu)造典型神經(jīng)網(wǎng)絡(luò)的激活傳遞函數(shù),編寫各種網(wǎng)絡(luò)設(shè)計與訓(xùn)練的子程序,網(wǎng)絡(luò)的設(shè)計者可以根據(jù)需要調(diào)用工具箱中有關(guān)神經(jīng)網(wǎng)絡(luò)的設(shè)計訓(xùn)練程序,使自己能夠從煩瑣的編程中解脫出來,減輕工程人員的負(fù)擔(dān),從而提高工作效率。1.1人工神經(jīng)網(wǎng)絡(luò)的研究背景和意義 人工神經(jīng)網(wǎng)絡(luò)是由具有適應(yīng)性的簡單單元組成的廣泛并行互連的網(wǎng)絡(luò),它的組織能夠模擬生物神經(jīng)系統(tǒng)對真實世界物體所作出的交互反應(yīng)[5]。人工神經(jīng)網(wǎng)絡(luò)就是模擬人思維的一種方式,是一個非線性動力學(xué)系統(tǒng),其特色在于信息的分布式存儲和并行協(xié)同處理。雖然單個神經(jīng)元的結(jié)構(gòu)極其簡單,功能有限,但大量神經(jīng)元構(gòu)成的網(wǎng)絡(luò)系統(tǒng)所能實現(xiàn)的行為卻是極其豐富多彩的。近年來通過對人工神經(jīng)網(wǎng)絡(luò)的研究,可以看出神經(jīng)網(wǎng)絡(luò)的研究目的和意義有以下三點:(1)通過揭示物理平面與認(rèn)知平面之間的映射,了解它們相互聯(lián)系和相互作用的機(jī)理,從而揭示思維的本質(zhì),探索智能的本源。(2)爭取構(gòu)造出盡可能與人腦具有相似功能的計算機(jī),即神經(jīng)網(wǎng)絡(luò)計算機(jī)。(3)研究仿照腦神經(jīng)系統(tǒng)的人工神經(jīng)網(wǎng)絡(luò),將在模式識別、組合優(yōu)化和決策判斷等方面取得傳統(tǒng)計算機(jī)所難以達(dá)到的效果。人工神經(jīng)網(wǎng)絡(luò)特有的非線性適應(yīng)性信息處理能力,克服了傳統(tǒng)人工智能方法對于直覺,如模式、語音識別、非結(jié)構(gòu)化信息處理方面的缺陷,使之在神經(jīng)專家系統(tǒng)、模式識別、智能控制、組合優(yōu)化、預(yù)測等領(lǐng)域得到成功應(yīng)用。人工神經(jīng)網(wǎng)絡(luò)與其它傳統(tǒng)方法相結(jié)合,將推動人工智能和信息處理技術(shù)不斷發(fā)展。近年來,人工神經(jīng)網(wǎng)絡(luò)正向模擬人類認(rèn)知的道路上更加深入發(fā)展,與模糊系統(tǒng)、遺傳算法、進(jìn)化機(jī)制等結(jié)合,形成計算智能,成為人工智能的一個重要方向,將在實際應(yīng)用中得到發(fā)展。將信息幾何應(yīng)用于人工神經(jīng)網(wǎng)絡(luò)的研究,為人工神經(jīng)網(wǎng)絡(luò)的理論研究開辟了新的途徑。神經(jīng)計算機(jī)的研究發(fā)展很快,已有產(chǎn)品進(jìn)入市場。光電結(jié)合的神經(jīng)計算機(jī)為人工神經(jīng)網(wǎng)絡(luò)的發(fā)展提供了良好條件。1.2神經(jīng)網(wǎng)絡(luò)的發(fā)展與研究現(xiàn)狀1.2.1神經(jīng)網(wǎng)絡(luò)的發(fā)展神經(jīng)網(wǎng)絡(luò)起源于20世紀(jì)40年代,至今發(fā)展已半個多世紀(jì),大致分為三個階段【7】。1)20世紀(jì)50年代-20世紀(jì)60年代:第一次研究高潮自1943年M-P模型開始,至20世紀(jì)60年代為止,這一段時間可以稱為神經(jīng)網(wǎng)絡(luò)系統(tǒng)理論發(fā)展的初期階段。這個時期的主要特點是多種網(wǎng)絡(luò)的模型的產(chǎn)生與學(xué)習(xí)算法的確定。2)20世紀(jì)60年代-20世紀(jì)70年代:低潮時期到了20世紀(jì)60年代,人們發(fā)現(xiàn)感知器存在一些缺陷,例如,它不能解決異或問題,因而研究工作趨向低潮。不過仍有不少學(xué)者繼續(xù)對神經(jīng)網(wǎng)絡(luò)進(jìn)行研究。Grossberg提出了自適應(yīng)共振理論;Kohenen提出了自組織映射;Fukushima提出了神經(jīng)認(rèn)知網(wǎng)絡(luò)理論;Anderson提出了BSB模型;Webos提出了BP理論等。這些都是在20世紀(jì)70年代和20世紀(jì)80年代初進(jìn)行的工作。3)20世紀(jì)80年代-90年代:第二次研究高潮進(jìn)入20世紀(jì)80年代,神經(jīng)網(wǎng)絡(luò)研究進(jìn)入高潮。這個時期最具有標(biāo)志性的人物是美國加州工學(xué)院的物理學(xué)家JohnHopfield。他于1982年和1984年在美國科學(xué)院院刊上發(fā)表了兩篇文章,提出了模擬人腦的神經(jīng)網(wǎng)絡(luò)模型,即最著名的Hopfield模型。Hopfield網(wǎng)絡(luò)是一個互連的非線性動力學(xué)網(wǎng)絡(luò),它解決問題的方法是一種反復(fù)運(yùn)算的動態(tài)過程,這是符號邏輯處理方式做不具備的性質(zhì)。20世紀(jì)80年代后期到90年代初,神經(jīng)網(wǎng)絡(luò)系統(tǒng)理論形成了發(fā)展的熱點,多種模型、算法和應(yīng)用被提出,研究經(jīng)費重新變得充足,使得研究者們完成了很多有意義的工作。1.進(jìn)入20世紀(jì)90年代以來,神經(jīng)網(wǎng)絡(luò)由于應(yīng)用面還不夠?qū)?,結(jié)果不夠精確,存在可信度問題,從而進(jìn)入了認(rèn)識與應(yīng)用研究期。1)開發(fā)現(xiàn)有模型的應(yīng)用,并在應(yīng)用中根據(jù)實際運(yùn)行情況對模型、算法加以改造,以提高網(wǎng)絡(luò)的訓(xùn)練速度和運(yùn)行的準(zhǔn)確度。2)充分發(fā)揮兩種技術(shù)各自的優(yōu)勢是一個有效方法。3)希望在理論上尋找新的突破,建立新的專用/通用模型和算法。4)進(jìn)一步對生物神經(jīng)系統(tǒng)進(jìn)行研究,不斷地豐富對人腦的認(rèn)識。1.3神經(jīng)網(wǎng)絡(luò)的研究內(nèi)容和目前存在的問題1.神經(jīng)網(wǎng)絡(luò)的研究內(nèi)容相當(dāng)廣泛,反映了多科學(xué)交叉技術(shù)領(lǐng)域的特點。目前,主要的研究工作集中在以下四方面[6]:(1)生物原型研究:從生理學(xué)、心理學(xué)、解剖學(xué)、腦科學(xué)、病理學(xué)生物科學(xué)方面研究神經(jīng)細(xì)胞、神經(jīng)網(wǎng)絡(luò)、神經(jīng)系統(tǒng)的生物原型結(jié)構(gòu)及其功能機(jī)理。(2)建立理論模型:根據(jù)生物圓形的研究,建立神經(jīng)元、神經(jīng)網(wǎng)絡(luò)的理論模型,其中包括概念模型、知識模型、物理化學(xué)模型、數(shù)學(xué)模型等。(3)網(wǎng)絡(luò)模型與算法研究:在理論模型研究的基礎(chǔ)上構(gòu)成具體的神經(jīng)網(wǎng)絡(luò)模型,以實現(xiàn)計算機(jī)模擬或準(zhǔn)備制作硬件,包括網(wǎng)絡(luò)學(xué)習(xí)算法的研究。這方面的工作也稱為技術(shù)模型研究。(4)神經(jīng)網(wǎng)絡(luò)應(yīng)用系統(tǒng):在網(wǎng)絡(luò)模型與算法研究的基礎(chǔ)上,利用神經(jīng)網(wǎng)絡(luò)組成實際的應(yīng)用系統(tǒng),例如,完成某種信號處理或模式識別的功能、構(gòu)成專家系統(tǒng)、制成機(jī)器人等。1.人工神經(jīng)網(wǎng)絡(luò)的發(fā)展具有強(qiáng)大的生命力。當(dāng)前存在的問題是智能水平還不高,許多應(yīng)用方面的要求還不能得到很好的滿足;網(wǎng)絡(luò)分析與綜合的一些理論性問題還未得到很好的解決。例如,由于訓(xùn)練中穩(wěn)定性的要求學(xué)習(xí)率很小,所以梯度下降法使得訓(xùn)練很忙動量法因為學(xué)習(xí)率的提高通常比單純的梯度下降法要快,但在實際應(yīng)用中還是很慢[7]。針對千變?nèi)f化的應(yīng)用對象,各類復(fù)雜的求解問題,編制一些特定的程序、軟件求解,耗費了大量的人力和物力。而這些軟件往往只針對某一方面的問題有效,并且在人機(jī)接口、用戶友好性等諸多方面存在一定的缺陷。在微機(jī)飛速發(fā)展的今天,很多都已不能滿足發(fā)展的需要。1.4神經(jīng)網(wǎng)絡(luò)的應(yīng)用神經(jīng)網(wǎng)絡(luò)理論的應(yīng)用取得了令人矚目的發(fā)展,特別是在人工智能、自動控制、計算機(jī)科學(xué)、信息處理、機(jī)器人、模式識別、CAD/CAM等方面都有重大的應(yīng)用實例。下面列出一些主要應(yīng)用領(lǐng)域[4]:(1)模式識別和圖像處理。印刷體和手寫字符識別、語音識別、簽字識別、指紋識別、人體病理分析、目標(biāo)檢測與識別、圖像壓縮和圖像復(fù)制等。(2)控制和優(yōu)化?;み^程控制、機(jī)器人運(yùn)動控制、家電控制、半導(dǎo)體生產(chǎn)中摻雜控制、石油精煉優(yōu)化控制和超大規(guī)模集成電路布線設(shè)計等。(3)預(yù)報和智能信息管理。股票市場預(yù)測、地震預(yù)報、有價證券管理、借貸風(fēng)險分析、IC卡管理和交通管理。(4)通信。自適應(yīng)均衡、回波抵消、路由選擇和ATM網(wǎng)絡(luò)中的呼叫接納識別和控制。(5)空間科學(xué)??臻g交匯對接控制、導(dǎo)航信息智能管理、飛行器制導(dǎo)和飛行程序優(yōu)化管理等。2神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)及BP神經(jīng)網(wǎng)絡(luò)2.1神經(jīng)元與網(wǎng)絡(luò)結(jié)構(gòu)人工神經(jīng)網(wǎng)絡(luò)(artificialneuralnetwork,ANN)是模仿生物神經(jīng)網(wǎng)絡(luò)功能的一種經(jīng)驗?zāi)P汀I锷窠?jīng)元受到傳入的刺激,其反應(yīng)又從輸出端傳到相聯(lián)的其它神經(jīng)元,輸入和輸出之間的變換關(guān)系一般是非線性的。神經(jīng)網(wǎng)絡(luò)是由若干簡單(通常是自適應(yīng)的)元件及其層次組織,以大規(guī)模并行連接方式構(gòu)造而成的網(wǎng)絡(luò),按照生物神經(jīng)網(wǎng)絡(luò)類似的方式處理輸入的信息。模仿生物神經(jīng)網(wǎng)絡(luò)而建立的人工神經(jīng)網(wǎng)絡(luò),對輸入信號有功能強(qiáng)大的反應(yīng)和處理能力[9]。神經(jīng)網(wǎng)絡(luò)是由大量的處理單元(神經(jīng)元)互相連接而成的網(wǎng)絡(luò)。為了模擬大腦的基本特性,在神經(jīng)科學(xué)研究的基礎(chǔ)上,提出了神經(jīng)網(wǎng)絡(luò)的模型。但是,實際上神經(jīng)網(wǎng)絡(luò)并沒有完全反映大腦的功能,只是對生物神經(jīng)網(wǎng)絡(luò)進(jìn)行了某種抽象、簡化和模擬[8]。神經(jīng)網(wǎng)絡(luò)的信息處理通過神經(jīng)元的互相作用來實現(xiàn),知識與信息的存儲表現(xiàn)為網(wǎng)絡(luò)元件互相分布式的物理聯(lián)系。神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)和識別取決于各種神經(jīng)元連接權(quán)系數(shù)的動態(tài)演化過程。若干神經(jīng)元連接成網(wǎng)絡(luò),其中的一個神經(jīng)元可以接受多個輸入信號,按照一定的規(guī)則轉(zhuǎn)換為輸出信號。由于神經(jīng)網(wǎng)絡(luò)中神經(jīng)元間復(fù)雜的連接關(guān)系和各神經(jīng)元傳遞信號的非線性方式,輸入和輸出信號間可以構(gòu)建出各種各樣的關(guān)系,因此可以用來作為黑箱模型,表達(dá)那些用機(jī)理模型還無法精確描述、但輸入和輸出之間確實有客觀的、確定性的或模糊性的規(guī)律。因此,人工神經(jīng)網(wǎng)絡(luò)作為經(jīng)驗?zāi)P偷囊环N,在化工生產(chǎn)、研究和開發(fā)中得到了越來越多的用途。2.1.1生物神經(jīng)元人腦大約由1012個神經(jīng)元組成,神經(jīng)元互相連接成神經(jīng)網(wǎng)絡(luò)。神經(jīng)元是大腦處理信息的基本單元,以細(xì)胞體為主體,由許多向周圍延伸的不規(guī)則樹枝狀纖維構(gòu)成的神經(jīng)細(xì)胞,其形狀很像一棵枯樹的枝干。它主要由細(xì)胞體、樹突、軸突和突觸(Synapse,又稱神經(jīng)鍵)組成。如圖2.1所示。圖2.1生物神經(jīng)元從神經(jīng)元各組成部分的功能來看,信息的處理與傳遞主要發(fā)生在突觸附近。當(dāng)神經(jīng)元細(xì)胞體通過軸突傳到突觸前膜的脈沖幅度達(dá)到一定強(qiáng)度,即超過其閾值電位后,突觸前膜將向突觸間隙釋放神經(jīng)傳遞的化學(xué)物質(zhì)。2.1.2人工神經(jīng)元歸納一下生物神經(jīng)元傳遞信息的過程:生物神經(jīng)元是一個多輸入、單輸出單元。常用的人工神經(jīng)元模型可用圖2.2模擬。圖2.2人工神經(jīng)元(感知器)示意圖當(dāng)神經(jīng)元j有多個輸入xi(i=1,2,…,m)和單個輸出yj時,輸入和輸出的關(guān)系可表示為:(2.3)其中j為閾值,wij為從神經(jīng)元i到神經(jīng)元j的連接權(quán)重因子,f()為傳遞函數(shù),或稱激勵函數(shù)。2.1.3人工神經(jīng)網(wǎng)絡(luò)的構(gòu)成神經(jīng)元的模型確定之后,一個神經(jīng)網(wǎng)絡(luò)的特性及能力主要取決于網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)及學(xué)習(xí)方法。神經(jīng)網(wǎng)絡(luò)連接的幾種基本形式[17]:1)前向網(wǎng)絡(luò)前向網(wǎng)絡(luò)結(jié)構(gòu)如圖2.4所示,網(wǎng)絡(luò)中的神經(jīng)元是分層排列的,每個神經(jīng)元只與前一層的神經(jīng)元相連接。神經(jīng)元分層排列,分別組成輸入層、中間層(也稱為隱含層,可以由若干層組成)和輸出層。每一層的神經(jīng)元只接受來自前一層神經(jīng)元的輸入,后面的層對前面的層沒有信號反饋。輸入模式經(jīng)過各層次的順序傳播,最后在輸出層上得到輸出。感知器網(wǎng)絡(luò)和BP網(wǎng)絡(luò)均屬于前向網(wǎng)絡(luò)。圖2.4前向網(wǎng)絡(luò)結(jié)構(gòu)2)從輸出到輸入有反饋的前向網(wǎng)絡(luò)其結(jié)構(gòu)如圖2.5所示,輸出層對輸入層有信息反饋,這種網(wǎng)絡(luò)可用于存儲某種模式序列,如神經(jīng)認(rèn)知機(jī)和回歸BP網(wǎng)絡(luò)都屬于這種類型。圖2.5有反饋的前向網(wǎng)絡(luò)結(jié)構(gòu)3)層內(nèi)互連前向網(wǎng)絡(luò)其結(jié)構(gòu)如圖2.6所示,通過層內(nèi)神經(jīng)元的相互結(jié)合,可以實現(xiàn)同一層神經(jīng)元之間的橫向抑制或興奮機(jī)制。這樣可以限制每層內(nèi)可以同時動作的神經(jīng)元素,或者把每層內(nèi)的神經(jīng)元分為若干組,讓每一組作為一個整體進(jìn)行運(yùn)作。例如,可利用橫向抑制機(jī)理把某層內(nèi)的具有最大輸出的神經(jīng)元挑選出來,從而抑制其他神經(jīng)元,使之處于無輸出狀態(tài)。圖2.6有相互結(jié)合的前向網(wǎng)絡(luò)結(jié)構(gòu)4)相互結(jié)合型網(wǎng)絡(luò)相互結(jié)合型網(wǎng)絡(luò)結(jié)構(gòu)如圖2.7所示,這種網(wǎng)絡(luò)在任意兩個神經(jīng)元之間都可能有連接。Hopfield網(wǎng)絡(luò)和Boltzmann機(jī)均屬于這種類型。在無反饋的前向網(wǎng)絡(luò)中,信號一旦通過某神經(jīng)元,該神經(jīng)元的處理就結(jié)束了。而在相互結(jié)合網(wǎng)絡(luò)中,信號要在神經(jīng)元之間反復(fù)傳遞,網(wǎng)絡(luò)處于一種不斷變化狀態(tài)的動態(tài)之中。信號從某初始狀態(tài)開始,經(jīng)過若干次變化,才會達(dá)到某種平衡狀態(tài)。根據(jù)網(wǎng)絡(luò)的結(jié)構(gòu)和神經(jīng)元的特性,網(wǎng)絡(luò)的運(yùn)行還有可能進(jìn)入周期振蕩或其他如混沌平衡狀態(tài)。圖2.7結(jié)合型網(wǎng)絡(luò)結(jié)構(gòu)綜上,可知神經(jīng)網(wǎng)絡(luò)有分層網(wǎng)絡(luò)、層內(nèi)連接的分層網(wǎng)絡(luò)、反饋連接的分層網(wǎng)絡(luò)、互連網(wǎng)絡(luò)等四種結(jié)構(gòu),其神經(jīng)網(wǎng)絡(luò)模型有感知器網(wǎng)絡(luò),線性神經(jīng)網(wǎng)絡(luò),BP神經(jīng)網(wǎng)絡(luò),徑向基函數(shù)網(wǎng)絡(luò),反饋神經(jīng)網(wǎng)絡(luò)等,本文主要學(xué)習(xí)研究了BP神經(jīng)網(wǎng)絡(luò),以及BP神經(jīng)網(wǎng)絡(luò)在函數(shù)逼近和樣本含量估計兩個實例中的應(yīng)用分析。2.2BP神經(jīng)網(wǎng)絡(luò)及其原理2.2.1BP神經(jīng)網(wǎng)絡(luò)定義BP(BackPropagation)神經(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ǎng)絡(luò)按有教師示教的方式進(jìn)行學(xué)習(xí),當(dāng)一對學(xué)習(xí)模式提供給網(wǎng)絡(luò)后,各神經(jīng)元獲得網(wǎng)絡(luò)的輸入響應(yīng)產(chǎn)生連接權(quán)值(Weight)。然后按減小希望輸出與實際輸出誤差的方向,從輸出層經(jīng)各中間層逐層修正各連接權(quán),回到輸入層。此過程反復(fù)交替進(jìn)行,直至網(wǎng)絡(luò)的全局誤差趨向給定的極小值,即完成學(xué)習(xí)的過程。2.2.2BP神經(jīng)網(wǎng)絡(luò)模型及其基本原理BP神經(jīng)網(wǎng)絡(luò)是誤差反向傳播神經(jīng)網(wǎng)絡(luò)的簡稱,它由一個輸入層,一個或多個隱含層和一個輸出層構(gòu)成,每一次由一定數(shù)量的的神經(jīng)元構(gòu)成。這些神經(jīng)元如同人的神經(jīng)細(xì)胞一樣是互相關(guān)聯(lián)的。其結(jié)構(gòu)如圖2.8所示:圖2.8BP神經(jīng)網(wǎng)絡(luò)模型生物神經(jīng)元信號的傳遞是通過突觸進(jìn)行的一個復(fù)雜的電化學(xué)等過程,在人工神經(jīng)網(wǎng)絡(luò)中是將其簡化模擬成一組數(shù)字信號通過一定的學(xué)習(xí)規(guī)則而不斷變動更新的過程,這組數(shù)字儲存在神經(jīng)元之間的連接權(quán)重。網(wǎng)絡(luò)的輸入層模擬的是神經(jīng)系統(tǒng)中的感覺神經(jīng)元,它接收輸入樣本信號。輸入信號經(jīng)輸入層輸入,通過隱含層的復(fù)雜計算由輸出層輸出,輸出信號與期望輸出相比較,若有誤差,再將誤差信號反向由輸出層通過隱含層處理后向輸入層傳播。在這個過程中,誤差通過梯度下降算法,分?jǐn)偨o各層的所有單元,從而獲得各單元的誤差信號,以此誤差信號為依據(jù)修正各單元權(quán)值,網(wǎng)絡(luò)權(quán)值因此被重新分布。此過程完成后,輸入信號再次由輸入層輸入網(wǎng)絡(luò),重復(fù)上述過程。這種信號正向傳播與誤差反向傳播的各層權(quán)值調(diào)整過程周而復(fù)始地進(jìn)行著,直到網(wǎng)絡(luò)輸出的誤差減少到可以接受的程度,或進(jìn)行到預(yù)先設(shè)定的學(xué)習(xí)次數(shù)為止。權(quán)值不斷調(diào)整的過程就是網(wǎng)絡(luò)的學(xué)習(xí)訓(xùn)練過程。BP神經(jīng)網(wǎng)絡(luò)的信息處理方式具有如下特點:1)信息分布存儲。人腦存儲信息的特點是利用突觸效能的變化來調(diào)整存儲內(nèi)容,即信息存儲在神經(jīng)元之間的連接強(qiáng)度的分布上,BP神經(jīng)網(wǎng)絡(luò)模擬人腦的這一特點,使信息以連接權(quán)值的形式分布于整個網(wǎng)絡(luò)。2)信息并行處理。人腦神經(jīng)元之間傳遞脈沖信號的速度遠(yuǎn)低于馮·諾依曼計算機(jī)的工作速度,但是在很多問題上卻可以做出快速的判斷、決策和處理,這是由于人腦是一個大規(guī)模并行與串行組合的處理系統(tǒng)。BP神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)模仿人腦,具有并行處理的特征,大大提高了網(wǎng)絡(luò)功能。3)具有容錯性。生物神經(jīng)系統(tǒng)部分不嚴(yán)重?fù)p傷并不影響整體功能,BP神經(jīng)網(wǎng)絡(luò)也具有這種特性,網(wǎng)絡(luò)的高度連接意味著少量的誤差可能不會產(chǎn)生嚴(yán)重的后果,部分神經(jīng)元的損傷不破壞整體,它可以自動修正誤差。這與現(xiàn)代計算機(jī)的脆弱性形成鮮明對比。4)具有自學(xué)習(xí)、自組織、自適應(yīng)的能力。BP神經(jīng)網(wǎng)絡(luò)具有初步的自適應(yīng)與自組織能力,在學(xué)習(xí)或訓(xùn)練中改變突觸權(quán)值以適應(yīng)環(huán)境,可以在使用過程中不斷學(xué)習(xí)完善自己的功能,并且同一網(wǎng)絡(luò)因?qū)W習(xí)方式的不同可以具有不同的功能,它甚至具有創(chuàng)新能力,可以發(fā)展知識,以至超過設(shè)計者原有的知識水平。2.3BP神經(jīng)網(wǎng)絡(luò)的主要功能目前,在人工神經(jīng)網(wǎng)絡(luò)的實際應(yīng)用中。絕大部分的神經(jīng)網(wǎng)絡(luò)模型都采用BP神經(jīng)網(wǎng)絡(luò)及其變化形式。它也是前向網(wǎng)絡(luò)的核心部分,體現(xiàn)了人工神經(jīng)網(wǎng)絡(luò)的精華。BP網(wǎng)絡(luò)主要用于以下四方面[3]。函數(shù)逼近:用輸入向量和相應(yīng)的輸出向量訓(xùn)練一個網(wǎng)絡(luò)以逼近一個函數(shù)。模式識別:用一個待定的輸出向量將它與輸入向量聯(lián)系起來。分類:把輸入向量所定義的合適方式進(jìn)行分類。數(shù)據(jù)壓縮:減少輸出向量維數(shù)以便傳輸或存儲。2.4BP網(wǎng)絡(luò)的優(yōu)點以及局限性BP神經(jīng)網(wǎng)絡(luò)最主要的優(yōu)點是具有極強(qiáng)的非線性映射能力[12]。理論上,對于一個三層和三層以上的BP網(wǎng)絡(luò),只要隱層神經(jīng)元數(shù)目足夠多,該網(wǎng)絡(luò)就能以任意精度逼近一個非線性函數(shù)。其次,BP神經(jīng)網(wǎng)絡(luò)具有對外界刺激和輸入信息進(jìn)行聯(lián)想記憶的能力。這是因為它采用了分布并行的信息處理方式,對信息的提取必須采用聯(lián)想的方式,才能將相關(guān)神經(jīng)元全部調(diào)動起來。BP神經(jīng)網(wǎng)絡(luò)通過預(yù)先存儲信息和學(xué)習(xí)機(jī)制進(jìn)行自適應(yīng)訓(xùn)練,可以從不完整的信息和噪聲干擾中恢復(fù)原始的完整信息。這種能力使其在圖像復(fù)原、語言處理、模式識別等方面具有重要應(yīng)用。再次,BP神經(jīng)網(wǎng)絡(luò)對外界輸入樣本有很強(qiáng)的識別與分類能力。由于它具有強(qiáng)大的非線性處理能力,因此可以較好地進(jìn)行非線性分類,解決了神經(jīng)網(wǎng)絡(luò)發(fā)展史上的非線性分類難題。另外,BP神經(jīng)網(wǎng)絡(luò)具有優(yōu)化計算能力。BP神經(jīng)網(wǎng)絡(luò)本質(zhì)上是一個非線性優(yōu)化問題,它可以在已知的約束條件下,尋找一組參數(shù)組合,使該組合確定的目標(biāo)函數(shù)達(dá)到最小。不過,其優(yōu)化計算存在局部極小問題,必須通過改進(jìn)完善[13]。由于BP網(wǎng)絡(luò)訓(xùn)練中穩(wěn)定性要求學(xué)習(xí)效率很小,所以梯度下降法使得訓(xùn)練很慢。動量法因為學(xué)習(xí)率的提高通常比單純的梯度下降法要快一些,但在實際應(yīng)用中還是速度不夠,這兩種方法通常只應(yīng)用于遞增訓(xùn)練。多層神經(jīng)網(wǎng)絡(luò)可以應(yīng)用于線性系統(tǒng)和非線性系統(tǒng)中,對于任意函數(shù)模擬逼近。當(dāng)然,感知器和線性神經(jīng)網(wǎng)絡(luò)能夠解決這類網(wǎng)絡(luò)問題。但是,雖然理論上是可行的,但實際上BP網(wǎng)絡(luò)并不一定總能有解。對于非線性系統(tǒng),選擇合適的學(xué)習(xí)率是一個重要的問題。在線性網(wǎng)絡(luò)中,學(xué)習(xí)率過大會導(dǎo)致訓(xùn)練過程不穩(wěn)定。相反,學(xué)習(xí)率過小又會造成訓(xùn)練時間過長。和線性網(wǎng)絡(luò)不同,對于非線性多層網(wǎng)絡(luò)很難選擇很好的學(xué)習(xí)率。對那些快速訓(xùn)練算法,缺省參數(shù)值基本上都是最有效的設(shè)置[10]。非線性網(wǎng)絡(luò)的誤差面比線性網(wǎng)絡(luò)的誤差面復(fù)雜得多,問題在于多層網(wǎng)絡(luò)中非線性傳遞函數(shù)有多個局部最優(yōu)解。尋優(yōu)的過程與初始點的選擇關(guān)系很大,初始點如果更靠近局部最優(yōu)點,而不是全局最優(yōu)點,就不會得到正確的結(jié)果,這也是多層網(wǎng)絡(luò)無法得到最優(yōu)解的一個原因。為了解決這個問題,在實際訓(xùn)練過程中,應(yīng)重復(fù)選取多個初始點進(jìn)行訓(xùn)練,以保證訓(xùn)練結(jié)果的全局最優(yōu)性[11]。網(wǎng)絡(luò)隱層神經(jīng)元的數(shù)目也對網(wǎng)絡(luò)有一定的影響。神經(jīng)元數(shù)目太少會造成網(wǎng)絡(luò)的不適性,而神經(jīng)元數(shù)目太多又會引起網(wǎng)絡(luò)的過適性。3BP神經(jīng)網(wǎng)絡(luò)在實例中的應(yīng)用快速發(fā)展的Matlab軟件為神經(jīng)網(wǎng)絡(luò)理論的實現(xiàn)提供了一種便利的仿真手段。Matlab神經(jīng)網(wǎng)絡(luò)工具箱的出現(xiàn),更加拓寬了神經(jīng)網(wǎng)絡(luò)的應(yīng)用空間。神經(jīng)網(wǎng)絡(luò)工具箱將很多原本需要手動計算的工作交給計算機(jī),一方面提高了工作效率,另一方面,還提高了計算的準(zhǔn)確度和精度,減輕了工程人員的負(fù)擔(dān)。神經(jīng)網(wǎng)絡(luò)工具箱是在MATLAB環(huán)境下開發(fā)出來的許多工具箱之一。它以人工神經(jīng)網(wǎng)絡(luò)理論為基礎(chǔ),利用MATLAB編程語言構(gòu)造出許多典型神經(jīng)網(wǎng)絡(luò)的框架和相關(guān)的函數(shù)。這些工具箱函數(shù)主要為兩大部分。一部分函數(shù)特別針對某一種類型的神經(jīng)網(wǎng)絡(luò)的,如感知器的創(chuàng)建函數(shù)、BP網(wǎng)絡(luò)的訓(xùn)練函數(shù)等。而另外一部分函數(shù)則是通用的,幾乎可以用于所有類型的神經(jīng)網(wǎng)絡(luò),如神經(jīng)網(wǎng)絡(luò)仿真函數(shù)、初始化函數(shù)和訓(xùn)練函數(shù)等[15]。這些函數(shù)的MATLAB實現(xiàn),使得設(shè)計者對所選定網(wǎng)絡(luò)進(jìn)行計算過程,轉(zhuǎn)變?yōu)閷瘮?shù)的調(diào)用和參數(shù)的選擇,這樣一來,網(wǎng)絡(luò)設(shè)計人員可以根據(jù)自己的的需要去調(diào)用工具箱中有關(guān)的設(shè)計和訓(xùn)練程序,從煩瑣的編程中解脫出來,集中精力解決其他問題,從而提高了工作效率。3.1基于MATLAB的BP神經(jīng)網(wǎng)絡(luò)工具箱函數(shù)最新版本的神經(jīng)網(wǎng)絡(luò)工具箱幾乎涵蓋了所有的神經(jīng)網(wǎng)絡(luò)的基本常用模型,如感知器和BP網(wǎng)絡(luò)等。對于各種不同的網(wǎng)絡(luò)模型,神經(jīng)網(wǎng)絡(luò)工具箱集成了多種學(xué)習(xí)算法,為用戶提供了極大的方便[16]。MatlabR2007神經(jīng)網(wǎng)絡(luò)工具箱中包含了許多用于BP網(wǎng)絡(luò)分析與設(shè)計的函數(shù),BP網(wǎng)絡(luò)的常用函數(shù)如表3.1所示。表3.1BP網(wǎng)絡(luò)的常用函數(shù)表函數(shù)類型函數(shù)名稱函數(shù)用途前向網(wǎng)絡(luò)創(chuàng)建函數(shù)newcf創(chuàng)建級聯(lián)前向網(wǎng)絡(luò)Newff創(chuàng)建前向BP網(wǎng)絡(luò)傳遞函數(shù)logsigS型的對數(shù)函數(shù)tansigS型的正切函數(shù)purelin純線性函數(shù)學(xué)習(xí)函數(shù)learngd基于梯度下降法的學(xué)習(xí)函數(shù)learngdm梯度下降動量學(xué)習(xí)函數(shù)性能函數(shù)mse均方誤差函數(shù)msereg均方誤差規(guī)范化函數(shù)顯示函數(shù)plotperf繪制網(wǎng)絡(luò)的性能plotes繪制一個單獨神經(jīng)元的誤差曲面plotep繪制權(quán)值和閾值在誤差曲面上的位置errsurf計算單個神經(jīng)元的誤差曲面3.1.1)newff該函數(shù)用于創(chuàng)建一個BP網(wǎng)絡(luò)。調(diào)用格式為:net=newffnet=newff(PR,[S1S2..SN1],{TF1TF2..TFN1},BTF,BLF,PF)其中,net=newff;用于在對話框中創(chuàng)建一個BP網(wǎng)絡(luò)。net為創(chuàng)建的新BP神經(jīng)網(wǎng)絡(luò);PR為網(wǎng)絡(luò)輸入向量取值范圍的矩陣;[S1S2…SNl]表示網(wǎng)絡(luò)隱含層和輸出層神經(jīng)元的個數(shù);{TFlTF2…TFN1}表示網(wǎng)絡(luò)隱含層和輸出層的傳輸函數(shù),默認(rèn)為‘tansig’;BTF表示網(wǎng)絡(luò)的訓(xùn)練函數(shù),默認(rèn)為‘trainlm’;BLF表示網(wǎng)絡(luò)的權(quán)值學(xué)習(xí)函數(shù),默認(rèn)為‘learngdm’;PF表示性能數(shù),默認(rèn)為‘mse’。2)newcf函數(shù)用于創(chuàng)建級聯(lián)前向BP網(wǎng)絡(luò),newfftd函數(shù)用于創(chuàng)建一個存在輸入延遲的前向網(wǎng)絡(luò)。3.1.2神經(jīng)元上的傳遞函數(shù)傳遞函數(shù)是BP網(wǎng)絡(luò)的重要組成部分。傳遞函數(shù)又稱為激活函數(shù),必須是連續(xù)可微的。BP網(wǎng)絡(luò)經(jīng)常采用S型的對數(shù)或正切函數(shù)和線性函數(shù)。1)logsig該傳遞函數(shù)為S型的對數(shù)函數(shù)。調(diào)用格式為:A=logsig(N)info=logsig(code)其中, N:Q個S維的輸入列向量;A:函數(shù)返回值,位于區(qū)間(0,1)中;2)tansig該函數(shù)為雙曲正切S型傳遞函數(shù)。調(diào)用格式為:A=tansig(N)info=tansig(code)其中,N:Q個S維的輸入列向量;A:函數(shù)返回值,位于區(qū)間(-1,1)之間。3)purelin該函數(shù)為線性傳遞函數(shù)。調(diào)用格式為:A=purelin(N)info=purelin(code)其中,N:Q個S維的輸入列向量;A:函數(shù)返回值,A=N。3.1.3BP網(wǎng)絡(luò)學(xué)習(xí)函數(shù)1)learngd該函數(shù)為梯度下降權(quán)值/閾值學(xué)習(xí)函數(shù),它通過神經(jīng)元的輸入和誤差,以及權(quán)值和閾值的學(xué)習(xí)效率,來計算權(quán)值或閾值的變化率。調(diào)用格式為:[dW,ls]=learngd(W,P,Z,N,A,T,E,gW,gA,D,LP,LS)[db,ls]=learngd(b,ones(1,Q),Z,N,A,T,E,gW,gA,D,LP,LS)info=learngd(code)2)learngdm函數(shù)為梯度下降動量學(xué)習(xí)函數(shù),它利用神經(jīng)元的輸入和誤差、權(quán)值或閾值的學(xué)習(xí)速率和動量常數(shù),來計算權(quán)值或閾值的變化率。3.1.4BP網(wǎng)絡(luò)訓(xùn)練函數(shù)1)train神經(jīng)網(wǎng)絡(luò)訓(xùn)練函數(shù),調(diào)用其他訓(xùn)練函數(shù),對網(wǎng)絡(luò)進(jìn)行訓(xùn)練。該函數(shù)的調(diào)用格式為:[net,tr,Y,E,Pf,Af]=train(NET,P,T,Pi,Ai)[net,tr,Y,E,Pf,Af]=train(NET,P,T,Pi,Ai,VV,TV)2)traingd函數(shù)為梯度下降BP算法函數(shù)。traingdm函數(shù)為梯度下降動量BP算法函數(shù)。3.2BP網(wǎng)絡(luò)在函數(shù)逼近中的應(yīng)用3.2.1問題的提出BP網(wǎng)絡(luò)由很強(qiáng)的映射能力,主要用于模式識別分類、函數(shù)逼近、函數(shù)壓縮等。下面將通過實例來說明BP網(wǎng)絡(luò)在函數(shù)逼近方面的應(yīng)用。要求設(shè)計一個BP網(wǎng)絡(luò),逼近以下函數(shù):g(x)=1+sin(k*pi/4*x),實現(xiàn)對該非線性函數(shù)的逼近。其中,分別令k=1,2,4進(jìn)行仿真,通過調(diào)節(jié)參數(shù)(如隱藏層節(jié)點個數(shù)等)得出信號的頻率與隱層節(jié)點之間,隱層節(jié)點與函數(shù)逼近能力之間的關(guān)系。3.2.2步驟1:假設(shè)頻率參數(shù)k=1,繪制要逼近的非線性函數(shù)的曲線。函數(shù)的曲線如圖3.2所示k=1;p=[-1:.05:8];t=1+sin(k*pi/4*p);plot(p,t,'-');title('要逼近的非線性函數(shù)');xlabel('時間');ylabel('非線性函數(shù)');圖3.2要逼近的非線性函數(shù)曲線步驟2:網(wǎng)絡(luò)的建立應(yīng)用newff()函數(shù)建立BP網(wǎng)絡(luò)結(jié)構(gòu)。隱層神經(jīng)元數(shù)目n可以改變,暫設(shè)為n=3,輸出層有一個神經(jīng)元。選擇隱層和輸出層神經(jīng)元傳遞函數(shù)分別為tansig函數(shù)和purelin函數(shù),網(wǎng)絡(luò)訓(xùn)練的算法采用Levenberg–Marquardt算法trainlm。n=3;net=newff(minmax(p),[n,1],{'tansig''purelin'},'trainlm');對于初始網(wǎng)絡(luò),可以應(yīng)用sim()函數(shù)觀察網(wǎng)絡(luò)輸出。y1=sim(net,p);figure;plot(p,t,'-',p,y1,':')title('未訓(xùn)練網(wǎng)絡(luò)的輸出結(jié)果');xlabel('時間');ylabel('仿真輸出--原函數(shù)-');同時繪制網(wǎng)絡(luò)輸出曲線,并與原函數(shù)相比較,結(jié)果如圖3.3所示。圖3.3未訓(xùn)練網(wǎng)絡(luò)的輸出結(jié)果其中“”代表要逼近的非線性函數(shù)曲線;“‥‥‥”代表未經(jīng)訓(xùn)練的函數(shù)曲線;因為使用newff()函數(shù)建立函數(shù)網(wǎng)絡(luò)時,權(quán)值和閾值的初始化是隨機(jī)的,所以網(wǎng)絡(luò)輸出結(jié)構(gòu)很差,根本達(dá)不到函數(shù)逼近的目的,每次運(yùn)行的結(jié)果也有時不同。步驟3:網(wǎng)絡(luò)訓(xùn)練應(yīng)用train()函數(shù)對網(wǎng)絡(luò)進(jìn)行訓(xùn)練之前,需要預(yù)先設(shè)置網(wǎng)絡(luò)訓(xùn)練參數(shù)。將訓(xùn)練時間設(shè)置為50,訓(xùn)練精度設(shè)置為0.01,其余參數(shù)使用缺省值。訓(xùn)練后得到的誤差變化過程如圖3.4所示。圖3.4訓(xùn)練過程net.trainParam.epochs=50;(網(wǎng)絡(luò)訓(xùn)練時間設(shè)置為50)net.trainParam.goal=0.01;(網(wǎng)絡(luò)訓(xùn)練精度設(shè)置為0.01)net=train(net,p,t);(開始訓(xùn)練網(wǎng)絡(luò))TRAINLM-calcjx,Epoch0/50,MSE9.27774/0.01,Gradient13.3122/1e-010TRAINLM-calcjx,Epoch3/50,MSE0.00127047/0.01,Gradient0.0337555/1e-010TRAINLM,Performancegoalmet.從以上結(jié)果可以看出,網(wǎng)絡(luò)訓(xùn)練速度很快,經(jīng)過一次循環(huán)跌送過程就達(dá)到了要求的精度0.01。步驟4:網(wǎng)絡(luò)測試對于訓(xùn)練好的網(wǎng)絡(luò)進(jìn)行仿真:]y2=sim(net,p);figure;plot(p,t,'-',p,y1,':',p,y2,'--')title('訓(xùn)練后網(wǎng)絡(luò)的輸出結(jié)果');xlabel('時間');ylabel('仿真輸出');繪制網(wǎng)絡(luò)輸出曲線,并與原始非線性函數(shù)曲線以及未訓(xùn)練網(wǎng)絡(luò)的輸出結(jié)果曲線相比較,比較出來的結(jié)果如圖3.5所示。圖3.5訓(xùn)練后網(wǎng)絡(luò)的輸出結(jié)果其中“”代表要逼近的非線性函數(shù)曲線;“‥‥‥”代表未經(jīng)訓(xùn)練的函數(shù)曲線;“―――”代表經(jīng)過訓(xùn)練的函數(shù)曲線;從圖中可以看出,得到的曲線和原始的非線性函數(shù)曲線很接近。這說明經(jīng)過訓(xùn)練后,BP網(wǎng)絡(luò)對非線性函數(shù)的逼近效果比較好。3.2.3改變非線性函數(shù)的頻率和BP函數(shù)隱層神經(jīng)元的數(shù)目,對于函數(shù)逼近的效果有一定的影響。網(wǎng)絡(luò)非線性程度越高,對于BP網(wǎng)絡(luò)的要求越高,則相同的網(wǎng)絡(luò)逼近效果要差一些;隱層神經(jīng)元的數(shù)目對于網(wǎng)絡(luò)逼近效果也有一定影響,一般來說隱層神經(jīng)元數(shù)目越多,則BP網(wǎng)絡(luò)逼近非線性函數(shù)的能力越強(qiáng)。下面通過改變頻率參數(shù)和非線性函數(shù)的隱層神經(jīng)元數(shù)目來加以比較證明。(1)頻率參數(shù)設(shè)為k=2,當(dāng)隱層神經(jīng)元數(shù)目分別取n=3、n=6時,得到了訓(xùn)練后的網(wǎng)絡(luò)輸出結(jié)果如圖3.6,3.7所示。圖3.6當(dāng)n=3時訓(xùn)練后網(wǎng)絡(luò)的輸出結(jié)果圖3.7當(dāng)n=6時訓(xùn)練后網(wǎng)絡(luò)的輸出結(jié)果其中“”代表要逼近的非線性函數(shù)曲線;“‥‥‥”代表未經(jīng)訓(xùn)練的函數(shù)曲線;“―――”代表經(jīng)過訓(xùn)練的函數(shù)曲線;(2)頻率參數(shù)設(shè)為k=4,當(dāng)隱層神經(jīng)元數(shù)目分別取n=6、n=8時,得到了訓(xùn)練后的網(wǎng)絡(luò)輸出結(jié)果如圖3.8,3.9所示。圖3.8當(dāng)n=6時訓(xùn)練后網(wǎng)絡(luò)的輸出結(jié)果圖3.9當(dāng)n=8時訓(xùn)練后網(wǎng)絡(luò)的輸出結(jié)果其中“”代表要逼近的非線性函數(shù)曲線;“‥‥‥”代表未經(jīng)訓(xùn)練的函數(shù)曲線;“―――”代表經(jīng)過訓(xùn)練的函數(shù)曲線;(2)頻率參數(shù)設(shè)為k=8,當(dāng)隱層神經(jīng)元數(shù)目分別取n=10、n=15時,得到了訓(xùn)練后的網(wǎng)絡(luò)輸出結(jié)果如圖3.10,3.11所示。圖3.10當(dāng)n=10時訓(xùn)練后網(wǎng)絡(luò)的輸出結(jié)果圖3.11當(dāng)n=15時訓(xùn)練后網(wǎng)絡(luò)的輸出結(jié)果其中“”代表要逼近的非線性函數(shù)曲線;“‥‥‥”代表未經(jīng)訓(xùn)練的函數(shù)曲線;“―――”代表經(jīng)過訓(xùn)練的函數(shù)曲線;3.2通過上述仿真結(jié)果可知,當(dāng)k=1,n=3時;k=2,n=6時;k=4,n=8時;k=8,n=15時,BP神經(jīng)網(wǎng)絡(luò)分別對函數(shù)取得了較好的逼近效果。由此可見,n取不同的值對函數(shù)逼近的效果有很大的影響。改變BP網(wǎng)絡(luò)隱層神經(jīng)元的數(shù)目,可以改變BP神經(jīng)網(wǎng)絡(luò)對于函數(shù)的逼近效果。隱層神經(jīng)元數(shù)目越多,則BP網(wǎng)絡(luò)逼近非線性函數(shù)的能力越強(qiáng)。3.3BP網(wǎng)絡(luò)在樣本含量估計中的應(yīng)用3.這是一個神經(jīng)網(wǎng)絡(luò)在醫(yī)學(xué)中應(yīng)用的例子。擬設(shè)計一臺儀器,通過對血液樣本進(jìn)行光譜分析來測試血清中膽固醇水平。共采集了264位病人的血液樣本,對其光譜分析共發(fā)現(xiàn)21種光譜波長。對這些病人,通過血清分離,同樣也測量了hdl、ldl、vldl膽固醇水平。(1)將數(shù)據(jù)導(dǎo)入Matlab工作空間,進(jìn)行主要成分的分析。數(shù)據(jù)文件為choles_all.mat。loadcholes_all%matlab中有一個choles_all.mat文件它包含了本問題需要的原始數(shù)據(jù)[pn,meanp,stdp,tn,meant,stdt]=prestd(p,t);%prestd

函數(shù)對樣本數(shù)據(jù)作歸一化處理[ptrans,sransMat]=prepca(pn,0.001);%利用

prepca

函數(shù)對歸一化后的樣本數(shù)據(jù)進(jìn)行主元分析這里剔除了一些數(shù)據(jù),只保留了所占99.9%的主要成分?jǐn)?shù)據(jù)。下面檢驗一下轉(zhuǎn)換后數(shù)據(jù)矩陣的大小。[R,Q]=size(ptrans)R=4Q=264從中可以看出通過主要成分分析,輸入數(shù)據(jù)從21組減少到4組,由此可見原始數(shù)據(jù)有著很大的冗余度。(2)將這些數(shù)據(jù)分成幾個部分,分別用于訓(xùn)練、驗證和測試。將數(shù)據(jù)的1/4用于驗證、1/4用于測試,其余的用于訓(xùn)練網(wǎng)絡(luò)。采用等間隔的方式在原始數(shù)據(jù)中抽取出這些數(shù)據(jù)。iitst=2:4:Q;iival=4:4:Q;iitr=[1:4:Q3:4:Q];val.P=ptrans(:,iival);val.T=tn(:,iival);test.P=ptrans(:,iitst);test.T=tn(:,iitst);ptr=ptrans(:,iitr);ttr=tn(:,iitr);3.3步驟一:網(wǎng)絡(luò)建立一切準(zhǔn)備工作做好后,開始建立網(wǎng)絡(luò)。在本例中,建立一個兩層網(wǎng)絡(luò),隱層的傳遞函數(shù)采用tan-sigmoid,輸出層采用線性傳遞函數(shù)。隱層神經(jīng)元初步設(shè)計為五個,因為需要得到三個目標(biāo),網(wǎng)絡(luò)輸出層設(shè)計為三個神經(jīng)元。net=newff(minmax(ptr),[53],{'tansig''purelin'},'trainlm');步驟二:網(wǎng)絡(luò)訓(xùn)練進(jìn)行網(wǎng)絡(luò)訓(xùn)練,其訓(xùn)練過程如圖3.12所示。圖3.12訓(xùn)練過程net.trainParam.show=5;[net,tr]=train(net,ptr,ttr,[],[],val,test);TRAINLM-calcjx,Epoch0/100,MSE5.23521/0,Gradient5.13228/1e-010TRAINLM-calcjx,Epoch5/100,MSE0.578625/0,Gradient1.62833/1e-010TRAINLM-calcjx,Epoch10/100,MSE0.352352/0,Gradient0.505629/1e-010TRAINLM-calcjx,Epoch15/100,MSE0.340796/0,Gradient0.404806/1e-010TRAINLM-calcjx,Epoch16/100,MSE0.334648/0,Gradient0.513826/1e-010TRAINLM,Validationstop.可以看出,經(jīng)過20次訓(xùn)練后,由于驗證誤差的增加,訓(xùn)練停止。將訓(xùn)練誤差,驗證誤差和測試誤差繪制在一副圖中,如圖3.13所示,這樣就可以更加直觀地觀察訓(xùn)練過程。plot(tr.epoch,tr.perf,'-',tr.epoch,tr.vperf,':',tr.epoch,tr.tperf,'-.')legend('Training','Validation','Test',-1);ylabel('平方差');xlabel('時間')圖3.13訓(xùn)練誤差、驗證誤差、測試誤差曲線步驟三:輸出結(jié)果最后,對網(wǎng)絡(luò)響應(yīng)進(jìn)行分析,將所有的數(shù)據(jù)都放在整個數(shù)據(jù)集中,包括訓(xùn)練數(shù)據(jù)、驗證數(shù)據(jù)和測試數(shù)據(jù),然后網(wǎng)絡(luò)輸出和相應(yīng)的期望輸出向量進(jìn)行線性回歸分析。線性回歸之前需要對網(wǎng)絡(luò)輸出進(jìn)行反規(guī)范轉(zhuǎn)換,因為有三組輸出值,所以應(yīng)進(jìn)行三次線性回歸。其結(jié)果如圖3.14所示。an=sim(net,ptrans);a=poststd(an,meant,stdt);fori=1:3figure(i)[m(i),b(i),r(i)]=postreg(a(i,:),t(i,:));%postreg()將三組輸出進(jìn)行線性回歸分析End(a)(b)(c)圖3.14線性回歸結(jié)果(a)hdl線性回歸;(b)ldl線性回歸;(c)vhdl線性回歸3.3.3不同條件下的輸出結(jié)果對BP網(wǎng)絡(luò)型進(jìn)行改進(jìn),將隱層神經(jīng)元數(shù)目加為15個,觀察其輸出結(jié)果其訓(xùn)練過程如圖3.16所示。三種誤差曲線如圖3.17所示,改進(jìn)后的線性回歸結(jié)果如圖3.15所示。圖3.16訓(xùn)練過程net=newff(minmax(ptr),[203],{'tansig''purelin'},'trainlm');[net,tr]=train(net,ptr,ttr,[],[],val,test);TRAINLM-calcjx,Epoch0/100,MSE15.4753/0,Gradient16.3115/1e-010TRAINLM-calcjx,Epoch12/100,MSE0.216075/0,Gradient0.204225/1e-010TRAINLM,Validationstop.圖3.17三種誤差曲線plot(tr.epoch,tr.perf,'-',tr.epoch,tr.vperf,':',tr.epoch,tr.tperf,'-.')legend('Training','Validation','Test',-1);ylabel('平方差');xlabel('時間')plot(tr.epoch,tr.perf,'-',tr.epoch,tr.vperf,':',tr.epoch,tr.tperf,'-.')an=sim(net,ptrans);a=poststd(an,meant,stdt);fori=1:3figure(i)[m(i),b(i),r(i)]=postreg(a(i,:),t(i,:));end[m(1),b(1),r(1)]=postreg(a(1,:),t(1,:));同樣將所有的數(shù)據(jù)都放在整個數(shù)據(jù)集中,包括訓(xùn)練數(shù)據(jù)、驗證數(shù)據(jù)和測試數(shù)據(jù),然后網(wǎng)絡(luò)輸出和相應(yīng)的期望輸出向量進(jìn)行線性回歸分析。最后線性回歸的輸出結(jié)果如圖3.15所示。(a)(b)(c)圖3.15線性回歸結(jié)果(a)hdl線性回歸;(b)ldl線性回歸;(c)vhdl線性回歸3.3.4討論綜上兩種情況比較下,其中當(dāng)隱層神經(jīng)元為五個時,前面兩個輸出期望值的跟蹤較好,相應(yīng)的R值幾乎達(dá)到了0.9,而第三個輸出則吻合得不是很理想,作進(jìn)一步研究,在當(dāng)隱層數(shù)據(jù)為15時,較第一種情況,它的輸出更加接近于期望值。比較可知,當(dāng)隱層數(shù)目越多,則測試得到的樣本水平越接近于期望值。4結(jié)束語本文首先總結(jié)了神經(jīng)網(wǎng)絡(luò)的研究目的和意義,介紹了神經(jīng)網(wǎng)絡(luò)的研究背景和現(xiàn)狀,分析了目前神經(jīng)網(wǎng)絡(luò)研究中存在的問題,然后描述了BP神經(jīng)網(wǎng)絡(luò)算法的實現(xiàn)以及BP神經(jīng)網(wǎng)絡(luò)的工作原理,給出了BP網(wǎng)絡(luò)的局限性。在以BP神經(jīng)網(wǎng)絡(luò)為基礎(chǔ)的前提下,分析研究了BP神經(jīng)網(wǎng)絡(luò)在函數(shù)逼近和樣本含量估計兩個實例中的應(yīng)用。以及分析了結(jié)論,即信號的頻率越高,則隱層節(jié)點越多,隱單元個數(shù)越多,逼近能力越強(qiáng)。和隱層數(shù)目越多,測試得到的樣本的水平越接近于期望值。本文雖然總結(jié)分析了BP神經(jīng)網(wǎng)絡(luò)算法的實現(xiàn),給出了實例分析,但是還有很多的不足。本文所總結(jié)的BP神經(jīng)網(wǎng)絡(luò)和目前研究的現(xiàn)狀都還不夠全面,經(jīng)過程序調(diào)試的圖形有可能都還存在很多細(xì)節(jié)上的問題,而圖形曲線所實現(xiàn)效果都還不夠好,以及結(jié)果分析不夠全面,正確,缺乏科學(xué)性等,這些都還是需加強(qiáng)提高的,本文的完成不代表就對這門學(xué)科研究的結(jié)束,還有很多知識,理論,研究成果需要不斷學(xué)習(xí),近幾年的不斷發(fā)展,神經(jīng)網(wǎng)絡(luò)更是取得了非常廣泛的應(yīng)用,和令人矚目的發(fā)展,在很多方面都發(fā)揮了其獨特的作用,特別是在人工智能、自動控制、計算機(jī)科學(xué)、信息處理、機(jī)器人、模式識別等眾多方面的應(yīng)用實例,給人們帶來了很多應(yīng)用上到思考,和解決方法的研究。但是神經(jīng)網(wǎng)絡(luò)的研究最近幾年還沒有達(dá)到非常熱門的階段,這還需有很多熱愛神經(jīng)網(wǎng)絡(luò)和研究神經(jīng)網(wǎng)絡(luò)人員的不斷研究和創(chuàng)新,在科技高度發(fā)達(dá)的現(xiàn)在,我們有理由期待,也有理由相信。我想在不久的將來神經(jīng)網(wǎng)絡(luò)會應(yīng)用到更多更廣的方面,人們的生活會更加便捷。參考文獻(xiàn):[1]鄭君里,楊行峻.《人工神經(jīng)網(wǎng)絡(luò)》.北京:高等教育出版社,1992.5:15-30[2]郝中華.《BP神經(jīng)網(wǎng)絡(luò)的非線性思想》.洛陽師范學(xué)院學(xué)報2008.3(4)[3]巨軍讓,卓戎.《BP神經(jīng)網(wǎng)絡(luò)在Matlab中的方便實現(xiàn)》.新疆石油學(xué)院學(xué)報.2008.2(1)[4]蔣宗禮.《人工神經(jīng)網(wǎng)絡(luò)導(dǎo)論》.高等教育出版社,2001.5:15-90[5]聞新、周露、王丹力、熊曉英.《MATLAB神經(jīng)網(wǎng)絡(luò)應(yīng)用設(shè)計.科學(xué)出版社》,2001.5:10-50[6]葛哲學(xué)、孫志強(qiáng)編著.《神經(jīng)網(wǎng)絡(luò)與matlab2007實現(xiàn)》.北京:電子工業(yè)出版社,2007.9:1-5[7]董長虹編著.《Matlab神經(jīng)網(wǎng)絡(luò)與應(yīng)用》.北京:國防工業(yè)出版社,2007.9:1-13[8]胡守仁,等.《神經(jīng)網(wǎng)絡(luò)導(dǎo)論》.長沙:國防科技大學(xué)出版社,1993:23-45[9]張玲,張鈸.《人工神經(jīng)網(wǎng)絡(luò)理及應(yīng)用》.浙江:浙江科技大學(xué)出版社,1997.5:20-62[10]NeuralNetworkTolboxUser’s,TheMathWorks.Inc,2003:16-27[11]Matlabuser’sGuide.TheMathWorks.Inc,2003:23-27[12]NeuralNetworkToolbox.Mathworks,2007:1-13[13]PhilipD.Wasserman,NeuralComputing:TheoryandPractice,VanNostrandReinhold,1989.[14]李學(xué)橋.《神經(jīng)網(wǎng)絡(luò)工程應(yīng)用》.重慶:重慶大學(xué)出版社,1995.6:20-73[15]樓順天,等.《基于Matlab的系統(tǒng)分析與設(shè)計神經(jīng)網(wǎng)絡(luò)》.西安:西安電子科技大學(xué)出版社,2000.8:23-40[16]周開利,康耀紅編著.《神經(jīng)網(wǎng)絡(luò)模型及其MATLAB仿真程序設(shè)計》.2006:10-43[17]魏海坤.《神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計的理論與方法》.國防工業(yè)出版社,2005.9:20-30BPNeuralNetworkAndApplicationbasedonMATLABJiangLiangliangSchoolofBinjiang,NanjingUniversityofInformationScienceandTechnology,Nanjing210044ABSTRACT:First,theresearchpurposeandsignificanceofneuralnetworkisexpoundinthisarticle.Commentarystudiescurrentsituationattheproblemhomeandabroad.Leadstotheexistingproblems.andthenhaveanalysedalgorithmicbasalprincipleofneuralnetworks,Givealgorithmicconcreofclassicsneuralnetworksouttherealizationmethod.Summingupthecharacteristicsofneuralnetworkalgorithm.Neuralnetworkalgorithmisgiventhebasicprocesses.ThearithmeticofBPneuralnetworkisrealizedinMatlabsoftwareThealgorithmappliesofBPneuralnetworkstothefunctionapproximationproblemandcomputetheswatch

content.Andanalysisofrelevantparametersontheresultsofalgorithm.Finally,TheBPneuralnetworkalgorithmisOutlook.Keyword:neuralnetwork;BPneuralnetwork;functionapproximation目錄TOC\o"1-2"\p""\h\z\u第一章總論 11.1項目概況 11.2研究依據(jù)及范圍 21.3結(jié)論 31.4建議 4第二章項目建設(shè)的背景和必要性 52.1項目建設(shè)的背景

溫馨提示

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

評論

0/150

提交評論