?

基于自監督對比學習的病人相似性度量研究

2023-05-13 05:04怡,楊
遼寧科技大學學報 2023年1期
關鍵詞:異構相似性視圖

李 怡,楊 丹

(遼寧科技大學 計算機與軟件工程學院,遼寧 鞍山 114051)

病人相似性[1]是利用病人的醫療實體作為特征進行學習,把具有相似特征的病人劃分為一個病人相似組。正確識別具有相似臨床特征的病人可以為診斷和用藥提供臨床參考。因此,有效利用醫療實體提高病人相似性度量的精準性,對提升醫療服務水平,推動個性化醫療建設具有重要意義。

圖神經網絡(Graph neural networks,GNN)[2]能夠很好地處理像醫療這樣復雜的數據,通過聚合鄰居信息有效學習節點的向量表示。但圖神經網絡研究大部分是基于半監督學習,需要大量的節點標簽,現實生活中獲取節點標簽費時費力,且大部分圖神經網絡通過構建鄰接矩陣來表示學習并不能充分學習到結構和語義信息。而自監督對比[3]無需標簽也可以學習有意義的節點向量表示,利用不同的對比視圖提取節點正樣本與負樣本,最大程度上使正樣本相近而負樣本相遠,這樣不僅能夠充分挖掘數據中結構和語義信息,也無需依賴標簽。但將自監督對比學習應用于圖神經網絡以提高病人向量的精準性,還需要解決兩個問題:(1)電子病歷(Electronic medical record,EMR)[4]中含有多種類型的節點,節點間含有豐富的結構信息及語義信息,將這些節點嵌入低維向量空間具有一定挑戰性。(2)僅通過圖神經網絡來聚合節點信息還遠遠不夠,還要考慮節點間存在一致及差異的特點,學習節點間復雜的相關性。

針對上述問題,本文提出基于自監督對比學習的病人相似性框架SCO4PS。該框架首先從EMR 中構建醫療屬性異構信息網絡[5],保留數據間豐富的異構關系,從中選取藥物視圖和程序視圖,通過圖卷積神經網絡學習兩個病人特征表示。然后利用自監督對比機制進行視圖內與視圖間的對比學習,捕獲視圖中病人節點表示的相互關聯、互補的關系信息,提高圖編碼后的效果。最后,將病人向量表示輸入到相似性度量函數中進行病人相似性計算。

1 病人相似性度量

1.1 基于機器學習的病人相似性

傳統的病人相似性方法一般是通過機器學習進行病人相似性研究。例如,Huang等[6]提出一種基于Jaccard系數和歐氏距離的病人相似性度量方法,以此建立預測模型,用于糖尿病的預測。Lee等[7]利用基于余弦的病人相似度度量來測量病人間的相似性,通過識別和分析過去相似的病人來構建動態個性化決策支持系統。王妮等[8]提出基于半監督學習的病人相似性度量,并與傳統的歐氏距離和余弦距離結果進行比較,證明所提出的病人相似性度量方案的有效性。Chan等[9]使用支持向量機進行病人相似性加權,以此進行相似性分析。Sun 等[10]提出局部監督度量學習的病人相似性方法,通過調整距離找到相似病人。然而,機器學習應用于病人相似性研究具有一定的局限性,既未充分利用各種類型的醫療數據,也未有效學習醫療數據中豐富的結構及語義信息。

1.2 基于圖神經網絡的病人相似性

圖神經網絡通過神經網絡學習圖結構數據,對圖中相鄰節點信息進行傳播和聚合,能夠很好地處理像醫療這樣節點類型多樣且復雜的數據。因此,圖神經網絡被廣泛應用于醫療領域并取得了不錯的成果。例如,Huang等[11]提出一種利用患者疾病和藥物數據的患者相似度計算方法,通過注釋異構信息網絡建立模型,并使用S-PathSim來衡量患者的相似性。Gu等[12]提出一種新的深度學習框架SSGNet,將電子病歷構建成圖來學習節點嵌入和節點間的相似性,并優化病人的圖結構,增強模型容量進行病人相似性學習,減少病人間潛在關系的稀疏性給相似性帶來的困難。Wei 等[13]提出一個端到端鑒別學習框架SparGE,通過聯合稀疏編碼和圖嵌入來度量相似性。Sun 等[14]提出一種新的基于深度學習的動態患者相似性分析模型,用于計算病人相似性。

2 病人相似性框架SCO4PS

SCO4PS框架主要分為三部分:第一部分為病人的醫療屬性異構信息網絡構建,第二部分為病人的多視圖對比學習模塊,第三部分為病人相似性度量模塊??蚣芙Y構如圖1所示。

圖1 基于自監督對比學習的病人相似性框架圖Fig.1 Patient similarity framework based on self-supervised contrastive learning

2.1 病人的醫療異構信息網絡構建

