張 穎, 詹 冉, 施 佳
(上海海事大學 信息工程學院,上海 201306)
軟測量技術是指利用可測、易測變量(常稱為輔助變量)與難以直接檢測的待測變量(稱為主導變量)的映射關系,根據某種最優準則,采取各種計算方法,用軟件實現對待測變量的預測和估計。遺傳算法(Genetic Algorithm,GA)和人工神經網絡(Artificial Neural Networks,ANN)都是將生物學原理應用于系統辨識的仿生學理論成果,二者的產生都受到了自然界中信息處理方法的啟發,但來源并不相同,GA是從自然界生物進化機制獲得啟示,而ANN則是人腦或動物神經網絡若干基本特性的抽象和模擬[1-2]。
BP神經網絡是ANN應用較廣泛的網絡之一,具有較強的非線性映射能力,但是在學習中容易陷入局部極小值,且收斂速度比較慢。遺傳算法以概率選擇為主要手段,擅于全局搜索,將二者有機結合,可增強網絡的學習能力,在如何使遺傳算法和BP神經網絡有機結合方面,許多學者做了大量的研究工作[3-4]。
文中從優化BP神經網絡權值和閾值的角度出發,提出了一種基于GA優化BP神經網絡的海洋藻類生長狀態預測模型。用GA來彌補BP神經網絡連接權值和閾值選擇上的隨機性缺陷,使BP神經網絡具有較快的收斂速度和較強的學習能力。利用該算法對海水各理化因子與葉綠素-a含量之間的復雜映射關系進行了建模,結果表明該方法可有效應用于海洋藻類生長狀態的預測估計。
遺傳算法是模仿自然界生物進化機制發展起來的隨機全局搜索和優化方法,其本質是一種高效、并行、全局搜索的最優化方法。遺傳算法操作使用適者生存的原則,在潛在的解決方案種群中逐次產生一個近似最優解的方案。在遺傳算法的每一代中,根據個體在問題域中的適應度值和從自然遺傳學說中借鑒來的再造方法進行個體選擇,產生一個新的近似解。這個過程導致種群中個體的進化,得到的新個體比原個體更能適應環境[5]。
BP(Back Propagation,誤差反向傳播)網絡是一種有隱含層的多層前饋網絡。它解決了多層網絡中隱含單元連接權的學習問題。BP網絡學習的基本原理是梯度最速下降法,使網絡的實際輸出值與期望輸出值的誤差均方值為最小,網絡學習過程是一種誤差邊向后傳播邊修正權系數的過程。圖1表示了BP神經網絡的基本結構。

圖1 BP神經網絡結構Fig.1 The structure of BP neural network
采用遺傳算法(GA)優化BP神經網絡,可以克服BP神經網絡各節點的閾值和節點之間的連接權值初始選擇具有隨機性的不利影響,使得模型訓練時間縮短,收斂性增強,這種模型用GA-BP表示。
遺傳算法是一種全局優化隨機搜索算法,在個體基因表示的基礎上通過遺傳算子模擬遺傳過程中出現的復制、交叉和變異等現象,對種群個體逐代擇優,從而獲得最優個體。為了解決BP神經網絡初始參數選擇的隨機性及收斂速度慢的問題,采用遺傳算法對網絡參數先行優化。首先隨機生成若干組網絡參數初值,再利用遺傳算法對這些網絡參數初值進行配合度計算,經過若干代進化之后找到最能夠適應給定BP網絡的一組網絡參數,再將這組網絡參數用于BP網絡訓練,最終使輸出結果達到要求的精度,其結構如圖2所示。
GA-BP模型中的遺傳算法優化部分采用標準遺傳算法流程。算法優化的對象為BP網絡的所有參數,即每個神經元的激活閾值和神經元之間的連接權值,每一套這樣的參數集作為算法的一個染色體。遺傳算法優化BP神經網絡就是對這些染色體進行處理。其要素包括種群初始化、適應度函數、選擇操作、交叉操作和變異操作。
1)染色體編碼與初始權重種群的生成
任一組完整的網 絡 權值 Wi(Wi={w1i,w2i,w3i,b1i,b2i,b3i,i=1,2,…,P})相當于一條染色體,這樣的染色體共有 P個,即權重種群規模為P。個體編碼方法為實數編碼,每個個體均為一個實數串,由輸入層與隱含層連接權值、隱含層閾值、隱含層與輸出層連接權值以及輸出層閾值4部分組成。個體包含了神經網絡全部權值和閾值,在網絡結構已知的情況下,就可以構成一個結構、權值、閾值確定的神經網絡。

