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

下載本文檔

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

文檔簡(jiǎn)介

1、模式識(shí)別講義第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ù)測(cè))1 matlab神經(jīng)網(wǎng)絡(luò)工具箱2 人工神經(jīng)網(wǎng)絡(luò)(ANN)簡(jiǎn)介3 前饋神經(jīng)網(wǎng)絡(luò)(BP網(wǎng)絡(luò))4 實(shí)例:多元神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)5 實(shí)驗(yàn):神經(jīng)網(wǎng)絡(luò)分類(lèi),0 引例:神經(jīng)網(wǎng)絡(luò)函數(shù)擬合(預(yù)測(cè)),試構(gòu)造合適的神經(jīng)網(wǎng)絡(luò)模型擬合如下數(shù)據(jù)點(diǎn),并預(yù)測(cè)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ù)對(duì)象的建立,net=newff([xm,xM],[h1,…,hk],{f1,…,fk});xm,xM分別為列向量(行數(shù)為變量個(gè)數(shù)),分別存儲(chǔ)每個(gè)變量的最小值和最大值。[h1,…,hk]表

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

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

7、rainlm’,即Levenberg-Marquardt算法。還可使用‘traingdx’,即帶動(dòng)量的梯度下降算法;’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ù)對(duì)象。X為n*m的矩陣, n為輸入變量個(gè)數(shù), m為樣本數(shù)(即把每個(gè)樣本是一個(gè)列向量)。Y為k*m的矩陣, k為數(shù)出變量個(gè)數(shù)。tr返回訓(xùn)練的跟蹤信息, tr.epochs為訓(xùn)練步數(shù), tr.perf為各步目標(biāo)函數(shù)的值。Y1和E返回網(wǎng)絡(luò)最終的輸出和誤差。訓(xùn)練結(jié)束后可以用plotperf(tr)來(lái)繪制目標(biāo)值隨著訓(xùn)練步

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

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

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

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

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

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

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

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

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

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

21、的特性無(wú)關(guān)而趨于零,即建立的網(wǎng)絡(luò)模型沒(méi)有泛化能力,也沒(méi)有任何實(shí)用價(jià)值。同理可推得:輸入層的節(jié)點(diǎn)數(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ò)采用誤差反傳算法,其實(shí)質(zhì)是一個(gè)無(wú)約束的非線(xiàn)性最優(yōu)化計(jì)算過(guò)程,在網(wǎng)絡(luò)結(jié)構(gòu)較大時(shí)不僅計(jì)算時(shí)間長(zhǎng),而且很容易限入局部極小點(diǎn)而得不到最優(yōu)結(jié)果

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

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

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

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

26、網(wǎng)絡(luò)分為4層。各層節(jié)點(diǎn)數(shù)分別為:輸入層2個(gè);第一隱層12個(gè);第二隱層6個(gè);輸出層1個(gè)。,網(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)練誤差曲線(xiàn),,UV254值,臭氧濃度 mg/L,UV254去除率,%,網(wǎng)絡(luò)模型,模型預(yù)測(cè)結(jié)果與實(shí)測(cè)值比較,5 實(shí)驗(yàn):神經(jīng)

溫馨提示

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

評(píng)論

0/150

提交評(píng)論