小學教育在Matlabx中構(gòu)建PPT課件_第1頁
小學教育在Matlabx中構(gòu)建PPT課件_第2頁
小學教育在Matlabx中構(gòu)建PPT課件_第3頁
小學教育在Matlabx中構(gòu)建PPT課件_第4頁
小學教育在Matlabx中構(gòu)建PPT課件_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 BP網(wǎng)絡(luò)建立 BP訓練算法選取 訓練數(shù)據(jù)的前期處理 提高BP網(wǎng)絡(luò)泛化能力 檢驗BP網(wǎng)絡(luò)的方法第1頁/共31頁一. BP網(wǎng)絡(luò)建立 1.網(wǎng)絡(luò)的輸入輸出數(shù)據(jù)結(jié)構(gòu) (m維輸入n維輸出) a. 只有一個樣本時 Input = P1,P2,Pm m by 1列向量 Output = O1,O2,On n by 1列向量 第2頁/共31頁 b.有s個樣本的時候 輸入 Input 是 m by s矩陣 每個列向量為一個輸入向量. 輸出 Output 是 n by s矩陣每個列向量為一個輸出.第3頁/共31頁 2. 網(wǎng)絡(luò)結(jié)構(gòu)(一般3層網(wǎng)絡(luò)夠用) 輸入層單元數(shù): m 輸出層單元數(shù): n 隱層單元數(shù)h確定原則:

2、在滿足訓練精度的情況下越少越好, 以防止過擬合情況. 第4頁/共31頁 3. 網(wǎng)絡(luò)權(quán)值(weight)與閾值(bias)數(shù)據(jù)結(jié)構(gòu) 輸入層與隱層之間連接權(quán)矩陣W1是 m by h 矩陣其中W1第i行表示第i個輸入單元與隱層單元間的連接權(quán) 隱層與輸出層之間連接權(quán)矩陣W2是 n by h 矩陣其中第j行表示第j個輸出單元與隱層單元間連接權(quán).第5頁/共31頁 4.各層傳遞函數(shù)選擇: 輸入層 隱層 輸出層第6頁/共31頁 a.輸入層: 起著將輸入傳遞到各隱層單元因此沒有傳遞函數(shù) b.隱層: 能夠擬合非線性函數(shù)的關(guān)鍵, 應該 是個單調(diào)非減函數(shù), Matlab中提供三種傳遞函數(shù) longsig(0,1),

3、tansig(-1,1)和purelin c. 輸出層: 可以采用logsig 與 tansig, 或者purelin. (最好purelin: 1.小樣本 2.無需歸一劃)第7頁/共31頁 5. 最簡便的構(gòu)建方法 newff(三層為例) net = newff (PR,S1 S2 S3,TF2 TF3, BTF, BLF, PF) PR: m by 2 矩陣第i行表示第i維輸入的取值范圍. Si: 第i層單元個數(shù) TFi: i層傳遞函數(shù) default = tansig BTF: 網(wǎng)絡(luò)訓練函數(shù)default = trainlm BLF: 權(quán)值/閾值學習函數(shù) default =learngdm

4、第8頁/共31頁 此時網(wǎng)絡(luò)權(quán)值以及偏置項已經(jīng)采用Nguyen-Widrow layer initialization method初始化完畢. PF: 性能函數(shù) default = mse 均方誤差和 為什么BTF與BLF不同: BTF: 得到dWi, dBi BLF: 更新 Wi, Bi第9頁/共31頁 6.關(guān)于得到的網(wǎng)絡(luò) net 的問題 a.是個object, 所含內(nèi)容 b. net.iw, net.lw, net.b是cell型數(shù)據(jù) c. 訓練算法及參數(shù): net.trainParam.第10頁/共31頁二. 各種訓練方法比較: 1. LM算法的一些注意事項: TRAINLM 由于速度很

