bp神經(jīng)網(wǎng)絡(luò)訓(xùn)練算法改進(jìn)初探【畢業(yè)論文】_第1頁
已閱讀1頁,還剩29頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p>  本科畢業(yè)論文(設(shè)計(jì))</p><p><b> ?。ǘ?屆)</b></p><p>  BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練算法改進(jìn)初探</p><p>  所在學(xué)院 </p><p>  專業(yè)班級 電氣工程及其自動化 </p>

2、<p>  學(xué)生姓名 學(xué)號 </p><p>  指導(dǎo)教師 職稱 </p><p>  完成日期 年 月 </p><p><b>  摘 要</b></p><p>  神經(jīng)網(wǎng)

3、絡(luò)近十年的飛速發(fā)展,激起了不同學(xué)科與領(lǐng)域的科學(xué)家的濃厚興趣。本文概述了BP神經(jīng)網(wǎng)絡(luò)的原理、特點(diǎn)、改進(jìn)算法、實(shí)際中的應(yīng)用以及其發(fā)展現(xiàn)狀。傳統(tǒng)的BP算法也存在諸如收斂速度慢,易陷入局部最小點(diǎn)以及編程困難,計(jì)算量大等問題。</p><p>  本文主要研究傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)的基本原理,并對傳統(tǒng)BP算法進(jìn)行改進(jìn),將改進(jìn)后的BP神經(jīng)網(wǎng)絡(luò)應(yīng)用于柴油機(jī)的故障診斷問題中。</p><p>  本文的主要工作

4、和取得的研究成果如下:</p><p>  1.研究BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)和基本原理,并對傳統(tǒng)BP算法進(jìn)行改進(jìn)。</p><p>  2.概述了BP神經(jīng)網(wǎng)絡(luò)的改進(jìn)算法和介紹BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練函數(shù)。</p><p>  3.詳細(xì)討論了柴油機(jī)的故障診斷問題,將改進(jìn)后的BP神經(jīng)網(wǎng)絡(luò)應(yīng)用于柴油機(jī)的故障診斷問題中,并用Matlab軟件實(shí)現(xiàn)數(shù)據(jù)仿真、故障分析實(shí)驗(yàn)。 </p&g

5、t;<p>  最后總結(jié)了改進(jìn)的BP算法中有待解決的問題和未來發(fā)展的方向。</p><p>  關(guān)鍵詞: BP神經(jīng)網(wǎng)絡(luò);優(yōu)化和改進(jìn);訓(xùn)練函數(shù);MATLAB; 故障診斷</p><p><b>  Abstract</b></p><p>  With the rapid development of neural network,

6、 electrical science and information science have changed enormously. In this paper, the principle of BP neural network, its characteristics, improved algorithm, the practical application and its development status are in

7、troduced. There are many problems of the traditional BP algorithm, such as slow convergence and easy to fall into local minimum points, and programming difficulties, large computation and other issues.</p><p&g

8、t;  This paper studies the traditional basic principles of BP neural network, and improved the traditional BP algorithm, the improved BP neural network used in engine fault diagnosis.</p><p>  The main work

9、and the research results are as follows:</p><p>  (1) The structure of BP neural network and the basic principles, and improve the BP algorithm.</p><p>  (2) Overview of the improve algorithm of

10、 BP neutral network and introduction of the training function of BP neural network.</p><p>  (3)Discussed in detail the problem of diesel engine fault diagnosis, the improved BP neural network used in diesel

11、 engine fault diagnosis, and data simulation using MATLAB software, the simulation experiment.</p><p>  Finally, the problem of improved BP algorithm and future development are concluded.</p><p>

12、;  Key Word: BP neural network;Optimization and improvement Training function; MATLAB;Fault diagnosis </p><p><b>  目 錄</b></p><p><b>  1 引言2</b&

13、gt;</p><p>  1.1 選題的背景和意義2</p><p>  1.2 設(shè)計(jì)任務(wù)2</p><p>  2 BP神經(jīng)網(wǎng)絡(luò)的基本算法4</p><p>  2.1 BP神經(jīng)網(wǎng)絡(luò)原理4</p><p>  2.2 BP神經(jīng)網(wǎng)絡(luò)概述4</p><p>  2.2.1 BP神經(jīng)網(wǎng)絡(luò)

14、結(jié)構(gòu)4</p><p>  2.2.2傳統(tǒng)BP網(wǎng)絡(luò)算法5</p><p>  2.2.3 MATLAB中常用的BP網(wǎng)絡(luò)函數(shù)7</p><p>  3 BP算法的改進(jìn)9</p><p>  3.1 BP算法的不足9</p><p>  3.2 改進(jìn)的BP算法9</p><p>  3.

15、2.1利用動量法改進(jìn)網(wǎng)絡(luò)9</p><p>  3.2.2自適應(yīng)調(diào)整參數(shù)的改進(jìn)方法10</p><p>  3.2.3 Levenberg-Marquardt優(yōu)化方法10</p><p>  3.3 MATLAB中BP神經(jīng)網(wǎng)絡(luò)的構(gòu)建10</p><p>  3.4 BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練11</p><p>  

16、4 基于改進(jìn)BP神經(jīng)網(wǎng)絡(luò)的故障診斷方法15</p><p>  4.1問題描述15</p><p>  4.1.1問題背景15</p><p>  4.1.2 柴油機(jī)故障類型16</p><p>  4.2 基于BP神經(jīng)網(wǎng)絡(luò)的柴油機(jī)故障診斷16</p><p>  4.2.1 故障診斷原理16</p&

17、gt;<p>  4.2.2 故障診斷算法實(shí)現(xiàn)17</p><p>  4.3 仿真實(shí)驗(yàn)及結(jié)果分析19</p><p><b>  5 結(jié)論21</b></p><p>  致 謝錯誤!未定義書簽。</p><p><b>  參考文獻(xiàn)22</b></p>&

18、lt;p>  附錄一 BP程序代碼24</p><p><b>  1 引言</b></p><p>  1.1 選題的背景和意義</p><p>  隨著新的控制思路和手段的不斷涌現(xiàn),人工神經(jīng)網(wǎng)絡(luò)作為一種新型的信息獲取、描述和處理方式,正在逐漸引起不同學(xué)科和領(lǐng)域的科學(xué)家的注意。神經(jīng)網(wǎng)絡(luò)有其自適應(yīng),自學(xué)習(xí),并行處理等特點(diǎn)。它被廣泛應(yīng)用于

19、模式識別、信號處理和自動控制等領(lǐng)域[1]。目前,人們研究最為廣泛最具代表行的網(wǎng)絡(luò)是BP(Back Propagation)神經(jīng)網(wǎng)絡(luò),它具有分布式的信息存儲方式,大規(guī)模并行處理,自學(xué)習(xí)和自適應(yīng)性、較強(qiáng)的魯棒性和容錯性等特點(diǎn)。當(dāng)前,BP神經(jīng)網(wǎng)絡(luò)主要應(yīng)用于模式識別、圖像處理、信息處理、故障檢測、企業(yè)管理、市場分析等領(lǐng)域。而BP神經(jīng)網(wǎng)路采用的是經(jīng)典的BP算法。BP算法也是目前比較流行的神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)方法,是能實(shí)現(xiàn)映射變換的前饋型網(wǎng)絡(luò)戰(zhàn)中最常用的一

