鄔希可
(華南理工大學工商管理學院 廣州 510000)
神經網絡是深度學習的基礎,是以人腦中的神經網絡作為啟發,由大量的神經元相互連接,模仿生物學神經網絡結構和功能的數學模型和計算模型。神經網絡包括多種算法,其中BP神經網絡是目前應用最廣泛的神經網絡之一,主要是按照誤差逆向傳播算法訓練的多層前饋網絡,可以有效學習和存貯大量的輸入-輸出模式映射關系,而無需事前揭示描述這種映射關系的數學方程,可以有效地應用于預測過程中。
分析目前專家學者對BP神經網絡的研究可知,文獻[1~4]將BP神經網絡中的學習率調整為自適應的結構,以此加快網絡的收斂速度,主要是在傳統BP神經網絡算法上對時變過程參數的神經元網絡進行改進,但對算法的局部最小問題和預測效果方面考慮的較少。文獻[5]提出最佳學習因子引入BP神經網絡算法中,提升算法在執行過程中的收斂速度,達到減少網絡訓練步驟的目的,但是此種研究對算法執行中的極小點問題沒有解決,而且改進較局限,并且在預測應用中效果不理想。文獻
[6~7]利用極限學習機的方法增加結構型反饋網絡,使得算法的學習速度加快,以致提升算法的預測效率,但是對預測精度考慮的較少,而且如果數據輸入過多,仍然會造成算法執行過慢的現象。部分文獻[8~10]針對BP神經網絡算法的隱含層進行改進,改進隱含層選權重的過程,提升算法的執行效率,從而實現預測效率的提升。
綜上所述,目前對神經網絡算法中的BP神經網絡算法研究較多,可利用BP神經網絡算法實現預測的目的,但是目前對BP神經網絡算法的改進有局限性,對網絡參數的考慮較少,對算法預測的效率和精度的提升效果不強。
BP神經網絡是由三層及以上的網絡構成的,每層網絡都含有許多的神經元,網絡中的左側和右側神經元相連即可構成復雜的神經網絡[11~13]。BP神經網絡包括輸入層、隱含層、輸出層,原始的數據利用輸入層輸入,經過隱含層的處理,將結果傳送到輸出層,輸出層再利用誤差反傳的方式對網絡的參數權重進行調節,最終使得輸入值和期望值相接近[14~15]。輸出層再通過誤差反傳的方式調節不同參數的權重,進而使輸入值更逼近期望值,實現不斷對神經網絡調節的目的,但是傳統的BP神經網絡算法隱含層權值的選取存在不完善的地方,會影響算法的預測效率和精確度。
BP神經網絡算法主要為以下步驟:
Step1:確定模型參數;
Step2:確定模型的輸入量和期望輸出量;
Step3:訓練網絡,設定訓練次數,計算各層的輸入;
Step4:反向計算訓練誤差,修正權值和閾值,計算誤差指標。
改進后的模型結合遺傳算法和BP神經網絡算法的優點,利用多層的前饋傳播方式進行遺傳搜索的表示方法,可以克服遺傳算法和BP神經網絡算法自身存在的缺陷,可以更好地利用BP神經網絡的學習能力,對訓練集數據集進行訓練,提高檢驗數據集預測的準確率,同時也可以利用遺傳算法的全局搜索能力強的優點,對神經網絡的網絡層、輸入層神經節點、隱含層節點、傳遞函數等方面進行優化,使神經網絡結構達到最優,實現預測準確率和效率的提高,模型構建思路如圖1所示。

