2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩29頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

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è)班級(jí) 電氣工程及其自動(dòng)化 </p>

2、<p>  學(xué)生姓名 學(xué)號(hào) </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ì)算量大等問(wèn)題。</p><p>  本文主要研究傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)的基本原理,并對(duì)傳統(tǒng)BP算法進(jìn)行改進(jìn),將改進(jìn)后的BP神經(jīng)網(wǎng)絡(luò)應(yīng)用于柴油機(jī)的故障診斷問(wèn)題中。</p><p>  本文的主要工作

4、和取得的研究成果如下:</p><p>  1.研究BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)和基本原理,并對(duì)傳統(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ī)的故障診斷問(wèn)題,將改進(jìn)后的BP神經(jīng)網(wǎng)絡(luò)應(yīng)用于柴油機(jī)的故障診斷問(wèn)題中,并用Matlab軟件實(shí)現(xiàn)數(shù)據(jù)仿真、故障分析實(shí)驗(yàn)。 </p&g

5、t;<p>  最后總結(jié)了改進(jìn)的BP算法中有待解決的問(wèn)題和未來(lái)發(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利用動(dòng)量法改進(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問(wèn)題描述15</p><p>  4.1.1問(wèn)題背景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>  致 謝錯(cuò)誤!未定義書(shū)簽。</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、模式識(shí)別、信號(hào)處理和自動(dòng)控制等領(lǐng)域[1]。目前,人們研究最為廣泛最具代表行的網(wǎng)絡(luò)是BP(Back Propagation)神經(jīng)網(wǎng)絡(luò),它具有分布式的信息存儲(chǔ)方式,大規(guī)模并行處理,自學(xué)習(xí)和自適應(yīng)性、較強(qiáng)的魯棒性和容錯(cuò)性等特點(diǎn)。當(dāng)前,BP神經(jīng)網(wǎng)絡(luò)主要應(yīng)用于模式識(shí)別、圖像處理、信息處理、故障檢測(cè)、企業(yè)管理、市場(chǎng)分析等領(lǐng)域。而B(niǎo)P神經(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算法存在著一些問(wèn)題,比如學(xué)習(xí)過(guò)程收斂速度慢,網(wǎng)絡(luò)訓(xùn)練容易陷入局部最小、接近最優(yōu)時(shí)易出現(xiàn)波動(dòng)和震蕩現(xiàn)象、網(wǎng)路的結(jié)構(gòu)難以確定以及編程困難,計(jì)算量大等等?;谶@些,通過(guò)對(duì)BP算法原理的深入分析與研究,找出存在這些問(wèn)題的原因,進(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)練算法。針對(duì)標(biāo)準(zhǔn)的BP神經(jīng)網(wǎng)路的訓(xùn)練算法中存在的一些問(wèn)題,對(duì)其進(jìn)行改進(jìn),以達(dá)到優(yōu)化神經(jīng)網(wǎng)絡(luò)的目的。并且,本設(shè)計(jì)中用到了MATLAB這一軟件,要求熟悉MATLAB的使用,通過(guò)MATLAB對(duì)所改進(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èn)題。比如收斂速度慢、容易陷入局部最小、網(wǎng)路的結(jié)構(gòu)難以確定等等。透徹分析這些問(wèn)題產(chǎn)生的原因。</p><p> ?。?)針對(duì)BP算法中存在的問(wèn)題,提出其改進(jìn)方法。BP算法的改進(jìn)主要有兩

23、種途徑,一種是采用啟發(fā)式學(xué)習(xí)方法,如附加動(dòng)量法、自適應(yīng)學(xué)習(xí)率法等;另一種是采用數(shù)字優(yōu)化技術(shù),共扼梯度法、牛頓法、Levenberg-Marquardt法等。</p><p> ?。?)利用改進(jìn)BP算法對(duì)柴油機(jī)故障診斷問(wèn)題進(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]。它是一個(gè)由輸入層,輸出層和中間隱含層三個(gè)神經(jīng)元層次構(gòu)成的模型,稱BP模型,各層次的神經(jīng)元形成全互連連接,同層次內(nèi)的神經(jīng)元間沒(méi)有連接。當(dāng)把一對(duì)訓(xùn)練模式提供給網(wǎng)絡(luò)后,網(wǎng)絡(luò)先進(jìn)行輸入模式的正向傳播過(guò)程,輸入模式從輸入層經(jīng)隱含層處理向輸出層傳播,并在輸出層的各神經(jīng)元獲得網(wǎng)絡(luò)的輸出。</p><p>

25、  當(dāng)網(wǎng)絡(luò)輸出與期望的目標(biāo)輸出模式之間的誤差大于目標(biāo)誤差時(shí),網(wǎng)絡(luò)訓(xùn)練轉(zhuǎn)入誤差的反向傳播過(guò)程,網(wǎng)絡(luò)誤差按原來(lái)正向傳播的連接路徑返回,網(wǎng)絡(luò)訓(xùn)練按誤差對(duì)權(quán)值的最速下降法,從輸出層經(jīng)隱含層修正各個(gè)神經(jīng)元的權(quán)值,最后回到輸入層,然后,再進(jìn)行輸入模式的正向傳播過(guò)程……。這兩個(gè)傳播過(guò)程在網(wǎng)絡(luò)中反復(fù)運(yùn)行,使網(wǎng)絡(luò)誤差不斷減小,從而網(wǎng)絡(luò)對(duì)輸入模式的響應(yīng)的正確率也不斷提高,當(dāng)網(wǎng)絡(luò)誤差不大于目標(biāo)誤差時(shí),網(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í)過(guò)程,BP算法的學(xué)習(xí)過(guò)程包括正向傳播和反向誤差傳播。在正向傳播過(guò)程中,輸入信息從輸入層經(jīng)隱單元層逐層處理,并傳向輸出層,每一層神經(jīng)元的狀

27、態(tài)只要影響下一層神經(jīng)元的狀態(tài);如輸出層得不到期望輸出,則轉(zhuǎn)入反向傳播,將誤差信號(hào)沿著原來(lái)的連接通路返回。</p><p>  BP網(wǎng)絡(luò)是一種多層前饋神經(jīng)網(wǎng)絡(luò),其結(jié)構(gòu)示意圖如圖2-1所示。由圖可見(jiàn),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、播中會(huì)對(duì)傳遞函數(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)元,那么整個(gè)網(wǎng)絡(luò)的輸出就限制在一個(gè)較小的范圍內(nèi);如果BP網(wǎng)絡(luò)

29、的最后一層是purelin型神經(jīng)元,那么整個(gè)網(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í)樣本,使用反向傳播算法對(duì)網(wǎng)絡(luò)的權(quán)值和偏差進(jìn)行反復(fù)的調(diào)整訓(xùn)練,使輸出向量與期望向量盡可能地

30、接近,當(dāng)網(wǎng)絡(luò)輸出層的誤差平方和小于指定的誤差時(shí)訓(xùn)練完成,保存網(wǎng)絡(luò)的權(quán)值和偏差。以一個(gè)三層網(wǎng)絡(luò)為例,網(wǎng)絡(luò)由N個(gè)輸入神經(jīng)元,K個(gè)隱層神經(jīng)元,M個(gè)輸出神經(jīng)元組成(見(jiàn)圖2-3)。和分別為輸出層和隱層的輸出值,和分別為隱層到輸出層和輸入層到隱層的連接權(quán)值,設(shè)輸入學(xué)習(xí)樣本為,其對(duì)應(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個(gè)樣本{}順序輸入到網(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ì)上是把一組樣本輸入/輸出問(wèn)題轉(zhuǎn)化為一個(gè)非線性優(yōu)化問(wèn)題,并通過(guò)負(fù)梯度下降算法,利用迭代運(yùn)算求解權(quán)值問(wèn)題的一種學(xué)習(xí)方法,但其收斂速度慢且易陷入局部極小

35、。</p><p>  2.2.3 MATLAB中常用的BP網(wǎng)絡(luò)函數(shù) </p><p>  MATLAB的函數(shù)大體可以分為兩類[7]:一類是通用函數(shù),大體上對(duì)所有網(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)練過(guò)程的穩(wěn)定性標(biāo)準(zhǔn)的梯度算法需要低學(xué)習(xí)速率。此外,非線性網(wǎng)絡(luò)而

37、言,選擇一個(gè)合適的學(xué)習(xí)速率是一項(xiàng)有挑戰(zhàn)性的工作,過(guò)高的學(xué)習(xí)速率會(huì)導(dǎo)致學(xué)習(xí)過(guò)程的不穩(wěn)定,可能出現(xiàn)以下幾種情況[8-11]:</p><p>  (1)訓(xùn)練次數(shù)使得學(xué)習(xí)效率低,收斂速度慢。如果問(wèn)題復(fù)雜,BP算法需要的訓(xùn)練時(shí)間可能會(huì)非常長(zhǎng)。這主要原因就是學(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)整過(guò)程幾乎處于停頓狀態(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í)過(guò)程中,也可能在網(wǎng)絡(luò)權(quán)值的調(diào)整過(guò)程中,跳過(guò)較好的極小點(diǎn),這主要是由于誤差曲面的凹處太窄,而梯度值又較大,致使網(wǎng)絡(luò)權(quán)值從一個(gè)

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

40、化,即:</p><p><b>  (3-1)</b></p><p>  式中:w——權(quán)值向量,k——訓(xùn)練次數(shù),(01)——?jiǎng)恿恳蜃?,一般?。95左右,——學(xué)習(xí)效率,——誤差函數(shù)的梯度。</p><p>  MATLAB中的工具函數(shù)traingdm()即對(duì)應(yīng)于附加動(dò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)整向誤差減小的仿效變化,其迭代過(guò)程可表示為: </p><p><b>  (3-2)</b></p><p>  MATLAB中的工具函數(shù)traingda()即對(duì)應(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ù)少,收斂速度快,精確度高。但對(duì)于復(fù)雜問(wèn)題,這種方法需要相當(dāng)大的存儲(chǔ)空間。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ò)誤差對(duì)權(quán)值導(dǎo)數(shù)的雅可比矩陣;μ—標(biāo)量,當(dāng)μ很大時(shí)上式接近于梯度法,當(dāng)μ很小時(shí)上式變成了高斯-牛頓法。</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ò)對(duì)象,函

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

