人工神經(jīng)網(wǎng)絡(luò)matlab工具箱概要_第1頁
已閱讀1頁,還剩38頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、模式識別講義第5章 人工神經(jīng)網(wǎng)絡(luò),黃可坤嘉應(yīng)學(xué)院,— matlab神經(jīng)網(wǎng)絡(luò)工具箱,主要內(nèi)容,0 引例:神經(jīng)網(wǎng)絡(luò)函數(shù)擬合(預(yù)測)1 matlab神經(jīng)網(wǎng)絡(luò)工具箱2 人工神經(jīng)網(wǎng)絡(luò)(ANN)簡介3 前饋神經(jīng)網(wǎng)絡(luò)(BP網(wǎng)絡(luò))4 實例:多元神經(jīng)網(wǎng)絡(luò)預(yù)測5 實驗:神經(jīng)網(wǎng)絡(luò)分類,0 引例:神經(jīng)網(wǎng)絡(luò)函數(shù)擬合(預(yù)測),試構(gòu)造合適的神經(jīng)網(wǎng)絡(luò)模型擬合如下數(shù)據(jù)點,并預(yù)測x=10的值:,matlab代碼,x=0:0.5:9.5;y=[0, 0.

2、43, 0.69, 0.74, 0.61, 0.36, 0.08, -0.17, -0.34, -0.4, -0.35, -0.23, -0.08, 0.06, 0.16, 0.21, 0.2, 0.15, 0.07,-0.01];net = newff([0,9.5],[5, 1]);net.trainParam.epochs=100; net.trainParam.goad=0.000001;net = train(net,

3、x,y);x1=0:0.1:10;y1=sim(net,x1);figure; plot(x,y,'.');hold on; plot(x1,y1,'r');,∑,f,,,∑,,f,,∑,f,,,,∑,f,,,∑,f,,,∑,f,,,x,y,b1,b2,b3,b4,b5,b,網(wǎng)絡(luò)結(jié)構(gòu),y = f(w21*f(w11*x+b1) + …+ w25*f(w15*x+b5)+ b ),w1=net.IW

4、{1};w2=net.LW{2};b1=net.b{1};b2=net.b{2};a = tansig(w1*x0 + b1);y = tansig(w2*a + b2),Sigmoid函數(shù),1 matlab神經(jīng)網(wǎng)絡(luò)工具箱,1.1 網(wǎng)絡(luò)數(shù)據(jù)對象的建立,net=newff([xm,xM],[h1,…,hk],{f1,…,fk});xm,xM分別為列向量(行數(shù)為變量個數(shù)),分別存儲每個變量的最小值和最大值。[h1,…,hk]表

5、示網(wǎng)絡(luò)各層的節(jié)點數(shù), 一共有k層.{f1,…,fk}表示各層使用的傳輸函數(shù),默認為’tansig’,即Sigmoid函數(shù)。還可使用函數(shù)’purelin’,即f(x)=x。其它可看matlab幫助: help newff,1.2 網(wǎng)絡(luò)數(shù)據(jù)對象net的屬性,net.IW:來自輸入層的加權(quán)矩陣。BP網(wǎng)絡(luò)只用net.IW{1},表示各個輸入變量對第1層各節(jié)點的加權(quán)矩陣。net.LW:來自中間層的加權(quán)向量。 BP網(wǎng)絡(luò)用net.IW{2,

6、1}表示第1隱層個節(jié)點向下一層個節(jié)點的加權(quán)矩陣; net.IW{3,2}表示第2隱層向下一層的加權(quán)矩陣…net.b:各層的偏移。Net.b{1}表示第1隱層個節(jié)點的偏移…,net.trainParam.epochs:最大訓(xùn)練步數(shù)。不過當(dāng)誤差準則滿足時,即使沒達到此步數(shù)也停止訓(xùn)練。缺省為100。net.trainParam.goad:網(wǎng)絡(luò)誤差準則,當(dāng)誤差小于此準則時停止訓(xùn)練,缺省為0。net.trainFcn:訓(xùn)練算法。缺省為 ’t

