駱軼姝, 邵圓圓, 陳德華
(東華大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,上海 201620)
隨著人工智能和大數(shù)據(jù)技術(shù)的發(fā)展,醫(yī)療模式逐漸從以治療為主轉(zhuǎn)變?yōu)橐灶A(yù)測為主。腦卒中又稱“中風(fēng)”,是一種急性腦血管疾病,具有發(fā)病率、致殘率、死亡率和復(fù)發(fā)率高的特點。未來5年里,相比心臟病、糖尿病等慢性疾病,腦卒中疾病在我國將以較快速度持續(xù)增長[1]。文獻[2]研究表明,約94%的腦卒中發(fā)病因素都是可控的,根據(jù)患者當(dāng)前生理狀態(tài)及早對患病風(fēng)險做出預(yù)判并加以預(yù)防,將極大地降低患者腦卒中發(fā)病率。
近年來,深度學(xué)習(xí)在缺血性腦卒中疾病預(yù)測研究中受到廣泛關(guān)注。Hochreiter等[3]提出LSTM(long short-term memory)模型,增加長期依賴時序特征輸入的學(xué)習(xí)模型,Graves等[4]在此基礎(chǔ)上綜合后向特征計算,提出BiLSTM(bi-directional long short-term memory)模型?;谶@類深度學(xué)習(xí)模型的建立,姚春曉[5]構(gòu)建了具有時序性的多層LSTM作為腦血管疾病預(yù)測模型。Chantamit等[6]參考國際疾病分類標(biāo)準(zhǔn),構(gòu)建LSTM循環(huán)神經(jīng)網(wǎng)絡(luò)模型對中風(fēng)進行分類預(yù)測,將LSTM作為隱藏單元對數(shù)據(jù)特征信息進行挖掘,并利用自循環(huán)輸出結(jié)果實現(xiàn)中風(fēng)的分類預(yù)測。安瑩等[7]提出心血管風(fēng)險預(yù)測模型(risk prediction model for cardiovascular, RPMC),綜合考慮多種臨床數(shù)據(jù)的融合學(xué)習(xí),實現(xiàn)BiLSTM對電子病歷數(shù)據(jù)的挖掘。Ma等[8]借助Attention機制增加模型的可解釋性,實現(xiàn)利用電子病歷數(shù)據(jù)對患者未來健康的預(yù)測。
上述研究為心腦血管疾病預(yù)測問題提供解決方法,但腦卒中疾病中急性缺血性腦卒占70%左右[9],發(fā)病機制不同,選取疾病預(yù)判檢查指標(biāo)存在差異。因此,針對缺血性腦卒中的年卒中風(fēng)險問題,將疾病輔助預(yù)測視為特征分類問題,建立深度學(xué)習(xí)預(yù)測模型。定義卒中發(fā)生和復(fù)發(fā)關(guān)鍵的一年,即12個月為時間周期。本文對來自某醫(yī)院真實病歷指標(biāo)做缺血性腦卒中疾病影響多因子分析,在此基礎(chǔ)上將患者當(dāng)前檢查以及基于回歸預(yù)測思想構(gòu)建的12個月后指標(biāo)變化的時序數(shù)據(jù)作為輸入變量,采用one-hot、歸一化等數(shù)據(jù)預(yù)處理手段,將其轉(zhuǎn)化為BiLSTM模型輸入數(shù)據(jù),以融合前向和后向的指標(biāo)數(shù)據(jù)特征,并引入Attention機制,計算每個時刻特征與整個目標(biāo)特征相似性以獲得新的特征表示,最終以診斷標(biāo)簽作為輸出變量,計算模型中的損失并采用優(yōu)化算法對模型反向訓(xùn)練優(yōu)化以獲得較好的預(yù)測模型。
缺血性腦卒中的年卒中風(fēng)險預(yù)測問題可描述為當(dāng)前及未來t時刻預(yù)測指標(biāo)數(shù)據(jù)X={x1,x2, …,xn}及對應(yīng)標(biāo)簽Y={y1,y2, …,yn},其中n表示樣本患者數(shù)量,通過構(gòu)建模型,由訓(xùn)練得到指標(biāo)數(shù)據(jù)X與對應(yīng)標(biāo)簽Y之間特征映射的預(yù)測模型。目標(biāo)是當(dāng)出現(xiàn)新的、未帶有標(biāo)簽的患者指標(biāo)數(shù)據(jù)時,模型能給出最優(yōu)的年卒中風(fēng)險預(yù)測結(jié)果Y′={y′1,y′2, …,y′n}。
根據(jù)第1.1節(jié)中缺血性腦卒中問題描述,提出一種BiLSTM-Attention模型解決缺血性腦卒中的年卒中疾病預(yù)測問題。BiLSTM-Attention模型結(jié)構(gòu)如圖1所示。
圖1 BiLSTM-Attention模型結(jié)構(gòu)Fig.1 BiLSTM-Attention model structure
由圖1可知,連接患者當(dāng)前檢查指標(biāo)與預(yù)測未來12個月后變化指標(biāo)形成輸入樣本,經(jīng)BiLSTM隱藏層中神經(jīng)元對特征進行計算,輸出特征向量并傳入Attention層,由該層判斷輸入時刻的特征對全局特征的重要程度,Dropout層通過設(shè)置丟棄率減少神經(jīng)元個數(shù),以防止模型出現(xiàn)過擬合,最后全連接層通過激活函數(shù)softmax進行連接。將上層特征映射輸出為類別的概率作為對患病風(fēng)險的結(jié)果預(yù)測。
BiLSTM是基于LSTM模型結(jié)構(gòu)改進而來的。LSTM模型是由結(jié)構(gòu)相同的多個隱藏單元連接構(gòu)成,一個隱藏單元由遺忘門、輸入門、記憶細(xì)胞和輸出門組成。LSTM隱藏單元結(jié)構(gòu)如圖2所示。
圖2 LSTM隱藏單元結(jié)構(gòu)Fig.2 LSTM hidden unit structure
由圖2可知,t-1時刻隱藏向量ht-1和記憶細(xì)胞Ct-1及t時刻輸入的特征向量xt,通過權(quán)值和激活函數(shù)的計算獲取有效信息,并輸出t時刻隱藏向量ht和記憶細(xì)胞ht,具體計算如式(1)~(6)所示。
ft=σ(Wf[ht-1,xt]+bf)
(1)
it=σ(Wi[ht-1,xt]+bi)
(2)
(3)
(4)
ot=σ(Wo[ht-1,xt]+bo)
(5)
ht=ot×tanh(Ct)
(6)
BiLSTM在LSTM模型基礎(chǔ)上增加模型計算的復(fù)雜度,將LSTM的單向計算改為前向和后向的計算,并將兩個方向的計算結(jié)果進行連接,以實現(xiàn)特征信息的雙向?qū)W習(xí)。BiLSTM總體實現(xiàn)流程如圖3所示。
圖3 BiLSTM總體實現(xiàn)流程Fig.3 Overall implementation process of BiLSTM
由圖3可知,BiLSTM以LSTM作為隱藏單元,輸入特征進入兩個不同方向的模型結(jié)構(gòu)中,通過隱藏單元特征計算,最后由該時刻的兩個隱藏單元的輸出向量連接構(gòu)成該時刻輸出,其中,yt-1、yt、yt+1分別為對應(yīng)的t-1、t、t+1時刻的輸出向量。t時刻BiLSTM計算如式(7)~(9)所示。
h(t-1)t=LSTM(h(t-2)(t-1),xt)
(7)
h(t+1)t=LSTM(h(t+1)(t+2),xt)
(8)
ht=[h(t-1)t,h(t+1)t]
(9)
BiLSTM模型的計算使每個時刻的隱藏層中信息將得到有效擴充的學(xué)習(xí),有利于模型最終分類結(jié)果提升。
針對模型中可能存在忽略對關(guān)鍵特征信息的有效利用,增加Attention機制對時序特征信息的學(xué)習(xí)。該機制通過上層t時刻輸出向量ht作為輸入,計算特征權(quán)重αt,其計算如式(10)~(12)所示。
ut=tanh(Waht+b)
(10)
式中:Wa為權(quán)重系數(shù);b為偏置系數(shù)。
(11)
式中:uw為初始化權(quán)重矩陣。
(12)
通過計算t時刻的輸出對結(jié)果的重要性ut,計算ht的特征權(quán)重αt并輸出向量Ct,對t時刻輸入指標(biāo)向量進行加權(quán)。計算得到的權(quán)重αt越大,表示該時刻隱藏層特征的重要程度越大,則該時刻的向量Ct對預(yù)測結(jié)果的貢獻程度就越大。
通過上述計算,模型最終由全連接層中的softmax激活函數(shù)轉(zhuǎn)化為二分類問題,輸出年卒中風(fēng)險發(fā)生概率y′i,計算如式(13)所示。
y′i=softmax(WiCt+bi)
(13)
為篩選與缺血性腦卒中疾病發(fā)生的影響指標(biāo),采用Logistic邏輯回歸分析法確定影響疾病的多重因子,該分析方法被廣泛應(yīng)用于醫(yī)學(xué)疾病影響因子分析研究中自變量與因變量之間的因果關(guān)系。該依賴關(guān)系通過回歸系數(shù)表示,計算類別概率,再得出回歸系數(shù),計算方法如式(14)和(15)所示。
(14)
(15)
式中:j為因變量;x為自變量;k為自變量的個數(shù)。
當(dāng)k=1時,模型進行單因素分析,建立單一自變量對因變量的影響程度分析;當(dāng)k>1時,模型進行多因素分析,建立的多個自變量同時變化,對因變量結(jié)果產(chǎn)生影響。綜合兩種分析以尋找疾病發(fā)生發(fā)展的多危險因子。
(1) 輸入變量輸入數(shù)據(jù)X。通過確定的z計算融合卷積神經(jīng)網(wǎng)絡(luò)(CNN)的LSTM非線性回歸預(yù)測模型,根據(jù)當(dāng)前t-1時刻指標(biāo)zt-1擬合未來t時刻zt中連續(xù)型數(shù)值的變化z′t,如式(16)所示。
z′it=σ(LSTM-CNN(zi(t-1),zit))
(16)
t-1和t時刻的數(shù)據(jù)組成的時序輸入變量X, 如式(17)所示。
X=concat(zi(t-1),z′it)
(17)
(2) 輸出變量風(fēng)險預(yù)測結(jié)果Y′。獲取L標(biāo)簽,轉(zhuǎn)化為一維數(shù)組,得到患者t時刻的真實標(biāo)簽Y,如式(18)所示。
Y=[y1,y2, …,yn]
(18)
式中:yi∈li,i=1,2,…,n。
根據(jù)X和標(biāo)注真實標(biāo)簽Y的轉(zhuǎn)化,最終由模型尋找X與Y之間的特征關(guān)系,風(fēng)險預(yù)測結(jié)果Y′如式(19)所示。
Y′=softmax(BiLSTM-Attention(X,Y))
(19)
采用one-hot作為一種通過N位狀態(tài)寄存器對N個狀態(tài)編碼實現(xiàn)離散特征映射到歐氏空間的獨熱編碼方式。在分類問題中,一方面提高模型的計算特征之間距離的效率,另一方面對數(shù)據(jù)特征的維度有了一定的擴充作用。同時,為減小數(shù)據(jù)在不同維度影響的訓(xùn)練效果,采取歸一化的處理,如式(20)所示。
(20)
式中:Imin和Imax分別為指標(biāo)I數(shù)據(jù)中的最小值和最大值。
通過計算指標(biāo)中最大值與最小值的差值比,將指標(biāo)數(shù)據(jù)壓縮到同一范圍。
模型訓(xùn)練中每一步都經(jīng)損失函數(shù)計算誤差,并使用優(yōu)化器反向調(diào)整更新,以尋找模型效果最優(yōu)的參數(shù)設(shè)置。
計算損失:交叉熵?fù)p失函數(shù)被廣泛應(yīng)用于二分類損失問題,通過計算預(yù)測值與真實標(biāo)簽之間的誤差,反映模型訓(xùn)練效果。交叉熵?fù)p失函數(shù)如式(21)扭洋。
(21)
式中:n為樣本數(shù)量。
通過極大似然運算,計算年卒中風(fēng)發(fā)生概率y′i與真實標(biāo)簽yi的損失差異。
優(yōu)化器:為減小模型訓(xùn)練損失且不產(chǎn)生局部最優(yōu)結(jié)果,選取Adam優(yōu)化器進行反向計算以調(diào)整網(wǎng)絡(luò)權(quán)重參數(shù)。將計算梯度的一階矩估計和二階矩估計作為不同的參數(shù)設(shè)計自適應(yīng)性學(xué)習(xí)率。
根據(jù)目標(biāo)損失函數(shù)f計算出t時刻的梯度gradt,如式(22)所示。
gradt←Δθft(θt-1)
(22)
計算梯度gradt一階、二階矩估計值mt、vt,如式(23)和(24)所示。
mt←β1mt-1+(1-β1)gradt
(23)
vt←β2vt-1+(1-β2)gradt2
(24)
式中:β1、β2為矩估計衰減指數(shù),分別默認(rèn)為0.900、 0.999;θ為通過矩估計校正的更新參數(shù)。
缺血性腦卒中的年卒中風(fēng)險預(yù)測模型訓(xùn)練算法如下:
Initializeθ0
ForiinT:
A←Attention(V)
Llogits←Matmul(A,θi)
θi←Adam(Llearning_rate,Lloss)
End For
Evaluate(Xtest,Ytest,θ)
End
其中:T為訓(xùn)練步長;B為批大小數(shù)據(jù)集;Llearning_rate為學(xué)習(xí)率;Xtrain/Ytrain、Xtest/Ytest分別為訓(xùn)練集和測試集;V、A為特征提取層輸出向量、注意力層輸出向量;Lloss為模型訓(xùn)練誤差;θi為第i次訓(xùn)練網(wǎng)絡(luò)模型參數(shù)。
試驗數(shù)據(jù)來源于上海市某醫(yī)院的真實樣本數(shù)據(jù),共983名患者,其中,非缺血性腦卒中作為負(fù)樣本共732名,缺血性腦卒中為試驗正樣本共251名。病歷數(shù)據(jù)的選取充分考慮缺血性腦卒中疾病的發(fā)病機制,其中多因子篩選包含性別、年齡、高血壓史、C反應(yīng)蛋白(c-reactive protein, CRP)、總膽固醇(cholesterol, CHOL)、脫脂轉(zhuǎn)化酶、斑塊、狹窄程度以及內(nèi)中膜厚度共計9個檢查指標(biāo)以及診斷結(jié)果標(biāo)簽,經(jīng)輸入變量處理后,均包含兩次時間窗口為12個月左右的非稀疏數(shù)據(jù)。模型訓(xùn)練中,對該數(shù)據(jù)劃分為80%訓(xùn)練集和20%測試集。
試驗中,對所有輸入樣本數(shù)值均通過歸一化處理方式壓縮到[0, 1]。以選取1 000條CHOL濃度樣本數(shù)據(jù)在歸一化處理前后的特征比較為例。樣本CHOL濃度歸一化處理前后的結(jié)果如圖4所示。
(a) 處理前
(b) 處理后
由圖4可知,經(jīng)數(shù)據(jù)轉(zhuǎn)換,CHOL由[0, 14]被壓縮到[0, 1],并且保持原始數(shù)據(jù)的特征。
試驗中將加載預(yù)處理后當(dāng)前檢查數(shù)據(jù)與回歸預(yù)測數(shù)據(jù)作為模型的數(shù)據(jù)集輸入,具體模型訓(xùn)練過程如下:
(1) 輸入2×9×1313大小的訓(xùn)練集樣本,經(jīng)預(yù)處理轉(zhuǎn)化為(None, 2, 13)形狀數(shù)據(jù),即步長為2,維度為13,批大小隨機的數(shù)據(jù)輸入。
(2) 隨機初始化網(wǎng)絡(luò)參數(shù),設(shè)置dropout=0.9, learning_rate=0.100, training_step=500。
(3) 訓(xùn)練數(shù)據(jù)經(jīng)過雙向LSTM學(xué)習(xí)后輸出(None, 2, 32)的特征向量,經(jīng)連接由注意力層對時序狀態(tài)的加權(quán),輸出(None, 2)的上下文向量,最終softmax輸出對缺血性腦卒中疾病是否發(fā)生的概率值。
(4) 將輸出的預(yù)測值與真實標(biāo)簽計算交叉熵?fù)p失,網(wǎng)絡(luò)中權(quán)重參數(shù)通過Adam優(yōu)化器按照設(shè)置學(xué)習(xí)速率計算誤差損失梯度反向優(yōu)化更新。
(5) 按照訓(xùn)練步數(shù),不斷重復(fù)模型訓(xùn)練(1)~(4)過程。
訓(xùn)練過程中,采用控制變量法,分別對參數(shù)dropout、 learning_rate、 training_steps進行設(shè)值,其中l(wèi)earning_rate按0.100、 0.010、 0.001遞減形式、dropout按步長為0.1改變、training_step按500步長的原則進行模型訓(xùn)練效果的比較。最終確定learning_rate=0.001, dropout=0.5, training_step=2 000時,模型訓(xùn)練準(zhǔn)確度達最優(yōu)。
采用準(zhǔn)確度(AAccuracy)、靈敏度(SSensitivity)、特異度(SSpecificity)、陽性預(yù)測率(PPPV)、陰性預(yù)測率(NNPV)及F1_score值評估標(biāo)準(zhǔn)FF1_score,衡量模型對缺血性腦卒中疾病診斷能力,計算方法如式(25)~(30)所示。
(25)
(26)
(27)
(28)
(29)
(30)
式中:TTP表示真實為缺血性腦卒中患者且被正確預(yù)測為缺血性腦卒中患者的數(shù)量;TFP表示真實為非缺血性腦卒中患者但被錯誤預(yù)測為缺血性腦卒中患者的數(shù)量;TFN表示真實為缺血性腦卒中患者但被錯誤預(yù)測為非缺血性腦卒中患者的數(shù)量;TTN表示真實為非缺血性腦卒中患者但被正確預(yù)測為缺血性腦卒中患者的數(shù)量。為獲得年卒中風(fēng)險最優(yōu)預(yù)測效果,在不同條件下進行試驗結(jié)果對比。受數(shù)據(jù)正負(fù)樣本不平衡問題影響,試驗采用SMOTE(synthetic minority oversampling technique)過采樣進行正負(fù)樣本的平衡。該方法一方面解決了樣本不平衡所帶來的分類預(yù)測性能差的問題,另一方面擴充了數(shù)據(jù)集中樣本特征的多樣性。SMOTE過采樣前后試驗結(jié)果如表1所示。
表1 SMOTE過采樣前后試驗結(jié)果Table 1 Experimental results before and after SMOTE oversampling %
由表1可知:SMOTE過采樣后預(yù)測結(jié)果比SMOTE過采樣前預(yù)測結(jié)果準(zhǔn)確率高;受正負(fù)樣本不平衡的影響,SMOTE過采樣前,模型靈敏度較特異度結(jié)果低10%以上。這表示模型更多學(xué)習(xí)了負(fù)樣本非缺血性腦卒中特征信息,因此對患者缺血性腦卒中患者確診的遺漏情況較高;同理陽性預(yù)測率比陰性預(yù)測率低,這樣模型在預(yù)測時會誤判患者為缺血性腦卒中的診斷結(jié)果。當(dāng)對數(shù)據(jù)采用SMOTE算法處理后,正負(fù)樣本的試驗結(jié)果明顯提升且達到平衡的效果。
為測試不同模型訓(xùn)練擬合的效果,試驗在LSTM、 LSTM-Attention、 BiLSTM以及BiLSTM-Attention等4種模型下進行預(yù)測結(jié)果的對比,試驗結(jié)果如表2所示。
表2 不同模型下的試驗預(yù)測準(zhǔn)確率對比Table 2 Comparison of experimental prediction accuracy under different models %
由表2可知,4個模型預(yù)測總體準(zhǔn)確率均達80%以上,對正負(fù)樣本預(yù)測性能總體保持平衡。從橫向結(jié)果對比看,單獨的BiLSTM模型比LSTM模型在時序特征數(shù)據(jù)集的學(xué)習(xí)能力表現(xiàn)稍降低。這說明該模型結(jié)構(gòu)對于本試驗數(shù)據(jù)集相對復(fù)雜,性能上有所降低,但在增加注意力機制后,預(yù)測的準(zhǔn)確度明顯提升。此外,這也表示各時序特征分配了相應(yīng)注意力權(quán)重值,其中各模型靈敏度差異較小,對正確判定缺血性腦卒中的能力無明顯差異,但在非缺血性腦卒中診斷中,無注意力機制的模型遺漏情況較明顯。從縱向結(jié)果對比看,靈敏度對比特異度以及陽性預(yù)測率和陰性預(yù)測率而言,其存在較小的差異。這說明過采樣中的正樣本存在與負(fù)樣本界限模糊的情況,使得模型對其學(xué)習(xí)存在差異。在召回率和準(zhǔn)確度上,由于在本試驗數(shù)據(jù)中融合了注意力機制的BiLSTM模型,因此結(jié)果較好,總體性能具有一定優(yōu)勢,有一定輔助意義。
根據(jù)缺血性腦卒中疾病發(fā)生發(fā)展及數(shù)據(jù)特征,提出BiLSTM-Attention模型對缺血性腦卒中的年卒中風(fēng)險發(fā)生進行預(yù)測。通過當(dāng)前樣本性別、年齡、高血壓史、CHOL、 LPA、 CRP以及超聲斑塊等指標(biāo)對其未來時刻CHOL、 LPA、 CRP指標(biāo)變化的預(yù)測,使指標(biāo)連接當(dāng)前檢查指標(biāo)形成帶有時間序列病歷數(shù)據(jù),實現(xiàn)基于BiLSTM的缺血性腦卒中的年卒中風(fēng)險預(yù)測。同時融合Attention機制對關(guān)鍵特征加權(quán),采用SMOTE對數(shù)據(jù)平衡處理,提升模型預(yù)測準(zhǔn)確性,因此,在智慧醫(yī)療缺血性腦卒中的年卒中發(fā)展預(yù)測等方面具有良好的應(yīng)用價值。由于試驗數(shù)據(jù)為某醫(yī)院真實數(shù)據(jù),存在數(shù)據(jù)清洗不干凈、數(shù)據(jù)觀察窗口較短等不足,結(jié)果存在一定誤差,未來希望針對該方面準(zhǔn)確性開展進一步研究。