墨蒙 趙龍章 龔嬡雯 吳揚
摘 要: 為提高BP神經(jīng)網(wǎng)絡預測模型對超市大米日銷售預測的準確性,提出一種基于遺傳算法優(yōu)化的BP神經(jīng)網(wǎng)絡預測方法。介紹了BP神經(jīng)網(wǎng)絡和遺傳算法的特點以及存在的缺陷,并進一步研究了BP神經(jīng)網(wǎng)絡和遺傳算法相結(jié)合的有關技術,利用遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡的權值和閾值,然后訓練BP神經(jīng)網(wǎng)絡預測模型獲取最優(yōu)解,充分發(fā)揮了BP神經(jīng)網(wǎng)絡的局部搜索能力和遺傳算法的全局搜索能力的優(yōu)勢。仿真結(jié)果證明,該方法對超市大米日銷售預測具有更高的精度和更好的非線性擬合能力。
關鍵詞: 人工神經(jīng)網(wǎng)絡; BP神經(jīng)網(wǎng)絡; 遺傳算法; GA?BP神經(jīng)網(wǎng)絡; 優(yōu)化方法; 搜索能力
中圖分類號: TN711?34; TP183 文獻標識碼: A 文章編號: 1004?373X(2018)09?0041?04
Abstract: In order to improve the accuracy of daily rice sales forecast in the supermarket by means of BP neural network forecasting model, a BP neural network prediction method based on genetic algorithm optimization is proposed. The characteristics and defects of BP neural network and genetic algorithm are introduced. The relevant technology combining BP neural network and genetic algorithm is studied. The genetic algorithm is used to optimize the weight and threshold of BP neural network, and train the BP neural network prediction model to obtain the optimal solution. The advantages of the local search ability of BP neural network and global search ability of genetic algorithm are fully displayed. The simulation results show that the method has higher accuracy and better non?linear fitting ability for daily rice sales forecast in the supermarket.
Keywords: artificial neural network; BP neural network; genetic algorithm; GA?BP neural network; optimization method; search ability
0 引 言
對人工神經(jīng)網(wǎng)絡(Artificial Neural Network,ANN)的研究始于20世紀40年代,直到20世紀80年代之后人工神經(jīng)網(wǎng)絡的研究才迅速發(fā)展起來,它是在模仿大腦神經(jīng)功能的基礎上而建立的一種信息處理系統(tǒng),即是理論化人腦的模型,人工神經(jīng)網(wǎng)絡是由很多處理單元通過恰當?shù)姆绞竭B接構(gòu)成的非線性系統(tǒng),具有很好的自適應能力、非線性映射能力以及記憶聯(lián)想能力[1?2]。
BP(Back Propagation)神經(jīng)網(wǎng)絡是一種基于誤差反向傳播算法多層前向神經(jīng)網(wǎng)絡,其采用經(jīng)典的BP算法,由于BP算法是一種基于梯度的最速下降法,所以存在著不可避免的缺陷:學習過程收斂速度慢,網(wǎng)絡結(jié)構(gòu)難確定,網(wǎng)絡訓練易陷入局部極小值,導致應用價值下降。
遺傳算法(Genetic Algorithm,GA)是一種模擬生物在自然界中的遺傳機制和進化過程而形成的自適應全局搜索最優(yōu)解的算法,由美國的Holland教授在他的專著《自然界和人工系統(tǒng)的適應性》中首次提出。遺傳算法具有良好的并行性、魯棒性以及全局最優(yōu)性,既能夠降低限于局部最優(yōu)解的風險,又能夠優(yōu)化BP神經(jīng)網(wǎng)絡的初始權重和閾值,進一步提高了BP神經(jīng)網(wǎng)絡的穩(wěn)定性,因此可以用于優(yōu)化BP神經(jīng)網(wǎng)絡[3?4]。
本文針對BP神經(jīng)網(wǎng)絡算法存在的缺陷,提出用遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡的方案。兩者互為補償,充分利用了BP神經(jīng)網(wǎng)絡的學習能力和遺傳算法的全局搜索能力。
1 BP神經(jīng)網(wǎng)絡及遺傳算法概述
1.1 BP神經(jīng)網(wǎng)絡
BP神經(jīng)網(wǎng)絡是一種單向傳播的多層前向網(wǎng)絡,包括三個層級,分別為輸入層、隱含層、輸出層。輸入層接收外界的信號,隱含層對輸入信號進行各種映射轉(zhuǎn)換,輸出層最終輸出網(wǎng)絡的模擬結(jié)果,其中隱含層可以有多個,一般情況下,采用的是三層結(jié)構(gòu),如圖1所示。BP神經(jīng)網(wǎng)絡具有完備的學習機制和理論體系,其模仿人腦神經(jīng)元對外部刺激信號的反應過程,通過建立多層感知器模型,運用信號的正向傳播和誤差的反向調(diào)節(jié)機制,進行[N]次迭代學習,形成處理非線性信息的神經(jīng)網(wǎng)絡模型。
BP算法的學習過程包括兩個階段:信號的正向傳播和誤差的反向傳播。
信號正向傳播:外界信號由輸入層經(jīng)過隱含層傳到輸出層,并在輸出端產(chǎn)生輸出信號,網(wǎng)絡的權值在信號向前傳播的過程中固定不變,若輸出層沒有得到期望的輸出,則轉(zhuǎn)入誤差信號反向傳播過程。
誤差信號反向傳播:誤差信號由輸出端開始以某種方式逐層向前傳播,各單元層的連接權重由誤差反饋進行調(diào)節(jié),通過反復的正向傳播和誤差反向調(diào)節(jié)使得神經(jīng)元間的權值得到不斷的修正,當輸出端的實際輸出接近期望輸出時,即滿足誤差精度要求時,停止學習[5?6]。
1.2 遺傳算法
遺傳算法是一種全局尋優(yōu)搜索的迭代算法,其不依賴梯度信息。遺傳算法將優(yōu)化參數(shù)編碼成由基因組成的染色體,然后通過模擬自然界的選擇和遺傳過程,利用選擇算子、交叉算子、變異算子來變換染色體攜帶的信息,經(jīng)過多次重復的操作產(chǎn)生能夠代表優(yōu)化函數(shù)所需的染色體。
遺傳算法通過模擬自然界“優(yōu)勝劣汰,適者生存”的規(guī)律鼓勵好的結(jié)構(gòu),其只需要利用目標的取值信息進行有指導的搜索。遺傳算法通過群體完成搜索過程,不同于單點搜索,其適應性強,因此適用于大規(guī)模、高度非線性的不連續(xù)、多峰函數(shù)的優(yōu)化,由于具有很多搜索軌跡,因此易于并行化,從而進一步提高算法的效率。遺傳算法流程圖如圖2所示,由于遺傳算法采用的是具有一定隨機性的概率搜索技術,因此局部收斂性較差[7?8]。
2 基于遺傳算法優(yōu)化的BP神經(jīng)網(wǎng)絡
基于遺傳算法優(yōu)化的BP神經(jīng)網(wǎng)絡算法,其基本思路是將BP神經(jīng)網(wǎng)絡算法和遺傳算法相結(jié)合,當BP算法訓練網(wǎng)絡出現(xiàn)收斂速度緩慢情況時,將BP神經(jīng)網(wǎng)絡的各隱含層節(jié)點的閾值和權值作為遺傳算法的輸入信息,進一步將它們編碼生成染色體,運用遺傳算法的選擇算子、交叉算子、變異算子產(chǎn)生新的后代,作為BP算法的初始值,接著繼續(xù)BP算法訓練網(wǎng)絡,該操作重復運行,直至達到問題要求的誤差精度[9?11]。
從基于遺傳算法的BP神經(jīng)網(wǎng)絡算法的角度出發(fā),其方法就是遺傳算法在目標信息的解空間中進行廣泛的搜索,BP算法在遺傳算法搜索到一個比較優(yōu)的網(wǎng)絡形式時進行定位,尋找到問題需求的最優(yōu)解。
遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡的過程主要包括:BP神經(jīng)網(wǎng)絡連接結(jié)構(gòu)的確定、遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡的權值和閾值以及BP神經(jīng)網(wǎng)絡預測三個部分,如圖3所示。通過輸入預測數(shù)據(jù)確定BP神經(jīng)網(wǎng)絡的結(jié)構(gòu),進一步確定BP神經(jīng)網(wǎng)絡的層數(shù)和節(jié)點數(shù),依據(jù)BP神經(jīng)網(wǎng)絡需要的參數(shù)個數(shù)確定遺傳算法個體編碼的長度,采用BP神經(jīng)網(wǎng)絡訓練所得的誤差作為適應度值進行優(yōu)化,這樣多次操作后獲得最優(yōu)的權值和閾值,最后,遺傳算法將最優(yōu)的權值和閾值賦給對應的BP神經(jīng)網(wǎng)絡,優(yōu)化后的BP神經(jīng)網(wǎng)絡進行預測工作[11?12]。
基于遺傳算法優(yōu)化的BP神經(jīng)網(wǎng)絡流程如下:
1) 將BP神經(jīng)網(wǎng)絡的權值和閾值按照順序級聯(lián)起來,即:輸入層與隱含層權值、隱含層與輸出層權值、輸入層與隱含層閾值、隱含層與輸出層閾值,隨機產(chǎn)生[N]個染色體;
2) 將均方誤差函數(shù)作為適應度函數(shù),進一步計算每個染色體的適應度,并判斷是否符合優(yōu)化的標準,若符合跳到步驟4);
3) 選擇滿足適應度要求的個體,進行應用復制、交叉和變異產(chǎn)生新的個體;
4) 查看產(chǎn)生的新個體是否滿足最優(yōu)個體的標準,若滿足繼續(xù)下一步驟,不滿足,將返回步驟2);
5) 將最優(yōu)個體進行順序拆分,分別作為BP神經(jīng)網(wǎng)絡的權值和閾值;
6) BP神經(jīng)網(wǎng)絡進行前向傳播,計算全局誤差,調(diào)整網(wǎng)絡的參數(shù)(權值和閾值),重復進行學習訓練,當達到要求的精度或者達到學習上限次數(shù),則結(jié)束網(wǎng)絡訓練。
3 實驗結(jié)果與分析
本文原始數(shù)據(jù)來源于南方某大型超市的日銷售大米的情況,采用2011年1月1日—2013年10月1日的日銷售大米數(shù)據(jù)作為訓練樣本,然后選取2013年10月2日—11日的日銷售大米數(shù)據(jù)作為測試樣本。利用超市日銷售大米的情況,建立具有三層BP神經(jīng)網(wǎng)絡的大米日銷售預測模型,設定網(wǎng)絡的參數(shù):net.trainParam.epochs=10 000;net.trainParam.goal=0.002;設置學習速率為0.1,運用Matlab進行仿真測試,當訓練進行到6 989次達到網(wǎng)絡性能要求,如圖4所示。
模擬訓練結(jié)束后,選取10組數(shù)據(jù)作為測試樣本,預測大米的日銷售情況,并且與BP神經(jīng)網(wǎng)絡預測的結(jié)果進行對比,如表1所示。以相對誤差和均方根誤差(RMSE)作為最終的評價指標:
從表1中可以看出:傳統(tǒng)BP神經(jīng)網(wǎng)絡模型的最大和最小相對誤差分別為4.11%和2.63%,它們之間的差距為6.74%;而GA?BP神經(jīng)網(wǎng)絡模型的最大和最小相對誤差分別為3.11%和0.75%,它們之間的差距為3.86%。傳統(tǒng)BP神經(jīng)網(wǎng)絡的RMSE為3.31%,而GA?BP網(wǎng)絡模型的RMSE為1.51%,意味著預測精度提高了1.8%,因此,本文所建立的預測模型可以很好地反映大米日銷售情況,而且具有很高的準確性。
將預測曲線與實際曲線進行比較,如圖5所示,發(fā)現(xiàn)GA?BP神經(jīng)網(wǎng)絡預測曲線更接近實際曲線,除此之外,GA?BP神經(jīng)網(wǎng)絡曲線比傳統(tǒng)的BP神經(jīng)網(wǎng)絡曲線更穩(wěn)定,圖5顯示了GA?BP神經(jīng)網(wǎng)絡模型具有良好的預測能力和較高的擬合精度。
4 結(jié) 語
通過實驗證明,遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡的權值和閾值能夠克服BP神經(jīng)網(wǎng)絡陷入局部最優(yōu)的缺陷,進一步提高網(wǎng)絡的智能搜索能力和預測結(jié)果的精度。基于遺傳算法優(yōu)化的BP神經(jīng)網(wǎng)絡結(jié)合了兩者的優(yōu)勢,使建模的穩(wěn)定性提高,為復雜系統(tǒng)的優(yōu)化提供了一種新的方法,使得優(yōu)化后的BP神經(jīng)網(wǎng)絡算法的收斂速度更快,預測結(jié)果更準,結(jié)果更符合實際值。盡管基于遺傳算法優(yōu)化的BP神經(jīng)網(wǎng)絡在很多領域有著肯定的應用價值,但是它仍然存在一些不足,科學研究者一直致力于研究,探索改善其不足的方法,使基于遺傳算法優(yōu)化的BP神經(jīng)網(wǎng)絡更加成熟,以便在未來社會的發(fā)展中,基于遺傳算法優(yōu)化的BP神經(jīng)網(wǎng)絡的應用領域更為廣闊。
參考文獻
[1] 馬曉敏,王新.基于遺傳算法的BP神經(jīng)網(wǎng)絡改進[J].云南大學學報(自然科學版),2013,35(z2):34?38.
MA Xiaomin, WANG Xin. Improvement of BP neural network based on genetic algorithm [J]. Journal of Yunnan University (natural science edition), 2013, 35(S2): 34?38.
[2] 劉春艷,凌建春,寇林元,等.GA?BP神經(jīng)網(wǎng)絡與BP神經(jīng)網(wǎng)絡性能比較[J].中國衛(wèi)生統(tǒng)計,2013,30(2):173?176.
LIU Chunyan, LING Jianchun, KOU Linyuan, et al. Comparison of performance of GA?BP neural network and BP neural network [J]. China health statistics, 2013, 30(2): 173?176.
[3] 邊霞,米良.遺傳算法理論及其應用研究進展[J].計算機應用研究,2010,27(7):2425?2429.
BIAN Xia, MI Liang. Genetic algorithm theory and its application research progress [J]. Application research of computers, 2010, 27(7): 2425?2429.
[4] DING Shifei, ZHANG Yanan, CHEN Jinrong, et al. Research on using genetic algorithms to optimize Elman neural networks [J]. Neural computing and applications, 2013(23): 293?297.
[5] 張月琴,劉翔,孫先洋.一種改進的BP神經(jīng)網(wǎng)絡算法與應用[J].計算機技術與發(fā)展,2012,22(8):163?166.
ZHANG Yueqin, LIU Xiang, SUN Xianyang. An improved BP neural network algorithm and its application [J]. Computer technology and development, 2012, 22(8): 163?166.
[6] LENG Ziwen, GAO Junwei, ZHANG Bin, et al. Short?term traffic flow forecasting model of optimized BP neural network based on genetic algorithm [C]// 2013 the 32nd Control Confe?rence. Xian, China: IEEE, 2013: 8125?8129.
[7] 馬永杰,云文霞.遺傳算法研究進展[J].計算機應用研究,2012,29(4):1201?1210.
MA Yongjie, YUN Wenxia. Research progress of genetic algorithm [J]. Application research of computers, 2012, 29(4): 1201?1210.
[8] LI Chi, LI Lin. Application of BP neural network based on genetic algorithms optimization in prediction of postgraduate entrance examination [C]// 2016 the 3rd International Conference on Information Science and Control Engineering. Beijing, China: IEEE, 2016: 226?229.
[9] TANG Chengjun, HE Yigang, YUAN Lifen. A fault diagnosis method of switch current based on genetic algorithm to optimize the BP neural network [M]// Anon. Lecture Notes in Electrical Engineering. Berlin: Springer, 2011: 943?950.
[10] ZHOU Weihong, XIONG Shunqing. Optimization of BP neural network classifier using genetic algorithm [J]. Energy procedia, 2013, 11: 578?584.
[11] 柳益君,吳訪升,蔣紅芬,等.基于GA?BP神經(jīng)網(wǎng)絡的環(huán)境質(zhì)量評估方法[J].計算機仿真,2010,27(7):121?124.
LIU Yijun, WU Fangsheng, JIANG Hongfen, et al. Environmental quality assessment method based on GA?BP neural network [J]. Computer simulation, 2010, 27(7): 121?124.
[12] 馬林茂,李德富,郭海湘,等.基于遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡在原油產(chǎn)量預測中的應用:以大慶油田BED試驗區(qū)為例[J].數(shù)學的實踐與認識,2015,45(24):117?128.
MA Linmao, LI Defu, GUO Haixiang, et al. Application of optimized BP neural network based on genetic algorithm in crude oil production prediction: a case study of BED test area in Daqing Oilfield [J]. The practice and cognition of mathematics, 2015, 45(24): 117?128.
[13] ZHANG Shiwei, WANG Hanshi, LIU Lizhen, et al. Optimization of neural network based on genetic algorithm and BP [C]// 2014 International Conference on Cloud Computing and Internet of Things. Changchun, China: IEEE, 2014: 203?207.