深度 | CMU 邢波教授團隊再出新成果:利用深度學習技術預測出院用藥

.. 雷鋒網消息,隨着電子健康記錄(EHR)系統以及新的醫療保健數據源的快速發展,醫療和保健數據大量出現。數據量和複雜性的增長,醫學分析和決策變得耗時、容易出錯,並且不理想。在各種臨床決策中,制定理想的治療方案是至關重要並且很有難度的一個。即使在確診的前提下,醫生仍需根據患者病程不斷優化治療方案。

其中,在患者入院之後進行出院用藥預測就是一個重要的臨床決策,它可以幫助醫生規劃藥物種類,並決定在住院期間何時開始或停止藥物治療,因為有些藥物需要時間補充,或者進行管理其他藥物的設置。這對於醫生來說可能是一個困難的決定,因為入院時可用的信息是有限的。

雷鋒網幾天前曾報道了《CMU 邢波教授團隊最新成果:利用 AI 自動生成醫學影像報告》。近日,該團隊又出新成果,研究如何使用深度學習技術來協助醫生根據病人就診記錄中的健康信息來預測其出院用藥。他們設計了一種卷積神經網絡來分析就診記錄,然後預測病人在出院時的用藥。

雷鋒網了解到,該模型可以從非結構化和有噪聲的文本中提取語義表徵,並能自動學習不同藥物之間的藥理相關性。團隊在 2.5 萬份病人就診記錄上對該模型進行了評估,並與 4 種基準模型進行了比較。在宏平均 F1 分數上,該方法相對於最好的基準模型有 20% 的提升。

用深度學習預測出院藥物的兩大困難

在利用深度學習方法在入院就診時間對出院藥物進行預測的過程中,主要有兩方面的困難。首先,可用的就診信息大多數都是非結構化的病歷記錄(稱為入院記錄),比如既往病史、家族史、過敏等情況。與實驗室檢測數據和體征數據等結構化信息相比,這些自由形式的文本更難被機器處理和理解。此外,這些記錄還包含了同義詞、縮寫和拼寫錯誤。因此,從這些非結構化且有噪聲的文本中有效提取語義模式是我們需要解決的第一個問題。

其次,在臨床上,為了快速並有效的治癒疾病,常常會使用兩種或兩種以上的藥物,許多聯合用藥的方案在臨床治療指南或專家共識中被廣泛認可。例如,對已服用阿司匹林的中風病人,為了有效預防再次中風的發生,醫生會推薦雙聯抗血小板治療(dual anti-platelet therapy),即同時服用阿司匹林和氯吡格雷。大量研究表明多重藥物的聯合治療對疾病的進展,預后及死亡事件的發生都有一定的影響。如何自動發現和利用藥物之間的這種相關性,對於更準確的多藥物預測是至關重要的,這也是非常有價值的。

方法

研究設計

我們在之前收集到的重症監護病房(ICU)病人的電子健康記錄進行了回顧性研究(retrospective study),根據就診記錄構建了一個預測出院用藥的深度學習模型。我們對比了該模型和其他四個基準模型所預測的藥物與醫生給出的藥物的區別,從而評估了模型的性能。

數據預處理

該研究使用了 MIMIC-III 數據集並且重點關注了其中出現的 8 種抗高血壓葯:美托洛爾(metoprolol)、呋塞米(furosemide)、賴諾普利(lisinopril)、氨氯地平(amlodipine)、阿替洛爾(atenolol)、氫氯噻嗪(hydrochlorothiazide)、地爾硫卓(diltiazem)、卡維地洛(carvedilol)。

選用這些藥物是基於以下考慮:首先,這些藥物通常用於治療高血壓——一種最普遍、最嚴重的慢性疾病,它們廣泛地發生在MIMIC-III。其次,它們很難預測:它們的處方和用法有很大的差異,尤其是當它們一起使用的時候,使它們成為我們方法的一個很好的試驗台。這些藥物的頻率是不平衡的(如圖1所示):其中一些頻率非常頻繁,而另一些則是小頻率,這增加了另一層難度。值得注意的是,只要有足夠的臨床資料,我們的方法可以很容易地擴展到其他種類的藥物。