5、快所以是默認的算法, 但是很消耗內(nèi)存. 原因:儲存一個 s by m的Jacobi 矩陣, 當樣本數(shù)目s很大的時候?qū)е潞馁M內(nèi)存過多. 解決方案: Bogdan M. Wilamowski 的 An Algorithm for Fast Convergence in Training Neural Networks 第11頁/共31頁 Levenberg Marquadt算法主要解決非線性最小二乘問題. 使用trainlm時如果有 “out-of-memory” 錯誤提示的時候應采用如下步驟: (1) 通過設(shè)置 net.trainParam.mem_reduc 來減少對內(nèi)存的需求.設(shè)置mem_r

6、educ 為 2, 再重新訓練一次. 如果仍然出現(xiàn)內(nèi)存不足的情況增加 mem_reduc的值, 由于 a significant computational overhead is associated with computing the Jacobian in sub-matrices但是運行時間也會隨之增加. 參數(shù)意義如下: If mem_reduc is set to 1, then the full Jacobian is omputed, and no memory reduction is achieved. If mem_reduc is set to 2, then only

7、 half of the Jacobian will be computed at one time. This saves half of the memory used by the calculation of the full Jacobian.第12頁/共31頁 (2) Use TRAINBFG, which is slower but more memory efficient than TRAINLM. (3) Use TRAINRP which is slower but more memory efficient than TRAINBFG.第13頁/共31頁Acronym

8、AlgorithmtrainlmLevenberg-MarquardttrainbfgBFGS Quasi-NewtontrainrpResilient BackpropagationtrainscgScaled Conjugate GradienttraincgbConjugate Gradient with Powell/BealeRestartstraincgfFletcher-Powell Conjugate GradienttraincgpPolak-Ribire Conjugate GradienttrainossOne-Step SecanttraingdxVariable le

9、arning rate backpropagation第14頁/共31頁 Trainlm: Good: 對于函數(shù)擬合問題, 當網(wǎng)絡(luò)只有幾百個可調(diào)參數(shù)的時候, LM收斂最快. Bad: 當網(wǎng)絡(luò)的權(quán)值增加的時候LM的優(yōu)點逐漸消失(消耗內(nèi)存急劇增加). 而且LM不適合與模式識別網(wǎng)絡(luò)訓練.第15頁/共31頁 Trainrp: Good: 用來訓練模式識別問題的網(wǎng)絡(luò)收斂最快, 而且消耗內(nèi)迅也不多(訓練中只借用下降梯度的方向). Bad: 函數(shù)擬合時效果不好. 當接近極小點的時候性能下降.第16頁/共31頁Trainscg(推薦算法): 在很多情況下效果都很好, 尤其是對規(guī)模較大的網(wǎng)絡(luò). 在函數(shù)擬合情況下

10、幾乎和LM算法一樣快 (對于較大的網(wǎng)絡(luò)甚至更快) ,.在模式識別訓練中和 trainrp 一樣快. Its performance does not degrade as quickly as trainrp performance does when the error is reduced. 共軛梯度法( conjugate gradient algorithms) 對內(nèi)存要求不是很高.第17頁/共31頁 Trainbfg: 性能和 trainlm相近,但對內(nèi)存要求較trainlm小. 但該算法計算量隨著網(wǎng)絡(luò)規(guī)模的增加呈幾何增長, since the equivalent of a mat

11、rix inverse must be computed at each iteration.第18頁/共31頁 Traingdx: 與其他算法比起來比較慢, 內(nèi)存要求和 trainrp相近. 但是仍有其有用之處, 有些場合下需要收斂慢的算法. For example, when using early stopping you may have inconsistent results if you use an algorithm that converges too quickly. You may overshoot the point at which the error on th

12、e validation set is minimized.第19頁/共31頁三.訓練數(shù)據(jù)前期處理 1.將輸入和輸出歸一劃到一定范圍內(nèi) a.算術(shù)處理 premnmx: 得到-1,1的新數(shù)據(jù) tramnmx: 歸一劃新的輸入 b.統(tǒng)計處理 prestd: 得到平均值為0, 標準差為1的新數(shù)據(jù) poststd: 將數(shù)據(jù)變換回去第20頁/共31頁 將 輸入歸一劃到一定范圍內(nèi)的原因: Sigmoid functions are characterized by the fact that their slope must approach zero as the input gets large. T