從EMR 中提取病人實體及病人相關的醫療實體(藥物、程序),構建病人的醫療屬性異構信息網絡。該網絡由病人P={p1,p2,…},藥物D={d1,d2,…},程序T={t1,t2,…}三類節點組成,有病人-程序、病人-藥物兩條類型邊,同時每個病人包含一段醫療文本作為病人屬性,該文本描述病人的年齡、性別、手術情況、用藥情況等基本信息。

2.2 病人的多視圖對比學習

從病人的醫療屬性異構信息網絡中提取藥物視圖及程序視圖進行多視圖學習。多視圖學習是基于病人不同的視圖來捕獲視圖間相互關聯、互補的關系信息以及自身的信息,使用自監督對比學習來平衡不同視角學習特征,從而得到更準確的病人節點表示。

2.2.1 元路徑視圖 藥物視圖和程序視圖內部又劃分為元路徑視圖和網絡模式視圖,如圖1 中a和b 所示,元路徑視圖能夠聚合高階的結構信息,可以學習到二階或者更高階的信息。在病人的醫療屬性異構信息網絡中,兩個節點可以通過不同的語義路徑進行連接,稱為元路徑。

給定一條元路徑Rn∈{R1,R2},其中R1和R2分別表示病人-藥物-病人元路徑和病人-程序-病人元路徑,以病人目標節點i開始,得到基于元路徑的鄰居。而后,通過聚合鄰居信息學習其不同語義及其相關性,使用特定元路徑的圖卷積神經網絡(Graph convolutional networks,GCN)來編碼聚合,計算式

式中:di,dj是節點i,j 的度;pi,pj是節點i,j的投影特征;pRni表示元路徑Rn下病人pi的嵌入表示,

2.2.2 網絡模式視圖 網絡模式視圖通過節點間的直接聚合,學習病人的一階鄰居信息,考慮病人異構信息網絡中的局部結構信息。病人目標節點i連接不同類型鄰居Φs∈{Φ1,Φ2},其中Φ1={d1,d2,…,dm}表示藥物類型節點,Φ2={t1,t2,…,tm}表示程序類型節點,目標節點通過Φs類型連接的鄰居節點被定義為NiΦs。通過聚合這些一階節點學習病人的局部結構特征,采用GCN聚合方法,計算式

式中:pj為節點j的投影特征;為聚合不同類型節點后病人pi的嵌入表示。

2.2.3 視圖注意力聚合 分別得到藥物視圖下的病人嵌入表示和,以及程序視圖下的病人嵌入表示和后,對元路徑視圖和網絡模式視圖進行視圖注意力聚合學習兩個視圖的重要性,得到最終的嵌入表示zi

其中,βΦs和βRn分別表示Φs類型鄰居和元路徑Rn對目標節點i的重要性,以βΦs為例,其計算式

其中,V表示目標節點集,W∈Rd×d,b∈Rd×1是可學習參數,a是視圖級注意向量。

2.2.4 視圖間對比學習 通過編碼聚合分別學習到藥物視圖和程序視圖的最終病人嵌入表示zdrugi和zproi后,將它們輸入到含有隱藏層的多層感知器中,以此將它們映射到對比損失空間中

式中:W2,W1,b2,b1為可學習參數,在兩個視圖中共享;σ表示RELU激活函數。

在計算對比損失函數時需要進行正負樣本的選擇,且異構信息網絡中兩個節點之間連接數越多,越能說明這兩個節點高度相關。因此,如果兩個病人節點間由多個醫療實體連接,那么把這類節點設為正樣本,其他則為負樣本。假設有目標病人節點i與病人節點j,定義一個函數Ci(j)統計兩個病人節點連接醫療實體的總數,計算式為

設置一個正樣本閾值Kpos,若Ci(j)>Kpos,則為正樣本,記作K+ ,否則為負樣本記作K- 。目標節點病人Pi與Pj共同使用的醫療實體(藥物、程序)個數超過所設定的閾值Kpos,那么病人Pj就是病人Pi的正樣本,如圖2所示。

圖2 正樣本閾值設定Fig.2 Threshold setting of positive samples

選好正負樣本后,進行藥物視圖和程序視圖間的對比學習,計算藥物視角下的對比損失

同理把程序視圖作為目標嵌入,從藥物視圖中選取正負樣本,得到在程序視角下的對比損失Lpro。

將藥物視角下的對比損失和程序視角下的對比損失結合,得到視圖間的對比損失Linter,這樣既保留了藥物視圖與程序視圖之間的相關性,也以此實現跨視圖自監督對比學習。

式中:V表示節點集合;α是平衡兩個視圖的超參數,這里將α設置為0.5。

2.2.5 視圖內對比學習 視圖內對比學習僅考慮單個視圖本身,從自身選取正負樣本進行學習,以此保留自身結構及語義信息,具體計算式

其中,Kdrug+表示在藥物視圖內選取的正樣本;Kdrug-表示在藥物視圖內選取的負樣本;sim(·)計算視圖內兩個病人間的相似度。

程序視圖的對比損失與藥物視圖對比損失計算方法相同,由此分別得到兩個視圖自身的對比損失和。為了最終全面學習視圖內和視圖間的病人表示,計算多視圖編碼模型優化整體損失L

