?

運用Dropout-LSTM模型的新冠肺炎趨勢預測

2021-06-19 06:46楊文藝
電子科技大學學報 2021年3期
關鍵詞:失活時序神經元

王 瑞,閆 方,逯 靜,楊文藝

(河南理工大學計算機科學與技術學院 河南焦作 454000)

疫情在全球多點爆發并蔓延,已成為全球性流行病,給各國人民的健康帶來巨大威脅。通過各地一系列防控措施,如勤洗手、公眾場合戴口罩、外出需出示健康碼和通行大數據等,我國疫情得到較好的控制,但是國外疫情仍然比較嚴峻,因此利用新冠肺炎歷史數據預測疫情發展趨勢對制定合理的干預防控措施有重要意義。

文獻[1-3]從多個角度為抗擊疫情提供了有力的學術支持?,F有方法可分為統計學方法、動力學方法和機器學習方法。統計學方法適合在信息不完整的情況下使用,該方法通過部分樣本的情況預測總體趨勢,而部分樣本與總體傳播趨勢具有較大差異性[4],因此該方法的預測誤差較大,無法準確體現疫情傳播的趨勢變化。動力學方法的經典數學模型為SIR(susceptible infected recovered)模型[5-6]和SEIR(susceptible-exposed-infected-removed)模型[7-8]。動力學方法對疫情早期傳播趨勢有較好的預測,但是無法對開放式流動環境下的病毒傳播做出準確估計,也無法使假設的疾病傳播能力及治愈概率的常數與實際狀況相符,因此無法對疫情趨勢做長期準確的分析[9]。

隨著新冠肺炎數據增多,機器學習展現出了極大的優越性。文獻[10]在有限的數據下,通過最小二乘準則和梯度下降算法對數據進行非線性回歸來預測新冠肺炎確診人數趨勢,但此方法需要人為添加時間特征保證預測準確度。為解決上述問題,文獻[11-13]運用自回歸積分滑動平均模型(autoregressive integrated moving average model,ARIMA)對新冠肺炎疫情發展狀況進行了預測,此模型對數據的時序性要求高,不需要人為添加時間特征,但是非線性擬合能力不強,隨著數據量增加,預測效果下降。為解決上述問題,文獻[14]建立了基于深度學習的長短期記憶模型(long short-term memory,LSTM),通過Python實現了模型的擬合和預測,此方法在一定程度上提高了短期新冠肺炎預測的準確度,但是有以下不足:1)未做到對新冠肺炎發展趨勢較為準確的長期預測;2)LSTM神經網絡對數據量需求較大,文中未提供一個簡單的數據采集方法;3)未考慮深層神經網絡中由于參數多和模型復雜而帶來的過擬合問題。

LSTM神經網絡在趨勢預測中有許多改進機制,大致分為兩類:1)針對LSTM神經網絡自身進行改進;2)引入其他方法改進LSTM算法。文獻[15]針對LSTM神經網絡自身改進,網絡訓練時,將輸出反饋回輸入端,使其二次訓練達到提高泛化能力的目的。文獻[16]利用卷積神經網絡(convolutional neural network,CNN)提取挖掘相鄰路口交通流量的空間關聯性,通過LSTM模型挖掘交通流量的時序特征,將提取的時空特征進行特征融合,實現短期流量預測。文獻[17]引入集合經驗模態分解(ensemble empirical mode decomposition,EEMD),構建多層級LSTM預測模型提升模型預測準確率。本文提出的Dropout-LSTM模型屬于第二種改進方法。新冠肺炎歷史數據為時序性數據,而LSTM神經網絡擅長處理時序性數據,可根據實驗效果調整具體預測的天數,達到對新冠肺炎發展趨勢預測的目的。