13、his causes a problem when using steepest descent to train a multilayer network with sigmoid functions, since the gradient can have a very small magnitude; and therefore, cause small changes in the weights and biases, even though the weights and biases are far from their optimal values.第21頁/共31頁 2.主成

14、分分析(PCA) 當輸入維數(shù)比較高, 而且每一個輸入向量的各分量之間相關(guān)性比較大的時候. 使用主成分分析(principal component analysis)效果更好. pn,meanp,stdp = prestd(p); ptrans,transMat = prepca(pn,0.02); 注意: 當有新輸入的時候, 要先用trastd之然后再用得到的transMat將其PC提取出來 pnewn = trastd(pnew,meanp,stdp); pnewtrans = trapca(pnewn,transMat); a = sim(net,pnewtrans);第22頁/共31頁四

15、.提高網(wǎng)絡(luò)泛化能力 1.過擬合與網(wǎng)絡(luò)結(jié)構(gòu) 即網(wǎng)絡(luò)的訓練誤差很小(已經(jīng)收斂), 但是預測未學習過的樣本時誤差很大. 網(wǎng)絡(luò)記住了學習的樣本, 但是沒有擴展能力(generalization). 一個例子: 學習識別什么是樹的時候兩種極端情況. 如果網(wǎng)絡(luò)的可調(diào)參數(shù)比訓練樣本數(shù)少的多的話, 過擬合的可能性就小的多了.第23頁/共31頁 2.解決方法: a. 控制網(wǎng)絡(luò)規(guī)模: trainbr 一般來說網(wǎng)絡(luò)隱層節(jié)點數(shù)越多越容易收斂, 但是也越容易過擬 合, 所以應該使用規(guī)模合適的網(wǎng)絡(luò), trainbr可以自動做到這一點. trainbr 算法在輸入和輸出落在 -1,1范圍內(nèi)時效果最好. trainbr是在L

16、M算法基礎(chǔ)上改編的. b.Automated regularization(正則化): net.performFcn = msereg; net.performParam.ratio = 0.5(難以確定); 修改網(wǎng)絡(luò)的性能函數(shù)使得在減小MSE的同時也減小權(quán)值的絕對值大小, 這會使得網(wǎng)絡(luò)產(chǎn)生的曲線更加光滑因而過擬合可能性變小. 第24頁/共31頁21211mse = ()N1msereg = mse+(1- )Niiinjjtamswwnmsw第25頁/共31頁 c. Early stopping: 將訓練數(shù)據(jù)分為兩部分: training set (訓練集) validation set(驗

17、證集), 每次迭代用training set 更新網(wǎng)絡(luò), 然后用網(wǎng)絡(luò)來預測validation set并與更新前的網(wǎng)絡(luò)預測誤差比較, 當發(fā)現(xiàn)預測validation set的誤差開始上升的時候停止訓練.(效果不如trainbr) 第26頁/共31頁 推薦方法: trainbr 在函數(shù)擬合的時候trainbr效果比early stopping更好,尤其是當訓練數(shù)據(jù)比較少得時候. This is because Bayesian regularization does not require that a validation data set be separated out of the tr

18、aining data set. It uses all of the data.第27頁/共31頁 注意事項: a. 在多種初始化條件下訓練網(wǎng)絡(luò). It is possible for either method to fail in certain circumstances. By testing several different initial conditions, you can verify robust network performance. b. trainbr在用于模式識別的網(wǎng)絡(luò)訓練時效果不佳. c. trainbr 更耗費時間第28頁/共31頁五.檢驗模型性能 1.postreg的使用 對于訓練樣本集(x, t)來說, 假設(shè)訓練得到的網(wǎng)絡(luò)輸出為a, m,b,r = postreg(a,t), 這樣得到線性回歸模型

溫馨提示

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

最新文檔

評論

0/150

提交評論