圖1.8 種抗高血壓藥物在 MIMIC-III 數據集中的頻率,Hctz 是氫氯噻嗪的簡寫

模型設計

我們開發了一個可基於就診時可用的信息來預測出院用藥的深度學習模型。該模型的輸入為就診記錄,輸出是病人的出院用藥(一種或多種)。該模型具備兩種功能:能有效地從有噪聲的和非結構化的原始文本中提取高層次的語義並能適當地考慮連續詞彙之間的序列結構;其次,該模型能學習不同藥物之間的藥理相關性。

為了同時實現這兩個目標,我們開發了一種基於卷積神經網絡(CNN)的模型。從高層面看,該模型:1)使用了多個堆疊的隱藏單元層來獲取輸入記錄的隱含語義;2) 使用了不同窗口大小的卷積算子來獲取 n-gram 中存在的局部語義和序列結構;3) 可發現常見的隱含因子,從而學習得到藥物之間的藥理相關性。

左欄顯示 8 種就診時可用的信息類型,右欄每行顯示了 MIMIC-III 中對應的提取此類信息的標題字符串

圖2.CNN 模型的網絡架構

結果

從宏平均和微平均兩種 F1 分數上來看,CNN 有遠高於其他所有基準模型的準確率。在兩種平均 F1 分數之間,CNN 在宏平均上的提升更為顯著。CNN 在 7 種藥物上都得到了最好的 F1 分數。呋塞米是唯一的例外,其中RF的表現優於 CNN。CNN 相對於基準的提升主要體現在召回率(recall)上,而其準確率則與基準模型相當。在各類基準模型中,只使用就診藥物作為輸入的 多層感知機(MLP)在宏平均和微平均 F1 上的表現最差;另外,非線性支撐向量機(SVM)和 RF 的表現優於線性的邏輯回歸模型(LR)。

CNN 相較於其它基準較高的得分來源於它分層的隱藏層結構。這樣的結構使得 CNN 能在多種粒度(單詞層面、短語層面和文本層面)上提取相關的語義信息。

設置和評估

基線模型:我們將CNN模型與SVM、RF和LR三種分類模型進行比較。與CNN不同,這些模型缺乏自動學習文本的語義表示或者在藥物之間捕獲相關性的機制。這些模型的輸入特徵是從登記記錄中提取的詞頻和逆文件頻率(TF-IDF)矢量。(雷鋒網註:TF-IDF是一種統計方法,用以評估一字詞對於一個文件集或一個語料庫中的其中一份文件的重要程度。字詞的重要性隨着它在文件中出現的次數成正比增加,但同時會隨着它在語料庫中出現的頻率成反比下降)。

正如在臨床實踐中所觀察到的,出院藥物與入院藥物密切相關,有時甚至有個很大的重疊。有人可能會懷疑,僅僅根據入院藥物預測出院藥物是否足夠,而不需要其他類型的入院信息,如過去的病史和主訴。為了回答這個問題,我們比較另一個基線,只使用入院藥物作為輸入,並使用多層感知器(MLP)來預測出院藥物。

評估指標:為了評估模型的表現,我們測量了測試集上的分類(藥物)的精確度,召回率和F1分數以及所有藥物分類的這些分數的微平均和宏平均。由於藥物類別的頻率是高度偏離的(如圖1所示),微平均值(這有利於頻繁類別)可能低估了頻繁類別中的錯誤,宏平均值可以更好地揭示模型在不頻繁班級上的表現。

結果

不同模型對降壓藥物進行5次評估,得出的準確度(P),召回率(R)和F值(F)的平均值見於表2。

表2:CNN和4個基本模型評估藥物的準確度(P),召回率(R)和F值(F)。通過微平均和宏平均來比較5種模型。

在補充表6中可見這5次準確度,召回率和F值的標準偏差。

補充表6