20、類網(wǎng)絡(luò),是一種典型的誤差修正方法。</p><p>  然而,傳統(tǒng)的BP算法存在著一些問題,比如學(xué)習(xí)過程收斂速度慢,網(wǎng)絡(luò)訓(xùn)練容易陷入局部最小、接近最優(yōu)時易出現(xiàn)波動和震蕩現(xiàn)象、網(wǎng)路的結(jié)構(gòu)難以確定以及編程困難,計(jì)算量大等等。基于這些,通過對BP算法原理的深入分析與研究,找出存在這些問題的原因,進(jìn)而提出一種改進(jìn)算法就顯得極為重要。</p><p><b>  1.2 設(shè)計(jì)任務(wù)</

21、b></p><p>  本設(shè)計(jì)主要在深入研究BP神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上,研究其訓(xùn)練算法。針對標(biāo)準(zhǔn)的BP神經(jīng)網(wǎng)路的訓(xùn)練算法中存在的一些問題,對其進(jìn)行改進(jìn),以達(dá)到優(yōu)化神經(jīng)網(wǎng)絡(luò)的目的。并且,本設(shè)計(jì)中用到了MATLAB這一軟件,要求熟悉MATLAB的使用,通過MATLAB對所改進(jìn)算法進(jìn)行仿真,比較改進(jìn)前后的算法。</p><p><b>  主要研究工作如下:</b><

22、;/p><p> ?。?)深入研究BP神經(jīng)網(wǎng)絡(luò)。分析和比較各種算法的特點(diǎn)以及其函數(shù)的參數(shù)形式。研究其各自適用的網(wǎng)絡(luò)。</p><p>  (2)研究當(dāng)前傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練算法存在的一些問題。比如收斂速度慢、容易陷入局部最小、網(wǎng)路的結(jié)構(gòu)難以確定等等。透徹分析這些問題產(chǎn)生的原因。</p><p> ?。?)針對BP算法中存在的問題,提出其改進(jìn)方法。BP算法的改進(jìn)主要有兩

23、種途徑,一種是采用啟發(fā)式學(xué)習(xí)方法,如附加動量法、自適應(yīng)學(xué)習(xí)率法等;另一種是采用數(shù)字優(yōu)化技術(shù),共扼梯度法、牛頓法、Levenberg-Marquardt法等。</p><p>  (4)利用改進(jìn)BP算法對柴油機(jī)故障診斷問題進(jìn)行仿真實(shí)驗(yàn),與傳統(tǒng)的BP算法相比,改進(jìn)后的算法能取得更好的診斷效果。</p><p>  2 BP神經(jīng)網(wǎng)絡(luò)的基本算法</p><p>  2.1

24、BP神經(jīng)網(wǎng)絡(luò)原理</p><p>  BP網(wǎng)絡(luò)是一種具有三層或三層以上神經(jīng)元的多層前向網(wǎng)絡(luò) [2]。它是一個由輸入層,輸出層和中間隱含層三個神經(jīng)元層次構(gòu)成的模型,稱BP模型,各層次的神經(jīng)元形成全互連連接,同層次內(nèi)的神經(jīng)元間沒有連接。當(dāng)把一對訓(xùn)練模式提供給網(wǎng)絡(luò)后,網(wǎng)絡(luò)先進(jìn)行輸入模式的正向傳播過程,輸入模式從輸入層經(jīng)隱含層處理向輸出層傳播,并在輸出層的各神經(jīng)元獲得網(wǎng)絡(luò)的輸出。</p><p>

25、  當(dāng)網(wǎng)絡(luò)輸出與期望的目標(biāo)輸出模式之間的誤差大于目標(biāo)誤差時,網(wǎng)絡(luò)訓(xùn)練轉(zhuǎn)入誤差的反向傳播過程,網(wǎng)絡(luò)誤差按原來正向傳播的連接路徑返回,網(wǎng)絡(luò)訓(xùn)練按誤差對權(quán)值的最速下降法,從輸出層經(jīng)隱含層修正各個神經(jīng)元的權(quán)值,最后回到輸入層,然后,再進(jìn)行輸入模式的正向傳播過程……。這兩個傳播過程在網(wǎng)絡(luò)中反復(fù)運(yùn)行,使網(wǎng)絡(luò)誤差不斷減小,從而網(wǎng)絡(luò)對輸入模式的響應(yīng)的正確率也不斷提高,當(dāng)網(wǎng)絡(luò)誤差不大于目標(biāo)誤差時,網(wǎng)絡(luò)訓(xùn)練結(jié)束。</p><p> 

26、 2.2 BP神經(jīng)網(wǎng)絡(luò)概述</p><p>  2.2.1 BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)</p><p>  BP (Back Propagation)神經(jīng)網(wǎng)絡(luò)是一種神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法[3],全稱基于誤差反向傳播算法的人工神經(jīng)網(wǎng)絡(luò)。BP神經(jīng)網(wǎng)絡(luò),即誤差反向傳播算法的學(xué)習(xí)過程,BP算法的學(xué)習(xí)過程包括正向傳播和反向誤差傳播。在正向傳播過程中,輸入信息從輸入層經(jīng)隱單元層逐層處理,并傳向輸出層,每一層神經(jīng)元的狀

27、態(tài)只要影響下一層神經(jīng)元的狀態(tài);如輸出層得不到期望輸出,則轉(zhuǎn)入反向傳播,將誤差信號沿著原來的連接通路返回。</p><p>  BP網(wǎng)絡(luò)是一種多層前饋神經(jīng)網(wǎng)絡(luò),其結(jié)構(gòu)示意圖如圖2-1所示。由圖可見,BP網(wǎng)絡(luò)是一種具有三層或三層以上的神經(jīng)網(wǎng)絡(luò),包括輸入層,中間層(隱層)和輸出層。</p><p>  圖2-1 BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)示意圖</p><p>  由于誤差反向傳

28、播中會對傳遞函數(shù)進(jìn)行求導(dǎo)計(jì)算,BP網(wǎng)絡(luò)的傳遞函數(shù)必須是可微的。常用的有l(wèi)og-sigmoid型函數(shù)logsig()、tan-sigmoid型函數(shù)tansig()以及純線性函數(shù)purelin()。其傳遞函數(shù)如圖2-2所示。</p><p>  圖2-2 神經(jīng)元傳遞函數(shù)</p><p>  如果BP網(wǎng)絡(luò)最后一層是sigmoid型神經(jīng)元,那么整個網(wǎng)絡(luò)的輸出就限制在一個較小的范圍內(nèi);如果BP網(wǎng)絡(luò)

