(上海海事大學 上?!?00120)
BP網(wǎng)絡(luò)和遺傳算法是廣泛運用于數(shù)據(jù)挖掘[1~2]的方式。針對集裝箱橋吊機械小車電機日常產(chǎn)生的龐大數(shù)據(jù),需要從這些數(shù)據(jù)中發(fā)現(xiàn)橋吊的工作信息以及故障預(yù)測。所以提高BP神經(jīng)網(wǎng)絡(luò)的系統(tǒng)性能很有價值。
遺傳算法[3]是模仿生物遺傳的方法,首先編碼產(chǎn)生初始的群體,其中任務(wù)是對群體實施一些的操作,并以其對環(huán)境的適應(yīng)情況為基礎(chǔ),進行優(yōu)勝劣汰的進化。就優(yōu)化搜索的方面來看,遺傳算法能夠?qū)⒔鈱嵤┮淮膬?yōu)化,最終得到最優(yōu)解。遺傳算法的構(gòu)造步驟分為以下幾步:(1)確定決策變量及其各類約束條件。這一步確定出個體的表現(xiàn)型X和問題的解空間。(2)建立優(yōu)化模型。這一步要確定出目標函數(shù)的類型(是求目標函數(shù)的最大值還是求最小值)及其數(shù)學描述形式或量化方法。(3)確定染色體編碼方案。這一步要確定出個體的基因型X及遺傳算法的搜索空間。(4)確定解碼方法。這一步要確定出由個體基因型X到個體表現(xiàn)型X的對應(yīng)關(guān)系或轉(zhuǎn)換方法。(5)確定個體適應(yīng)度的量化評價方法。這一步要確定出由目標函數(shù)值f(x)到個體適應(yīng)度F(X)的轉(zhuǎn)換原則。(6)設(shè)計遺傳算子。這一步要確定出采用哪種選擇算子、交叉算子、變異算子等遺傳算子以及各自的具體操作方法。(7)確定遺傳算法相關(guān)運行參數(shù)。這一步要確定出遺傳算法的種群大小population、終止進化代generation、交叉概率Pc、變異概率Pm等參數(shù)[4~5]。
BP網(wǎng)絡(luò)[6]實現(xiàn)了多層網(wǎng)絡(luò)學習的設(shè)想。當給定網(wǎng)絡(luò)的一個輸入模式時,它由輸入層單元傳到隱層單元,經(jīng)過隱層單元逐層處理后再送到輸出層單元,由輸出層單元處理后產(chǎn)生一個輸出模式,這是一個逐層狀態(tài)更新過程,稱為前向傳播。如果輸出響應(yīng)與期望輸出模式有誤差,不滿足要求,那么就轉(zhuǎn)入誤差反向傳播,將誤差值沿連接通路逐層傳送并修正各層連接權(quán)值。傳統(tǒng)調(diào)整各層的連接權(quán)值[7]的方法為
在遺傳算法的優(yōu)化中,我們通過對連接權(quán)值和節(jié)點的閾值進行迭代,減少次環(huán)節(jié)的運行時間,通過對連接權(quán)值和節(jié)點閾值計算適應(yīng)度,得出最佳適應(yīng)度所對應(yīng)的連接權(quán)值。
岸橋港機小車電機數(shù)據(jù)通過遠程在線監(jiān)控系統(tǒng)實時監(jiān)測,隨時發(fā)現(xiàn)異常情況,及時排除隱患,狀態(tài)信息實時的存儲在數(shù)據(jù)庫中,數(shù)據(jù)量非常大。這些海量的數(shù)據(jù)是在岸橋正常作業(yè)的時候采集的,反映的是岸橋在各種工況下的機械狀態(tài)。對這些數(shù)據(jù)進行數(shù)據(jù)挖掘研究,可以發(fā)現(xiàn)岸橋運行中狀態(tài)變化的一些規(guī)律。我們利用其中的一個點的連續(xù)數(shù)據(jù)進行分析。
經(jīng)過參數(shù)反復測試發(fā)現(xiàn)如下參數(shù)較佳,設(shè)定遺傳算法的主要參數(shù)如下:種群數(shù)population=10,終止進化代數(shù)generation=30,交叉概率pc=0.3,變異概率pm=0.01;輸入層節(jié)點個數(shù)inputnum=2;隱含層節(jié)點個數(shù)hiddennum=5;輸出層節(jié)點個數(shù)outputnum=1;數(shù)據(jù)選取某臺集裝箱橋吊小車電機的一個月的檢測數(shù)據(jù),每天選取前2000個數(shù)據(jù)共28天。
我們先選取前20天的結(jié)果進行BP神經(jīng)網(wǎng)絡(luò)的學習訓練數(shù)據(jù),用后8天的數(shù)據(jù)進行目標數(shù)據(jù)以測試我們的精度[8],對程序結(jié)果進行分析,通過計算結(jié)果的均方誤差來判定我們的優(yōu)化程度
圖1 均方誤差
圖2 訓練誤差
圖3 測試誤差
評價一個網(wǎng)絡(luò)設(shè)計的好壞,首先是它的精度,再一個就是訓練時間。時間包含兩個方面一是迭代次數(shù),二是每一次迭代循環(huán)中計算所花費的時間。從以上不同隱層節(jié)點數(shù)的訓練性能上可以得出在訓練過程中,隱層節(jié)點數(shù)在一之間,網(wǎng)絡(luò)收斂性能好,而且收斂時間較短而隱層節(jié)點數(shù)在一之間,網(wǎng)絡(luò)收斂性變差,運行時間也變長。由此可以看出,網(wǎng)絡(luò)隱含層節(jié)點數(shù)不是只有一個合適的數(shù),而是有一個可選的范圍,結(jié)合實際綜合考慮。由圖1可知,遺傳算法在迭代到5次左右即將誤差計算在最佳值附近。
圖2、3所對應(yīng)得訓練誤差、測試誤差啊的變化曲線,可見測試誤差的變化趨勢基本一致,說明樣本集的劃分基本合理。由訓練誤差曲線可見,訓練誤差結(jié)果也是比較滿意的,三種誤差和擬合函數(shù)fit十分吻合,說明由數(shù)據(jù)訓練出的擬合函數(shù)初步可實現(xiàn)基本的數(shù)據(jù)預(yù)測。
利用遺傳算法對岸橋的各機械系統(tǒng)進行動態(tài)分析,通過對在線監(jiān)測數(shù)據(jù)的一系列處理,挖掘出各點的趨勢,為岸橋各系統(tǒng)的工作狀態(tài)的評估以及機械故障的預(yù)測提供信息。對岸橋動態(tài)特征的分析與機械故障的預(yù)測起到很明顯的作用。經(jīng)過驗證,用遺傳算法進行優(yōu)化BP神經(jīng)網(wǎng)絡(luò)在收斂速度和解決其固有缺陷方面很有效。