圖2 GA-BP網絡模型結構Fig.2 The flow chart of GA-BP network model
2)適應度函數
GA中用適應度函數來評價染色體的優劣。染色體的適應度值越大,相應染色體所代表的解越優,生存的概率越大。選擇適應度函數的依據是能否有效地知道搜索空間沿著面向優化參數組合方向,逐漸逼近最佳參數組合,而不會導致搜索不收斂或陷入局部最優,同時要易于計算。根據個體得到BP神經網絡的初始權值和閾值,用樣本數據訓練BP神經網絡,把模型輸出和期望輸出之間的誤差絕對值和E作為個體適應度值F,計算公式為

式中,n為網絡輸出節點數;yi為BP神經網絡第i個節點的期望輸出;oi為第i個節點的預測輸出;k為系數。
3)選擇操作
選擇操作是根據染色體的適應度,在群體中按一定概率選取可作為父本的染色體,選擇的依據是:適應度大的染色體被選中的概率大。遺傳算法選擇操作有輪盤賭法、錦標賽法等多種方法,本案例選擇輪盤賭法,即基于適應度比例的選擇策略,每個個體i的選擇概率pi為

式中,Fi為個體i的適應度值,由于適應度值越小越好,所以在個體選擇前對適應度值求倒數;k為系數;N為種群個體數目。
4)交叉操作
交叉操作是按一定的概率隨機地選擇染色體對,然后對染色體對按一定的概率隨機的交換基因以形成新的子染色體。由于個體采用實數編碼,所以交叉操作方法采用實數交叉法,第k個染色體ak和第l個染色體a1在j位的交叉操作方法如下:

式中,b 是[0,1]間的隨機數。
5)變異操作
變異操作是按一定概率隨機地改變某個染色體的基因值。變異運算為種群提供新的信息,從而保持種群染色體的多樣性,能夠有效防止早熟現象的發生。采用非均勻變異操作,即各代中參與變異操作的染色體的變異量是非均勻變化的,變異量是染色體、取值區域左右邊界、當前進化代、最大進化代數等參量的函數。
選取第i個個體的第j個基因aij進行變異,變異操作方法如下:

式中,amax為基因 aij的上界;amin為基因 aij的下界;f(g)=r2(1-g/Gmax);r2為一個隨機數;g 為當前迭代次數;Gmax是最大的進化代數;r為[0,1]間的隨機數。


實驗主要以均方誤差(MSE)作為預測精度的評測標準,定義為:

MSE可以評價誤差的大小,其值越小,說明預測模型對實際系統的描述能力越強。
通過對影響藻類生長的各種環境理化因子進行相關性分析[6-7],采用上個狀態的葉綠素-a含量、硝酸鹽含量、海水透光度、海水溫度4項作為BP模型的輸入,當前狀態的葉綠素-a含量作為系統輸出,因為當前狀態的葉綠素-a含量是對藻類生長狀態進行描述的最直接生物指標。BP模型采用4-9-1的三層結構,參數設置為:訓練次數取100,訓練目標取0.000 01,學習率取0.01。GA參數設置為:種群規模取10,進化代數取10,交叉概率取0.2,變異概率取0.1。將500組觀測數據中的前400組作為訓練樣本,將后100組數據作為預測測試數據。通過BP神經網絡進行預測測試的結果如圖3所示。其預測相對誤差如圖4所示。
通過GA-BP神經網絡預測測試的結果如圖5所示。其預測相對誤差如圖6所示。
兩種建模方法都能實現對藻類生長狀態的預測,但是將BP神經網絡和GA-BP神經網絡預測結果進行對比可以看到,在相同條件下,GA-BP網絡預測結果更接近實際值,預測效果更好。通過圖4和圖6可以看出,GA-BP模型的誤差相對較小。BP神經網絡與GA-BP神經網絡兩種模型預測結果的誤差比較如表2所示。