29、的最后一層是purelin型神經(jīng)元,那么整個網(wǎng)絡(luò)的輸出就可以取任意值[4]。</p><p>  BP網(wǎng)絡(luò)采用的傳遞函數(shù)均是可微的單調(diào)遞增函數(shù)[5。</p><p>  2.2.2傳統(tǒng)BP網(wǎng)絡(luò)算法</p><p>  BP算法是一種有監(jiān)督式的學(xué)習(xí)算法,其主要思想是[6]:輸入學(xué)習(xí)樣本,使用反向傳播算法對網(wǎng)絡(luò)的權(quán)值和偏差進(jìn)行反復(fù)的調(diào)整訓(xùn)練,使輸出向量與期望向量盡可能地

30、接近,當(dāng)網(wǎng)絡(luò)輸出層的誤差平方和小于指定的誤差時訓(xùn)練完成,保存網(wǎng)絡(luò)的權(quán)值和偏差。以一個三層網(wǎng)絡(luò)為例,網(wǎng)絡(luò)由N個輸入神經(jīng)元,K個隱層神經(jīng)元,M個輸出神經(jīng)元組成(見圖2-3)。和分別為輸出層和隱層的輸出值,和分別為隱層到輸出層和輸入層到隱層的連接權(quán)值,設(shè)輸入學(xué)習(xí)樣本為,其對應(yīng)的希望輸出值為。</p><p>  圖2-3 BP神經(jīng)網(wǎng)絡(luò)示意圖</p><p><b>  標(biāo)準(zhǔn)算法步驟如

31、下:</b></p><p>  (1)初始化權(quán)值,設(shè)定學(xué)習(xí)率μ,允許誤差ε,最大迭代次數(shù),置循環(huán)步數(shù)i=0。</p><p>  (2)正向計(jì)算:將第p個樣本{}順序輸入到網(wǎng)絡(luò)中,按下式分別計(jì)算和:</p><p><b>  (2-1)</b></p><p><b>  (2-2)</b

32、></p><p>  激活函數(shù)常采用S型sigmoid函數(shù): </p><p>  (3)計(jì)算均方誤差E,若E≤ε,則停止迭代,否則執(zhí)行下一步。</p><p><b>  (2-3)</b></p><p>  (4)反向計(jì)算:計(jì)算權(quán)值的改變量,公式如下:</p><p><b&g

33、t;  (2-4)</b></p><p><b>  (2-5)</b></p><p><b>  (2-6)</b></p><p><b>  (2-7)</b></p><p><b>  更改權(quán)值</b></p>&l

34、t;p><b>  (2-8)</b></p><p><b>  (2-9)</b></p><p> ?。?)置,返回(2)。</p><p>  傳統(tǒng)的BP算法,實(shí)質(zhì)上是把一組樣本輸入/輸出問題轉(zhuǎn)化為一個非線性優(yōu)化問題,并通過負(fù)梯度下降算法,利用迭代運(yùn)算求解權(quán)值問題的一種學(xué)習(xí)方法,但其收斂速度慢且易陷入局部極小

35、。</p><p>  2.2.3 MATLAB中常用的BP網(wǎng)絡(luò)函數(shù) </p><p>  MATLAB的函數(shù)大體可以分為兩類[7]:一類是通用函數(shù),大體上對所有網(wǎng)絡(luò)都能應(yīng)用,例如神經(jīng)網(wǎng)絡(luò)的初始化函數(shù),仿真函數(shù),以及訓(xùn)練函數(shù)等;第二類則是某一類型的神經(jīng)網(wǎng)絡(luò)專用的,例如各種類型網(wǎng)絡(luò)的創(chuàng)建函數(shù)。BP網(wǎng)絡(luò)的常用函數(shù)如表2-1。</p><p>  表2-1 BP

36、網(wǎng)絡(luò)的常用函數(shù)</p><p><b>  續(xù)表2-1</b></p><p><b>  3 BP算法的改進(jìn)</b></p><p>  3.1 BP算法的不足</p><p>  標(biāo)準(zhǔn)的梯度下降算法的訓(xùn)練速度通常是非常慢的,為了保證訓(xùn)練過程的穩(wěn)定性標(biāo)準(zhǔn)的梯度算法需要低學(xué)習(xí)速率。此外,非線性網(wǎng)絡(luò)而

37、言,選擇一個合適的學(xué)習(xí)速率是一項(xiàng)有挑戰(zhàn)性的工作,過高的學(xué)習(xí)速率會導(dǎo)致學(xué)習(xí)過程的不穩(wěn)定,可能出現(xiàn)以下幾種情況[8-11]:</p><p> ?。?)訓(xùn)練次數(shù)使得學(xué)習(xí)效率低,收斂速度慢。如果問題復(fù)雜,BP算法需要的訓(xùn)練時間可能會非常長。這主要原因就是學(xué)習(xí)速率太小,可采用變化的學(xué)習(xí)速率或自適應(yīng)學(xué)習(xí)速率加以改進(jìn)[9]。</p><p> ?。?)在平坦區(qū)域內(nèi)連接權(quán)值調(diào)整緩慢。誤差曲面往往存在一些

38、平坦區(qū),由于激活函數(shù)的導(dǎo)數(shù)趨于零,即使誤差較大,但梯度調(diào)整過程幾乎處于停頓狀態(tài)。</p><p> ?。?)隱節(jié)點(diǎn)的選取缺乏理論指導(dǎo);因此,網(wǎng)絡(luò)往往存在很大的冗余性,在一定程度上增加了網(wǎng)絡(luò)學(xué)習(xí)的負(fù)擔(dān)。</p><p> ?。?)易形成局部極小而得不到全局最優(yōu)。網(wǎng)絡(luò)在學(xué)習(xí)過程中,也可能在網(wǎng)絡(luò)權(quán)值的調(diào)整過程中,跳過較好的極小點(diǎn),這主要是由于誤差曲面的凹處太窄,而梯度值又較大,致使網(wǎng)絡(luò)權(quán)值從一個

39、較好的極小點(diǎn)附近跳到另一個次好的極小點(diǎn)區(qū)域。</p><p>  3.2 改進(jìn)的BP算法</p><p>  3.2.1利用動量法改進(jìn)網(wǎng)絡(luò)</p><p>  附加動量法就是在網(wǎng)絡(luò)調(diào)整取值時不僅考慮誤差在梯度上的作用,而且考慮在誤差曲面上的變化趨勢的影響。該方法是在反向傳播的基礎(chǔ)上在每個權(quán)重(或閾值)的變化上加上一項(xiàng)正比于前次權(quán)重變化量的值,并以此來產(chǎn)生新的權(quán)值的變

40、化,即:</p><p><b>  (3-1)</b></p><p>  式中:w——權(quán)值向量,k——訓(xùn)練次數(shù),(01)——動量因子,一般取0。95左右,——學(xué)習(xí)效率,——誤差函數(shù)的梯度。</p><p>  MATLAB中的工具函數(shù)traingdm()即對應(yīng)于附加動量法。</p><p>  3.2.2自適應(yīng)調(diào)整參