7、rainlm’,即Levenberg-Marquardt算法。還可使用‘traingdx’,即帶動量的梯度下降算法;’traincgf’,即共軛梯度法。其它可看matlab幫助:help->contents-> Neural Network Toobox-> Network Object Reference;help(net.trainFcn),help newffCaution: trainlm is the

8、default training function because it is very fast, but it requires a lot of memory to run. If you get an "out-of-memory" error when training try doing one of these: Slow trainlm training, but reduce memory req

9、uirements by setting net.trainParam.mem_reduc to 2 or more. (See help trainlm.) Use trainbfg, which is slower but more memory-efficient than trainlm. Use trainrp, which is slower but more memory-efficient than trainbfg

10、.,1.3 網(wǎng)絡(luò)的訓(xùn)練,[net,tr,Y1,E]=train(net,X,Y);net是函數(shù)newff建立的數(shù)據(jù)對象。X為n*m的矩陣, n為輸入變量個數(shù), m為樣本數(shù)(即把每個樣本是一個列向量)。Y為k*m的矩陣, k為數(shù)出變量個數(shù)。tr返回訓(xùn)練的跟蹤信息, tr.epochs為訓(xùn)練步數(shù), tr.perf為各步目標(biāo)函數(shù)的值。Y1和E返回網(wǎng)絡(luò)最終的輸出和誤差。訓(xùn)練結(jié)束后可以用plotperf(tr)來繪制目標(biāo)值隨著訓(xùn)練步

11、數(shù)變化的曲線。,1.4 網(wǎng)絡(luò)的泛化(預(yù)測),Y=sim(net,X);net是函數(shù)newff建立的數(shù)據(jù)對象。X為n*m的矩陣, n為輸入變量個數(shù), m為樣本數(shù)(即把每個樣本是一個行向量)。Y為k*m的矩陣, k為數(shù)出變量個數(shù)。,2 人工神經(jīng)網(wǎng)絡(luò)(ANN)簡介,2.1 人工神經(jīng)網(wǎng)絡(luò)(ANN)的研究內(nèi)容,(1)理論研究:ANN模型及其學(xué)習(xí)算法,試圖從數(shù)學(xué)上描述ANN的動力學(xué)過程,建立相應(yīng)的ANN模型,在該模型的基礎(chǔ)上,對于給定的學(xué)習(xí)樣

12、本,找出一種能以較快的速度和較高的精度調(diào)整神經(jīng)元間互連權(quán)值,使系統(tǒng)達到穩(wěn)定狀態(tài),滿足學(xué)習(xí)要求的算法。(2)實現(xiàn)技術(shù)的研究:探討利用電子、光學(xué)、生物等技術(shù)實現(xiàn)神經(jīng)計算機的途徑。(3)應(yīng)用的研究:探討如何應(yīng)用ANN解決實際問題,如模式識別、故障檢測、智能機器人等。,2.2 ANN研究的目的和意義,(1)通過揭示物理平面與認知平面之間的映射,了解它們相互聯(lián)系和相互作用的機理,從而揭示思維的本質(zhì),探索智能的本源。(2)爭取構(gòu)造出盡可能與人

13、腦具有相似功能的計算機,即ANN計算機。(3)研究仿照腦神經(jīng)系統(tǒng)的人工神經(jīng)網(wǎng)絡(luò),將在模式識別、組合優(yōu)化和決策判斷等方面取得傳統(tǒng)計算機所難以達到的效果。,2.3 人工神經(jīng)網(wǎng)絡(luò)研究的局限性,(1)ANN研究受到腦科學(xué)研究成果的限制。 (2)ANN缺少一個完整、成熟的理論體系。(3)ANN研究帶有濃厚的策略和經(jīng)驗色彩。(4)ANN與傳統(tǒng)技術(shù)的接口不成熟。 一般而言, ANN與經(jīng)典計算方法相比并非優(yōu)越

