安瑩,黃能軍,楊榮,陳先來
1.中南大學(xué)信息安全與大數(shù)據(jù)學(xué)院,湖南長沙410083;2.中南大學(xué)計(jì)算機(jī)學(xué)院,湖南長沙410083;3.中南大學(xué)湘雅醫(yī)院,湖南長沙410078
心血管疾病是一種嚴(yán)重威脅人類健康的常見慢性疾病,在城鄉(xiāng)居民總死亡原因中高居首位[1]。準(zhǔn)確預(yù)測心血管疾病的發(fā)病風(fēng)險(xiǎn)對防范心血管疾病的發(fā)生有著重大意義。盡管臨床上血管造影術(shù)可以準(zhǔn)確地診斷出心血管疾病,但是血管造影術(shù)不僅比較昂貴而且對身體具有創(chuàng)傷性。此外,臨床上也常用心電圖和一些評分指數(shù)來預(yù)估心血管的風(fēng)險(xiǎn),但這些方法需要醫(yī)生或者執(zhí)業(yè)人員具備豐富的理論知識和實(shí)踐經(jīng)驗(yàn)。近年來,一些研究人員提出利用機(jī)器學(xué)習(xí)等算法對患者電子病歷中的風(fēng)險(xiǎn)因素進(jìn)行建模,從而實(shí)現(xiàn)心血管疾病的風(fēng)險(xiǎn)預(yù)測。由于這類方法不僅對身體沒有創(chuàng)傷性,而且是相對廉價(jià)的,因此它已逐漸成為當(dāng)下一個(gè)具有重要現(xiàn)實(shí)意義的挑戰(zhàn)性課題。
在基于電子病歷的心血管疾病風(fēng)險(xiǎn)預(yù)測研究中,最大的挑戰(zhàn)是如何通過有效的表征學(xué)習(xí)方法來實(shí)現(xiàn)患者畫像的準(zhǔn)確描繪。電子病歷通常包含豐富的患者就診信息,比如診斷、醫(yī)囑、檢查檢驗(yàn)、生命體征、人口學(xué)等數(shù)據(jù)。傳統(tǒng)患者畫像的表征方法通常需要大量的人工干預(yù),它們的性能往往受限于研究人員的經(jīng)驗(yàn)以及特定的電子病歷系統(tǒng),導(dǎo)致其可擴(kuò)展性和泛化性較差。最近幾年,受自動特征學(xué)習(xí)相關(guān)研究成果的鼓舞,很多研究人員成功利用稀疏編碼的方式實(shí)現(xiàn)了特征表達(dá),比如獨(dú)熱編碼(One-Hot)[2]和詞袋模型(Bag of Words,BoW)[3]。然而,這些稀疏編碼的方式通常無法捕獲特征之間的語義性以及電子病歷數(shù)據(jù)中的時(shí)序性。近些年,隨著深度學(xué)習(xí)在理論上的突破以及其在生物、金融等眾多領(lǐng)域的成功應(yīng)用,很多研究人員也試圖利用深度學(xué)習(xí)來處理電子病歷數(shù)據(jù)的表征學(xué)習(xí)。Nguyen等[4]提出將患者的電子病歷數(shù)據(jù)(診斷、藥物治療以及手術(shù)記錄)表示成一串按時(shí)間先后順序排列的序列,并且利用卷積神經(jīng)網(wǎng)絡(luò)(Convolution Neural Network,CNN)對其進(jìn)行患者的表征提取。但是在時(shí)序?qū)W習(xí)(Temporal Learning)相關(guān)任務(wù)中,CNN相對來說只能捕獲局部特征信息,并且需要假設(shè)一份電子病歷中的數(shù)據(jù)是嚴(yán)格按時(shí)間順序排列的。與之相比,基于循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)的相關(guān)算法,比如長短期記憶神經(jīng)網(wǎng)絡(luò)(Long Short Term Memory,LSTM),通過不同“門限”來捕捉有用的信息而舍棄沒用的信息,從而可以更好地處理帶時(shí)序性的電子病歷數(shù)據(jù)。Ma等[5]利用雙向循環(huán)神經(jīng)網(wǎng)絡(luò)(Bidirectional Recurrent Neural Network,Bi-RNN)進(jìn)行電子病歷的表征學(xué)習(xí),并利用多種關(guān)注機(jī)制(Attention Mechanism)方法提升模型的表征學(xué)習(xí)能力和可解釋性。盡管該方法已經(jīng)能有效提升風(fēng)險(xiǎn)預(yù)測模型的性能,但是它忽略了電子病歷中各數(shù)據(jù)之間的差異性。相對地,Kim等[6]提出利用相互獨(dú)立的模塊對不同種類的數(shù)據(jù)(診斷和藥物治療)分別進(jìn)行表征學(xué)習(xí),來提高風(fēng)險(xiǎn)預(yù)測的準(zhǔn)確性。但實(shí)際上,每一種藥物治療的方式在臨床上都有與之對應(yīng)的某一種或多種疾病。盡管該模型實(shí)現(xiàn)了有效的風(fēng)險(xiǎn)預(yù)測,但是它忽略了疾病和藥物治療兩者之間的關(guān)聯(lián)性,因此,預(yù)測性能受到了一定的影響。
為了解決以上的問題,本研究提出一個(gè)基于RNN 和關(guān)注機(jī)制的心血管風(fēng)險(xiǎn)預(yù)測模型(Risk Prediction Model for Cardiovascular,RPMC)。RPMC可以自動從高維、異質(zhì)、時(shí)序的電子病歷數(shù)據(jù)中抽取高質(zhì)量的表征,用來準(zhǔn)確地實(shí)現(xiàn)心血管疾病的風(fēng)險(xiǎn)預(yù)測。由于關(guān)注機(jī)制和LSTM的引入,模型不僅能有效增強(qiáng)模型對時(shí)序數(shù)據(jù)的學(xué)習(xí)能力,還具備一定的可解釋性。此外,考慮到不同數(shù)據(jù)之間的差異性和關(guān)聯(lián)性,模型中不僅存在多個(gè)獨(dú)立的模塊負(fù)責(zé)不同數(shù)據(jù)的表征學(xué)習(xí),還存在一個(gè)模塊負(fù)責(zé)融合后數(shù)據(jù)的特征提取。最后,RPMC結(jié)合各個(gè)模塊學(xué)到的表征實(shí)現(xiàn)心血管疾病的風(fēng)險(xiǎn)預(yù)測。本研究主要的貢獻(xiàn)點(diǎn)可以歸納為以下3 點(diǎn):(1)提出一個(gè)端對端、易操作、無需醫(yī)務(wù)人員輔助、魯棒的心血管疾病風(fēng)險(xiǎn)預(yù)測模型RPMC;(2)將RNN 和關(guān)注機(jī)制的結(jié)合,從而使得RPMC 不僅能自動而準(zhǔn)確地從高維、異質(zhì)、時(shí)序的電子病歷數(shù)據(jù)抽取潛在的表征,同時(shí)還具備良好的可解釋性;(3)有效地融合多種不同質(zhì)的電子病歷數(shù)據(jù),使用多個(gè)子模塊進(jìn)行表征學(xué)習(xí),從而使得RPMC不僅能充分考慮到數(shù)據(jù)之間的差異性,還能考慮到他們之間潛在的關(guān)聯(lián)性,最終提高心血管疾病風(fēng)險(xiǎn)預(yù)測的性能。
在醫(yī)學(xué)領(lǐng)域中,風(fēng)險(xiǎn)預(yù)測是一個(gè)具有前瞻性和重大現(xiàn)實(shí)意義的研究任務(wù)。臨床上常見的風(fēng)險(xiǎn)預(yù)測任務(wù)主要有:疾病發(fā)病風(fēng)險(xiǎn)預(yù)測[4,6]、死亡率預(yù)測[7]、再入院風(fēng)險(xiǎn)預(yù)測[8]等。在早期的心血管疾病風(fēng)險(xiǎn)預(yù)測模型中,很多研究員通過利用隊(duì)列研究的方法來跟蹤患者的狀況,從而實(shí)現(xiàn)風(fēng)險(xiǎn)預(yù)測。Everett等[9]對1 821 位心血管疾病患者進(jìn)行隊(duì)列研究,結(jié)果表明端前腦鈉素能有效提高臨床上心血管疾病的風(fēng)險(xiǎn)預(yù)測能力。此外,Welsh等[10]也利用隊(duì)列研究的方式發(fā)現(xiàn)了更多有助于心腦血管疾病風(fēng)險(xiǎn)預(yù)測的醫(yī)學(xué)指標(biāo)。這些基于隊(duì)列研究的方法能實(shí)現(xiàn)較準(zhǔn)確的風(fēng)險(xiǎn)預(yù)測,同時(shí)還具備一定的醫(yī)學(xué)參考價(jià)值和可解釋性。但是,這類方法通常需要耗費(fèi)大量的人力、物力和時(shí)間。它們通?;谀骋粰?quán)威的評分標(biāo)準(zhǔn)來進(jìn)行預(yù)測,導(dǎo)致其性能在很大程度上取決于研究員的醫(yī)學(xué)背景和經(jīng)驗(yàn)。隨著醫(yī)院信息化程度的不斷提高,來自醫(yī)院信息系統(tǒng)的電子病歷數(shù)據(jù)因其提供了極為豐富、完整的患者醫(yī)療記錄而受到研究人員的關(guān)注。因此近年來出現(xiàn)大量基于電子病歷的心血管疾病風(fēng)險(xiǎn)預(yù)測模型。Huang 等[11]基于患者電子病歷數(shù)據(jù)中的特征,利用回歸的方法進(jìn)行特征學(xué)習(xí)并能有效提高心血管疾病的風(fēng)險(xiǎn)預(yù)測。Jiang等[12]利用電子病歷數(shù)據(jù)中的特征,構(gòu)建了一個(gè)高效的再入院風(fēng)險(xiǎn)預(yù)測模型。這些方法的提出不僅有效提高了現(xiàn)有、海量的電子病歷數(shù)據(jù)的利用率,還在相關(guān)任務(wù)上取得顯著的效果。但是,由于電子病歷數(shù)據(jù)包含的特征信息種類繁多,維度龐大,并具有一定的時(shí)序性,所以如何對電子病歷數(shù)據(jù)進(jìn)行表征學(xué)習(xí)成為這類風(fēng)險(xiǎn)預(yù)測任務(wù)的主要挑戰(zhàn)。
在很多現(xiàn)有的心血管疾病風(fēng)險(xiǎn)預(yù)測模型中,特征工程通常需要大量人工干預(yù)。比如,Pike等[13]根據(jù)Framingham 風(fēng)險(xiǎn)評分(Framingham Risk Score,FRS)等標(biāo)準(zhǔn),從電子病歷中抽取出相關(guān)的特征,并比較各評分標(biāo)準(zhǔn)的風(fēng)險(xiǎn)預(yù)測能力。Kennedy 等[14]在FRS 的基礎(chǔ)上引入了額外的電子病歷特征,并實(shí)證其具備更好的心血管疾病風(fēng)險(xiǎn)預(yù)測能力。這類方法通常都是根據(jù)相關(guān)的評分標(biāo)準(zhǔn)或權(quán)威的文獻(xiàn)資料,針對性地從電子病歷數(shù)據(jù)中抽取相關(guān)特征。它最大的不足是往往受限于研究人員相關(guān)的專業(yè)背景和實(shí)際經(jīng)驗(yàn),同時(shí)特征的抽取過程摻雜大量的人力、物力,并不能完全高效地利用海量的電子病歷數(shù)據(jù)。最近幾年,很多研究員提出不同的基于機(jī)器學(xué)習(xí)相關(guān)方法的心血管疾病風(fēng)險(xiǎn)預(yù)測模型[11,15]。這類方法不僅能自動地學(xué)習(xí)出重要的特征信息,而且還能提高電子病歷數(shù)據(jù)特征的利用率,從而實(shí)現(xiàn)高效的風(fēng)險(xiǎn)預(yù)測。但是,它們通常無法捕獲電子病歷數(shù)據(jù)中的時(shí)序信息。為了解決這些問題,很多研究人員利用深度學(xué)習(xí)來進(jìn)行電子病歷的特征學(xué)習(xí)工作,并取得了巨大成功。Nguyen等[4]成功利用CNN捕獲電子病歷數(shù)據(jù)中的特征信息(包括時(shí)序信息),并準(zhǔn)確地實(shí)現(xiàn)了再入院的風(fēng)險(xiǎn)預(yù)測。此外,Ma等[5]利用RNN以及多種關(guān)注機(jī)制進(jìn)行電子病歷數(shù)據(jù)的時(shí)序特征提取,不僅有效提高模型的準(zhǔn)確度,還增強(qiáng)模型的可解釋性。Kim等[6]針對不同種類的電子病歷數(shù)據(jù),分別利用多個(gè)獨(dú)立的RNN 模塊進(jìn)行特征學(xué)習(xí),并有效提高風(fēng)險(xiǎn)預(yù)測的準(zhǔn)確性。盡管這些方法大大提高風(fēng)險(xiǎn)預(yù)測的準(zhǔn)確性,但是它們并沒有充分考慮電子病歷數(shù)據(jù)中的多樣性與關(guān)聯(lián)性。
近幾年,深度學(xué)習(xí)在理論和應(yīng)用上都有驚人的突破。深度學(xué)習(xí)通過組合低層的數(shù)據(jù)特征形成更加抽象的高層特征,從而發(fā)現(xiàn)數(shù)據(jù)中潛在的、難以被人發(fā)現(xiàn)的分布式特征表示[16]。目前,有兩種常見的深度學(xué)習(xí)算法被廣泛應(yīng)用于電子病歷和影像數(shù)據(jù)的特征學(xué)習(xí),即CNN和RNN。CNN是一類具有深度結(jié)構(gòu)的前饋神經(jīng)網(wǎng)絡(luò),它通過卷積層和池化層的相關(guān)計(jì)算完成特征學(xué)習(xí),具備平移不變性,因而在圖像處理方面有著先天的優(yōu)勢,比如醫(yī)學(xué)圖像分割[17]、圖片分類[18]等。但是,CNN只能捕獲局部的信息,在處理長時(shí)間依賴的時(shí)序?qū)W習(xí)任務(wù)上略有不足。相比之下,RNN 是一類具有記憶功能的深度神經(jīng)網(wǎng)絡(luò),能很好地捕捉數(shù)據(jù)中的時(shí)序信息。因而,RNN 被廣泛應(yīng)用于自然語言處理等時(shí)序?qū)W習(xí)任務(wù)中[19]。為了增強(qiáng)單向RNN的學(xué)習(xí)能力,Bi-RNN通過同時(shí)從兩個(gè)方向?qū)W習(xí)數(shù)據(jù)的時(shí)間依賴信息,從而更全面地捕獲數(shù)據(jù)中上下文的信息[20]。
此外,為了增強(qiáng)模型的可解釋性,關(guān)注機(jī)制被廣泛應(yīng)用于深度學(xué)習(xí)模型中。關(guān)注機(jī)制通過計(jì)算出一個(gè)上下文向量,來捕獲序列數(shù)據(jù)中更多的潛在信息。它不僅能有效提高模型的學(xué)習(xí)能力,而且還能增強(qiáng)模型的可解釋性,尤其是在時(shí)序?qū)W習(xí)[5]、機(jī)器翻譯[19]等任務(wù)中,基于關(guān)注機(jī)制的深度學(xué)習(xí)模型能明顯優(yōu)于不帶關(guān)注機(jī)制的模型。
綜合已有心血管疾病風(fēng)險(xiǎn)預(yù)測模型的優(yōu)勢和不足,本研究提出的模型RPMC 利用雙向長短期記憶神經(jīng)網(wǎng)絡(luò)(Bidirectional Long Short Term Memory,Bi-LSTM)以及關(guān)注機(jī)制等方法負(fù)責(zé)電子病歷數(shù)據(jù)的表征學(xué)習(xí)??紤]到電子數(shù)據(jù)中的多樣性與關(guān)聯(lián)性,RPMC 不僅分別利用多個(gè)獨(dú)立的模塊來負(fù)責(zé)不同性質(zhì)數(shù)據(jù)的表征學(xué)習(xí),同時(shí)也單獨(dú)提供一個(gè)獨(dú)立的模塊負(fù)責(zé)融合后數(shù)據(jù)的表征學(xué)習(xí)。從而,RPMC 能高效、全面地捕獲電子病歷數(shù)據(jù)的特征信息,實(shí)現(xiàn)更準(zhǔn)確的疾病風(fēng)險(xiǎn)預(yù)測。
本研究所使用的實(shí)驗(yàn)數(shù)據(jù)來源于中南大學(xué)湘雅醫(yī)學(xué)大數(shù)據(jù)平臺建設(shè)項(xiàng)目組整理而成的湘雅醫(yī)學(xué)數(shù)據(jù)集[21]。目前,該數(shù)據(jù)集涵蓋湘雅3家附屬醫(yī)院近10年的電子病歷數(shù)據(jù)。在湘雅數(shù)據(jù)集中,每一個(gè)疾病編碼都遵循第10版國際疾病分類(ICD10)的標(biāo)準(zhǔn),每一個(gè)實(shí)驗(yàn)室指標(biāo)都遵循湘雅醫(yī)院的規(guī)則,并且有特定的正常值參考范圍。
本研究所使用的湘雅子數(shù)據(jù)集共包含322 900位患者的電子病歷數(shù)據(jù),其中24 615 位是心血管疾病的患者。RPMC 旨在利用患者的歷史數(shù)據(jù)預(yù)測其在接下來一年中患有心血管疾病的風(fēng)險(xiǎn)。因此,每位患者的歷史數(shù)據(jù)(不包含心血管疾病編碼)構(gòu)成觀測窗口,而接下來一年的數(shù)據(jù)構(gòu)成預(yù)測窗口。RPMC從觀測窗口中的電子病歷數(shù)據(jù)捕獲特征,并利用預(yù)測窗口生成分類標(biāo)簽(二分類,1 表示高風(fēng)險(xiǎn),而0 表示非高風(fēng)險(xiǎn))。
在該數(shù)據(jù)集上,患者每次醫(yī)院就診以7個(gè)工作日為單位進(jìn)行聚合,即將同一患者間隔時(shí)間小于一周的不同就診記錄視為同一次醫(yī)療就診。為了保證樣本數(shù)據(jù)有足夠的電子病歷信息,少于6次醫(yī)療就診的患者被排除在外,從而使得觀測窗口中至少包含5次醫(yī)療就診,而預(yù)測窗口至少包含1次。為了確認(rèn)患者在觀測窗口之后1年中心血管疾病的患病情況,如果患者有過心血管疾病診斷歷史,并且在第一次被診斷有心血管疾病之前至少包含5次醫(yī)療就診記錄,同時(shí)第一次被診斷為心血管疾病的就診時(shí)間距離上一次就診時(shí)間≤1年,則該患者被標(biāo)記為高風(fēng)險(xiǎn)樣本;如果患者在觀測窗口中最后一次醫(yī)療就診后至少1年未診斷出心血管疾病,則被標(biāo)記為非高風(fēng)險(xiǎn)患者。
除了診斷編碼序列數(shù)據(jù),RPMC還利用實(shí)驗(yàn)室指標(biāo)數(shù)據(jù)。根據(jù)數(shù)據(jù)統(tǒng)計(jì)結(jié)果,出現(xiàn)頻次少于100 次,以及缺失率高于90%的實(shí)驗(yàn)室指標(biāo)均被剔除在外。此外,為了增強(qiáng)心血管疾病風(fēng)險(xiǎn)預(yù)測的準(zhǔn)確性,RPMC還結(jié)合部分人口學(xué)數(shù)據(jù),包括年齡、性別、患者類型,就診次數(shù)和手術(shù)史。
經(jīng)過上述的數(shù)據(jù)篩選過程,最終得到的實(shí)驗(yàn)數(shù)據(jù)集總共包含146 296 位患者,其中20 450 位屬于心血管疾病高風(fēng)險(xiǎn)患者。具體的統(tǒng)計(jì)信息如表1所示。
表1 最終數(shù)據(jù)集的簡單描述Tab.1 A brief description of the final data set
為方便心血管疾病風(fēng)險(xiǎn)預(yù)測模型的描述,數(shù)據(jù)集中醫(yī)學(xué)編碼的集合(包括診斷編碼、實(shí)驗(yàn)室指標(biāo))被表示成D={d1,d2,…,dM},其中M是編碼的總數(shù)量,任意一個(gè)元素dj表示一個(gè)醫(yī)學(xué)編碼。 令P={p1,p2,…,pN}表示數(shù)據(jù)集中的患者集合,其中N為患者總數(shù),任意一個(gè)元素pn表示一個(gè)患者。對于任意患者pn,其電子病歷數(shù)據(jù)可以被表示成一個(gè)醫(yī)療就診序列其中T(n表)示第n個(gè)患者的總就診次數(shù),表示患者pn的第i次就診記錄,是由一個(gè)或多個(gè)醫(yī)學(xué)編碼組成的無序集合。為了將每次就診記錄Vi轉(zhuǎn)化成深度模型RPMC輸入數(shù)據(jù)的格式,Vi被表示成一個(gè)一維向量xi,其中每個(gè)維度代表唯一的一種醫(yī)學(xué)編碼dj。對于二元醫(yī)學(xué)變量,如診斷編碼等,只有兩種取值(如果Vi包含dj則xi中相應(yīng)位置為1,否則為0)。此外,對于一些有多種取值的醫(yī)學(xué)編碼,比如具有連續(xù)型取值范圍的實(shí)驗(yàn)指標(biāo)數(shù)據(jù),則采用如下的賦值策略:如果實(shí)驗(yàn)指標(biāo)的數(shù)值在給定的正常值參考范圍之內(nèi),則xi中相應(yīng)位置為1;如果實(shí)驗(yàn)指標(biāo)的數(shù)值不在給定的正常值參考范圍之內(nèi),則xi中相應(yīng)位置為2;否則,xi中相應(yīng)位置為0。
如圖1所示,每個(gè)患者的電子病歷數(shù)據(jù)都能表示成一條序列。序列中,每個(gè)片段代表一次醫(yī)療就診記錄,即Vi,包含一個(gè)或多個(gè)診斷編碼和實(shí)驗(yàn)室指標(biāo)。很顯然,圖1給出的是一個(gè)心血管疾病高風(fēng)險(xiǎn)患者的案例,因?yàn)樵陬A(yù)測窗口中,該患者出現(xiàn)有心血管疾病的ICD10 編碼(心絞痛,I20)。假設(shè)HIS 系統(tǒng)中總共只有9 種不同編碼(不包括心血管疾病相關(guān)編碼):I10、E78、H30、K81、WBC、PDW、FBG、HDL和BP,其中前4個(gè)為疾病編碼,后5個(gè)為實(shí)驗(yàn)室指標(biāo),那么,每次就診記錄Vi都可以被表示成一個(gè)向量,其維度為9。比如,在片段1 中患者被診斷為I10 和E78,同時(shí)實(shí)驗(yàn)室指標(biāo)WBC處于正常取值范圍內(nèi),PDW的取值偏離正常范圍,那么該片段V1可以被表示成一個(gè)9維的稀疏向量x1=[1,1,0,0,1,2,0,0,0]。此外,x1也可以被拆分成兩部分:診斷編碼向量[1,1,0,0]和實(shí)驗(yàn)室指標(biāo)向量[1,2,0,0,0],以便RPMC 分別對兩者單獨(dú)進(jìn)行訓(xùn)練。
在人口學(xué)數(shù)據(jù)中,每一個(gè)特征使用One-Hot的方式組織。如圖2 所示,年齡被拆分成7 個(gè)階段(“0-18”、“18-30”、“30-45”、“45-60”、“60-75”和“75+”),性別包括兩個(gè)特定的值(男和女),患者類型包含3種不同的類別(門診、急診和住院),就診次數(shù)被離散成6個(gè)片段(“6-12”、“12-18”、“18-24”、“24-30”、“30-36”和“36+”),手術(shù)史包括兩種狀態(tài)(“S”和“NS”,分別代表有、無手術(shù)史)。需要注意的是,前3個(gè)人口學(xué)特征(年齡、性別、患者類型)都有一個(gè)額外的維度(Unknown,“UK”),表示數(shù)據(jù)缺失的情況。
如圖3所示,RPMC包含4個(gè)輸入模塊,即診斷編碼序列、診斷編碼+實(shí)驗(yàn)室指標(biāo)序列、實(shí)驗(yàn)室指標(biāo)序列和人口學(xué)數(shù)據(jù)。首先,4種數(shù)據(jù)分別通過嵌入層的相關(guān)技術(shù)生成4 個(gè)嵌入向量v1、v2、v3和v4;然后,分別利用4 個(gè)基于關(guān)注機(jī)制的雙向長短期記憶神經(jīng)網(wǎng)絡(luò)模塊(Attention-based Bi-LSTM,A-LSTM)負(fù)責(zé)相應(yīng)嵌入向量的表征學(xué)習(xí),并得到相應(yīng)的4個(gè)表征向量h1、h2、h3和h4;最后,拼接4 個(gè)表征向量,并用于softmax層進(jìn)行預(yù)測。
圖1 患者序列數(shù)據(jù)生成示意圖Fig.1 Diagram of sequence data generating process
圖2 人口學(xué)數(shù)據(jù)向量化Fig.2 Vectorization of demographic data
在嵌入層中,除了人口學(xué)數(shù)據(jù)模塊使用的是詞袋模型之外,其他模塊所使用的方法都是Med2Vec[21]。Med2Vec 利用線性整流單元(Rectified Linear Unit,ReLU)來獲取患者就診記錄的嵌入向量。ReLU是神經(jīng)網(wǎng)絡(luò)中常見的激活函數(shù),計(jì)算公式如下:
其中,Wv∈Rm×M是一個(gè)用來衡量每個(gè)醫(yī)學(xué)變量重要程度的權(quán)重矩陣,m是嵌入向量vt的大小。
RNN 是一類用于處理序列數(shù)據(jù)的神經(jīng)網(wǎng)絡(luò),它能高效地從序列數(shù)據(jù)中捕獲潛在、深層的語義信息。但是,單向的RNN只能從一個(gè)方向捕獲序列信息,比如前向循環(huán)神經(jīng)網(wǎng)絡(luò)(forward RNN)在推斷當(dāng)前節(jié)點(diǎn)的狀態(tài)時(shí),只考慮節(jié)點(diǎn)之前的信息,而忽略節(jié)點(diǎn)之后的信息。因此,為了保證模型能充分考慮節(jié)點(diǎn)的上下文信息,RPMC利用Bi-RNN對嵌入向量進(jìn)行表征學(xué)習(xí)。
如圖4所示,Bi-RNN由一個(gè)前向RNN和一個(gè)后向RNN 組成,能充分利用當(dāng)前狀態(tài)之前和以后的特征信息。前向RNN負(fù)責(zé)從序列的前端向后端的表征學(xué)習(xí)任務(wù),而后向RNN 正好相反。最后,Bi-RNN 將兩個(gè)單向的RNN 所學(xué)到的隱藏層特征信息進(jìn)行融合,得到隱藏層的最終狀態(tài)。對于兩個(gè)單向RNN 輸出的融合方式,常見的有拼接(concatenate)、elementwise 等操作。在RPMC 中,采用的方法是拼接,因?yàn)樗ǔD苋〉幂^好的效果。此外,為了克服梯度消失的問題,RPMC實(shí)際采用的是Bi-LSTM。
為了增強(qiáng)Bi-LSTM 的表征學(xué)習(xí)能力,RPMC 利用關(guān)注機(jī)制(Attention Mechanism)來幫助模型捕獲更多的上下文信息。如果只單純利用Bi-LSTM來捕獲心血管風(fēng)險(xiǎn)中的時(shí)序特征信息v1,v2,…,vt,將有可能忽略掉輸入的序列數(shù)據(jù)x1,x2,…,xt中的一些重要信息。然而,RPMC利用關(guān)注機(jī)制能學(xué)到一個(gè)額外的上下文向量ct,這個(gè)上下文向量不僅能有效增強(qiáng)模型的預(yù)測能力,還能提高模型的可解釋性。計(jì)算ct方法如式(2)所示:
圖3 心血管疾病風(fēng)險(xiǎn)預(yù)測模型概覽圖Fig.3 Framework of risk prediction model of cardiovascular diseases
圖4 A-LSTM的網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.4 Network of Bi-LSTM based on attention mechanism(A-LSTM)
其中,hi表示第i個(gè)隱藏層節(jié)點(diǎn)的狀態(tài),αti是一個(gè)用來衡量當(dāng)前狀態(tài)各元素權(quán)重的向量,其計(jì)算方法如式(3)和式(4)所示:
在式(3)中,∈R2p和bα∈R都是由模型負(fù)責(zé)學(xué)習(xí)的參數(shù),分別代表權(quán)重矩陣和偏移向量。根據(jù)式(4),RPMC 利用softmax 函數(shù)得到一個(gè)權(quán)重向量αt,其中每個(gè)元素分別表示與之對應(yīng)的隱藏層節(jié)點(diǎn)在心血管疾病風(fēng)險(xiǎn)預(yù)測任務(wù)中的重要程度。接著,將隱藏層狀態(tài)向量ht和上下文向量ct拼接,得到最終表征向量如式(5)所示:
其中,Wc∈Rr×4p是由模型負(fù)責(zé)學(xué)習(xí)的權(quán)重矩陣。最后將輸入到softmax層,參與相關(guān)計(jì)算,如式(6)所示,可以得到類別的概率分布:
為了得到模型參數(shù),RPMC使用預(yù)測值與真實(shí)值之間的交叉熵作為損失函數(shù),如式(7)所示:
其中,yi是患者實(shí)際的類別標(biāo)簽,1表示心血管疾病高風(fēng)險(xiǎn)患者,而0表示心血管疾病非高風(fēng)險(xiǎn)患者。y?i是RPMC預(yù)測出來的類別分布,其中概率值最大的類別為RPMC的最終預(yù)測結(jié)果。模型采用的優(yōu)化算法是小批量隨機(jī)梯度下降算法,由基于TensorFlow 和Python 3.5的深度學(xué)習(xí)框架Keras 2.2.2負(fù)責(zé)參數(shù)的自動計(jì)算和更新。
為了驗(yàn)證Bi-LSTM以及關(guān)注機(jī)制在時(shí)序?qū)W習(xí)中的優(yōu)勢,首先進(jìn)行對比實(shí)驗(yàn)的基準(zhǔn)方法有:邏輯回歸(Logical Regression,LR)算法、序列最小優(yōu)化(Sequential Minimal Optimization,SMO)算法、隨機(jī)森林(Random Forest,RF)算法、梯度提升決策樹算法LightGBM和Bi-LSTM。其中,Bi-LSTM屬于時(shí)序模型,它能捕獲電子病歷中的時(shí)序信息,而其他4 種基準(zhǔn)方法是非時(shí)序模型。因此,在這4 個(gè)非時(shí)序模型中,都采用BoW 模型來表示每個(gè)患者的電子病歷數(shù)據(jù)。此外,為了更好地融合不同類型的數(shù)據(jù)(診斷編碼序列和實(shí)驗(yàn)室指標(biāo)序列),RPMC 提出利用多個(gè)A-LSTM 網(wǎng)絡(luò)分別對它們進(jìn)行表征學(xué)習(xí)。本文還將RPMC與3種最新的深度學(xué)習(xí)方法(Deepr[4]、Dipole[5]和R-MeHPAN[6])進(jìn)行性能對比,以進(jìn)一步證明本研究提出方法的有效性。
在本研究所使用的數(shù)據(jù)集中,正負(fù)樣本高度不平衡,比例約為1:6.15。為了客觀真實(shí)地評估預(yù)測模型在不平衡學(xué)習(xí)問題上的性能,所用到評價(jià)指標(biāo)包括:精準(zhǔn)度、召回率、F1值和AUC值。以下是各指標(biāo)的計(jì)算公式:
其中,真正例、假正例和假反例是根據(jù)混淆矩陣計(jì)算得來。在心血管疾病風(fēng)險(xiǎn)預(yù)測任務(wù)中,真正例表示被RPMC 正確預(yù)測出的心血管疾病高風(fēng)險(xiǎn)患者數(shù)目;假正例表示被RPMC預(yù)測成為高風(fēng)險(xiǎn),而實(shí)際上是非高風(fēng)險(xiǎn)患者的數(shù)目;假反例表示被RPMC 預(yù)測為非高風(fēng)險(xiǎn),而實(shí)際上是高風(fēng)險(xiǎn)患者的數(shù)目。
最終用來實(shí)驗(yàn)的數(shù)據(jù)集被分為3個(gè)子集,分別為訓(xùn)練集、驗(yàn)證集和測試集,三者比例為0.7:0.1:0.20。每個(gè)預(yù)測模型都采用小批量的訓(xùn)練方式,批量大小為1 024。同時(shí)為優(yōu)化模型參數(shù),每個(gè)模型迭代100次。此外,為防止過擬合,各模型都采用系數(shù)為0.001的二范式正則化方法和早停策略。對于所有基于RNN 的預(yù)測模型,都統(tǒng)一采用三層隱藏層的網(wǎng)絡(luò)結(jié)構(gòu),且各層神經(jīng)元的個(gè)數(shù)分別為256、256、128。
3.4.1 時(shí)序模型的優(yōu)勢如表2 所示,在基于電子病歷的心血管疾病風(fēng)險(xiǎn)預(yù)測任務(wù)上,時(shí)序模型Bi-LSTM 和A-LSTM 的各項(xiàng)指標(biāo)基本都優(yōu)于其他4種非時(shí)序模型(邏輯回歸、SMO 算法、隨機(jī)森林和LightGBM)。比如,在只利用診斷編碼序列數(shù)據(jù)的情況下,Bi-LSTM 的性能可達(dá)到0.703 9 的召回率、0.654 5 的F1 值和0.779 8 的AUC,這明顯優(yōu)于其他4種中表現(xiàn)最好的LightGBM。之所以Bi-LSTM 和A-LSTM 能夠在心血管疾病風(fēng)險(xiǎn)預(yù)測中取得突出的性能,是因?yàn)榛贚STM的模型將患者的電子病歷數(shù)據(jù)表示成一個(gè)帶時(shí)間順序的序列,并且能夠從中抽取患者疾病發(fā)展過程中的時(shí)序性特征。
同時(shí),綜合3 種不同數(shù)據(jù)的結(jié)果來看,不同類型的數(shù)據(jù)對心血管疾病風(fēng)險(xiǎn)預(yù)測的性能有比較大的影響?;谠\斷編碼序列數(shù)據(jù)的預(yù)測結(jié)果普遍比基于實(shí)驗(yàn)室指標(biāo)數(shù)據(jù)的要準(zhǔn)確。原因之一是實(shí)驗(yàn)室指標(biāo)數(shù)據(jù)相比診斷編碼序列要更稀疏。然而,將兩部分?jǐn)?shù)據(jù)進(jìn)行融合之后模型的風(fēng)險(xiǎn)預(yù)測結(jié)果相比單獨(dú)使用這兩種類型數(shù)據(jù)的預(yù)測結(jié)果有了顯著的提升。當(dāng)僅使用實(shí)驗(yàn)室指標(biāo)數(shù)據(jù)時(shí),Bi-LSTM 的性能只能達(dá)到0.603 1 的F1 值和0.758 7 的AUC。然而,在融合后的數(shù)據(jù)集上,Bi-LSTM的F1值和AUC分別提升至0.673 1和0.795 4。
表2 心血管疾病風(fēng)險(xiǎn)預(yù)測模型實(shí)驗(yàn)結(jié)果Tab.2 Performances of various models for risk prediction of cardiovascular diseases
此外,A-LSTM在3個(gè)數(shù)據(jù)上的性能都明顯優(yōu)于Bi-LSTM。以基于融合數(shù)據(jù)的預(yù)測模型為例,相比Bi-LSTM,A-LSTM將心血管疾病風(fēng)險(xiǎn)預(yù)測的性能從0.630 5 的精準(zhǔn)率、0.722 0 的召回率、0.673 1 的F1 值和0.795 4的AUC提升到了0.637 1的精準(zhǔn)率、0.733 3的召回率、0.681 8的F1值和0.803 2的AUC。這充分表明,關(guān)注機(jī)制能有效提高心血管疾病風(fēng)險(xiǎn)預(yù)測模型的性能,也證明通過關(guān)注機(jī)制所得到的上下文向量能幫助模型捕獲更多潛在的特征信息。
從4 種非時(shí)序模型在心血管疾病風(fēng)險(xiǎn)預(yù)測任務(wù)上的性能來看,隨機(jī)森林和LightGBM明顯比其他兩種表現(xiàn)突出。主要是因?yàn)殡S機(jī)森林和LightGBM 屬于集成學(xué)習(xí)框架,分別屬于裝袋和提升類模型,具備更好的學(xué)習(xí)能力和泛化能力。
3.4.2 RPMC的優(yōu)勢如表3所示,相比其他3種深度學(xué)習(xí)模型,RPMC在心血管疾病風(fēng)險(xiǎn)任務(wù)上取得了突出的性能。這表明RPMC 能更好地融合不同類型的電子病歷數(shù)據(jù),因?yàn)樗浞挚紤]不同類型數(shù)據(jù)之間的差異性和關(guān)聯(lián)性。從表中結(jié)果可以看出,Deepr 的表現(xiàn)相比其他3 種較差。原因之一是Deepr 是基于CNN的風(fēng)險(xiǎn)預(yù)測模型,而相比RNN而言,CNN在電子病歷時(shí)序?qū)W習(xí)中只擅長捕獲局部信息。另外一個(gè)原因是Deepr 假設(shè)每次醫(yī)療就診記錄中的醫(yī)療事件都是有時(shí)間順序的,事實(shí)上在門診部門,一次醫(yī)療就診過程持續(xù)的時(shí)間只有少數(shù)幾天,期間的醫(yī)療事件在EHR中有時(shí)并沒有嚴(yán)格按照時(shí)間順序進(jìn)行組織和記錄。此外,多個(gè)實(shí)驗(yàn)室指標(biāo)通常是同時(shí)檢測的,并無先后關(guān)系,所以Deepr并不是最適合這類醫(yī)學(xué)電子病歷的模型。
值得注意的是,模型R-MeHPAN 在心血管疾病風(fēng)險(xiǎn)預(yù)測任務(wù)上明顯比Dipolel表現(xiàn)得好。Dipolel將不同類型的數(shù)據(jù)融合在一起進(jìn)行模型的訓(xùn)練,而R-MeHPAN將不同類型的數(shù)據(jù)分開進(jìn)行各自的表征學(xué)習(xí)。這表明,在該實(shí)證數(shù)據(jù)集上兩種類型的數(shù)據(jù)(疾病編碼序列和實(shí)驗(yàn)室指標(biāo)序列)之間存在比較大的差異,而且這些差異對心血管疾病的風(fēng)險(xiǎn)預(yù)測有很大幫助。
表3 基于數(shù)據(jù)融合的心血管疾病風(fēng)險(xiǎn)預(yù)測模型的實(shí)驗(yàn)結(jié)果Tab.3 Performances of data fusion-based risk prediction models of cardiovascular diseases
此外,向心血管疾病風(fēng)險(xiǎn)預(yù)測模型中加入人口學(xué)數(shù)據(jù)之后,各深度模型的性能普遍都有所提高。以性能提升最突出的Dipolel為例,人口學(xué)數(shù)據(jù)的加入使得它的性能從0.602 3 的精準(zhǔn)率、0.732 1 的召回率、0.660 9 的F1 值和0.780 3 的AUC 提升至0.631 4的精準(zhǔn)率、0.784 3的召回率、0.699 6的F1值和0.801 1的AUC,各指標(biāo)分別提升0.029 1、0.052 2、0.038 7 和0.020 8。這表明,人口學(xué)數(shù)據(jù)對心血管疾病風(fēng)險(xiǎn)預(yù)測的準(zhǔn)確性有很大幫助。同時(shí),從表3 中還可以看出,RPMC始終是表現(xiàn)最突出的預(yù)測模型。
總之,RPMC在心血管疾病風(fēng)險(xiǎn)預(yù)測任務(wù)上的突出性能表明,RPMC能將不同類型的電子病歷數(shù)據(jù)有效地結(jié)合,不僅能充分考慮到它們之間的差異性,還同時(shí)能捕獲到他們之間潛在的關(guān)聯(lián)性。
3.4.3 模型可解釋性分析由關(guān)注機(jī)制算出的權(quán)重矩陣,能夠用來衡量每個(gè)患者中每次醫(yī)療就診對心血管疾病風(fēng)險(xiǎn)預(yù)測的重要程度。因此,可以有效增強(qiáng)心血管疾病風(fēng)險(xiǎn)預(yù)測模型RPMC 的可解釋性。對每一位患者,關(guān)注機(jī)制都會算出一個(gè)權(quán)重向量,選取權(quán)重最大的一次就診記錄作為后續(xù)統(tǒng)計(jì)分析的依據(jù)。
如圖5所示,根據(jù)所有患者最重要的就診記錄集合統(tǒng)計(jì)得到關(guān)注機(jī)制中出現(xiàn)頻次最高的前10種疾病診斷編碼。該結(jié)果表明,糖尿病和高血壓對心血管疾病風(fēng)險(xiǎn)預(yù)測有著突出的影響,這和臨床上的研究結(jié)果基本一致[22]。值得注意的是,表中有5種診斷編碼是以字母“E”開頭的。根據(jù)ICD10的分類標(biāo)準(zhǔn),字母“E”開頭的疾病都屬于內(nèi)分泌、營養(yǎng)和代謝疾病種類。已有研究表明,患有代謝綜合癥狀的個(gè)體發(fā)展成心血管疾病的風(fēng)險(xiǎn)是其他人的兩倍左右[23]。根據(jù)已有文獻(xiàn)的相關(guān)結(jié)果表明,癲癇和心血管疾病的風(fēng)險(xiǎn)因素(如糖尿病、高血壓和高膽固醇等)有著密切的關(guān)聯(lián)[24]。從圖5的分析結(jié)果也可以明顯看出,癲癇(G40)的出現(xiàn)頻次排在第5 位,說明其對心血管疾病風(fēng)險(xiǎn)預(yù)測具有顯著的作用。此外,診斷編碼K75 和K29在ICD10分類標(biāo)準(zhǔn)中屬于消化系統(tǒng)疾病種類,對心血管疾病風(fēng)險(xiǎn)預(yù)測也有著重要的幫助。Klimenko等[25]在醫(yī)學(xué)上證實(shí)消化系統(tǒng)的狀態(tài)對心血管總體的膽固醇水平有很大影響,而膽固醇是臨床上公認(rèn)的心血管疾病高風(fēng)險(xiǎn)因素之一。
圖5 關(guān)注機(jī)制中出現(xiàn)頻次最高的前10種疾病診斷編碼Fig.5 Top 10 frequent diagnosis codes obtained by attention mechanism
在基于電子病歷的心血管疾病風(fēng)險(xiǎn)預(yù)測任務(wù)中,A-LSTM 是一個(gè)非常合適的表征學(xué)習(xí)方法,它完全端對端,不需要人工干預(yù),同時(shí)又能捕獲潛在的時(shí)序信息。RPMC 分別利用3 個(gè)A-LSTM 對患者的電子病歷進(jìn)行表征學(xué)習(xí),能充分考慮不同數(shù)據(jù)類型之間的差異性和潛在關(guān)聯(lián)性。通過多組實(shí)驗(yàn)的比較和多個(gè)角度的分析,RPMC在心血管疾病風(fēng)險(xiǎn)預(yù)測任務(wù)上均獲得了相對最佳的性能。
在接下來的工作中,將融入更多類型的電子病歷數(shù)據(jù),比如臨床文本、醫(yī)囑信息以及影像數(shù)據(jù)等。此外,還將進(jìn)一步驗(yàn)證和優(yōu)化RPMC 的可擴(kuò)展性和泛化性,以便其能有效處理其他更多的臨床問題。