41、數(shù)的改進(jìn)方法</p><p>  BP算法的學(xué)習(xí)率是根據(jù)誤差變化而自適應(yīng)調(diào)整,μ一般取0至1之間的數(shù),使權(quán)系數(shù)調(diào)整向誤差減小的仿效變化,其迭代過程可表示為: </p><p><b>  (3-2)</b></p><p>  MATLAB中的工具函數(shù)traingda()即對應(yīng)于自適應(yīng)調(diào)整參數(shù)法。</p><p>  3

42、.2.3 Levenberg-Marquardt優(yōu)化方法</p><p>  L-M(Levenberg-Marquardt)算法比前述幾種使用梯度下降法的BP算法迭代次數(shù)少,收斂速度快,精確度高。但對于復(fù)雜問題,這種方法需要相當(dāng)大的存儲空間。L-M(Levenberg-Marquardt)優(yōu)化方法的權(quán)值調(diào)整率選為:</p><p><b>  (3-3)</b>&l

43、t;/p><p>  其中:e—誤差向量;J—網(wǎng)絡(luò)誤差對權(quán)值導(dǎo)數(shù)的雅可比矩陣;μ—標(biāo)量,當(dāng)μ很大時上式接近于梯度法,當(dāng)μ很小時上式變成了高斯-牛頓法。</p><p>  3.3 MATLAB中BP神經(jīng)網(wǎng)絡(luò)的構(gòu)建</p><p><b> ?。?)構(gòu)建神經(jīng)網(wǎng)絡(luò)</b></p><p>  訓(xùn)練神經(jīng)網(wǎng)絡(luò)第一步是建立網(wǎng)絡(luò)對象,函

44、數(shù)newff()建立一個可訓(xùn)練神經(jīng)網(wǎng)絡(luò)的[12]。它需要四個參數(shù),依次是:一個R×2的矩陣以定義R個輸入向量的最小值和最大值、一個網(wǎng)絡(luò)每層神經(jīng)元個數(shù)的數(shù)組、各層神經(jīng)元的傳遞函數(shù)名稱的細(xì)胞組數(shù)以及用到的訓(xùn)練函數(shù)的名稱。</p><p>  假設(shè)需要構(gòu)建一個兩層神經(jīng)網(wǎng)絡(luò),其輸入向量是二維,第一層有三個神經(jīng)元,傳遞函數(shù)是tansig();第二層是一個神經(jīng)元,訓(xùn)練函數(shù)選取traingdg。輸入向量的第一個元素的

45、范圍是-1到2,輸入向量的第二個元素的范圍是0到5,訓(xùn)練函數(shù)是traingd,至此就生成了初始化待訓(xùn)練的神經(jīng)網(wǎng)絡(luò)如下:</p><p>  Net=newff([-1 2;0 5],[3,1],{‘tansig’,‘purelin’},‘traingd’);</p><p> ?。?)BP神經(jīng)網(wǎng)絡(luò)的初始化</p><p>  在設(shè)計(jì)BP網(wǎng)絡(luò)時,輸入向量P、各層的神經(jīng)

46、元個數(shù)、各層神經(jīng)元的傳遞函數(shù),就可以用函數(shù)initff對BP網(wǎng)絡(luò)進(jìn)行初始化。</p><p>  如[ w1,b1,w2,b2]=initff(p,8,‘tansig’,4,‘purelin’);</p><p><b>  (3)權(quán)值初始化</b></p><p>  前饋型神經(jīng)網(wǎng)絡(luò)在訓(xùn)練之前必須要對權(quán)值和閾值進(jìn)行初始化,newff()函數(shù)可

47、以自動完成這一過程,但是無法重新賦初值。init()函數(shù)不需要單獨(dú)的調(diào)用??墒俏覀兛赡芤匦鲁跏蓟瘷?quán)重和偏置或者進(jìn)行自定義的初始化[13]。</p><p>  3.4 BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練</p><p>  BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練函數(shù)有traingd、traingdm、traingdx、trainrp、traincgf、traincgp、traincgd、trainbfg、trainoss、

48、trainlm、trainbr、等,每種訓(xùn)練函數(shù)都有各自的特點(diǎn),但是沒有一種訓(xùn)練函數(shù)能適應(yīng)所有情況下的訓(xùn)練過程。</p><p><b>  對于單層BP網(wǎng)絡(luò):</b></p><p>  tp=[disp-freq max-epoch err-goal lr];</p><p>  [w,b,epochs,tr]=trainbp(w,b,F,

49、p,t,tp);</p><p>  其中tr表示訓(xùn)練誤差,訓(xùn)練參數(shù)tp確定了學(xué)習(xí)過程的顯示頻率、最大訓(xùn)練步數(shù)、誤差指標(biāo)以及學(xué)習(xí)率,F(xiàn)表示神經(jīng)元所采用的傳遞函數(shù)類型,p表示輸入向量,t表示目標(biāo)向量。</p><p><b>  對于兩層BP網(wǎng)絡(luò):</b></p><p>  [w1,b1,w2,b2,epochs,tr]=trainbp(w1,

50、b1,F1,w2,b2,F2,p,t,tp);</p><p><b>  對于三層BP網(wǎng)絡(luò):</b></p><p>  [w1,b1,w2,b2,w3,b3,te,tr]=trainbp(w1,F1,w2,b2,F2,w3,b3,F3,p,t,tp);</p><p>  表3-1對幾種典型的快速學(xué)習(xí)算法進(jìn)行了比較,以作為選擇學(xué)習(xí)算法的參考

51、。</p><p>  表3-1 典型的學(xué)習(xí)算法</p><p>  以下歸納總結(jié)了常用算法的原理及參數(shù)設(shè)置[14-15]:</p><p>  1.trainbfg</p><p>  功能:采用BFGS準(zhǔn)牛頓反向傳播算法對網(wǎng)絡(luò)進(jìn)行訓(xùn)練。</p><p>  說明:采用BFGS準(zhǔn)牛頓反向傳播算法對網(wǎng)絡(luò)訓(xùn)練。該算法收斂

52、速度較快,但占用內(nèi)存大,適合小規(guī)模的網(wǎng)絡(luò)。和其他采用準(zhǔn)牛頓算法的訓(xùn)練函數(shù)一樣,它也要使用線搜索函數(shù)。其中常規(guī)參數(shù)包括:</p><p>  net.trainParam.epochs:訓(xùn)練次數(shù),缺省值為100;</p><p>  net.trainParam.goal:訓(xùn)練目標(biāo),缺省值為0;</p><p>  net.trainParam.max_fail:最大

53、驗(yàn)證失敗次數(shù),缺省值為5;</p><p>  net.trainParam.min_grad:性能函數(shù)的最小梯度,缺省值為1e-6;</p><p>  net.trainParam.show:兩次顯示之間的訓(xùn)練次數(shù),缺省值為25;</p><p>  net.trainParam.time:最長訓(xùn)練時間(以秒計(jì)),缺省值為inf.</p><