由于新冠肺炎歷史數據較多,傳統的人工搜集方法不再適用,因此本文使用網絡爬蟲技術從騰訊新聞網站中獲取相關數據供本次研究使用??紤]到新冠肺炎歷史數據之間有很強的時序性,故本文使用擅長處理時序性數據的LSTM神經網絡作為基本模型對疫情趨勢進行預測。該模型與ARIMA模型相比有更強的非線性擬合能力,且不需要人為添加時間特征,可最大限度地挖掘時序數據之間的非線性關系。針對LSTM神經網絡,新冠肺炎數據量較小,為避免在多層網絡訓練時出現過擬合問題,本文構建多層LSTM神經網絡,并引入Dropout技術按隨機概率讓神經元失活。最后使用國內累計確診、現有確診和累計治愈人數驗證此方法的準確性。

1 新冠肺炎歷史數據獲取

針對2020年1月13日?2020年9月12日的244條數據,傳統的人工搜集方法效率低且容易由于主觀原因導致收集的數據與真實值不符。為避免以上問題,本文采用基于Python語言的網絡爬蟲技術[18]獲取新冠肺炎歷史數據,并將其保存至CSV文件,以供后期實驗使用。具體流程如圖1所示。

圖1 獲取新冠肺炎歷史數據流程圖

具體步驟為:

1) 確定需要爬取數據的網址:https://view.inews.qq.com/g2/getOnsInfo?name=disease_other,在網頁空白處,點擊F12查看目標網站源碼,找到數據接口;

2)向服務器發送請求,等待響應。若響應成功,可獲得URL的信息,并保存響應結果,以便后續對數據處理;若響應失敗,需檢查程序,重新發送請求;

3)對源碼進行解析,若解析成功,在遍歷源碼Body的基礎上尋找目標內容的標簽,如:日期、累計確診、新增確診和累計治愈等,對目標內容進行獲取并保存至CSV文件;若解析失敗,則需檢查程序,重新解析源碼。

2 LSTM模型

每日更新的新冠肺炎歷史數據屬于時序性數據,根據神經網絡的特征,本文選擇擅長處理時序性數據的LSTM神經網絡作為基本模型對新冠肺炎發展趨勢進行預測,可最大限度地挖掘數據時序性與非線性之間的關系。

2.1 LSTM模型簡介

LSTM神經網絡[19]屬于循環神經網絡(recurrent neural networks,RNN)。RNN在處理序列信息中有良好的性能,但是當歷史數據和預測數據的位置間隔不斷增大時,梯度越傳越弱,上一層的網絡權重無法更新,喪失從歷史數據中學習信息的能力,即梯度消失問題。

LSTM神經網絡能夠解決RNN的梯度消失問題,是因為該網絡中放置了遺忘門ft、輸入門it和輸出門ot[20]??筛鶕?1)~(6)判斷該數據是否符合算法認證,符合認證的數據留下,不符合的數據則通過遺忘門遺忘,因此LSTM神經網絡能在更長的時序數據中有更好的表現[21]。LSTM神經網絡標準結構如圖2所示。

圖2 LSTM網絡結構

2.2 LSTM記憶單元更新

1)遺忘門

遺忘門負責對t時刻的輸入xt選擇性忘記,通過計算ft控制上一單元候選狀態Ct?1中的數據保留或忘記。若ft為1,表示保留上一單元的數據;若ft為0,表示忘記上一單元的數據:

式中,σ為sigmoid激活函數;W f為上一單元隱藏層的輸出ht?1和 當前輸入數據xt相乘的權重矩陣;bf為遺忘門的偏置。

2)輸入門

輸入門it負 責對t時刻的輸入有選擇性地記憶。

當前輸入內容由式(2)得到,σ用來控制需要更新的輸入值,而輸入的門控信號由式(3)控制,tanh用來控制當前記憶單元候選狀態:

式中,W it為 輸入門it在t時 刻的輸入xt的權重矩陣;W c為 新生成信息在t時 刻的權重矩陣;bi、bc為輸入數據和新生成信息在當前單元的偏置。

傳遞給t+1時 刻的狀態Ct由兩部分組成:式(1)得到的遺忘門ft的輸出與上一時刻t?1候 選狀態Ct?1之積;式(2)得到的輸入門it的 輸出與t時刻候選狀態C?t之積。此過程旨在拋棄當前單元中無用信息,保留有用信息:

3)輸出門