其中,β是平衡不同損失函數的超參數,在實驗過程中對β使用不同數值進行測試,通過實驗證明參數β為0.5時模型效果最好。

2.3 病人相似性度量

將模型優化后得到的藥物視圖病人表示和程序視圖病人表示相融合,得到病人的低維向量表示,以此進行病人相似性度量。

病人相似性度量通過病人間兩相比較,病人的特征向量由藥物、程序、醫療文本組合而成。給定一個目標病人,通過將病人的嵌入向量輸入到相似性度量函數中,以此計算目標病人與其他病人的相似度。相似度越高,說明兩位病人間具有相同標簽的可能性越高;反之,說明病人之間具有不同標簽的可能性越高。病人Pi和病人Pj的相似度記作

其中,ZP表示病人的嵌入向量。

3 實驗結果及分析

為了評估SCO4PS 在病人疾病分類任務中的效 果,將SCO4PS 與Metapath2Vec、GCN、GAT(Graph attention networks)、HAN(Heterogeneous graph attention network)方法進行對比實驗。

3.1 數據集

MIMIC-Ⅲ(Medical information mart for intensive care Ⅲ)[15]是一個免費向公眾開放的重癥監護醫學信息的大型數據集。本文從數據集中提取出呼吸衰竭(Respiratory failure)、冠心?。–oronary disease)、心臟?。℉eart failure)、敗血癥(Septicemia)、胃炎(Gastritis)這5類疾病后,從患有這些疾病的病人中提取出藥物、程序以及病人的醫療文本數據。對這些數據進行缺失值處理,將預處理后的數據用于后續實驗。

3.2 參數設置

對比模型Metapath2vec 的窗口大小設為5,行走長度為100,每個節點的行走長度為40,負樣本數量為5。所有模型的學習率統一設為0.001,Drouput 為0.5,采用Adam 優化器,嵌入維度為128。SCO4PS的藥物視圖和程序視圖都使用兩層GCN。

3.3 疾病分類

將SCO4PS 與其他基線模型得到的病人節點向量作為病人分類器的輸入,進行病人疾病分類任務。采用宏觀F1(Macro-F1)、準確率(Accuracy)作為分類任務的評價指標,結果如表1 所示。SCO4PS 各指標都優于其他方法,其準確率為0.879,F1 值為0.850。HAN 模型各指標次之。因為SCO4PS考慮了節點間的異構性,能夠更好地保留異構圖中豐富的語義及其相關性,因此要優于同構圖GCN 和GAT;同時,通過自監督對比學習的預訓練提取了豐富的語義及結構信息,最終效果優于HAN。節點特征對下游任務起著至關重要的作用,因此通過圖神經網絡訓練節點特征要優于隨機游走的模型Metapath2vec。

表1 疾病分類Tab.1 Disease categories

3.4 病人聚類

聚類分析可以觀察到不同疾病分布情況。將SCO4PS 與其他基線模型進行聚類對比,采用蘭德指數(RI)、純度(Purity)、標準化互信息(NMI)三個聚類指標對病人聚類任務進行評估,結果如圖3所示。

圖3 病人聚類分析結果Fig.3 Clustering analysis results of patients

SCO4PS 在各指標中都優于其他基線模型。SCO4PS 的NMI指標為0.716,比HAN 高出2.1%,比GAT 模型高出2.7%,比Metapath2vec 高出10.5%,比GCN高出11.8%。SCO4PS的RI指標和Purity指標分別為0.796 和0.879,其他基線的RI指標和Purity指標分別為0.689、0.717、0.743、0.759和0.823、0.827、0.853、0.855。這說明從多視圖中能夠更有效地學習異構圖中病人的節點表示,并且通過自監督對比學習能夠提取病人節點豐富的語義和結構信息,進一步提高病人的聚類效果。

4 結 論

本文提出一個通過自監督對比學習來捕獲異構信息網絡中病人的局部結構信息和豐富的異構語義及其相關性的病人相似性框架SCO4PS。首先構建藥物視圖和程序視圖,對兩個視圖進行編碼后,通過兩個視圖提取到的病人正負樣本進行視圖內對比學習及視圖間對比學習,使視圖能夠學習自身信息的同時也能夠互相交互監督,以此進一步學習到病人的節點嵌入表示,最后將學習到的病人表示輸入到病人相似度量函數中計算病人相似性。與其他基線模型在MIMIC-III 數據集中進行對比實驗,SCO4PS 指標均好于其他模型,表明本文提出的病人相似性框架的有效性。

猜你喜歡
異構相似性視圖
一類上三角算子矩陣的相似性與酉相似性
試論同課異構之“同”與“異”
淺析當代中西方繪畫的相似性
5.3 視圖與投影
視圖
Y—20重型運輸機多視圖
SA2型76毫米車載高炮多視圖
異構醇醚在超濃縮洗衣液中的應用探索
overlay SDN實現異構兼容的關鍵技術
低滲透黏土中氯離子彌散作用離心模擬相似性
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合