14、, 只有當(dāng)常規(guī)方法解決不了或效果不佳時ANN方法才能顯示出其優(yōu)越性。尤其對問題的機理不甚了解或不能用數(shù)學(xué)模型表示的系統(tǒng),如故障診斷、特征提取和預(yù)測等問題,ANN往往是最有利的工具。另一方面, ANN對處理大量原始數(shù)據(jù)而不能用規(guī)則或公式描述的問題, 表現(xiàn)出極大的靈活性和自適應(yīng)性。,3 前饋神經(jīng)網(wǎng)絡(luò)(BP網(wǎng)絡(luò)),3.1 前饋神經(jīng)網(wǎng)絡(luò)(BP網(wǎng)絡(luò))的特點,非線性映照能力:神經(jīng)網(wǎng)絡(luò)能以任意精度逼近任何非線性連續(xù)函數(shù)。在建模過程中的許多問題正是具有

15、高度的非線性。并行分布處理方式:在神經(jīng)網(wǎng)絡(luò)中信息是分布儲存和并行處理的,這使它具有很強的容錯性和很快的處理速度。,自學(xué)習(xí)和自適應(yīng)能力:神經(jīng)網(wǎng)絡(luò)在訓(xùn)練時,能從輸入、輸出的數(shù)據(jù)中提取出規(guī)律性的知識,記憶于網(wǎng)絡(luò)的權(quán)值中,并具有泛化能力,即將這組權(quán)值應(yīng)用于一般情形的能力。神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)也可以在線進行。數(shù)據(jù)融合的能力:神經(jīng)網(wǎng)絡(luò)可以同時處理定量信息和定性信息,因此它可以利用傳統(tǒng)的工程技術(shù)(數(shù)值運算)和人工智能技術(shù)(符號處理)。多變量系統(tǒng):神經(jīng)

16、網(wǎng)絡(luò)的輸入和輸出變量的數(shù)目是任意的,對單變量系統(tǒng)與多變量系統(tǒng)提供了一種通用的描述方式,不必考慮各子系統(tǒng)間的解耦問題。,3.2 BP網(wǎng)絡(luò)輸入/輸出變量的確定,BP網(wǎng)絡(luò)的輸入變量即為待分析系統(tǒng)的內(nèi)生變量(影響因子或自變量)數(shù),一般根據(jù)專業(yè)知識確定。若輸入變量較多,一般可通過主成份分析方法壓減輸入變量,也可根據(jù)剔除某一變量引起的系統(tǒng)誤差與原系統(tǒng)誤差的比值的大小來壓減輸入變量。輸出變量即為系統(tǒng)待分析的外生變量(系統(tǒng)性能指標(biāo)或因變量),可以是一

17、個,也可以是多個。一般將一個具有多個輸出的網(wǎng)絡(luò)模型轉(zhuǎn)化為多個具有一個輸出的網(wǎng)絡(luò)模型效果會更好,訓(xùn)練也更方便。,3.3 BP網(wǎng)絡(luò)數(shù)據(jù)的預(yù)處理,由于BP神經(jīng)網(wǎng)絡(luò)的隱層一般采用Sigmoid轉(zhuǎn)換函數(shù),為提高訓(xùn)練速度和靈敏性以及有效避開Sigmoid函數(shù)的飽和區(qū)(即輸入值若大于1,則取為1),一般要求輸入數(shù)據(jù)的值在0~1之間(每個數(shù)都除于最大值)。如果輸出層節(jié)點也采用Sigmoid轉(zhuǎn)換函數(shù),輸出變量也必須作相應(yīng)的預(yù)處理,為保證建立的模型具有一