輸出門ot通過sigmoid激活函數控制得到初始輸出,接著使用tanh層將傳遞給下一時刻t+1的狀態Ct縮放至(?1,1)上,最后與初始輸出相乘得到最終輸出結果:

式中,Wot為輸出門ot的權重矩陣;bo為偏置。

3 Dropout技術

新冠肺炎歷史數據量的大小是相對的,即對傳統的人工搜集方法來說,新冠肺炎歷史數據量較大,搜集較為麻煩;但是對于網絡規模較大的LSTM神經網絡來說,新冠肺炎歷史數據量較小,較小的數據量輸入較復雜的LSTM神經網絡容易出現過擬合現象,即在訓練集上精確率很高,在測試集中精確率卻較低。在數據沒有過擬合的前提下,調參很容易實現更高程度的擬合,但是會出現過擬合問題,無論如何調參,測試集的準確度依然不高。過擬合問題嚴重影響了模型的預測精度,為解決模型在訓練時出現的過擬合問題,提高模型的訓練精確度,本文引入Dropout技術。

Dropout是一種防止過擬合技術,分為權重Dropout和神經元Dropout。權重Dropout選擇神經層權重矩陣中的部分權重使之失活,而神經元Dropout則是選擇神經層中部分神經元使之失活[22]。圖3為神經網絡運用Dropout技術前后對比,圖3a為標準神經網絡,圖3b為運用Dropout技術后的神經網絡。

圖3 運用Dropout技術前后對比

本文選擇神經元Dropout技術按照概率把部分神經元的激活值設置為0,隨機使其失活,虛線部分表示失活后的神經元無法參與網絡訓練,這樣可減弱神經元節點間的聯結,提高模型泛化能力,減輕過擬合問題。

Dropout技術在測試集上不需要使用。因為在測試階段并不期望輸出結果是隨機的,若在測試階段使用Dropout技術可能會導致預測值產生隨機變化(因為Dropout使節點隨機失活),預測值會受到干擾。

4 Dropout-LSTM模型

4.1 Dropout-LSTM模型微觀層面

如圖4所示,x為LSTM神經網絡輸入信息,y為輸出信息,每個矩形代表一個LSTM神經元。Dropout技術應用于LSTM神經網絡,必須置放于網絡的非循環部分,否則信息會隨著循環丟失。這是因為:若把Dropout技術設置在隱藏狀態上,即圖中實線部分,每經一次循環,剩余信息便會以概率P丟失,也就是對式(6)ht隨機進行置0操作。若序列較長,循環次數較多,到最后信息早已丟失。把Dropout技術設置在輸入信息x上,那么Dropout技術造成的信息丟失與循環次數無關,只與網絡層數相關。

圖4 Dropout-LSTM模型微觀圖

同一層神經元不同時刻之間的信息傳遞不使用Dropout技術,而在同一時刻層與層之間的神經元傳遞信息時使用,將其神經元按照一定概率P隨機置0,使其失活。如圖中粗線部分所示:t?2時刻的輸入xt?2先傳入第一層LSTM神經網絡,此過程使用Dropout技術,信息從第一層的t?2時刻傳到t時刻不進行Dropout技術;接著從第一層的t時刻向第二層神經網絡傳遞信息時使用Dropout技術。

4.2 Dropout-LSTM模型宏觀層面

LSTM神經網絡實施Dropout技術宏觀結構如圖5所示,x0,x1,···,x243為輸入數據。虛線圓表示采用Dropout技術后隨機失活的神經元,虛線箭頭表示失活后的神經元不傳遞信息。

圖5 Dropout-LSTM模型宏觀圖

加入Dropout技術的LSTM神經網絡具體工作步驟為:

1)設定隨機概率P,使網絡中的每一層神經元按照隨機概率P失活,但是不刪除這些失活的神經元,停止工作的神經元不參與網絡訓練中的正向傳播,輸入神經元和輸出神經元保持不變;

2)將信息x輸入Dropout-LSTM模型進行從輸入層到輸出層的正向傳播,計算并存儲神經網絡的中間變量;沿著從輸出層到輸入層的順序根據損失函數進行反向傳播,計算并存儲神經網絡的中間變量和梯度參數;在未失活的神經元上更新相關參數;