45、范圍是-1到2,輸入向量的第二個(gè)元素的范圍是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ò)時(shí),輸入向量P、各層的神經(jīng)

46、元個(gè)數(shù)、各層神經(jīng)元的傳遞函數(shù),就可以用函數(shù)initff對(duì)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)練之前必須要對(duì)權(quán)值和閾值進(jìn)行初始化,newff()函數(shù)可

47、以自動(dòng)完成這一過(guò)程,但是無(wú)法重新賦初值。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),但是沒(méi)有一種訓(xùn)練函數(shù)能適應(yīng)所有情況下的訓(xùn)練過(guò)程。</p><p><b>  對(duì)于單層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í)過(guò)程的顯示頻率、最大訓(xùn)練步數(shù)、誤差指標(biāo)以及學(xué)習(xí)率,F(xiàn)表示神經(jīng)元所采用的傳遞函數(shù)類型,p表示輸入向量,t表示目標(biāo)向量。</p><p><b>  對(duì)于兩層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>  對(duì)于三層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對(duì)幾種典型的快速學(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)牛頓反向傳播算法對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。</p><p>  說(shuō)明:采用BFGS準(zhǔn)牛頓反向傳播算法對(duì)網(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:最長(zhǎng)訓(xùn)練時(shí)間(以秒計(jì)),缺省值為inf.</p><

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

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

56、:traingd函數(shù)為梯度下降BP算法函數(shù),即基本BP算法。當(dāng)網(wǎng)絡(luò)訓(xùn)練函數(shù)為traingd時(shí),網(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)練迭代過(guò)程,缺省值為25;</p><p>  net.t

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

59、數(shù)為traingdm時(shí),網(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:動(dòng)量常數(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:最長(zhǎng)訓(xùn)練時(shí)間(以秒計(jì)),缺省值為inf.</p><p>  此時(shí)網(wǎng)絡(luò)訓(xùn)練的停止條件和函數(shù)trainbfg的相同。</p><p><b>  4.trainlm</b></p><p>  功能:采用Levenberg-Marquardt反向傳播算法對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。&

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

63、網(wǎng)絡(luò)進(jìn)行訓(xùn)練。</p><p>  說(shuō)明:trainrp函數(shù)根據(jù)彈性反向傳播算法對(duì)網(wǎng)絡(luò)的權(quán)值和閾值進(jìn)行調(diào)整,</p><p>  當(dāng)網(wǎng)絡(luò)訓(xùn)練函數(shù)為trainrp時(shí),網(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:最長(zhǎng)訓(xùn)練時(shí)間(以秒計(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ù)對(duì)于權(quán)值和閾值存在導(dǎo)函數(shù)即可。</p><p>  4 基于改進(jìn)BP神經(jīng)網(wǎng)絡(luò)的故障診斷方法</p><p>  本章將柴油機(jī)故障診斷為例對(duì)改進(jìn)BP神經(jīng)網(wǎng)絡(luò)進(jìn)行仿真實(shí)驗(yàn)。

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

68、上各種故障模式進(jìn)行診斷以及甄別?,F(xiàn)將柴油機(jī)主要的故障形式如下:</p><p> ?。?)氣缸-活塞故障。</p><p> ?。?)曲柄-連桿機(jī)構(gòu)故障。</p><p><b>  (3)活塞環(huán)漏氣。</b></p><p><b>  (4)噴油角變化。</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ò)對(duì)柴油機(jī)故障進(jìn)行模式分類。神經(jīng)網(wǎng)絡(luò)直接用于故障診斷時(shí),要挑選特征參數(shù)組成輸入向量,以故障原因作為輸出向量,利用典型樣本學(xué)習(xí)所得權(quán)值進(jìn)行模式識(shí)別[13]

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

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

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

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

75、油機(jī)上分別測(cè)定了兩種柴油機(jī)燃油系統(tǒng)典型故障狀態(tài)下和正常狀態(tài)下的振動(dòng)參數(shù)。選取6種時(shí)域特征參數(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>  在特定的工作條件下測(cè)量時(shí)域特征參數(shù),測(cè)量得到的特征參數(shù)樣本如表4-2所示,此處只列出部分樣本數(shù)據(jù)。設(shè)定柴油機(jī)運(yùn)行的工況條件為900rpm,空載。其中每種狀況下的樣本1、2對(duì)

76、應(yīng)測(cè)點(diǎn)為缸蓋的樣本,而樣本3、4則是測(cè)點(diǎn)為缸壁的樣本。</p><p><b>  表4-2 輸入樣本</b></p><p><b>  續(xù)表4-2</b></p><p> ?。?)對(duì)故障類型進(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)化理論對(duì)網(wǎng)絡(luò)的權(quán)值和閾值進(jìn)行調(diào)整,當(dāng)采用trainlm作為訓(xùn)練函數(shù)時(shí),網(wǎng)絡(luò)的訓(xùn)練參數(shù)與函數(shù)trainbr的相同

78、,其中,訓(xùn)練參數(shù)mu決定了學(xué)習(xí)算法的性質(zhì),若mu較大,學(xué)習(xí)過(guò)程主要依據(jù)梯度下降法,若mu較小,學(xué)習(xí)過(guò)程主要依據(jù)牛頓法。該訓(xùn)練函數(shù)的效率優(yōu)于最速下降法,但占用內(nèi)存較大,為了節(jié)省內(nèi)存,可以把訓(xùn)練參數(shù)中的net。trainParam。mem_reduc設(shè)置為2或更大的值。</p><p>  定義驗(yàn)證樣本,對(duì)網(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)行時(shí)都具有一定的隨機(jī)性之外,選擇的神經(jīng)元數(shù)目也會(huì)影響網(wǎng)絡(luò)的診斷性能,如神經(jīng)網(wǎng)絡(luò)隱層中采用13個(gè)神經(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個(gè)神經(jīng)網(wǎng)絡(luò)的BP神經(jīng)網(wǎng)絡(luò)將故障

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

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

83、><p> ?。?)以柴油機(jī)故障診斷為例,對(duì)改進(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)還有很多,有很多問(wèn)題有待于進(jìn)一步的研究和改進(jìn),其研究是無(wú)止境的,唯有不斷的深入探討,才能夠更深刻的理解,取得更好的成果。</p><p><b>  參考文獻(xiàn)</b></p

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

85、p><p>  [4] 柳玉甜,蔣靜坪.多動(dòng)狀態(tài)下的移動(dòng)機(jī)器人故障診斷方法[J].儀器儀表報(bào).2007,28(9):1660-1667.</p><p>  [5] 葉甫.混合動(dòng)力電動(dòng)汽車驅(qū)動(dòng)系統(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í)別技術(shù)在油氣化探中的研究及應(yīng)用 [D].中國(guó)地質(zhì)大學(xué)(北京)碩士學(xué)院論文.2008.</p><p>  [8] 王曉敏,劉希玉,戴芬. BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)算法的改進(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í)與技術(shù),2009,15(4):933-935.</p><p>  [11] 王建平,郭尚.BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)算法性能的改進(jìn)策略[J].微電子學(xué)與計(jì)算機(jī),2007,24(10):144-145.</p><

88、;p>  [12] 袁科新.基于BP神經(jīng)網(wǎng)絡(luò)的發(fā)動(dòng)機(jī)故障診斷研究[D].山東大學(xué)碩士學(xué)位論文,2006.</p><p>  [13] 吳建生.旱澇災(zāi)害的遺傳-神經(jīng)網(wǎng)絡(luò)集成預(yù)測(cè)方法研究[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. 本站所有資源如無(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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論