18、定的外推能力,最好使數(shù)據(jù)預(yù)處理后的輸出變量的值在0.2~0.8之間。預(yù)處理的數(shù)據(jù)訓(xùn)練完成后,網(wǎng)絡(luò)輸出的結(jié)果要進行反變換才能得到實際值。,3.4 BP網(wǎng)絡(luò)隱層數(shù)的確定,一般認為,增加隱層數(shù)可以降低網(wǎng)絡(luò)誤差(也有文獻認為不一定能有效降低),提高精度,但也使網(wǎng)絡(luò)復(fù)雜化,從而增加了網(wǎng)絡(luò)的訓(xùn)練時間和出現(xiàn)“過擬合”的傾向。Hornik等早已證明:若輸入層和輸出層采用線性轉(zhuǎn)換函數(shù),隱層采用Sigmoid轉(zhuǎn)換函數(shù),則含一個隱層的網(wǎng)MLP絡(luò)能夠以任意

19、精度逼近任何有理函數(shù)。顯然,這是一個存在性結(jié)論。在設(shè)計BP網(wǎng)絡(luò)時可參考這一點,應(yīng)優(yōu)先考慮3層BP網(wǎng)絡(luò)(即有1個隱層+輸入層輸出層)。一般地,靠增加隱層節(jié)點數(shù)來獲得較低的誤差,其訓(xùn)練效果要比增加隱層數(shù)更容易實現(xiàn)。對于沒有隱層的神經(jīng)網(wǎng)絡(luò)模型,實際上就是一個線性或非線性(取決于輸出層采用線性或非線性轉(zhuǎn)換函數(shù)型式)回歸模型。,3.5 BP網(wǎng)絡(luò)隱層節(jié)點數(shù)的確定,在BP 網(wǎng)絡(luò)中,隱層節(jié)點數(shù)的選擇非常重要,它不僅對建立的神經(jīng)網(wǎng)絡(luò)模型的性能影響很大,

20、而且是訓(xùn)練時出現(xiàn)“過擬合”的直接原因,但是目前理論上還沒有一種科學(xué)的和普遍的確定方法。確定隱層節(jié)點數(shù)的最基本原則是:在滿足精度要求的前提下取盡可能緊湊的結(jié)構(gòu),即取盡可能少的隱層節(jié)點數(shù)。研究表明,隱層節(jié)點數(shù)不僅與輸入/輸出層的節(jié)點數(shù)有關(guān),更與需解決的問題的復(fù)雜程度和轉(zhuǎn)換函數(shù)的型式以及樣本數(shù)據(jù)的特性等因素有關(guān)。,在確定隱層節(jié)點數(shù)時必須滿足下列條件:(1)隱層節(jié)點數(shù)必須小于N-1(其中N為訓(xùn)練樣本數(shù)),否則,網(wǎng)絡(luò)模型的系統(tǒng)誤差與訓(xùn)練樣本

21、的特性無關(guān)而趨于零,即建立的網(wǎng)絡(luò)模型沒有泛化能力,也沒有任何實用價值。同理可推得:輸入層的節(jié)點數(shù)(變量數(shù))必須小于N-1。(2) 訓(xùn)練樣本數(shù)必須多于網(wǎng)絡(luò)模型的連接權(quán)數(shù),一般為2~10倍,否則,樣本必須分成幾部分并采用“輪流訓(xùn)練”的方法才可能得到可靠的神經(jīng)網(wǎng)絡(luò)模型。,3.6 BP網(wǎng)絡(luò)的訓(xùn)練算法,由于BP網(wǎng)絡(luò)采用誤差反傳算法,其實質(zhì)是一個無約束的非線性最優(yōu)化計算過程,在網(wǎng)絡(luò)結(jié)構(gòu)較大時不僅計算時間長,而且很容易限入局部極小點而得不到最優(yōu)結(jié)果