3)恢復失活神經元,此時剛恢復活性的神經元保持原樣,而未失活的神經元參數經過上一輪過程已更新,重復步驟1)~2)。

通過隨機忽略隱藏層神經元,可避免LSTM神經網絡過度依賴某些局部特征,一定程度上降低了迭代過程中的過擬合現象。

5 實驗過程

5.1 實驗環境

在Windows8.1系統中使用Pycharm,Python3.6為實驗平臺,運用Tensorflow深度學習框架所提供的LSTM 神經網絡用于仿真實驗。

5.2 實驗數據及其預處理

5.2.1實驗數據說明

實驗數據均由網絡爬蟲技術在騰訊網站獲取。日期范圍為2020年1月13日?2020年9月12日,共計244條數據,將其按照訓練集214條數據、測試集30條數據劃分,針對國內累計確診、現有確診、累計治愈人數進行預測。

5.2.2實驗數據預處理

1)數據提取、劃分:在爬取到的新冠肺炎歷史數據CSV文件中提取出來日期和累計確診兩列,將累計確診列以矩陣形式表示:

2)數據歸一化處理:為縮短模型訓練時間,加速loss下降,對訓練數據和測試數據分別進行歸一化處理,這樣可以最大程度保留數據特征,更好擬合新冠肺炎數據之間的非線性關系。本文采用最大最小歸一化方法對數據進行處理:

式中,x代 表樣本數據;xmax、xmin分別代表訓練數據或測試數據中的最大值和最小值。設歸一化處理后的訓練集和測試集為Xntrain和Xntest,對現有確診和累計治愈數據做同樣處理。

5.3 LSTM模型參數

本文提出的模型由1個輸入層、多個隱藏層和1個輸出層組成。上一個隱藏層的輸出作為下一個隱藏層的輸入,輸入層與隱藏層共同實現輸入數據特征的提取,最后一個隱藏層的輸出為一維列向量,經線性回歸即得到處理后的預測值[23]。經反復實驗,最終超參數設置如下:激活函數為Linear、迭代次數為15000,隱藏層為100,Dropout為0.05,學習率為0.0001,優化器為Adam。

5.4 實驗流程

目前缺乏利用深度學習對新冠肺炎發展趨勢預測的研究,這是因為:1)深度學習對數據量要求較高,利用傳統手工搜集方法不易獲取相關數據;2)訓練過程中易出現過擬合問題,嚴重影響預測精度。在已有的LSTM神經網絡用于新冠肺炎預測的研究中,有以下不足:1)未提供簡單的數據獲取方法;2)LSTM層過少,不能充分挖掘時序數據之間的非線性關系;3)未考慮過擬合問題給實驗結果帶來的影響。針對以上問題,本文利用網絡爬蟲技術獲取新冠肺炎歷史數據組成實驗數據集;在網絡層上構建層次更深的LSTM新冠肺炎發展趨勢預測模型;在每個LSTM單元構成的隱含層中的非循環部分采用Dropout技術對神經元進行隨機概率失活,有效避免LSTM神經網絡中的過擬合問題。本文實驗流程圖如圖6所示。

圖6 運用LSTM的全國累計確診預測流程

6 實驗結果分析

6.1 實驗評價指標

本文預測評價指標采用平均絕對百分誤差(mean absolute percentage error,MAPE)、平均絕對誤差(mean absolute error,MAE)和均方根誤差(root mean square error,RMSE)衡量:

式中,yi表示真實值;yp表示預測值;n表示待預測的新冠肺炎天數,即30。

6.2 模型預測結果

為證明本模型(Dropout-LSTM模型)的普遍適用性與優越性,運用ARIMA模型、LSTM模型分別對2020年8月14日?2020年9月12日的國內累計確診、現有確診和累計治愈數據進行預測,并與Dropout-LSTM模型預測結果進行對比。Dropout-LSTM模型預測值和誤差如表1所示,3種模型的可視化對比如圖7所示。

表1 全國新冠肺炎發展趨勢預測

