BP neural network optimized by PSO algorithm on Ammunition storage reliability prediction 閱讀筆記
1.BP neural network optimized by PSO algorithm on Ammunition storage reliability prediction 文獻簡介
文獻來源:https://ieeexplore.ieee.org/document/8242856
文獻級別:EI檢索
摘要:Storage reliability of the ammunition dominates the efforts in achieving the mission reliability goal. Prediction of storage reliability is important in practice to monitor the
彈藥的貯存可靠性是實現任務可靠性目標的關鍵。在彈藥質量監測中,貯存可靠性的預測具有重要的現實意義。本文提出了一種應用粒子群優化算法對BP神經網絡全局參數(權重和閾值)進行調整和優化的綜合方法。實驗結果表明,PSO-BP算法能夠達到收斂速度,提高存儲可靠性的預測精度。
關鍵詞:BP neural network; prediction; Storage reliability (BP神經網絡,預測,貯存可靠性)
主要內容和思想:作者首先說明了彈藥貯存可靠性是彈藥後勤保障技術的核心,也是衡量國家彈藥技術水平一項重要指標。由此提出論文中彈藥貯存可靠性的預測具有重大研究意義。接著介紹了一些常用的方法(文獻調研,總結其他人的工作),然後,引出了自己對該問題的解決方法:即是提出了一種基於粒子群優化的PSO-BP神經網絡算法,利用粒子群優化方法對神經網絡的權值和閾值進行優化,使得PSO-BP算法的預測性能優於BP神經網絡。隨後簡要介紹了PSO算法和BP神經網絡,詳細介紹了PSO-BP算法,並且闡述了實驗過程和結果,最後,作出了總結性評論。
2.PSO算法和BP神經網絡
2.1Particle Swarm Optimization Algorithm (PSO)算法
埃伯哈特和肯尼迪[10]提出的粒子群優化算法是一種進化計算技術,受鳥類群的捕食行為的啟發,用於求解優化問題。粒子群算法可以描述如下:假設在D維搜索空間中存在一個大小為N的粒子群。
Xi=(xi1,…,xiD) i=1,…,N 表示粒子 i 的位置
Vi=(vi1,…,viD) i=1,…,N 表示粒子 i 的速度
隨機生成一組具有位置和速度的粒子,計算每個粒子的適應度fitness(i),每個粒子都可以通過全局搜索和局部搜索之間的叠代操作來更新和調整自己的搜索方向。令pbest為每個粒子迄今為止搜索到的最優位置(個體極值),gbest為整個個粒子群迄今為止搜索到的最優位置(全局極值)。通過以下兩個公式更新粒子的速度和位置:
式中, vit是叠代次數為t時粒子i的速度,xit是叠代次數為t時粒子i的位置。粒子的速度通常限制在區間[-vmax, vmax]內。c1和c2是學習因子;rand()是統一來自[0,1]的隨機數。PBestt和GBestt分別是叠代次數為t時所有粒子的個體最佳位置和全局最佳位置。變量w是叠代次數為t時的慣性權重,其定義如下:
其中wmax和wmin分別是慣性重量的最大值和最小值,tmax是最大叠代次數。一般來說,wmax=0.9,wmin=0.4。
2.2BP神經網絡
BP神經網絡的結構是三層網絡:輸入層、隱藏層和輸出層。在本文中,我們選擇八個節點作為輸入層。輸出層中只有一個節點,即是是彈藥儲存可靠性預測值。由於隱層影響網絡的魯棒性,采用Hecht-Nelson方法[11]確定隱層的節點數。隱藏層h的節點數範圍由三種公式確定:2n+1、√(n+m)+α和(m+n)/2,其中n是輸入層的節點數,m是輸出層的節點數,α是[1,10]中的常數。
3.PSO-BP神經網絡預測方法
粒子群優化算法優化的BP神經網絡即為是PSO-BP算法。文中提出的PSO-BP神經網絡可用於彈藥貯存可靠性的預測。PSO-BP算法優化了粒子群算法訓練神經元的權值和偏差。PSO-BP算法的總體工作流程如圖1所示
該算法的具體步驟描述如下:
step1:將訓練數據集和測試數據集規範化為[0,1]之間。在標準化之後,為網絡構建訓練和測試樣本。設置神經網絡的輸入層節點數、隱藏層節點數、輸出層節點數。
step2:隨機產生初始的一組種群規模為N 的粒子及其位置和速度。設置參數,例如叠代次數、慣性權重和學習因子。計算推斷的網絡輸出向量和權重矩陣變化。
step3:計算每次叠代時每個粒子的適應度值,並記錄全局極值和個體極值。更新每個粒子的位置和速度。將個體極值與全局極值進行比較。如果粒子個體極值優於全局最佳值,則更新全局最佳值。
step4:使用當前gbest值更新每個神經元的權值和偏值。選擇MSE函數作為性能函數,用均方誤差表示其中yid和yi分別是網絡輸出的期望值和實際值。
4.仿真實驗的實現
4.1數據集
論文中選取了20組彈藥數據進行實驗,如下圖所示,其中前12組為訓練集,後8組為測試集,每一組數組的前8列為輸入,最後一列為輸出,該數據是已經經過歸一化處理後的數據。
4.2BP神經網絡和PSO的參數設置
(1)BP神經網絡的參數設置:
輸入層節點:8
隱藏層節點:11(通過訓練3-17的發現11是最優的)
輸出層節點:1
最大訓練次數:10000
學習率:0.5
精度:0.001
激活函數:tansig和logsig
訓練函數:分別采用了traingdm和traingda進行對比
其中隱藏層是經過分別選取3-17的數作為隱藏層節點,然後訓練網絡,發現選擇11的效果最好,如下圖:
(2)PSO的參數設置:
粒子數目:30
維度:D=(n+m)*h+h+m n:輸入層節點數,m:輸出層節點數,h:隱藏層節點數
最大速度:1
學習因子:c1=c2=2
最大叠代次數:1000
慣性權重:wmax =0.9 , wmin =0.4.
4.3實驗仿真結果
BP神經網絡和PSOBP神經網絡的實驗結果如表3所示。可以看出,PSO-BP方法的性能優於BP方法。圖2.1和圖2.2表明,PSO-BP方法的預測精度大於98%。從圖3.1—圖3.4可以看出,當訓練要求精度達到0.01時,兩種算法都能滿足預測誤差的精度。PSO-BP方法的叠代次數小於BP方法的叠代次數。這意味著算法是收斂的。MSE曲線進一步說明了PSO-BP方法的穩定性優於BP方法。最後的圖表明,PSO-BP方法的預測誤差小於BP方法。結果表明,與常規BP算法相比,PSO-BP算法在最優參數搜索中具有更好的性能。PSO-BP方法的預測性能更適合於彈藥儲存的可靠性。
5.總結
文章運用了粒子群算法來優化BP神經網絡中的權值和閾值,以此來提高彈藥存儲預測性能,而且預測精度也確實得到了提高,但由於數據集共有20組(也許是彈藥數據的特殊性),還是覺得結果可能難以讓人信服,但思路確實還是有用的,準備後面把該文的實驗復現一下,或者用其他數據量比較大的預測數據,看下結果,再看一下有哪些還能值得改進的地方。
BP neural network optimized by PSO algorithm on Ammunition storage reliability prediction 閱讀筆記