22、。目前雖已有改進BP法、遺傳算法(GA)和模擬退火算法等多種優(yōu)化方法用于BP網(wǎng)絡(luò)的訓(xùn)練(這些方法從原理上講可通過調(diào)整某些參數(shù)求得全局極小點),但在應(yīng)用中,這些參數(shù)的調(diào)整往往因問題不同而異,較難求得全局極小點。這些方法中應(yīng)用最廣的是增加了沖量(動量)項的改進BP算法。,3.7 BP網(wǎng)絡(luò)的學(xué)習(xí)率和沖量系數(shù)的選擇,學(xué)習(xí)率η影響系統(tǒng)學(xué)習(xí)過程的穩(wěn)定性。大的學(xué)習(xí)率可能使網(wǎng)絡(luò)權(quán)值每一次的修正量過大,甚至?xí)?dǎo)致權(quán)值在修正過程中超出某個誤差的極小值呈

23、不規(guī)則跳躍而不收斂;但過小的學(xué)習(xí)率導(dǎo)致學(xué)習(xí)時間過長,不過能保證收斂于某個極小值。所以,一般傾向選取較小的學(xué)習(xí)率以保證學(xué)習(xí)過程的收斂性(穩(wěn)定性),通常在0.01~0.8之間。增加沖量項α的目的是為了避免網(wǎng)絡(luò)訓(xùn)練陷于較淺的局部極小點。理論上其值大小應(yīng)與權(quán)值修正量的大小有關(guān),但實際應(yīng)用中一般取常量。通常在0~1之間,而且一般比學(xué)習(xí)率要大。,3.8 BP網(wǎng)絡(luò)的初始連接權(quán)值,BP算法決定了誤差函數(shù)一般存在(很)多個局部極小點,不同的網(wǎng)絡(luò)初始權(quán)值

24、直接決定了BP算法收斂于哪個局部極小點或是全局極小點。因此,要求計算程序(matlab)必須通過多次(通常是幾十次)改變網(wǎng)絡(luò)初始連接權(quán)值求得相應(yīng)的極小點,才能通過比較這些極小點的網(wǎng)絡(luò)誤差的大小,確定全局極小點。由于Sigmoid轉(zhuǎn)換函數(shù)的特性,一般要求初始權(quán)值分布在-0.5~0.5之間比較有效。神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程本質(zhì)上是求非線性函數(shù)的極小點問題,因此,即使網(wǎng)絡(luò)誤差相同,各個網(wǎng)絡(luò)連接權(quán)值也可能有較大的差異,這有時也會使各個輸入變量的重要

25、性發(fā)生變化,檢驗樣本和測試樣本的網(wǎng)絡(luò)計算結(jié)果會產(chǎn)生很大變化,即多模式現(xiàn)象。,3.9 BP網(wǎng)絡(luò)的性能和泛化能力,因為訓(xùn)練樣本的誤差可以達到很小,因此,用從總樣本中隨機抽取的一部分測試樣本的誤差表示網(wǎng)絡(luò)模型計算和預(yù)測所具有的精度(網(wǎng)絡(luò)性能)是合理的和可靠的。值得注意的是,判斷網(wǎng)絡(luò)模型泛化能力的好壞,主要不是看測試樣本誤差大小的本身,而是要看測試樣本的誤差是否接近于訓(xùn)練樣本和檢驗樣本的誤差。,4 實例:多元神經(jīng)網(wǎng)絡(luò)預(yù)測,訓(xùn)練樣本,檢驗樣本,

26、網(wǎng)絡(luò)分為4層。各層節(jié)點數(shù)分別為:輸入層2個;第一隱層12個;第二隱層6個;輸出層1個。,網(wǎng)絡(luò)結(jié)構(gòu),模型的參數(shù),數(shù)據(jù)預(yù)處理,輸入數(shù)據(jù)和輸出數(shù)據(jù)都規(guī)格化為0到1:最大訓(xùn)練步數(shù) net.trainParam.epochs=100000收斂誤差界值 net.trainParam.goad=0.0001,,BP網(wǎng)絡(luò)訓(xùn)練誤差曲線,,UV254值,臭氧濃度 mg/L,UV254去除率,%,網(wǎng)絡(luò)模型,模型預(yù)測結(jié)果與實測值比較,5 實驗:神經(jīng)

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論