




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精彩文檔Matlab的神經(jīng)網(wǎng)絡(luò)工具箱實(shí)用指南作者:夏寒發(fā)布時(shí)間:2000/11/09文章摘要:第一章是神經(jīng)網(wǎng)絡(luò)的基本介紹,第二章包括了由工具箱指定的有關(guān)網(wǎng)絡(luò)結(jié)構(gòu)和符號(hào)的基本材料以及建立神經(jīng)網(wǎng)絡(luò)的一些基本函數(shù),例如new、init、adapt和train。第三章以反向傳播網(wǎng)絡(luò)為例講解了反向傳播網(wǎng)絡(luò)的原理和應(yīng)用的基本過(guò)程。正文:關(guān)閉宙口靜態(tài)網(wǎng)絡(luò)中的批處理方式批處理方式可以用adapt或train函數(shù)來(lái)實(shí)現(xiàn),雖然由于由于采用了更高效的學(xué)習(xí)算法,train通常是最好的選擇。增加方式只能用adapt來(lái)實(shí)現(xiàn),train函數(shù)只能用于批處理方式。讓我們用前面用過(guò)的靜態(tài)網(wǎng)絡(luò)的例子開始,學(xué)習(xí)速率設(shè)置為0.1。ne
2、t=newlin(-11;-11,1,0,0.1);net.IW1,1=00;net.b1=0;用adapt函數(shù)實(shí)現(xiàn)靜態(tài)網(wǎng)絡(luò)的批處理方式,輸入向量必須用同步向量矩陣的方式放置:P=1223;2131;T=4577;當(dāng)我們調(diào)用adapt時(shí)將觸發(fā)adaptwb函數(shù),這是缺省的線性網(wǎng)絡(luò)調(diào)整函數(shù)。learnwh是缺省的權(quán)重和偏置學(xué)習(xí)函數(shù)。因此,Widrow-Hoff學(xué)習(xí)法將會(huì)被使用:net,a,e,pf=adapt(net,P,T);a=0000e=4577注意網(wǎng)絡(luò)的輸出全部為0,因?yàn)樵谒幸?xùn)練的數(shù)據(jù)提交前權(quán)重沒(méi)有被更新,如果我們顯示權(quán)重,我們就會(huì)發(fā)現(xiàn):net.IW1,1ans=4.90004.10
3、00net.b1ans=2.3000經(jīng)過(guò)了用adapt函數(shù)的批處理方式調(diào)整,這就和原來(lái)不一樣了?,F(xiàn)在用train函數(shù)來(lái)實(shí)現(xiàn)批處理方式。由于Widrow-Hoff規(guī)則能夠在增加方式和批處理方式中應(yīng)用,它可以通過(guò)adapt和train觸發(fā)。我們有好幾種算法只能用于批處理方式(特別是Levenberg-Marquardt算法),所以這些算法只能用train觸發(fā)。網(wǎng)絡(luò)用相同的方法建立:net=newlin(-11;-11,1,0,0.1);net.IW1,1=00;net.b1=0;在這種情況下輸入向量即能用同步向量矩陣表示也能用異步向量細(xì)胞數(shù)組表示。用train函數(shù),任何異步向量細(xì)胞數(shù)組都會(huì)轉(zhuǎn)換成同
4、步向量矩陣。這是因?yàn)榫W(wǎng)絡(luò)是靜態(tài)的,并且因?yàn)閠rain總是在批處理方式中使用。因?yàn)镸ATLAB實(shí)現(xiàn)同步模式效率更高,所以只要可能總是采用同步模式處理。P=1223;2131;T=4577;現(xiàn)在我們開始訓(xùn)練網(wǎng)絡(luò)。由于我們只用了一次adapt,我們這里訓(xùn)練它一次。缺省的線性網(wǎng)絡(luò)訓(xùn)練函數(shù)是trainwb。learnwh是缺省的權(quán)重和偏置學(xué)習(xí)函數(shù)。因此,我們應(yīng)該和前面缺省調(diào)整函數(shù)是adaptwb的例子得到同樣的結(jié)果。net.inputWeights1,1.learnParam.lr=0.1;net.biases1.learnParam.lr=0.1;net.trainParam.epochs=1;net
5、=train(net,P,T);經(jīng)過(guò)一次訓(xùn)練后,我們顯示權(quán)重發(fā)現(xiàn):net.IW1,1ans=4.90004.1000net.b1ans=2.3000這和用adapt訓(xùn)練出來(lái)的結(jié)果是一樣的。在靜態(tài)網(wǎng)絡(luò)中,adapt函數(shù)能夠根據(jù)輸入數(shù)據(jù)格式的不同應(yīng)用于增加方式和批處理方式。如果數(shù)據(jù)用同步向量矩陣方式輸入就用批處理方式訓(xùn)練;如果數(shù)據(jù)用異步方式輸入就用增加方式。但這對(duì)于train函數(shù)行不通,無(wú)論輸入格式如何,它總是采用批處理方式。動(dòng)態(tài)網(wǎng)絡(luò)中的增加方式訓(xùn)練靜態(tài)網(wǎng)絡(luò)相對(duì)要簡(jiǎn)單一些。如果我們用train訓(xùn)練網(wǎng)絡(luò),即使輸入是異步向量細(xì)胞數(shù)組,它也是轉(zhuǎn)變成同步向量矩陣而采用批處理方式。如果我們用adapt。輸入
6、格式?jīng)Q定著網(wǎng)絡(luò)訓(xùn)練方式。如果傳遞的是序列,網(wǎng)絡(luò)用增加方式,如果傳遞的是同步向量就采用批處理方式。在動(dòng)態(tài)網(wǎng)絡(luò)中,批處理方式只能用train完成,寺別是當(dāng)僅有一個(gè)訓(xùn)練序列存在時(shí)。為了說(shuō)明清楚,讓我們重新考慮那個(gè)帶延遲的線性網(wǎng)絡(luò)。我們把學(xué)習(xí)速率設(shè)為0.02(當(dāng)我們采用梯度下降算法時(shí),我們要用比增加方式更小的學(xué)習(xí)速率,應(yīng)為所有的分立的梯度都要在決定權(quán)重改變步進(jìn)之前求和)net=newlin(-11,1,01,0.02);net.IW1,1=00;net.biasConnect=0;net.trainParam.epochs=1;Pi=1;P=234;T=356;我們用以前增加方式訓(xùn)練過(guò)的那組數(shù)據(jù)訓(xùn)練,
7、但是這一次我們希望只有在所有數(shù)據(jù)都提交后才更新權(quán)重(批處理方式)。因?yàn)檩斎胧且粋€(gè)序列,網(wǎng)絡(luò)將用異步模式模擬。但是權(quán)重將用批處理方式更新。net=train(net,P,T,Pi);經(jīng)過(guò)一次訓(xùn)練后,權(quán)重值為:net.IW1,1ans=0.90000.6200這里的權(quán)重值和我們用增加方式得到的不同。在增加方式中,通過(guò)訓(xùn)練設(shè)置,一次訓(xùn)練可以更新權(quán)重三次。在批處理方式中,每次訓(xùn)練只能更新一次。第三章反向傳播網(wǎng)絡(luò)(BP網(wǎng)絡(luò))1概述前面介紹了神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)和模型在實(shí)際應(yīng)用中我們用的最廣泛的是反向傳播網(wǎng)絡(luò)(BP網(wǎng)絡(luò))下面就介紹一下BP網(wǎng)絡(luò)的結(jié)構(gòu)和應(yīng)用。BP網(wǎng)絡(luò)是采用Widrow-Hoff學(xué)習(xí)算法和非線性可微
8、轉(zhuǎn)移函數(shù)的多層網(wǎng)絡(luò)。一個(gè)典型的BP網(wǎng)絡(luò)采用的是梯度下降算法,也就是Widrow-Hoff算法所規(guī)定的。backpropagation就是指的為非線性多層網(wǎng)絡(luò)計(jì)算梯度的方法?,F(xiàn)在有許多基本的優(yōu)化算法,例如變尺度算法和牛頓算法。神經(jīng)網(wǎng)絡(luò)工具箱提供了許多這樣的算法。這一章我們將討論使用這些規(guī)則和這些算法的優(yōu)缺點(diǎn)。一個(gè)經(jīng)過(guò)訓(xùn)練的BP網(wǎng)絡(luò)能夠根據(jù)輸入給出合適的結(jié)果,雖然這個(gè)輸入并沒(méi)有被訓(xùn)練過(guò)。這個(gè)特性使得BP網(wǎng)絡(luò)很適合采用輸入/目標(biāo)對(duì)進(jìn)行訓(xùn)練,而且并不需要把所有可能的輸入/目標(biāo)對(duì)都訓(xùn)練過(guò)。為了提高網(wǎng)絡(luò)的適用性,神經(jīng)網(wǎng)絡(luò)工具箱提供了兩個(gè)特性-規(guī)則化和早期停止。這兩個(gè)特性和用途我們將在這一章的后面討論。這一
9、章還將討論網(wǎng)絡(luò)的預(yù)處理和后處理技術(shù)以提高網(wǎng)絡(luò)訓(xùn)練效率。2基礎(chǔ)網(wǎng)絡(luò)結(jié)構(gòu)神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)前一章已詳細(xì)討論過(guò),前饋型BP網(wǎng)絡(luò)的結(jié)構(gòu)結(jié)構(gòu)和它基本相同,這里就不再詳細(xì)論述了,這里著重說(shuō)明以下幾點(diǎn):1.常用的前饋型BP網(wǎng)絡(luò)的轉(zhuǎn)移函數(shù)有l(wèi)ogsig,tansig,有時(shí)也會(huì)用到線性函數(shù)purelin。當(dāng)網(wǎng)絡(luò)的最后一層采用曲線函數(shù)時(shí),輸出被限制在一個(gè)很小的范圍內(nèi),如果采用線性函數(shù)則輸出可為任意值。以上三個(gè)函數(shù)是BP網(wǎng)絡(luò)中最常用到的函數(shù)但是如果需要的話你也可以創(chuàng)建其他可微的轉(zhuǎn)移函數(shù)。2在BP網(wǎng)絡(luò)中,轉(zhuǎn)移函數(shù)可求導(dǎo)是非常重要的,tansig、logsig和purelin都有對(duì)應(yīng)的導(dǎo)函數(shù)dtansig、dlogsig和
10、dpurelin。為了得到更多轉(zhuǎn)移函數(shù)的導(dǎo)函數(shù),你可以帶字符匕eriv的轉(zhuǎn)移函數(shù):tansig(deriv)ans=dtansig網(wǎng)絡(luò)構(gòu)建和初始化訓(xùn)練前饋網(wǎng)絡(luò)的第一步是建立網(wǎng)絡(luò)對(duì)象。函數(shù)newff建立一個(gè)可訓(xùn)練的前饋網(wǎng)絡(luò)。這需要4個(gè)輸入?yún)?shù)。第一個(gè)參數(shù)是一個(gè)Rx2的矩陣以定義R個(gè)輸入向量的最小值和最大值。第二個(gè)參數(shù)是一個(gè)顢頇每層神經(jīng)元個(gè)數(shù)的數(shù)組。第三個(gè)參數(shù)是包含每層用到的轉(zhuǎn)移函數(shù)名稱的細(xì)胞數(shù)組。最后一個(gè)參數(shù)是用到的訓(xùn)練函數(shù)的名稱。舉個(gè)例子,下面命令將創(chuàng)建一個(gè)二層網(wǎng)絡(luò),其網(wǎng)絡(luò)模型如下圖所示。輸入輸出層、/它的輸入是兩個(gè)元素的向量,第一層有三個(gè)神經(jīng)元,第二層有一個(gè)神經(jīng)元。第一層的轉(zhuǎn)移函數(shù)是tan-
11、sigmoid,輸出層的轉(zhuǎn)移函數(shù)是linear。輸入向量的第一個(gè)元素的范圍是-1到2,輸入向量的第二個(gè)兀素的范圍是0到5,訓(xùn)練函數(shù)是traingd。net=newff(-12;05,3,1,tansig,purelin,traingd);這個(gè)命令建立了網(wǎng)絡(luò)對(duì)象并且初始化了網(wǎng)絡(luò)權(quán)重和偏置,因此網(wǎng)絡(luò)就可以進(jìn)行訓(xùn)練了。我們可能要多次重新初始化權(quán)重或者進(jìn)行自定義的初始化。下面就是初始化的詳細(xì)步驟。在訓(xùn)練前饋網(wǎng)絡(luò)之前,權(quán)重和偏置必須被初始化。初始化權(quán)重和偏置的工作用命令init來(lái)實(shí)現(xiàn)。這個(gè)函數(shù)接收網(wǎng)絡(luò)對(duì)象并初始化權(quán)重和偏置后返回網(wǎng)絡(luò)對(duì)象。下面就是網(wǎng)絡(luò)如何初始化的:net=init(net);我們可以通過(guò)
12、設(shè)定網(wǎng)絡(luò)參數(shù)net.initFcn和net.layeri.initFcn這一技巧來(lái)初始化一個(gè)給定的網(wǎng)絡(luò)。net.initFcn用來(lái)決定整個(gè)網(wǎng)絡(luò)的初始化函數(shù)。前饋網(wǎng)絡(luò)的缺省值為initlay,它允許每一層用單獨(dú)的初始化函數(shù)。設(shè)定了net.initFcn,那么參數(shù)net.layeri.initFcn也要設(shè)定用來(lái)決定每一層的初始化函數(shù)。對(duì)前饋網(wǎng)絡(luò)來(lái)說(shuō),有兩種不同的初始化方式經(jīng)常被用到:initwb和initnwinitwb函數(shù)根據(jù)每一層自己的初始化參數(shù)(net.inputWeightsi,j.initFcn)初始化權(quán)重矩陣和偏置。前饋網(wǎng)絡(luò)的初始化權(quán)重通常設(shè)為rands,它使權(quán)重在-1到1之間隨機(jī)取值
13、。這種方式經(jīng)常用在轉(zhuǎn)換函數(shù)是線性函數(shù)時(shí)。initnw通常用于轉(zhuǎn)換函數(shù)是曲線函數(shù)。它根據(jù)Nguyen和WidrowNgWi90為層產(chǎn)生初始權(quán)重和偏置值,使得每層神經(jīng)元的活動(dòng)區(qū)域能大致平坦的分布在輸入空間。它比起單純的給權(quán)重和偏置隨機(jī)賦值有以下優(yōu)點(diǎn):(1)減少神經(jīng)元的浪費(fèi)(因?yàn)樗猩窠?jīng)元的活動(dòng)區(qū)域都在輸入空間內(nèi))。(2)有更快的訓(xùn)練速度(因?yàn)檩斎肟臻g的每個(gè)區(qū)域都在活動(dòng)的神經(jīng)元范圍中)。初始化函數(shù)被newff所調(diào)用。因此當(dāng)網(wǎng)絡(luò)創(chuàng)建時(shí),它根據(jù)缺省的參數(shù)自動(dòng)初始化。init不需要單獨(dú)的調(diào)用??墒俏覀兛赡芤匦鲁跏蓟瘷?quán)重和偏置或者進(jìn)行自定義的初始化。例如,我們用newff創(chuàng)建的網(wǎng)絡(luò),它缺省用initnw來(lái)
14、初始化第一層。如果我們想要用rands重新初始化第一層的權(quán)重和偏置,我們用以下命令:net.layers1.initFcn=initwb;net.inputWeights1,1.initFcn=rands;net.biases1,1.initFcn=rands;net.biases2,1.initFcn=rands;net=init(net);網(wǎng)絡(luò)模擬(SIM)函數(shù)sim模擬一個(gè)網(wǎng)絡(luò)。sim接收網(wǎng)絡(luò)輸入p,網(wǎng)絡(luò)對(duì)象net,返回網(wǎng)絡(luò)輸出a,這里是simuff用來(lái)模擬上面建立的帶一個(gè)輸入向量的網(wǎng)絡(luò)。p=1;2;a=sim(net,p)a=-0.1011(用這段代碼得到的輸出是不一樣的,這是因?yàn)榫W(wǎng)絡(luò)
15、初始化是隨機(jī)的。)下面調(diào)用sim來(lái)計(jì)算一個(gè)同步輸入3向量網(wǎng)絡(luò)的輸出:p=132;241;a=sim(net,p)a=-0.1011-0.23080.4955網(wǎng)絡(luò)訓(xùn)練一旦網(wǎng)絡(luò)加權(quán)和偏差被初始化,網(wǎng)絡(luò)就可以開始訓(xùn)練了。我們能夠訓(xùn)練網(wǎng)絡(luò)來(lái)做函數(shù)近似(非線性后退),模式結(jié)合,或者模式分類。訓(xùn)練處理需要一套適當(dāng)?shù)木W(wǎng)絡(luò)操作的例子-網(wǎng)絡(luò)輸入p和目標(biāo)輸出t。在訓(xùn)練期間網(wǎng)絡(luò)的加權(quán)和偏差不斷的把網(wǎng)絡(luò)性能函數(shù)net.performFcn減少到最小。前饋網(wǎng)絡(luò)的缺省性能函數(shù)是均方誤差mse-網(wǎng)絡(luò)輸出和目標(biāo)輸出t之間的均方誤差。這章的余項(xiàng)將描述幾個(gè)對(duì)前饋網(wǎng)絡(luò)來(lái)說(shuō)不同的訓(xùn)練算法。所有這些算法都用性能函數(shù)的梯度來(lái)決定怎樣把權(quán)
16、重調(diào)整到最佳。梯度由叫做反向傳播的技術(shù)決定,它要通過(guò)網(wǎng)絡(luò)實(shí)現(xiàn)反向計(jì)算。反向傳播計(jì)算源自使用微積分的鏈規(guī)則基本的反向傳播算法的權(quán)重沿著梯度的負(fù)方向移動(dòng),這將在下一節(jié)講述。以后的章節(jié)將講述更復(fù)雜的算法以提高收斂速度。反向傳播算法反向傳播算法中有許多變量,這一章將討論其中的一些。反向傳播學(xué)習(xí)算法最簡(jiǎn)單的應(yīng)用是沿著性能函數(shù)最速增加的方向-梯度的負(fù)方向更新權(quán)重和偏置。這種遞歸算法可以寫成:xk+1=xk-akgk這里xk是當(dāng)前權(quán)重和偏置向量,gk是當(dāng)前梯度,ak是學(xué)習(xí)速率。有兩種不同的辦法實(shí)現(xiàn)梯度下降算法:增加模式和批處理模式。在增加模式中,網(wǎng)絡(luò)輸入每提交一次,梯度計(jì)算一次并更新權(quán)重在批處理模式中,當(dāng)所
17、有的輸入都被提交后網(wǎng)絡(luò)才被更新。下面兩節(jié)將討論增加模式和批處理模式。增加模式訓(xùn)練法(ADAPT)函數(shù)adapt用來(lái)訓(xùn)練增加模式的網(wǎng)絡(luò),它從訓(xùn)練設(shè)置中接受網(wǎng)絡(luò)對(duì)象、網(wǎng)絡(luò)輸入和目標(biāo)輸入,返回訓(xùn)練過(guò)的網(wǎng)絡(luò)對(duì)象、用最后的權(quán)重和偏置得到的輸出和誤差。這里有幾個(gè)網(wǎng)絡(luò)參數(shù)必須被設(shè)置,第一個(gè)是netadaptFcn,它決定使用哪一種增加模式函數(shù),缺省值為adaptwb,這個(gè)值允許每一個(gè)權(quán)重和偏置都指定它自己的函數(shù),這些單個(gè)的學(xué)習(xí)函數(shù)由參數(shù)net.biasesi,j.learnFcn、net.inputWeightsi,j.learnFcn、net.layerWeightsi,j.learnFcn和Gradie
18、ntDescent(LEARDGD)來(lái)決定。對(duì)于基本的梯度最速下降算法,權(quán)重和偏置沿著性能函數(shù)的梯度的負(fù)方向移動(dòng)。在這種算法中,單個(gè)的權(quán)重和偏置的學(xué)習(xí)函數(shù)設(shè)定為learngd。下面的命令演示了怎樣設(shè)置前面建立的前饋函數(shù)參數(shù):net.biases1,1.learnFcn=learngd;net.biases2,1.learnFcn=learngd;net.layerWeights2,1.learnFcn=learngd;net.inputWeights1,1.learnFcn=learngd;函數(shù)learngd有一個(gè)相關(guān)的參數(shù)-學(xué)習(xí)速率lr。權(quán)重和偏置的變化通過(guò)梯度的負(fù)數(shù)乘上學(xué)習(xí)速率倍數(shù)得到。學(xué)
19、習(xí)速率越大,步進(jìn)越大。如果學(xué)習(xí)速率太大算法就會(huì)變得不穩(wěn)定。如果學(xué)習(xí)速率太小,算法就需要很長(zhǎng)的時(shí)間才能收斂。當(dāng)learnFcn設(shè)置為learngd時(shí),就為每一個(gè)權(quán)重和偏置設(shè)置了學(xué)習(xí)速率參數(shù)的缺省值,如上面的代碼所示,當(dāng)然你也可以自己按照意愿改變它。下面的代碼演示了把層權(quán)重的學(xué)習(xí)速率設(shè)置為0.2。我們也可以為權(quán)重和偏置單獨(dú)的設(shè)置學(xué)習(xí)速率。net.layerWeights2,1.learnParam.lr=0.2;為有序訓(xùn)練設(shè)置的最后一個(gè)參數(shù)是net.adaptParam.passes,它決定在訓(xùn)練過(guò)程中訓(xùn)練值重復(fù)的次數(shù)。這里設(shè)置重復(fù)次數(shù)為200net.adaptParam.passes=200;現(xiàn)
20、在我們就可以開始訓(xùn)練網(wǎng)絡(luò)了。當(dāng)然我們要指定輸入值和目標(biāo)值如下所示:p=-1-122;0505;t=-1-111;如果我們要在每一次提交輸入后都更新權(quán)重,那么我們需要將輸入矩陣和目標(biāo)矩陣轉(zhuǎn)變?yōu)榧?xì)胞數(shù)組。每一個(gè)細(xì)胞都是一個(gè)輸入或者目標(biāo)向量。p=num2cell(p,1);t=num2cell(t,1);現(xiàn)在就可以用adapt來(lái)實(shí)現(xiàn)增加方式訓(xùn)練了:net,a,e=adapt(net,p,t);訓(xùn)練結(jié)束以后,我們就可以模擬網(wǎng)絡(luò)輸出來(lái)檢驗(yàn)訓(xùn)練質(zhì)量了。a=sim(net,p)a=-0.9995-1.00001.00011.0000帶動(dòng)力的梯度下降法(LEARDGDM)除了learngd以外,還有一種增加方
21、式算法常被用到尼能提供更快的收斂速度-learngdm,帶動(dòng)量的最速下降法。動(dòng)力允許網(wǎng)絡(luò)不但根據(jù)當(dāng)前梯度而且還能根據(jù)誤差曲面最近的趨勢(shì)響應(yīng)。就像一個(gè)低通濾波器一樣,動(dòng)量允許網(wǎng)絡(luò)忽略誤差曲面的小特性。沒(méi)有動(dòng)量,網(wǎng)絡(luò)又可能在一個(gè)局部最小中被卡住。有了動(dòng)量網(wǎng)絡(luò)就能夠平滑這樣的最小。動(dòng)量能夠通過(guò)把權(quán)重變得與上次權(quán)重變化的部分和由算法規(guī)則得到的新變化的和相同而加入到網(wǎng)絡(luò)學(xué)習(xí)中去。上一次權(quán)重變化對(duì)動(dòng)量的影響由一個(gè)動(dòng)量常數(shù)來(lái)決定,它能夠設(shè)為0到1之間的任意值。當(dāng)動(dòng)量常數(shù)為0時(shí),權(quán)重變化之根據(jù)梯度得到。當(dāng)動(dòng)量常數(shù)為1時(shí)新的權(quán)重變化等于上次的權(quán)重變化,梯度值被忽略了。Learngdm函數(shù)有上面所示的learng
22、d函數(shù)觸發(fā),除非me和lr學(xué)習(xí)參數(shù)都被設(shè)置了。由于每一個(gè)權(quán)重和偏置有它自己的學(xué)習(xí)參數(shù),每一個(gè)權(quán)重和偏置都可以用不同的參數(shù)。下面的命令將用lerangdm為前面建立的用增加方式訓(xùn)練的網(wǎng)絡(luò)設(shè)置缺省的學(xué)習(xí)參數(shù):net.biases1,1.learnFen=learngdm;net.biases2,1.learnFen=learngdm;net.layerWeights2,1.learnFen=learngdm;net.inputWeights1,1.learnFen=learngdm;net,a,e=adapt(net,p,t);批處理訓(xùn)練方式訓(xùn)練的另一種方式是批處理方式,它由函數(shù)train觸發(fā)。在
23、批處理方式中,當(dāng)整個(gè)訓(xùn)練設(shè)置被應(yīng)用到網(wǎng)絡(luò)后權(quán)重和偏置才被更新。在每一個(gè)訓(xùn)練例子中的計(jì)算的梯度加在一起來(lái)決定權(quán)重和偏置的變化。批處理梯度下降法(TRAINGD)與增加方式的學(xué)習(xí)函數(shù)learngd等價(jià)的函數(shù)是traingd它是批處理形式中標(biāo)準(zhǔn)的最速下降學(xué)習(xí)函數(shù)。權(quán)重和偏置沿著性能函數(shù)的梯度的負(fù)方向更新。如果你希望用批處理最速下降法訓(xùn)練函數(shù),你要設(shè)置網(wǎng)絡(luò)的trainFcn為traingd,并調(diào)用train函數(shù)。不像以前章節(jié)的學(xué)習(xí)函數(shù),它們要單獨(dú)設(shè)置權(quán)重矩陣和偏置向量,這一次給定的網(wǎng)絡(luò)只有一個(gè)學(xué)習(xí)函數(shù)。Traingd有幾個(gè)訓(xùn)練參數(shù):epochs,show,goal,time,min_grad,max_
24、fail和口lr。這里的學(xué)習(xí)速率和lerangd的意義是一樣的。訓(xùn)練狀態(tài)將每隔show次顯示一次。其他參數(shù)決定訓(xùn)練什么時(shí)候結(jié)束。如果訓(xùn)練次數(shù)超過(guò)epochs,性能函數(shù)低于goal,梯度值低于mingrad或者訓(xùn)練時(shí)間超過(guò)time,訓(xùn)練就會(huì)結(jié)束。下面的代碼將重建我們以前的網(wǎng)絡(luò),然后用批處理最速下降法訓(xùn)練網(wǎng)絡(luò)。(注意用批處理方式訓(xùn)練的話所有的輸入要設(shè)置為矩陣方式)net=newff(-12;05,3,1,tansig,purelin,traingd);net.trainParam.show=50;net.trainParam.lr=0.05;net.trainParam.epochs=300;ne
25、t.trainParam.goal=1e-5;p=-1-122;0505;t=-1-111;net=train(net,p,t);TRAINGD,Epoch0/300,MSE1.59423/1e-05,Gradient2.76799/1e-10TRAINGD,Epoch50/300,MSE0.00236382/1e-05,Gradient0.0495292/1e-10TRAINGD,Epoch100/300,MSE0.000435947/1e-05,Gradient0.0161202/1e-10TRAINGD,Epoch150/300,MSE8.68462e-05/1e-05,Gradient
26、0.00769588/1e-10TRAINGD,Epoch200/300,MSE1.45042e-05/1e-05,Gradient0.00325667/1e-10TRAINGD,Epoch211/300,MSE9.64816e-06/1e-05,Gradient0.00266775/1e-10TRAINGD,Performancegoalmet.a=sim(net,p)a=-1.0010-0.99891.00180.9985用nnd12sd1來(lái)演示批處理最速下降法的性能。帶動(dòng)量的批處理梯度下降法(TRAINGDM)帶動(dòng)量的批處理梯度下降法用訓(xùn)練函數(shù)traingdm觸發(fā)。這種算法除了兩個(gè)例外和learmgdm是一致的。第一梯度是每一個(gè)訓(xùn)練例子中計(jì)算的梯度的總和,并且權(quán)重和偏置僅僅在訓(xùn)練例子全部提交以后才更新。第二如果在給定重復(fù)次數(shù)中新的性能函數(shù)超過(guò)了以前重復(fù)次數(shù)中的性能函數(shù)的預(yù)定義速率max_perf_inc(
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- T/CECS 10309-2023一體化智能截流井
- T/CECS 10267-2023高模量聚丙烯一體化預(yù)制泵站
- T/CECS 10028-2019綠色建材評(píng)價(jià)鋼結(jié)構(gòu)房屋用鋼構(gòu)件
- T/CCSAS 047-2023危險(xiǎn)化學(xué)品編碼與標(biāo)識(shí)技術(shù)規(guī)范
- T/CCOA 7-2020低菌小麥粉
- T/CCMA 0169-2023平地機(jī)輔助找平系統(tǒng)
- T/CCMA 0139-2022履帶式吊管機(jī)維修工時(shí)定額
- T/CCAAS 002-2019企業(yè)幸福指數(shù)評(píng)價(jià)標(biāo)準(zhǔn)
- T/CAQI 58-2018污(廢)水生物處理懸浮填料老化生物膜脫除技術(shù)規(guī)范
- 2024年度江蘇省二級(jí)注冊(cè)建筑師之法律法規(guī)經(jīng)濟(jì)與施工基礎(chǔ)試題庫(kù)和答案要點(diǎn)
- 2025屆天津市蘆臺(tái)一中高三一模-化學(xué)試卷
- 蘇教版數(shù)學(xué)一年級(jí)下冊(cè)(2024)第七單元觀察物體(一)綜合素養(yǎng)測(cè)評(píng) A 卷(含答案)
- 市政道路工程施工組織設(shè)計(jì)方案
- 活動(dòng)策劃服務(wù)投標(biāo)方案(技術(shù)方案)
- 2024年版豬場(chǎng)員工勞動(dòng)合同模板3篇
- Unit 6 Section A 1a-2c 說(shuō)課課件2024-2025學(xué)年人教版英語(yǔ)八年級(jí)下冊(cè)
- 2024年中國(guó)養(yǎng)老產(chǎn)業(yè)商學(xué)研究報(bào)告-銀發(fā)經(jīng)濟(jì)專題
- 保衛(wèi)管理員三級(jí)練習(xí)題
- DBJ51T033-2014 四川省既有建筑電梯增設(shè)及改造技術(shù)規(guī)程
- 武昌實(shí)驗(yàn)中學(xué)2025屆高三下第一次測(cè)試數(shù)學(xué)試題含解析
- 養(yǎng)老護(hù)理員培訓(xùn)課程內(nèi)容(范本)
評(píng)論
0/150
提交評(píng)論