54、p>  在網(wǎng)絡(luò)訓(xùn)練過程中,只要滿足下列五個條件之一,網(wǎng)絡(luò)訓(xùn)練便會停止:</p><p>  達(dá)到最大訓(xùn)練次數(shù)net.trainParam.epochs;</p><p>  網(wǎng)絡(luò)誤差性能降低到目標(biāo)值net.trainParam.goal;</p><p>  訓(xùn)練時間達(dá)到最大值net.trainParam.time;</p><p> 

55、 性能函數(shù)梯度降低到最小值net.trainParam.min_grad;</p><p>  連續(xù)驗(yàn)證失敗次數(shù)超過最大次數(shù)net.trainParam.max_fail.</p><p><b>  2.traingd</b></p><p>  功能:采用梯度下降反向傳播算法對網(wǎng)絡(luò)進(jìn)行訓(xùn)練。</p><p>  說明

56、:traingd函數(shù)為梯度下降BP算法函數(shù),即基本BP算法。當(dāng)網(wǎng)絡(luò)訓(xùn)練函數(shù)為traingd時,網(wǎng)絡(luò)的訓(xùn)練參數(shù)為:</p><p>  net.trainParam.epochs:訓(xùn)練次數(shù),缺省值為100;</p><p>  net.trainParam.goal:訓(xùn)練要求精度,缺省值為0;</p><p>  net.trainParam.lr:學(xué)習(xí)率,缺省值為0

57、.01;</p><p>  net.trainParam.max_fail:最大驗(yàn)證失敗次數(shù),缺省值為6;</p><p>  net.trainParam.min_grad:性能函數(shù)的最小梯度,缺省值為1e-10;</p><p>  net.trainParam.show:顯示訓(xùn)練迭代過程,缺省值為25;</p><p>  net.t

58、rainParam.time:最長訓(xùn)練時間(以秒計(jì)),缺省值為inf.</p><p>  此時網(wǎng)絡(luò)訓(xùn)練的停止條件與函數(shù)trainbfg相同.</p><p>  3.traingdm</p><p>  功能:采用動量梯度下降反向傳播算法對網(wǎng)絡(luò)進(jìn)行訓(xùn)練。</p><p>  說明:traingdm函數(shù)是梯度下降動量BP算法函數(shù)。當(dāng)網(wǎng)絡(luò)訓(xùn)練函

59、數(shù)為traingdm時,網(wǎng)絡(luò)的訓(xùn)練參數(shù)為:</p><p>  net.trainParam.epochs:訓(xùn)練次數(shù),缺省值為100;</p><p>  net.trainParam.goal:網(wǎng)絡(luò)性能目標(biāo),缺省值為0;</p><p>  net.trainParam.lr:學(xué)習(xí)速率,缺省值為0.01;</p><p>  net.tra

60、inParam.max_fail:最大驗(yàn)證失敗次數(shù),缺省值為5;</p><p>  net.trainParam.mc:動量常數(shù),缺省值為0.9;</p><p>  net.trainParam.min_grad:性能函數(shù)的最小梯度,缺省值為1e-10;</p><p>  net.trainParam.show:兩次顯示之間的訓(xùn)練次數(shù),缺省值為25;</

61、p><p>  net.trainParam.time:最長訓(xùn)練時間(以秒計(jì)),缺省值為inf.</p><p>  此時網(wǎng)絡(luò)訓(xùn)練的停止條件和函數(shù)trainbfg的相同。</p><p><b>  4.trainlm</b></p><p>  功能:采用Levenberg-Marquardt反向傳播算法對網(wǎng)絡(luò)進(jìn)行訓(xùn)練。&

62、lt;/p><p>  說明:trainlm函數(shù)根據(jù)Levenberg-Marquardt優(yōu)化理論對網(wǎng)絡(luò)的權(quán)值和閾值進(jìn)行調(diào)整,當(dāng)采用trainlm作為訓(xùn)練函數(shù)時,網(wǎng)絡(luò)的訓(xùn)練參數(shù)與函數(shù)trainbr的相同。網(wǎng)絡(luò)訓(xùn)練停止條件也與trainbr相同。</p><p><b>  5.trainrp</b></p><p>  功能:采用彈性反向傳播算法對

63、網(wǎng)絡(luò)進(jìn)行訓(xùn)練。</p><p>  說明:trainrp函數(shù)根據(jù)彈性反向傳播算法對網(wǎng)絡(luò)的權(quán)值和閾值進(jìn)行調(diào)整,</p><p>  當(dāng)網(wǎng)絡(luò)訓(xùn)練函數(shù)為trainrp時,網(wǎng)絡(luò)的訓(xùn)練參數(shù)為:</p><p>  net.trainParam.epochs:訓(xùn)練次數(shù),缺省值為100;</p><p>  net.trainParam.goal:網(wǎng)絡(luò)性能

64、目標(biāo),缺省值為0;</p><p>  net.trainParam.lr:學(xué)習(xí)速率,缺省值為0.01;</p><p>  net.trainParam.max_fail:最大驗(yàn)證失敗次數(shù),缺省值為5;</p><p>  net.trainParam.min_grad:性能函數(shù)的最小梯度,缺省值為1e-6;</p><p>  net.t

65、rainParam.show:兩次顯示之間的訓(xùn)練次數(shù),缺省值為25;</p><p>  net.trainParam.time:最長訓(xùn)練時間(以秒計(jì)),缺省值為inf;</p><p>  net.trainParam.delta0:初始權(quán)值變化量,缺省值為0.07;</p><p>  net.trainParam.deltamax:最大權(quán)值變化量,缺省值為50

66、.0.</p><p>  網(wǎng)絡(luò)訓(xùn)練的停止條件與trainbfg函數(shù)的相同.</p><p>  以上訓(xùn)練函數(shù)既可以用在BP網(wǎng)絡(luò)的訓(xùn)練,也還適用于其他任何神經(jīng)網(wǎng)絡(luò),只要傳遞函數(shù)對于權(quán)值和閾值存在導(dǎo)函數(shù)即可。</p><p>  4 基于改進(jìn)BP神經(jīng)網(wǎng)絡(luò)的故障診斷方法</p><p>  本章將柴油機(jī)故障診斷為例對改進(jìn)BP神經(jīng)網(wǎng)絡(luò)進(jìn)行仿真實(shí)驗(yàn)。

67、</p><p><b>  4.1問題描述</b></p><p><b>  4.1.1問題背景</b></p><p>  柴油機(jī)的主要故障類型可分為兩大類:一類是機(jī)械式故障,如各種間隙因磨損而增大,引起振動的幅頻變化;另一類是燃燒系統(tǒng)的熱力學(xué)故障,如噴油角變化,進(jìn)排氣機(jī)構(gòu)故障等?;诓裼蜋C(jī)振動信號的神經(jīng)網(wǎng)絡(luò)可以對以

