論文筆記整理:吳銳,東南大學碩士。
來源:SIAM ICDM 2020
論文下載地址:
https://epubs.siam.org/doi/abs/10.1137/1.9781611976236.3
動機
基於電子病歷(EHR,Electronic Health Records)對患者未來的健康狀態進行預測是一個重要的研究課題。由於EHR數據的時序性質,該任務的主要挑戰在於如何正確對患者的訪問序列進行建模。RNN結合attention機制已經被廣泛用於解決該問題,但該方法常常會受到數據量不足的影響。例如,對於一些罕見的疾病,在數據中所出現的次數往往會很少,甚至是個位數,這對深度學習模型的學習非常不利。對此,一些學者提出了引入了醫療知識(例如醫學知識圖譜)作爲指導的模型進行預測,從而解決該問題。這些模型雖然能夠爲醫學變量(例如不同的疾病)學習到加入了知識的、合理的embedding,但是它們只能夠部分地利用知識圖譜中存在的信息,而無法充分獲取其圖結構的特徵。這些圖結構信息可能會有助於提升模型的預測效果。
貢獻
爲了解決這個問題,作者提出了一種端到端的、魯棒的解決方法,稱之爲基於圖神經網絡的診斷預測(GNDP,Graph Neural Networks based Diagnosis Prediction)。該方法能夠從患者的序列圖中學習到空間上以及時間上的pattern,並且這些pattern自然地融入了領域知識。其基本思想在於,根據醫學本體中的層級結構與關係,來構建圖形式的EHR數據。
圖1
數據的原本形式如圖1(a)所示,即一個visit的序列數據,每個visit下面會有一些診斷的疾病信息(A, B, C, D)。根據醫學疾病的本體圖(例如ICD,International Classification of Diseases或CCS,Clinical Classifications Software),可以將原本的數據構建成如圖1(b)所示的圖結構的數據。這樣不僅包含了原有的序列信息,同時還包含了醫學本體圖的知識。因此,可以設想,直接從圖形數據中挖掘患者的模式要優於分別使用序列數據和醫學本體論。
概括地來說,本文的貢獻可以分爲以下幾點:
1.提出了一種基於圖形卷積網絡的端到端、魯棒性強的診斷預測模型GNDP,該模型能夠利用EHR數據潛在的時空依賴性,準確預測患者未來的診斷;
2.介紹了一種圖形EHR數據的構建方法,可以利用醫學本體來豐富原始數據的信息;
3.在診斷預測任務中,GNDP優於最新的RNN結合attention機制的方法。
方法
1.圖形EHR數據構建
在原始的EHR數據中,每個患者的數據可以表示爲一個醫療代碼的序列。具體來說,每個患者到醫院的一次訪問都可以編碼爲一個二進制的向量,用於表示在該次訪問中患者診斷出了哪些疾病。每個患者的數據包含多次visit,按照時間順序就構成了一個向量的序列。
在該工作中,作者採用了由醫學代碼(一般指國際通用的、表示疾病的icd碼)以及醫學本體中的parent-child關係組合而成圖結構來表示EHR數據。具體來說,最終的表示類似於圖1。該圖結構本身是一個醫學本體圖(例如CCS或者ICD分類信息),每個葉子結點(紅色的結點)表示出現在EHR數據中的疾病代碼,藍色的結點葉子節點所屬的類別信息。每個葉子節點上的向量表示在原始的EHR數據中,每一個疾病代碼對應着一個N*1的向量,其中N表示患者總共有N次visit,對應值表示在每次visit上該疾病是否被診斷。
2.基於圖卷積神經網絡的診斷預測模型
圖2
模型的整體框架如圖2所示,框架的輸入是通過上述方法所構建的圖形EHR數據。數據輸入後,首先用一個batch normalization層來對輸入進行normalize。接下來是一個包含兩個卷積層的ST-GCN:第一層是空間圖卷積,通過圖卷積的方式讓每個結點的特徵沿着圖的邊進行傳播,得到每個結點新的、包含鄰居節點信息的向量表示;第二層通過時間上的卷積來獲取上述生成的向量之間的時間依賴性。在這之後,通過一個channel-wise的注意力層來幫助模型關注在有意義的channel上。將ST-GCN單元以及channel-wise注意力層和一個激活層堆在一起得到一個GNDP塊,最終六個GNDP塊組成了整個模型。同時後還有一個feature fusion的操作在此不做贅述。下面具體介紹一下各個模塊。
(1)空間圖卷積
假設已知鄰接矩陣A以及結點的特徵向量F,圖卷積的公式如下:
其中D是圖的度矩陣,I是表示結點的self-connection的單位矩陣,W是學習的參數。
那麼實際上一個病人的圖的信息可以表示爲一個維度爲(C_in, N, d)的張量,其中C表示input channel的數量,N表示結點的數量,d表示結點特徵的維度。在做GCN之前,作者還使用一個權重矩陣W以及一個偏置向量b來獲得一個新的維度的表示。具體的公式如下:
(2)時間依賴性的建模
由於EHR數據在時間方向上有着良好的順序性質並且有一個限定的長度,這使得我們可以通過一個簡單的卷積操作來提取時間域上的特徵。具體來說,輸入的feature map可以表示爲一個維度爲(C_in, N, T, d)維度的張量,其中T表示時間戳的長度(也可以理解爲一個患者visit的次數)。通過空間圖卷積之後,張良的形狀變成了(C_out, N, T, d’)。這裏注意空間圖卷積對於T的維度大小是沒有影響的。時間卷積(temporal convolution)的操作定義如下:
其中γ是一個表示temporal kernel大小的參數,來控制卷積過程中所包含的時間戳的數量。通過一個帶激活函數的全卷積層,Ftemporal的第一個維度被reshape爲L,L表示真實數據的維度。最終的輸出如下:
(3)目標函數
診斷預測是一個multiple label的分類任務,因此作者使用binary 的交叉熵loss作爲目標函數。單個病人的loss計算公式如下:
圖3展示了時間、空間卷積的簡單示意圖。
圖 3
實驗
實驗是分別基於兩個數據集進行的。其一是 MIMIC-III 數據集,是一個公開的重病護理benchmark dataset;另一個是一個未公開的數據集。具體的信息如表1所示。此外,作者用CCS本體來構建本體圖,同時使用疾病的ICD類別來作爲預測時的標籤。
表1
實驗指標主要使用了visit-level precision @k和code-level accuracy @k。visit-level precision @k測量了某一個患者在每一個visit上的預測的精確率,計算公式如下所示:
其中表示在由概率排序的top-k輸出中正確的預測數量,表示在目標visit出現的總的類別數。code-level accuracy @k測量了整個模型預測的準確率
其中P表示所有患者的數量。
實驗結果
實驗結果如表2與表3所示。
表2
表3
其中表1通過對比實驗體現了模型的各個模塊的作用。而表2則對比了一些已有的工作,可以看出來該工作在各種粒度的實驗上都有着一定的效果的提升。
總結
本文中,作者提出了GNDP,一個全新的基於EHR數據來預測患者未來健康狀況的方法。得益於GNNs,GNDP可以從患者的序列的圖數據學習出空間以及時間上的patterns,並且能夠自然地融合將medical ontology的知識與EHR數據中的信息相結合。通過這種方式,GNDP能夠充分地使用醫學知識來提升預測的準確率。作者通過實驗檢驗了模型各個部分的必要性,並在兩個數據集上與SOTA方法進行對比,結果表明GNDP在現有方法的基礎上有了顯著的效果提升。
OpenKG
開放知識圖譜(簡稱 OpenKG)旨在促進中文知識圖譜數據的開放與互聯,促進知識圖譜和語義技術的普及和廣泛應用。
點擊閱讀原文,進入 OpenKG 博客。