圖1 模型構建思路
1)網絡層數選取
神經網絡中的網絡層和節點數會對模型的預測結果產生重要的影響,層數選取過多會導致模型的計算壓力增大,層數選取過少會導致預測結果不正確。因此,要選取合適的神經網絡層數和節點數,這樣不僅會提升改進后的BP神經網絡算法的預測效率,也會提升改進后的BP神經網絡算法的預測精度。
輸入層是算法執行的起始環節,根據預測的目的,選取不同的變量對應不同的單元,即一個單元一個變量,同時為了提高算法預測的準確性,選取部分數據作為樣本值,確定目標數據,根據數據比例選取輸入層節點數。
隱含層節點數量的確定對算法的執行最為重要,根據映射定理,將節點與映射函數對應,無限節點可對應全部映射函數,對于有限節點來說,如果隱含層節點選取較少,會影響算法的預測準確率,使得訓練時間較少,對預測規律的的學習程度不夠,但是如果隱含層選取節點過多,又會影響算法的執行效率。所以,采用遺傳算法優化隱含層的節點選取過程,利用二進制數值編碼方式表示隱含層的神經元,最后再將神經元解碼,解碼為實數,用a表示神經元存在,b表示神經元不存在,也可以看作是隱含層神經元細胞數與二進制數是相同的。
2)傳遞函數
采用S型對數作為隱含層的傳遞函數,將數據進行歸一化處理,輸入向量與輸出向量都要滿足S型對數,式(1)代表隱含層的傳遞,式(2)代表隱含層的輸出。


傳遞函數選取后,需對算法進行訓練,此時利用遺傳算法降低算法執行過程中的目標誤差值,利用遺傳算法蟻群最優個體與其它不同的個體進行交叉、變異的訓練,在變異子代中找出算法中最優的個體,將此個體作為最優個體,執行下次訓練,即算法尋找最優的過程,持續進行訓練。
在式(3)中,P*代表最優群體,P代表當前最優個體。

在改進后的BP神經網絡中,整體具有非線性映射關系,如式(4)所示。

其中,(xj,tk)表示訓練樣本,激勵函數為f,w為輸入層和隱含層的連接權值,c表示隱含層輸出權值,閾值為θ,ω=(W,C,θ)。
遺傳算法和BP神經網絡算法結合后,算法從確定初始的網絡結構出發,利用遺傳算法初始化種群數量,進行遺傳優化,確定網絡權重,并不斷地調整權重。具體算法步驟如下:
Step1:確定網絡結構;
Step2:初始化種群數量,進行遺傳優化;
Step3:獲取網絡權重,計算誤差;
Step4:調整網絡權重;
Step5:輸出結果。
實驗數據選取某食品2015年1月-2019年12月價格數據組成數據集,共計1134組。在全部數據中,根據時間序列等方式篩選數據,將數據分成訓練集和樣本集,對比分析預測效果。其中,網絡輸入節點數為50,輸出節點數1,學習速率設定0.1,算法迭代次數為6000。從算法的預測效率和預測精度兩個方面分析傳統的BP神經網絡算法和改進后的BP神經網絡算法。
1)預測效率
在實驗過程中,利用相同數據量、相同數據結構的食品價格數據組,分別執行傳統的算法和改進后的神經網絡算法,采用計時的方式記錄算法的執行時長,執行時間對比分析如表1、圖2所示。

圖2 執行時間對比

表1 執行時間對比分析
實驗結果可知,結合遺傳算法改進后的BP神經網絡算法相比傳統的BP神經網絡算法在一定程度上可以節省算法的運行時間效率,可以加快算法的執行速度,提高預測的效率。
2)預測準確率
在實驗過程中,對比分析算法的預測準確率要采用相同數據量、相同數據結構的食品價格數據組,實現數據對比分析的統一化,將數據組分為樣本集和預測集兩部分,分別執行傳統算法和改進后的算法,將預測集數據與模型輸出結果對比,分析算法的準確率,算法準確率對比分析如表2、圖3所示。

圖3 算法準確率對比

表2 算法準確率對比分析
實驗結果可知,結合遺傳算法改進后的BP神經網絡算法相比傳統的BP神經網絡算法在一定程度上可以提高算法預測的準確率,使得算法在預測過程中的精確度更強,更利于神經網絡算法在實際預測問題中的應用。
本文通過對神經網絡算法的分析,研究了神經網絡算法中普遍用于預測的BP神經網絡算法,分析傳統BP神經網絡算法的不足,利用遺傳算法對BP神經網絡進行改進,優化算法權重選取過程,提升算法的預測效率和預測精度。得到了如下結論:
1)基于遺傳算法的BP神經網絡算法與傳統的BP神經網絡算法相比,可以提高算法在預測過程中的執行時間,提高預測效率。
2)基于遺傳算法的BP神經網絡算法與傳統的BP神經網絡算法相比,可以提高算法在預測過程中的準確率,提高預測精度。