68、上各種故障模式進(jìn)行診斷以及甄別?,F(xiàn)將柴油機(jī)主要的故障形式如下:</p><p>  (1)氣缸-活塞故障。</p><p> ?。?)曲柄-連桿機(jī)構(gòu)故障。</p><p><b> ?。?)活塞環(huán)漏氣。</b></p><p><b> ?。?)噴油角變化。</b></p><p

69、> ?。?)燃油霧化質(zhì)量不良。</p><p> ?。?)氣門機(jī)構(gòu)故障。</p><p><b> ?。?)氣門漏氣。</b></p><p>  基于BP神經(jīng)網(wǎng)絡(luò)的診斷方法就是利用神經(jīng)網(wǎng)絡(luò)對柴油機(jī)故障進(jìn)行模式分類。神經(jīng)網(wǎng)絡(luò)直接用于故障診斷時,要挑選特征參數(shù)組成輸入向量,以故障原因作為輸出向量,利用典型樣本學(xué)習(xí)所得權(quán)值進(jìn)行模式識別[13]

70、。</p><p>  對于故障信號的選擇,可以測量振動信號,也可以測量氣體最高爆發(fā)壓力、油壓波形圈、高壓油管的振動信號,兩種方法各有各的特點(diǎn)。相對來說,振動信號的測量更簡單易行。</p><p>  另一方面,柴油機(jī)工作時產(chǎn)生的振動信號包含著極為豐富的信息,是反映系統(tǒng)狀態(tài)及其變化規(guī)律的主要信號,利用振動信號對故障進(jìn)行診斷,是柴油機(jī)故障診斷中最有效、最常用的方法。需要指出的是,故障征狀集的

71、設(shè)計(jì),即故障信息特征量的提取對故障診斷至關(guān)重要。特征量過多,勢必造成網(wǎng)絡(luò)訓(xùn)練、決策計(jì)算量過大,不易得到正確的結(jié)果;但是特征量過少,判據(jù)不足,診斷效果也不好。</p><p>  4.1.2 柴油機(jī)故障類型</p><p>  柴油機(jī)表明振動信號包含著豐富的工作狀態(tài)信息和故障特征信息,從其表明振動信號中提取時域特征參數(shù),可以有效地識別柴油機(jī)工作狀態(tài)。通過實(shí)驗(yàn)采集振動信號作為識別故障的原始依據(jù)

72、,建立基于振動信號的柴油機(jī)故障診斷神經(jīng)網(wǎng)絡(luò),并對網(wǎng)絡(luò)進(jìn)行訓(xùn)練得出標(biāo)準(zhǔn)故障模式,運(yùn)用該神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)柴油機(jī)的故障診斷。柴油機(jī)故障類型有6種狀態(tài),如表4-1所示。</p><p><b>  表4-1 故障類型</b></p><p>  4.2 基于BP神經(jīng)網(wǎng)絡(luò)的柴油機(jī)故障診斷</p><p>  4.2.1 故障診斷原理</p>&

73、lt;p>  基于神經(jīng)網(wǎng)絡(luò)的柴油機(jī)振動信號故障診斷可以分三步實(shí)現(xiàn):</p><p> ?。?)通過試驗(yàn)獲得給定工況在設(shè)定故障和無故障狀態(tài)下的過程參數(shù),經(jīng)預(yù)處理提取故障征兆集數(shù)據(jù),歸一化為網(wǎng)絡(luò)輸入模式。</p><p> ?。?)建立BP神經(jīng)網(wǎng)絡(luò)系統(tǒng),根據(jù)當(dāng)前診斷輸入對系統(tǒng)進(jìn)行診斷,診斷的過程即為利用神經(jīng)網(wǎng)絡(luò)進(jìn)行前向計(jì)算的過程。用已知故障征兆-故障模式的樣本集訓(xùn)訓(xùn)練網(wǎng)絡(luò),使其達(dá)到預(yù)設(shè)的

74、診斷精度,得出標(biāo)準(zhǔn)故障模式。</p><p> ?。?)實(shí)時輸入故障征兆向量進(jìn)行測試,獲得該狀態(tài)下的網(wǎng)絡(luò)輸出,然后對網(wǎng)絡(luò)輸出進(jìn)行后處理,再與標(biāo)準(zhǔn)故障模式進(jìn)行對比,獲得診斷結(jié)果,即故障類型。</p><p>  4.2.2 故障診斷算法實(shí)現(xiàn)</p><p><b> ?。?)樣本處理</b></p><p>  在某類型柴

75、油機(jī)上分別測定了兩種柴油機(jī)燃油系統(tǒng)典型故障狀態(tài)下和正常狀態(tài)下的振動參數(shù)。選取6種時域特征參數(shù)構(gòu)成神經(jīng)網(wǎng)絡(luò)的故障征兆輸入樣本集:能量指標(biāo)(E)峭度指標(biāo)(Kv)、波形指標(biāo)(S)、裕度指標(biāo)(L)、脈沖指標(biāo)(I)和峰值指標(biāo)(C)。</p><p>  在特定的工作條件下測量時域特征參數(shù),測量得到的特征參數(shù)樣本如表4-2所示,此處只列出部分樣本數(shù)據(jù)。設(shè)定柴油機(jī)運(yùn)行的工況條件為900rpm,空載。其中每種狀況下的樣本1、2對

76、應(yīng)測點(diǎn)為缸蓋的樣本,而樣本3、4則是測點(diǎn)為缸壁的樣本。</p><p><b>  表4-2 輸入樣本</b></p><p><b>  續(xù)表4-2</b></p><p> ?。?)對故障類型進(jìn)行編碼,如表4-3所示。</p><p>  表4-3 故障類型編碼</p><p

77、>  (3) 改進(jìn)的訓(xùn)練算法</p><p>  采用改進(jìn)的BP訓(xùn)練算法trainlm,此處定義BP網(wǎng)絡(luò)參數(shù)如表4-4所示。</p><p>  表4-4 BP網(wǎng)絡(luò)參數(shù)</p><p>  trainlm函數(shù)依據(jù)Levenberg-Marquardt優(yōu)化理論對網(wǎng)絡(luò)的權(quán)值和閾值進(jìn)行調(diào)整,當(dāng)采用trainlm作為訓(xùn)練函數(shù)時,網(wǎng)絡(luò)的訓(xùn)練參數(shù)與函數(shù)trainbr的相同

78、,其中,訓(xùn)練參數(shù)mu決定了學(xué)習(xí)算法的性質(zhì),若mu較大,學(xué)習(xí)過程主要依據(jù)梯度下降法,若mu較小,學(xué)習(xí)過程主要依據(jù)牛頓法。該訓(xùn)練函數(shù)的效率優(yōu)于最速下降法,但占用內(nèi)存較大,為了節(jié)省內(nèi)存,可以把訓(xùn)練參數(shù)中的net。trainParam。mem_reduc設(shè)置為2或更大的值。</p><p>  定義驗(yàn)證樣本,對網(wǎng)絡(luò)進(jìn)行驗(yàn)證。部分驗(yàn)證樣本如表4-5所示。</p><p><b>  表4-