表2最後兩行顯示7種藥物的微平均(Micro Avg)和宏平均(Macro Avg)。單獨觀察F值可以看出,CNN比其他四種模型的微平均和宏平均要好得多。相比於微平均來說,CNN對宏平均的優化更為顯着。8種藥物其中的7種,CNN都獲得了最高的F值。唯一的例外是呋塞米,RF的F值高於CNN。與其他4種基本模型相比較,CNN主要改善了藥物的召回率,準確度的值與其他模型類似。4種基本模型中,多層感知機(MLP)方法F1值的微平均和宏平均最低,非線性支撐向量機(SVM)和RF是非線性模型,其綜合水平比基於線性模型的邏輯回歸模型(LR)好。

CNN勝過其他基本模型的一個主要原因是:它使用分層次的隱藏層從多個粒度捕獲語義信息。我們使用各種可視化指標來驗證這一點。首先,檢查嵌入向量是否能夠捕獲單詞語義。 把每個單詞視為嵌入向量w,計算嵌入向量w與其他單詞向量之間的歐幾里得距離,然後檢索距離嵌入向量w最近的單詞。表3中顯示了20個單詞及其歐幾里得距離最近的單詞。 接下來,我們用可視化指標檢測卷積層中的濾波器,並檢查它們是否能夠捕獲短語的語義。 我們通過與窗口大小相匹配的不同濾波器挑出具有最大特徵值的短語。表4顯示窗口大小為3及窗口大小為4的過濾器產生的最大特徵值短語。

討論

表2所示,綜合評價5個模型,CNN優於其他基本模型,原因主要有2個:一個原因是CNN能夠通過多種粒度捕獲語義信息,而其他基本模型缺乏這樣的機制。CNN分別利用詞嵌入層、卷積層和密集層來識別單詞語義、短語語義和文本語義。

表3.20個嵌入向量w及其歐幾里得距離最近的單詞。

表3可見每個嵌入向量與其最鄰近的單詞具有很強的臨床相關性。例如,「動脈」的鄰近單詞是「肌鈣蛋白」,這兩個詞的臨床相關性很高。

詞語之間的相關性如下:對於冠心病患者,肌鈣蛋白水平升高時,「主動脈」和「二尖瓣」將成為相關單詞,因為主動脈瓣和二尖瓣是最易患病的瓣膜。「心絞痛」和「超聲波心動圖」這兩個單詞也具有相關性,因為心絞痛可以通過超聲波心動圖診斷。這表明嵌入向量能夠很好地捕獲單詞的語義。

表4.過濾器的可視化。窗口大小為3及窗口大小為4的過濾器產生的最大特徵值短語。

通過卷積層,每個過濾器都能夠識別特定的語義。例如,過濾器1-4分別是靜脈曲張、腎臟疾病、實驗室檢查和冠狀動脈疾病。過濾器5-8分別是呼吸問題、心肌病、動脈移植和心力衰竭。有趣的是,不具有任何共同詞語但語義相關的詞存在於相同過濾器下。例如,在過濾器2中,「腎性高血壓」,「黑色大便」,「血液透析過程」,這三個詞沒有共同的詞語,但它們的語義密切相關。「黑便」是終末期腎病的常見癥狀,「血液透析」是腎病的常見治療手段。過濾器8展示了使用不同窗口大小過濾器的必要性。雖然這幾個詞語都與「充血性心力衰竭」(CHF)有關,但它們在第一個單詞的不同揭示了不同的語義。分別是CHF的轉歸,病史,病因,嚴重性和存在。如果我們只使用窗口大小為3的過濾器,那隻能獲得「充血性心力衰竭」這一個語義。但是使用窗口大小為4的過濾器可以捕獲更多粒度的語義。

在密集層中可以獲得整個文本的語義。如圖3所示,通過向量接近的程度給出出院藥物的相關注釋。例如,在第一個小圖中,很清晰地看到兩組標記物,這兩組標記物分別對應「美托洛爾」和「無美托洛爾」。其他圖也可以看到類似現象,這表明通過向量接近的程度來預測患者出院所服藥物是非常有用的。另外,通過這些圖,我們可以得到一些臨床知識。「美托洛爾」和「呋塞米」的小樣本圖中,紅色標記物與黑色標記物有很大的重疊,這表明這兩種藥物可以配伍。「氨氯地平」和「阿替洛爾」的小樣本圖可以看出,紅色標記物與黑色標記物的重疊程度很小,說明這兩種藥物很少配伍。