圖3 BP神經網絡的預測Fig.3 Prediction result of BP neural network

圖4 BP神經網絡的預測誤差Fig.4 Prediction error of BP neural network

圖5 GA-BP神經網絡的預測Fig.5 Prediction result of GA-BP neural network
根據表2所示,通過誤差總和(EE)、誤差百分比(RR)、均方誤差(MSE)及訓練時間(T)等對比可見:GA-BP神經網絡模型在預測誤差上比傳統的BP神經網絡模型減少約44.86%,訓練時間節省近82.4%。

圖6 GA-BP神經網絡的預測誤差Fig.6 Prediction error of GA-BP neural network

表2 BP神經網絡與GA-BP神經網絡兩種模型預測結果誤差值對比Tab.2 Error comparison of BP neural network and GA-BP neural network model for prediction results
本文采用遺傳算法優化BP神經網絡初始權值和閾值,能夠克服BP神經網絡初始權值和閾值隨機選取帶來的收斂速度慢、易產生振蕩不收斂、陷入局部最優等問題,可縮短網絡預測模型的訓練時間,使其收斂性增強,泛化性能獲得提升,實驗表明,此方法可提高以此構造的海洋藻類生長狀態預測模型的預測精度。
[1]朱學峰.軟測量技術及其應用 [J].華南理工大學學報:自然科學版,2002,30(11):61-67.
ZHU Xue-feng.Soft-sensing technique and its applications[J].Journal of South China University of Technology:Natural Science,2002,30(11):61-67.
[2]葛繼科,邱玉輝,吳春明,等.遺傳算法研究綜述[J].計算機應用研究,2008,25(10):2912-2916.
GE Ji-ke,QIU Yu-hui,WU Chun-ming,et al.Summary of genetic algorithmsresearch[J].Application Research of Computers,2008,25(10):2912-2916.
[3]段玉倩,賀家李.遺傳算法及其改進[J].電力系統及其自動化學報,1988,10(1):39-52.
DUAN Yu-qian,HE Jia-li.Genetic algorithms and it’s modification[J].Electric Power System and Automation,1988,10(1):39-52.
[4]趙宇紅,李蘭君,王麗君.基于遺傳算法的人工神經網絡負荷預測研究 [J].南華大學學報:自然科學版,2005,19(4):72-75.
ZHAO Yu-hong,LI Lan-jun,WANG Li-jun.Artificial neural network load forecasting system based on genetic algorithm[J].Journal of Nanhua University:Natural Science,2005,19(4):72-75.
[5]雷英杰.MATLAB遺傳算法工具箱及應用[M].西安:西安電子科技大學出版社,2005.
[6]農吉夫,黃文寧.基于主成分分析法的BP神經網絡長期預報模型[J].廣西師范學院學報,2008,25(4):46-51.
NONG Ji-fu,HUANG Wen-ning.BP neural network based on principal component analysis of long-term forecasting model[J].Journal of Guangxi Teachers Education University,2008,25(4):46-51.
[7]劉樂,王洪國,王寶偉.基于PCA和改進BP網絡的降雨預報模型研究[J].計算機工程與應用,2008,44(12):234-237.
LIU Le,WANG Hong-guo,WANG Bao-wei.Research in rain forecasting model based on PCA and improved BP network[J].Computer Engineering and Applications,2008,44(12):234-237.