79、5 樣本數(shù)據(jù)</b></p><p>  4.3 仿真實(shí)驗(yàn)及結(jié)果分析</p><p>  部分樣本訓(xùn)練后的故障診斷結(jié)果如表4-6。需要指出的是,運(yùn)用BP網(wǎng)絡(luò)進(jìn)行故障診斷,除了每次運(yùn)行時都具有一定的隨機(jī)性之外,選擇的神經(jīng)元數(shù)目也會影響網(wǎng)絡(luò)的診斷性能,如神經(jīng)網(wǎng)絡(luò)隱層中采用13個神經(jīng)元,一次訓(xùn)練后得到的診斷結(jié)果如表4-7所示。</p><p><b>

80、;  表4-6 診斷結(jié)果</b></p><p><b>  表4-7 診斷結(jié)果</b></p><p>  從表4-6,4 -7中,我們可以得出以下結(jié)論:我們提出的故障診斷方法基本能完成故障診斷任務(wù),改進(jìn)訓(xùn)練后的故障診斷是正確的,但是也存在著一定的漏診和誤診的現(xiàn)象,每次運(yùn)行都具有一定的隨機(jī)性。有表4-6和表4-7得出隱含13個神經(jīng)網(wǎng)絡(luò)的BP神經(jīng)網(wǎng)絡(luò)將故障

81、類型6的樣本錯誤判決為故障類型3。對于樣本數(shù)據(jù)刷選存在誤差,還有系統(tǒng)的一部分機(jī)器方面的故障,因此也會出現(xiàn)誤診和漏診現(xiàn)象。</p><p><b>  5 結(jié)論</b></p><p>  本文對BP神經(jīng)網(wǎng)絡(luò)進(jìn)行了介紹,并對BP網(wǎng)絡(luò)的改進(jìn)算法進(jìn)行了研究。最后以柴油機(jī)為對象,利用改進(jìn)BP算法進(jìn)行柴油機(jī)的故障診斷。運(yùn)用改進(jìn)BP神經(jīng)網(wǎng)絡(luò)對所得數(shù)據(jù)進(jìn)行分析,建模,來診斷柴油機(jī)是

82、否發(fā)生故障,發(fā)生何種類型故障之后進(jìn)行審查比較查找除誤差出現(xiàn)的原因,現(xiàn)將本文的主要研究工作作如下總結(jié):</p><p> ?。?)本文對神經(jīng)網(wǎng)絡(luò)BP算法進(jìn)行了研究,對BP算法的原理和算法的改進(jìn)進(jìn)行了解。</p><p>  (2)采用BP網(wǎng)絡(luò)故障診斷方法訓(xùn)練模型,我們可從訓(xùn)練結(jié)果中看出BP網(wǎng)絡(luò)的訓(xùn)練時間比較長。故障診斷結(jié)果較為理想,出現(xiàn)的誤差率較低,是一種相當(dāng)優(yōu)秀的故障診斷方法。</p

83、><p> ?。?)以柴油機(jī)故障診斷為例,對改進(jìn)BP神經(jīng)網(wǎng)絡(luò)進(jìn)行了仿真實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明,診斷效果優(yōu)于傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)。</p><p>  總之,BP神經(jīng)網(wǎng)絡(luò)初步算法改進(jìn)還有很多,有很多問題有待于進(jìn)一步的研究和改進(jìn),其研究是無止境的,唯有不斷的深入探討,才能夠更深刻的理解,取得更好的成果。</p><p><b>  參考文獻(xiàn)</b></p

84、><p>  [1] 李軍.改進(jìn)的BP算法在汽輪機(jī)熱力系統(tǒng)故障診斷與預(yù)測中的應(yīng)用研究[D].重慶大學(xué)碩士學(xué)位論文.2004.</p><p>  [2] 柳玉甜.未知環(huán)境中移動機(jī)器人故障診斷技術(shù)的研究[D].浙江大學(xué)博士論文.2007.</p><p>  [3] 李曉艷.基于BP算法的礦井提升機(jī)故障診斷系統(tǒng)的研究[D].山東科技大學(xué)碩士學(xué)位論文.2007.</

85、p><p>  [4] 柳玉甜,蔣靜坪.多動狀態(tài)下的移動機(jī)器人故障診斷方法[J].儀器儀表報.2007,28(9):1660-1667.</p><p>  [5] 葉甫.混合動力電動汽車驅(qū)動系統(tǒng)的故障診斷研究[D]. 西北工業(yè)大學(xué)碩士學(xué)位論文.2005.</p><p>  [6] 周杰.BP神經(jīng)網(wǎng)絡(luò)在電廠制粉系統(tǒng)故障診斷中的應(yīng)用研究[D]. 重慶大學(xué)碩士學(xué)位論文.2

86、003.</p><p>  [7] 陳劍平.基于MATLAB的神經(jīng)網(wǎng)絡(luò)模式識別技術(shù)在油氣化探中的研究及應(yīng)用 [D].中國地質(zhì)大學(xué)(北京)碩士學(xué)院論文.2008.</p><p>  [8] 王曉敏,劉希玉,戴芬. BP神經(jīng)網(wǎng)絡(luò)預(yù)測算法的改進(jìn)及應(yīng)用[J].計(jì)算機(jī)技術(shù)與展.2009,19(11):65-67.</p><p>  [9] 蔣蓉蓉.一種基于遺傳算法的BP

87、網(wǎng)絡(luò)改進(jìn)方法[J].微計(jì)算機(jī)信息,2007,23(11):234-236.</p><p>  [10] 王爽,張鷹,呂瑞霞.BP神經(jīng)網(wǎng)絡(luò)的算法改進(jìn)及應(yīng)用[J].電腦知識與技術(shù),2009,15(4):933-935.</p><p>  [11] 王建平,郭尚.BP神經(jīng)網(wǎng)絡(luò)預(yù)測算法性能的改進(jìn)策略[J].微電子學(xué)與計(jì)算機(jī),2007,24(10):144-145.</p><

88、;p>  [12] 袁科新.基于BP神經(jīng)網(wǎng)絡(luò)的發(fā)動機(jī)故障診斷研究[D].山東大學(xué)碩士學(xué)位論文,2006.</p><p>  [13] 吳建生.旱澇災(zāi)害的遺傳-神經(jīng)網(wǎng)絡(luò)集成預(yù)測方法研究[J]廣西科學(xué), 2006,(03) :47-53.</p><p>  [14] ROSENSTEIN.M.T , COLLINSJ.J , LUCA.C. Reconst ruction expan

89、sion as a geomet rybasedf ramework for choosing proper delay time [J] .Physica D ,1994 ,73 :82-98.</p><p>  [15] N.K. Patel, R.K. Khubchandani. ANN based power transformer fault diagnosis[J]. IE (I) J. Elect

90、r. Eng. 2004,85 :60–63.</p><p>  附錄一 BP程序代碼</p><p><b>  %BP網(wǎng)絡(luò)訓(xùn)練函數(shù)</b></p><p>  function [a,b,c,d,e,f,g,h] = trainbp(i,j,k,l,m,n,o,p,q,r,s,t)</p><p>  %TRAIN