誤差為預測值與真實值之差。誤差為負,代表預測值小于真實值;誤差為正,代表預測值大于真實值。本文針對30天的數據進行預測,當預測日期后移時,將預測日期之前的數據加進來。若僅用當前數據去預測未來兩個月甚至更久,從表3可看出誤差有惡化趨勢,選擇適當的預測天數和日漸增多的數據量可解決誤差趨勢惡化問題。

若僅預測30天的數據,惡化程度是可控的,誤差會固定在一定區間,對基數較大的累計確診數和累計治愈,數據誤差區間為[?25,?5]和[?43,8],基數較小的現有確診誤差僅為[?4,2]。隨著新冠肺炎數據量增多,神經網絡預測也會更加準確。

由圖7可明顯看出,累計確診和累計治愈真實值總體呈上升趨勢,現有確診真實值呈下降趨勢。

圖7 新冠肺炎預測效果

對3組數據分別進行預測時,ARIMA模型預測曲線與真實值曲線差別均較大,擬合效果較差。這是因為ARIMA模型網絡結構較簡單,非線性擬合能力較弱。LSTM模型擬合效果次之,這是因為雖然LSTM神經網絡對時序數據有較好的擬合能力,但是出現了過擬合問題,無論如何調參,測試集的準確度依然不高。Dropout-LSTM模型預測曲線與真實值曲線最接近,尤其是在現有確診預測中,幾乎與真實值曲線重合,這是因為添加Dropout技術后解決了LSTM神經網絡中的過擬合問題,從而提高了準確度。

6.3 評價指標對比

為進一步說明Dropout-LSTM模型具有較高的擬合能力,采用ARIMA模型、LSTM模型和Dropout-LSTM模型對3組數據分別進行預測,表2對其MAPE、MAE和RMSE進行了對比。

表2 評價指標對比

從模型角度看,Dropout-LSTM模型的MAPE、MAE和RMSE在3組數據中均有明顯下降,說明誤差降低,準確率提高,排除了只對一組數據有較好預測效果的可能。這是因為Dropout技術使神經元按照一定概率失活,神經網絡不會偏向于某一個節點,從而使每一個節點的權重不會過大,減輕了LSTM神經網絡的過擬合現象,提高了預測準確度。從時間角度看,LSTM模型訓練時間最短,這是因為LSTM神經網絡共享參數,節省了訓練時間;而Dropout-LSTM模型比LSTM模型訓練時間長,這是因為神經元按照隨機概率失活后,神經網絡結構變得更“粗糙”,為使曲線更平滑地到達理想值,收斂到全局最優,增加了訓練時間。

雖然向LSTM模型中接入Dropout技術增加了網絡訓練時間,但是隨著數據量增多,需要的網絡層數、訓練輪數會相應減少,過擬合問題也會減輕,使網絡訓練在可接受的時間內完成。

7 結束語

本文提出的運用Dropout-LSTM模型預測新冠肺炎發展趨勢的方法,通過網絡爬蟲技術獲取新冠肺炎數據用于實驗,解決了人工搜集方法的不足,提高了數據收集速度;構建層數更多的LSTM神經網絡用于國內累計確診、現有確診和累計治愈的預測,在此基礎上引入Dropout技術對神經元進行隨機概率失活,有效避免了神經網絡過擬合問題,充分挖掘了數據的時序性與非線性關系。通過全國累計確診、現有確診和累計治愈人數驗證了運用Dropout-LSTM模型對新冠肺炎趨勢預測是完全可行的,并且準確度較高。

猜你喜歡
失活時序神經元
清明
基于不同建設時序的地鐵互聯互通方案分析
研究揭示哺乳動物高溫保護機制
躍動的神經元——波蘭Brain Embassy聯合辦公
基于FPGA 的時序信號光纖傳輸系統
基于模體演化的時序鏈路預測方法
ERK1/2介導姜黃素抑制STS誘導神經元毒性損傷的作用
毫米波導引頭預定回路改進單神經元控制
側腦室注射DIDS對缺血再灌注腦損傷大鼠神經元凋亡的拮抗作用
草酸二甲酯加氫制乙二醇催化劑失活的研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合