CNN模型勝過其他基本模型的另一個主要原因是它能夠捕獲藥物之間的相關性。CNN模型得出的相關性排名與PMI的排名非常一致。除賴諾普利以外的所有藥物,CNN模型根據相關性得到的最相關藥物與根據PMI發現的藥物相同。這表明CNN模型能夠有效地捕捉藥物之間的相關性。

我們可以看到CNN模型可以有效改善阿替洛爾、地爾硫卓等使用頻率較低藥物的F1值。美托洛爾和呋塞米等使用頻率高的藥物,CNN模型與其他模型的F1值差不多。因此,CNN模型能夠有效提高使用頻率較低藥物的F1值的宏平均。但是對於使用藥物頻率高的藥物,CNN模型對於其F1值的微平均沒有顯著改善。藥物的預測取決於兩個因素:

(i)藥物與入院信息之間的相關性; 

(ii)藥物與其他藥物之間的相關性。

對於使用頻率較低藥物藥物來說,藥物與其他藥物之間的相關性便非常重要。 CNN擁有有效捕捉藥物相關性的機制,因此更加適用於預測使用頻率較低藥物。

MLP在5種藥物中的F1值最低,而且平均F1值也低。原因是MLP模型只使用藥物作為輸入,應該輸入更多的信息,如過去病史、主訴等等。這表明出院藥物的預測與入院藥物的預測顯著不同,必須有效地利用其他類型的信息做出準確的預測。對於所有模型來說,使用頻率較高的藥物一般F值比較高,因為較大的數據庫有益於發揮機器學習的預測性能。

局限性

雖然CNN的性能比其他強大的基準模型更好,但我們討論了它的一些局限性。

首先,CNN在頻繁和不頻繁的藥物類別上的表現差距仍然很大,儘管與基線相比已經有所改善。例如,CNN在兩種最常見的藥物上的F1評分分別是0.79和0.70,這比那些不常見的藥物(阿替洛爾和hctz)要好得多。在未來的工作中,我們計劃想出辦法來彌補這個缺口。

我們方法的另一個局限是,它純粹是由數據驅動的,不包含人類的知識。在臨床實踐中,醫生參考專業協會的指導方針來開藥。這樣的指導方針可以納入CNN模型,以進一步提高預測的準確性,我們計劃在未來進行探索。

再次,在我們目前的方法中,只有醫療信息被用來預測出院藥物。非臨床因素,如保險類型,藥物費用,影響藥物處方,也應該納入預測模型。

最後,MIMIC-III中的注意事項非常嘈雜,我們目前的預處理步驟不能完全處理這些噪音。例如,用於識別不同類型的准入信息的標題字符串並不是詳盡無遺的,這導致了大量的信息丟失。下一步,我們將手動處理這些「角落裡」的案例,並將它們納入訓練集。

結論

我們發現,只有使用入院時可用的信息才能準確預測出院藥物。這樣的預測可以為醫生提供有價值的信息來制定治療計劃。在8種藥物中,CNN模型達到0.63的(微觀平均)精確度,召回率為0.70。

就宏觀平均F1分數而言,CNN模型勝過20%以上的最佳基線模型。性能增益歸功於CNN的兩種能力,而這兩種能力並不屬於基線方法。首先,CNN能夠學習文本的語義表示。我們對單個模型組件進行詳細的可視化,包括單詞嵌入、卷積過濾器和密集層。

這些可視化表明,CNN模型能夠從原始文本中提取不同粒度的語義。其次,CNN能夠通過共享潛在因素的機制來捕捉藥物之間的相關性。這種能力是CNN比基線表現更好的另一個主要原因是被捕獲的相關療法缺乏訓練樣本,特別是在不常見的藥物治療中。

儘管我們解決方案的靈感是從一個特定的任務中得來的,但它也可能成為其他臨床預測任務的通用方案。例如,通過將目標標籤從藥物轉移到疾病,CNN就可以被用於輔助診斷。


想在手機閱讀更多業界資訊資訊?下載【香港矽谷】Android應用
分享到Facebook
技術平台: Nasthon Systems