91、BP Train feed-forward network with backpropagation.</p><p><b>  %</b></p><p>  %This function is obselete.</p><p>  %Use NNT2FF and TRAIN to update and train your net

92、work.</p><p>  nntobsf('trainbp','Use NNT2FF and TRAIN to update and train your network.')</p><p>  %TRAINBP can be called with 1, 2, or 3 sets of weights</p><p>  

93、%and biases to train up to 3 layer feed-forward networks.</p><p>  % </p><p>  %[W1,B1,W2,B2,...,TE,TR] = TRAINBP(W1,B1,F1,W2,B2,F2,...,P,T,TP)</p><p>  % Wi - SixR weig

94、ht matrix for the ith layer.</p><p>  % Bi - S1x1 bias vector for the ith layer.</p><p>  % Fi - Transfer function (string) for the ith layer.</p><p>  % P - RxQ matrix of in

95、put vectors.</p><p>  % T - SxQ matrix of target vectors.</p><p>  % TP - Training parameters (optional).</p><p>  %Returns new weights and biases and</p><p>  %

96、 Wi - new weights.</p><p>  % Bi - new biases.</p><p>  % TE - the actual number of epochs trained.</p><p>  % TR - training record: [row of errors]</p><p><b

97、>  %</b></p><p>  %Training parameters are:</p><p>  % TP(1) - Epochs between updating display, default = 25.</p><p>  % TP(2) - Maximum number of epochs to train, de

98、fault = 100.</p><p>  % TP(3) - Sum-squared error goal, default = 0.02.</p><p>  % TP(4) - Learning rate, default = 0.01.</p><p>  %Missing parameters and NaN's are replace

99、d with defaults.</p><p><b>  %</b></p><p>  %See also NNTRAIN, BACKPROP, INITFF, SIMFF, TRAINBPX, TRAINLM.</p><p>  % Mark Beale, 1-31-92</p><p>  % Revis

100、ed 9-2-93, MB.</p><p>  % Copyright (c) 1992-1998 by The MathWorks, Inc.</p><p>  % $Revision: 1.7 $ $Date: 1998/06/11 17:22:47 $</p><p><b>  %數(shù)據(jù)標(biāo)準(zhǔn)化函數(shù)</b></p>&l

101、t;p>  function [y,meanx,stdx]=standard(x)</p><p>  [m,n]=size(x);</p><p>  e=ones(m,1);</p><p>  meanx=mean(x);</p><p>  y=x-e*mean(x);</p><p>  stdx=st

102、d(x);</p><p>  y=y./(e*std(x));</p><p>  %數(shù)據(jù)預(yù)處理—-數(shù)值篩選與標(biāo)準(zhǔn)化</p><p>  function x=u1()</p><p>  load ssj2.txt -ascii</p><p>  load ssj3.txt -ascii</p>&

103、lt;p>  data1=[ssj2(:,2),ssj3(:,2),ssj3(:,4:7)];</p><p>  load data_q.dat -ascii</p><p>  load data_z.dat -ascii</p><p>  load data_h.dat -ascii</p><p>  y=[data_q da

104、ta1];</p><p>  y=[y(1:20,:);y(22:122,:);y(124:139,:);y(141:181,:);y(183:205,:);y(207:208,:);y(210:232,:);y(234:242,:)];</p><p>  y=[y(1:127,:);y(129:136,:);y(138:152,:);y(154:192,:);y(194:212,:)

105、;y(214:235,:)];</p><p>  save data_qi.dat y -ascii</p><p>  y=[data_z data1];</p><p>  y=[y(1:180,:);y(183:242,:)];</p><p>  y=[y(1:230,:);y(232:240,:)];</p><

106、;p>  y=[y(1:155,:);y(157:239,:)];</p><p>  y=[y(1:130,:);y(133:138,:);y(140:238,:)];</p><p>  save data_zh.dat y -ascii</p><p>  y=[data_h data1];</p><p>  y=[y(1:15

107、,:);y(18:41,:);y(43:171,:);y(173:187,:);y(189:197,:);y(199:232,:);y(234:242,:)];</p><p>  y=[y(1:14,:);y(16:126,:);y(128:135,:);y(137:152,:);y(154:155,:);y(157:235,:)];</p><p>  save data_ha.dat

108、 y -ascii</p><p>  save public.dat data1 -ascii;</p><p>  y=standard1(data1);</p><p>  save public_S.dat y -ascii</p><p>  load data_qi.dat -ascii</p><p> 

109、 [y meanx stdx]=standard1(data_qi);</p><p>  save mean_qi.dat meanx -ascii</p><p>  save std_qi.dat stdx -ascii</p><p>  save data_qiS.dat y -ascii</p><p>  load data_

110、zh.dat -ascii</p><p>  [y meanx stdx]=standard1(data_zh);</p><p>  save mean_zh.dat meanx -ascii</p><p>  save std_zh.dat stdx -ascii</p><p>  save data_zhS.dat y -asci

111、i</p><p>  load data_ha.dat -ascii</p><p>  [y meanx stdx]=standard1(data_ha);</p><p>  save mean_ha.dat meanx -ascii</p><p>  save std_ha.dat stdx -ascii</p>&l

112、t;p>  save data_haS.dat y –ascii</p><p>  %用BP神經(jīng)網(wǎng)絡(luò)方法建立故障診斷仿真程序</p><p>  P11=[1.1804 10.4502 1.5134 20.0887 15.4658 10.2193]’;</p><p>  P12=[1.2016 12.4476 1.5556 20.6162 15.7558

113、10.1285]’;</p><p>  P21=[1.0970 9.5332 1.5316 18.3907 13.9889 9.1336]’;</p><p>  P22=[1.2340 9.8209 1.5316 18.3907 13.9889 9.1336]’;</p><p>  P31=[0.7682 9.5489 1.4970 14.7612 11.49

114、73 7.6800]’;</p><p>  P32=[0.7053 9.5317 1.5083 14.3161 11.0941 7.3552]’;</p><p>  P41=[0.8116 8.1302 1.4820 14.3171 11.1105 7.4967]’;</p><p>  P42=[0.8160 9.0388 1.4979 15.0079 11.

115、6242 7.76041]’;</p><p>  P51=[1.4311 8.0971 1.5219 15.7460 12.0088 7.8909]’;</p><p>  P52=[1.4136 8.6747 1.5305 15.3114 11.6297 7.5984]’;</p><p>  P61=[1.0167 8.3504 1.5103 12.8119

116、9.8258 6.5060]’;</p><p>  P62=[1.3392 9.0865 1.4930 15.0798 11.6764 7.8209]’;</p><p>  P=[P11 P12 P21 P22 P31 P32 P41 P42 P51 P52 P61 P62]’;</p><p>  t11=[1 0 0 0 0 0]’;</p>

溫馨提示

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

最新文檔

評論

0/150

提交評論