以異質關係進行疾病診斷碼表示法學習之研究
全文
(2) 摘要 以異質關係進行疾病診斷碼表示法學習之研究 羅仕翰 疾病診斷碼表示法的學習在近年來被廣為研究,然而許多研究僅考慮疾病診 斷碼間的出現關聯資料。本論文以疾病診斷碼為主體,同時考慮與其他診斷碼、 個人屬性特徵、醫療用藥或醫療處置等資料出現的關聯進行表示法的學習,用於 下一次看診的疾病診斷碼進行預測。本論文提出兩種訓練表示法的方法,第一種 是對各屬性特徵分開進行獨立訓練,第二種是將特徵合在一個模型中進行聯合訓 練。表示法訓練完成後,針對兩種不同的表示法訓練方法所得到的疾病診斷碼表 示法提供對應的預測模型,其中針對獨立訓練的疾病診斷碼表示法提出三種整合 方式:直接接合、權重合成及注意力機制。實驗結果顯示,獨立訓練模型的直接 接合及注意力機制整合方式,以及聯合訓練模型,與 Med2Vec 相較起來,在預 測效能都有顯著的上升。特徵組合探討方面,以聯合訓練模型,特徵採用疾病診 斷碼搭配看診時間及醫療處置時,可得到最佳預測效果。. 關鍵字:疾病診斷碼預測、獨立訓練、聯合訓練、整合模型. i.
(3) ABSTRACT Representation Learning for Diagnosis Codes by Heterogeneous Relationships by Shih-Han Lo Representation learning of diagnosis codes is studied by extensive research, but most of them only use co-occurrence data among disease codes. This thesis not only takes the disease codes, but also uses the occurrence data with other diseases, the personal features, and the medical or procedure treatments for representation learning, which are used to predict the diagnosis codes occurring in the next visit. We propose two methods for representation learning of diagnosis codes. The first one is an independent model to train the representation of diagnosis codes by each feature separately. The second one uses all features to jointly train their representation in the same model, which is called the joint learning approach. Moreover, for the learnt representations of codes, there are different prediction models designed. Among them, three integrational methods are proposed to combine the representations learnt from independent model in the prediction model, i.e., concatenation, combination with weights, and attention mechanism. The results of experiments show that the performances of independent model with concatenation, independent model with attention mechanism and joint learning model are better than Med2Vec significantly. In terms of feature combination, the best predictive effect is obtained by the joint training model by using disease diagnosis codes, diagnosis time, and medical procedures.. Keywords: Diagnosis Codes Prediction, Independent Training Model, Joint Learning, Integration Model ii.
(4) 誌謝 在我研讀碩士班的期間,能完成碩士學位與論文,首先感謝我的指導教授柯 佳伶老師。感謝老師耐心且嚴格的指導,在我完全沒有頭緒時指引論文研究方向, 讓我能順利完成研究,並在處事上也學習到面對問題的態度與思考的方式。在論 文撰寫階段,感謝老師耐心地逐字批改並指導我論文寫作的技巧。由衷地感謝老 師這些日子的包容與指導。 感謝吳宜鴻教授和徐嘉連教授在百忙之中擔任我的口試委員,給予我許多寶 貴的建議及指導,讓我更清楚地了解自己不足之處,使此論文更加完善,在此致 上最深的謝意。 感謝雅雯、翊誠、佑翔、劭崴,在論文討論上總是能與我討論和指點,在程 式設計和練習報告上給了我很多意見和幫助。感謝實驗室的學弟妹們,在口試時, 幫忙布置教室、紀錄與攝影,謝謝你們。 感謝我的家人,在迷失自我時,時常關心我的論文進度。對於碩士班期間不 斷支持我的人,在此獻上最大的謝意,因為有你們,我才能完成碩士學位。謝謝 大家。. 羅仕翰 謹識 於國立台灣師範大學資訊工程研究所 2020 年 3 月. iii.
(5) 目錄 摘要 ........................................................................................................................... i ABSTRACT .............................................................................................................. ii 誌謝 ......................................................................................................................... iii 附圖目錄 ................................................................................................................. vi 附表目錄 ............................................................................................................... viii 第一章. 緒論........................................................................................................... 1. 1.1. 研究動機 .................................................................................................. 1. 1.2. 研究目的 .................................................................................................. 2. 1.3. 研究問題 .................................................................................................. 2. 1.4. 論文方法 .................................................................................................. 7. 1.5. 論文架構 ................................................................................................ 10. 第二章. 文獻探討 ..................................................................................................11. 2.1. 向量表示法學習及其預測 ...................................................................... 11 2.1.1. 文字資料 ...................................................................................... 11. 2.1.2. 病歷記錄預測.............................................................................. 12. 2.2. 注意力機制 ............................................................................................ 14. 2.3. 聯合訓練 ................................................................................................ 16. 第三章. 問題定義與資料前處理 .......................................................................... 18. 3.1. 問題與名詞定義 .................................................................................... 18. 3.2. 輸入資料產生方法................................................................................. 19. 第四章. 病歷紀錄特徵向量學習與預測 .............................................................. 24. 4.1. 疾病診斷碼向量表示法之訓練 ............................................................. 24. 4.2. 4.1.1. 獨立訓練 ..................................................................................... 24. 4.1.2. 聯合訓練 ..................................................................................... 30. 預測模型 ................................................................................................ 33 4.2.1. 針對獨立訓練.............................................................................. 34. 4.2.2. 針對聯合訓練.............................................................................. 39. iv.
(6) 第五章. 實驗結果評估與探討 .............................................................................. 41. 5.1. 資料集及其型態 .................................................................................... 41. 5.2. 向量表示法訓練回合數調定 ................................................................. 42 5.2.1. 獨立訓練回合數調定 .................................................................. 42. 5.2.2. 聯合訓練回合數調定 .................................................................. 44. 5.3. 評估指標 ................................................................................................ 45. 5.4. 實驗評估 ................................................................................................ 46. 第六章. 5.4.1. 不同方法的預測效能評估 .......................................................... 46. 5.4.2. 特徵組合探討.............................................................................. 50. 結論與未來研究方向 .............................................................................. 64. 參考文獻 ................................................................................................................ 65 附錄一. ICD-9 編碼分類列表 .............................................................................. 67. v.
(7) 附圖目錄 圖 1.1 電子病歷記錄(Electronic Health Records, EHR)欄位對照 ........................... 3 圖 1.2 電子病歷之部分門診病歷記錄範例 ............................................................ 5 圖 1.3 電子病歷之部分用藥記錄範例 .................................................................... 6 圖 1.4 電子病歷之部分處置記錄範例 .................................................................... 6 圖 1.5 病歷記錄學習與預測流程圖 ........................................................................ 9 圖 2.1 Med2Vec 架構[2] ...................................................................................... 13 圖 2.2 Self-Attention 架構[12] ............................................................................. 16 圖 2.3 地點推薦系統二分圖關係圖範例 .............................................................. 17 圖 3.1 看診記錄(ICD-9 疾病診斷碼)轉換成二元向量範例.................................. 20 圖 3.2 看診記錄(月份)轉換成二元向量範例 ........................................................ 20 圖 4.1 向量表示法獨立學習模型:以 (a) Code-Code 及 (b) Code-Location 為例 ........................................................................................................................ 26 圖 4.2 聯合訓練模型 ............................................................................................. 31 圖 4.3 獨立訓練與整合模型架構圖 ...................................................................... 34 圖 4.4 整合模型之「直接接合」,以 7 個特徵全部使用為例.............................. 35 圖 4.5 「直接接合」的向量表示法接合方式,以採用特徵 Code-Code 與 Code-Time 所得之向量表示法為例.................................................................................. 35 圖 4.6 整合模型之「以權重合成」,以 7 個特徵全部使用為例 .......................... 36 圖 4.7 整合模型之「注意力機制」以產生權重參數值之架構圖 ........................ 38 圖 4.8 聯合訓練模型用於預測疾病診斷碼之架構 ............................................... 39 圖 5.1 不同特徵模型做獨立訓練之損失函數曲線圖 ........................................... 43 圖 5.2 聯合訓練之損失函數曲線圖(使用 7 個特徵) ............................................ 45 圖 5.3 對五種模型不同 k 值所得之 Precision@k、Recall@k、及 F1@k ............ 47 圖 5.4 採 用 Joint Learning , 以 逐 步 刪 減 特 徵 方 式 評 估 不 同 特 徵 組 合 下 之 Precision@3 .................................................................................................... 52 圖 5.5 採用聯合訓練向量表示法,以逐步刪減特徵方式評估不同特徵組合下之 Recall@3 ......................................................................................................... 53. vi.
(8) 圖 5.6 採 用 Joint Learning , 以 逐 步 增 加 特 徵 方 式 評 估 不 同 特 徵 組 合 下 之 Precision@3 .................................................................................................... 55 圖 5.7 採用 Joint Learning,以逐步增加特徵方式評估不同特徵組合下之 Recall@3 ........................................................................................................................ 56 圖 5.8 採 用 IM–Attention , 以 逐 步 刪 減 特 徵 方 式 評 估 不 同 特 徵 組 合 下 之 Precision@3 .................................................................................................... 58 圖 5.9 採用 IM–Attention,以逐步刪減特徵方式評估不同特徵組合下之 Recall@3 ........................................................................................................................ 59 圖 5.10 採 用 IM–Attention , 以 逐 步 增 加 特 徵 方 式 評 估 不 同 特 徵 組 合 下 之 Precision@3 .................................................................................................... 61 圖 5.11 採 用 IM–Attention , 以 逐 步 增 加 特 徵 方 式 評 估 不 同 特 徵 組 合 下 之 Precision@3 .................................................................................................... 62. vii.
(9) 附表目錄 表 3.1 病歷記錄資料庫中各特徵說明 .................................................................. 23 表 4.1 獨立訓練各模型之輸入層到嵌入層對應公式 ........................................... 27 表 4.2 獨立訓練各模型之嵌入層到輸出層對應公式(輸出向量僅有一個 1 時) .. 28 表 4.3 獨立訓練各模型之損失函數公式(輸出向量僅有一個 1 時) ..................... 29 表 4.4 獨立訓練各模型之嵌入層到輸出層對應公式(輸出向量可能有多個 1 時) ........................................................................................................................ 29 表 4.5 獨立訓練各模型之損失函數公式(輸出向量可能有多個 1 時) ................. 30 表 4.6 聯合訓練各特徵輸出層個別計算公式....................................................... 32 表 5.1. CMU 資料集統計數據 .............................................................................. 42. 表 5.2 向量表示法獨立訓練時各特徵模型訓練回合設定值................................ 44 表 5.3 模型整體效能 (a)Precision@3 及(b)Recall@3........................................... 50. viii.
(10) 第一章. 緒論/. 1.1 研究動機 隨著電子化時代的發展,幾乎所有資料都用數位化的方式表示及儲存。 在醫療大環境的政策下,大多數醫院的病歷資料也由原本文字書寫,改成以電子 化的方式存取。這些記錄能夠幫助醫生掌握病人的狀況,同時更能在充分資訊的 輔助下,減少診斷錯誤的發生。電子病歷中的診斷記錄多採用疾病分類系統的標 準編碼,讓國際間的病歷資料得以互相交流。目前電子病歷系統的診斷普遍採用 ICD-9 編碼,包括一個長度為 3 的數字編碼,以及小數點最多 2 位的次編碼。例 如 716.14 表示手部創傷性關節病變,其中 716 為關節病變的主編碼,14 為次編 碼。ICD-9 為世界衛生組織(World Health Organization,WHO)所創立之國際疾病 分類(International Classification of Diseases,ICD)編碼的一種,這種編碼是對徵兆、 症狀、不適等病況所做的分類。ICD-9 編碼雖然可表達出疾病主類別的不同,卻 無法表示出不同主類別編碼間的相關醫療概念。例如以下三個疾病:716.14 表示 手部創傷性關節病變,728.71 表示足底筋膜纖維瘤病,742.3 表示先天性水腦症。 前面兩個疾病皆屬於「肌肉骨骼系統及結締組織疾病」類別,關聯性較高,第三 個疾病則分到「先天畸形」類別,但我們無法從編碼得知這些疾病或類別之間的 關聯。 對於大量病歷資料進行分析,以機器學習的角度來說,如果資料無法表示出 疾病診斷碼潛在的醫療概念,就無法有效分析出與其他病歷記錄的關係。因此, 1.
(11) 如何將 ICD-9 碼轉換成特徵向量表示法,進而能用來有效分析預測病歷中隱藏 的病況或疾病間的關聯,並在特定最長看診間隔的限制下做出正確的診斷編碼預 測,是很重要的研究主題。. 1.2 研究目的 將病歷記錄轉換成特徵表示法在近年來被廣為研究[2][3][4],有的方法搭配 特定預測任務的網路模型,例如長短期記憶(Long Short-Term Memory, LSTM)、 注意力機制(Attention Mechanism)等進行學習。這些方法雖然效能不錯,然而大 都僅使用疾病診斷碼間的出現關聯資料。如何結合病人的其他個人基本特徵資料 及用藥和處置資料,使疾病診斷碼特徵向量表示法能表示出與其他特徵資料有關 的語意概念,以提高預測模型的效能,為本論文的研究目的。. 1.3 研究問題 本論文採用的資料是醫院病歷資料系統中加密過的去識別化資料,每筆病歷 記錄包含病患代碼(可以為識別代碼或加密的身分證字號)、年齡、居住地區、看 診日期、用藥與醫療處置等資料,共分成三個表,如圖 1.1 所示。其中(a)為門診 診斷表,(b)為醫療用藥表,(c)為醫療處置表。標粗體的欄位為加密身分證字號 (ID)及批價序號(chart_no),這兩個欄位可用來整合不同表,取出同一位病患及某 一次看診的病歷記錄。 2.
(12) (a) 門診診斷表. (b) 醫療用藥表. (c) 醫療處置表 圖 1.1 電子病歷記錄(Electronic Health Records, EHR)欄位對照. 下兩頁顯示之圖 1.2、1.3 及 1.4 是某位病歷記錄 ID 為 I662515122 之病患的 原始範例資料,其中的欄位與圖 1.1 的欄位為一對一對應。圖 1.2 顯示該病患有 6 次門診記錄,圖 1.3 及 1.4 分別顯示其第一次門診(批價序號為 57185931)的用 藥,及前三次門診(批價序號為 57185931、57298282、57412333)的處置資料。本 論文將取用以下欄位作為原始資料: 3.
(13) 1) 門診診斷表:加密身分證字號、批價序號、以出生日期計算出年齡、居 住地區、門診日期、門診科別院內碼、及 ICD-9 編碼。 2) 醫療用藥表:加密身分證字號、批價序號、及藥品項目健保碼。 3) 醫療處置表:加密身分證字號、批價序號、及處置健保碼。 其中門診診斷表中的性別及血型因為資料值種類過少,身高及體重因為值全 部為空,故未列入本論文的考慮範圍。用藥記錄只用來學習與疾病之間的關聯, 故醫療用藥表中與用藥處方有關(劑量、日數等)之欄位也不在考慮範圍。. 4.
(14) 圖 1.2 電子病歷之部分門診病歷記錄範例. 5.
(15) 圖 1.3 電子病歷之部分用藥記錄範例. 圖 1.4 電子病歷之部分處置記錄範例. 6.
(16) 上述病歷欄位資料中,除了 ICD-9 編碼及資料識別欄位(加密身分證字號、 批價序號),其他欄位可分成兩大類: 1) 個人屬性特徵:包括出生日期、居住地區。 2) 醫療屬性特徵:包括用藥(藥品項目健保碼)及醫療處置(處置健保碼)。 本論文的研究將針對同一次門診中 ICD-9 診斷碼和個人資料、用藥、處置特 徵的出現關聯,以及同一病人病歷中出現 ICD-9 診斷碼的關聯,進行 ICD-9 診斷 碼的特徵向量學習,用於合成表示某次看診的醫療特徵向量,並預測特定時間間 隔內下次看診可能出現的診斷碼。. 1.4 論文方法 本論文提出兩種方法對電子病歷資料進行特徵向量學習,並對下次病歷診斷 碼進行預測: 1. 獨立訓練+整合模型(Integration Model, IM):根據與不同個人特徵屬性及 用藥、處置碼個別出現的關聯,對疾病診斷碼分開學習出不同組向量表 示法。將每次看病的疾病診斷碼表示法相加做為看診記錄向量表示法, 再將看診紀錄向量輸入整合預測模型中,對下次病歷診斷碼進行預測。 整合預測模型又分成三種: (1) 直接接合(Concatenation):將不同特徵學習產生的看診紀錄向量相接 後,輸入 MLP 網路模型進行疾病診斷預測。 7.
(17) (2) 以權重合成(Combination of Weights, CoW):對不同特徵學習產生的看 診紀錄向量都學習出一個權重,再將其與對應向量表示法相乘後相加 以得到一個整合向量,輸入 MLP 網路模型進行疾病診斷碼預測。 (3) 注意力機制(Attention):由自我注意力機制的計算,學習各組疾病診 斷碼特徵向量表示法所產生看診紀錄向量的相對重要性,組合出一個 整合向量,輸入 MLP 網路模型進行疾病診斷碼預測。 2. 聯合訓練(Joint Training):將個人特徵及用藥、處置碼與疾病診斷碼出現 的關聯,在同一個模型中進行聯合訓練,產生疾病診斷碼的特徵向量表 示法及看診紀錄向量,輸入 MLP 網路模型進行下次看診的疾病診斷預 測。 上述兩種方法,在實驗評估時,將取疾病診斷碼預測機率值的前 k 高者,計 算 涵 蓋 實 際 病 例 中 下 次 出 現 疾 病 診 斷 碼 的 正 確 率 (Precision@k) 及 回 覆 率 (Recall@k)進行預測效果評估。 本論文方法的處理流程如圖 1.5 所示,分為疾病診斷碼向量表示法學習(Code Embedding Learning)及下次看診疾病診斷碼預測(ICD-9 Code Prediction),說明如 下。 1) 向量表示法學習 將病歷記錄資料集的 ICD-9 編碼、不同個人特徵及用藥、處置碼進行二元向 量(One-hot or Multi-hot)轉換的前處理,接下來用獨立訓練+整合模型/聯合訓 8.
(18) 練(Code-Feature Embedding/Joint Training)做疾病診斷碼的向量表示法學習。. 圖 1.5 病歷記錄學習與預測流程圖. 2) 疾病診斷碼預測 將病患某一次看診資料中的 ICD-9 編碼進行二元向量(One-hot or Multi-hot)轉 換的前處理,用前述疾病診斷碼向量表示法學習的結果,計算出該次看診記 錄的向量表示法,輸入並建立預測模型,得到下次看診的疾病診斷碼出現機 率預測結果。. 9.
(19) 1.5 論文架構 本論文以下章節內容如下:第二章探討相關文獻,第三章說明問題定義與資 料前處理方式,第四章說明病歷記錄特徵向量學習與預測方法,第五章將進行本 論文方法的實驗結果評估,最後在第六章提出結論與未來研究方向。. 10.
(20) 第二章. 文獻探討/. 學習向量表示法近年來是機器學習領域重要的研究主題,起初的研究多針對 文字資料,而隨著病歷資料電子化越來越普及,也有越來越多針對電子病歷資料 所進行的研究。此外,注意力機制與聯合訓練在特徵學習上也被廣泛運用。本章 節將分別探討上述主題的相關文獻。. 2.1 向量表示法學習及其預測 嵌入向量表示法的目的在於,讓電腦可以從文字、圖像等原始資料中透過此 表示法的轉換,表達出資料的不同語意概念,且在後續機器學習的過程能有更好 的預測效果。以下為嵌入向量表示法學習及其用於預測任務的相關研究,分成針 對文字資料與病歷紀錄兩部分。. 2.1.1. 文字資料. 針對文字資料所進行的語意特徵學習用途較為廣泛,例如在問答系統及文件 分類時,會先以大規模的語料庫進行訓練,學習出表示字詞語意的嵌入向量。 自然語言處理中的表徵學習,統稱為詞嵌入(word embedding)[15]。詞嵌入是 把維度數為字詞數量的空間對應到一個維度數遠低於字詞數量的空間。為了實現 word embedding,Google 提出 Word2vec 的方法[9],以類神經網路模型把文字轉 換成特徵向量,使兩個字的語意相似時,其特徵向量間能具有較高的餘弦相似度。 Word2vec 的模型主要分為 CBOW[6]與 Skip-gram[10]兩種訓練模型。CBOW 11.
(21) 將上下文當作訓練模型的輸入,用來預測當前出現的字詞。例如語料庫中若包含 一個句子“I have some juice with a plate”,在 CBOW 的方法中,以“have”為中心的 前後各取固定長度區間中的字,以長度 1 為例,輸入即為“I”和“some”,預期輸出 結果為“have”。Skip-gram 則是輸入一個字,預測出現其鄰近上下文出現的字。同 樣以“I have some juice with a plate”為例,輸入“some”的時候,若 Skip-gram 的窗 口大小設為 1,預期輸出即為“have”與“juice”。. 2.1.2. 病歷記錄預測. 想要了解病歷記錄的對應概念及意義,可能從病歷記錄中的診斷結果,像是 每次記錄中的疾病診斷碼、服用藥物的代碼等反應出來。但病歷的資料量龐大, 若單用人工分析,醫生的時間與可使用的分析工具皆極為有限。於是論文[4]針對 病歷記錄開發了一個 Doctor AI 系統;Doctor AI 為一個通用的預測模型,範圍涵 蓋觀察到的醫療條件與藥物使用情形。這個預測模型使用遞歸神經網路 (Recurrent Neural Network, RNN),應用在長期且有時序性的病歷紀錄中。該論文 可將看病記錄(包含診斷、用藥、手續編碼)輸入到模型,預測後續的診斷結果。 論文[2][3][5][8]認為,雖然使用遞歸神經網路(RNN)預測診斷結果[4]有不錯 的效能,但所學出來的表示法並無法解釋得出診斷碼及病歷隱含的意義。於是, 論文[2]提出了 Med2Vec。Med2Vec 為 Word2Vec 的變形,使用 Skip-gram 模型: 根據已知某一次看診紀錄的情況下,前面以及後面幾次的看診情形,學習出診斷 12.
(22) 碼的向量表示法。Med2Vec 的表示法又可分為看診紀錄(visit)與疾病診斷碼(code) 兩種不同層次的表示法。. 圖 2.1. Med2Vec 架構[2]. 如圖 2.1 所示,其中 xt 表示某次看診記錄出現的診斷碼經由二值化(binary) 轉換後所得到的向量(稱為 Multi-Hot Encoding),Wc 表示疾病診斷碼的向量表示 法矩陣,因此 ut 為加總該次看診中診斷碼的向量表示結果及偏差值 bc 的結果, 接下來接合病人的基本資料向量 d, t 經過一層 MLP 對應產生看診記錄表示法 v, t 最後再利用 Softmax 函數來預測前後的病歷紀錄進行訓練。從 Med2Vec 所訓練 出的模型權重,可得到疾病診斷碼表示法(Wc)。 論文[3][5][8]與論文[2]的做法類似,都是改進原先只採用 RNN 的方法[1], 提出運用不同的類神經網路架構。論文[3]根據知識圖的關係來建立注意力模型 (GRaph-based Attention Model, GRAM),從中學習出醫療概念表示法。此方法考 13.
(23) 慮到電子病歷紀錄的資料及疾病診斷碼之醫學概念間的本體知識架構,透過注意 力模型機制,結合其疾病診斷碼的上層概念來決定醫療概念的表示法。論文[5]提 出 RETAIN(REverse Time AttentIoN model):使用兩套注意力機制,因此在生成 注意力值的過程中,將病歷紀錄按照時間順序逆向輸入,並認為距目前較接近的 入院紀錄對於診斷會更有幫助。論文[8]則認為,根據 RNN 的方法,當序列長度 過長時預測效能會下降,且忽略了過去與未來看診資料間的關係。於是該篇論文 使用雙向遞歸神經網路(Bi-Directional RNN),同時對先前與之後的看診資料進行 特徵擷取,最後採用三種不同的注意力機制產生整體特徵,以進行未來看診疾病 診斷碼預測。 上述論文[2][3][5][8]皆採用類神經網路來進行學習病歷編碼之向量表示法, 本論文方法在預測時以 MLP 網路模型進行疾病診斷預測,與論文[2]的預測模型 類似,故以該論文的方法做為比較基準。. 2.2 注意力機制 注意力機制(Attention Mechanism)主要是參考人類視覺經過大腦時的處理機 制,早期有關的研究多應用於圖像領域[11]。在自然語言處理的領域中也有許多 的研究加入注意力機制,像是機器翻譯[1][7][12](Neural Machine Translation, NMT)。由於對模型特徵學習的成效顯著,因此將注意力機制結合在模型設計, 在近幾年已成為類神經網路研究採用的主流。 14.
(24) 論文[11]由 Google DeepMind 所提出,是注意力機制的始祖。該論文認為, 傳統遞歸類神經網路的方法在訓練與測試時計算成本高,且人類視覺並非關注在 一整張影像上,因此提出在遞歸神經網路(RNN)加上注意力機制。此機制是在一 張圖像中每次處理不同位置,並將這些資訊結合起來,最後獲取圖像中最關鍵的 位置,並提取其資訊。每次處理狀態都會根據前一次的結果狀態處理當前的部分 影像,而不是整張影像,這樣做可以有效減少計算量。 機器翻譯原本多採用 Seq2Seq 模型(Sequence to Sequence),也就是編碼器— —解碼器框架(encoder-decoder)。在此框架中,編碼器的輸出為一個固定長度的向 量(又稱 Context vector),當作解碼器的輸入,但是該向量會隨著輸入的句子越長, 資訊的損失就越多。因此論文[1]提出一個可以同時進行對齊和翻譯的方法:在解 碼器中加入注意力機制模型,只需要學習出著重在句子中的某些部分進行計算, 再參考計算後得到的上下文向量做目標字詞的預測,可有效提高預測準確率。 論文[7]是機器翻譯中最具代表性的研究,也是機器翻譯的一大突破。該論文 將注意力機制分成全域(Global)與局部(Local)兩部分: . 全域(Global)注意力機制是將序列所有時間點的字詞都考慮進去。. . 局部(Local)注意力機制是為了減少計算上的成本,因此僅考慮每個時間 點特定視窗範圍內的字詞。. 論文[12]提出 Transformer 的模型,解決了原本 RNN 無法平行化處理的問題。 該模型摒棄傳統的 RNN 的架構,僅使用注意力機制,透過資料特徵向量的投影 15.
(25) 及相似度評估,產生相對重要性比重來結合各特徵,產生多個情境特徵(context features),這種方法稱為自我注意力(Self-Attention)機制,如圖 2.2 所示,其中 Q、 K 及 V 分別表示 Query、Key 及 Value。此種自我注意力機制會重複進行,且可 以接收來自不同位置、不同子空間的訊息,以產生更多種特徵。由於可以平行化 處理的設計,使得 Transformer 的訓練時間可大幅降低。. 圖 2.2. Self-Attention 架構[12]. 2.3 聯合訓練 聯合訓練是把多個類神經網路的訓練目標結合起來,成為一個大網絡一起學 習。論文[13]考慮基於興趣點(Point-of-interest, POI)的地點推薦系統,該論文把 POI、地理位置、時間與訊息等資料,以 POI 為主體,根據多個二分圖(Bipartite graph)的關係聯合學習出 POI embedding。. 16.
(26) (a). (b). (c). (d). 圖 2.3 地點推薦系統二分圖關係圖範例 (a)POI-POI. (b)POI-Region(位置). (c)POI-Time. (d)POI-Word(訊息). 這些從 POI 與不同類型資料的出現關聯之嵌入向量學習架構以四個不同的 模型表示,該論文把這四個模型設定的目標函數相加設為整體學習目標,並把這 些模型依 POI-POI、POI-Region、POI-Time、POI-Word (如圖 2.3 所示連線關係) 進行採樣,進行聯合訓練。 近年來在文字處理方面,有些研究也採用聯合訓練的方式,像是機器翻譯 (NMT, Neural Machine Translation)任務中也有利用聯合訓練的方式:例如[14]採 用雙向的機器翻譯模式,來源語言與目標語言會互相學習一個 NMT 模型(Sourceto-target 與 Target-to-source),並將聯合訓練的目標設定在將上述 NMT 模型的條 件機率值最大化。 本論文採用與論文[13]類似的概念,根據病歷紀錄中 ICD-9 與不同特徵出現 的關聯,聯合訓練疾病診斷碼 ICD-9 的特徵向量表示法。 17.
(27) 第三章. 問題定義與資料前處理/. 3.1 問題與名詞定義 電子病歷記錄(Electronic Health Records, EHR)由多個病患的看診記錄所組成, 而一個病患的看診記錄由多筆資料屬性值所組成,其中每筆資料包含的屬性有疾 病診斷碼 ICD-9、看診時間、出生日期、住址、用藥、處置與科別代碼,其中出 生日期用來計算病患年齡。 [定義 1] 令病患 x 的病歷記錄表示為: 𝒙 = (𝒙1 , 𝒙2 , … , 𝒙𝑛 ),其中 n 為病人 x 的 看診總次數,𝒙𝑖 又表示為 𝒙𝑖 = (𝒙𝑖,𝑐 , 𝒙𝑖,𝑡 , 𝒙𝑖,𝑎 , 𝒙𝑖,𝑙 , 𝒙𝑖,𝑔 , 𝒙𝑖,𝑝 , 𝒙𝑖,𝑑 ), 𝑖 = 1,2, … , 𝑛。. 𝒙𝑖 的組成說明如下: 1) 𝒙𝑖,𝑐 : c 為 Code 縮寫,表示該次看診中的疾病 ICD-9 編碼。 2) 𝒙𝑖,𝑡 : t 為 Time 縮寫,表示看診時間。以月份為單位。 3) 𝒙𝑖,𝑎 : a 為 Age 縮寫,表示病患年齡。 4) 𝒙𝑖,𝑙 : l 為 Location 縮寫,表示病患居住地區。 5) 𝒙𝑖,𝑔 : a 為 DruG 縮寫,表示病患用藥。 6) 𝒙𝑖,𝑝 : a 為 Procedure 縮寫,表示醫療處置。 7) 𝒙𝑖,𝑑 : a 為 Depsrtment 縮寫,表示看診科別。. 18.
(28) [問題定義] 由病患的給定看診記錄,預測病患 x 在指定時間區間範圍中下一次 看診𝒙𝑡+1 會出現的疾病 ICD-9 編碼。 對於一個病患 x 的看診記錄,本論文的目標是預測病患下一次看診中會出現 的疾病 ICD-9 編碼。例如輸入資料為𝒙1 時,預期輸出為𝒙2 中的 ICD-9 編碼;輸入 資料為𝒙2 時,預期輸出為𝒙3 中的 ICD-9 編碼;依此類推,輸入資料為𝒙𝑖 時,預期 輸出為𝒙𝑖+1 中的 ICD-9 編碼。另外,醫生想知道病患會在一定時間內回來看診的 疾病,所以需要加上與下次看診間的時間間隔限制。. 3.2 輸入資料產生方法 輸入的原始病歷資料要先經過轉換,使資料表示成二元值向量(Binary vector, One-hot or Multi-hot)。以下將對各種屬性,輔以圖 1.2、1.3 及 1.4(病患 ID 為 I662515122 的看診記錄)說明資料轉換方式。. 1. ICD-9 編碼 (𝒙𝑖,𝑐 ) 令 C 代表整個病歷資料庫中出現的不同 ICD-9 編碼所成的集合。對 ICD-9 編碼產生二元向量的轉換步驟如下: 1) 將每個編碼依序對應到一個非負整數索引值。 2) 以一次看診記錄為單位轉換成一個長度為|C|的向量,其中|C|為病歷資料 庫中相異疾病 ICD-9 編碼的總數。 19.
(29) 假設整個病歷資料庫中出現的 ICD-9 編碼所成的集合 C = {380.15, 381.19, 385.3, 473.9, 477.9, 692.9, 706.1, 708.9, 709.2, 710.9, 919.4},將 380.15 對應到索引 值 0,381.19 對應到索引值 1,385.3 對應到索引值 2,依此類推,則|C| = 11。以 第 4 次看診為例,其中包含之 ICD-9 碼分別為 710.9、477.9、692.9 及 708.9 (對 應索引值為 9、4、5、7),則向量中第 4、6、7、9 個元素的值設為 1,其餘為 0, 產生之𝒙4,𝑐 的結果如圖 3.1 所示。. 圖 3.1 看診記錄(ICD-9 疾病診斷碼)轉換成二元向量範例. 2. 看診時間 (𝒙𝑖,𝑡 ) 看診時間以月份為單位,轉換成一個長度為|T|的向量,故|T| = 12。例如第 4 次看診的日期(OPD_date)為 1020427,表示該病患此次看診月份在 4 月,則對應 的元素值設為 1,其餘為 0,因此𝒙4,𝑡 如圖 3.2 所示。. 圖 3.2 看診記錄(月份)轉換成二元向量範例. 20.
(30) 3. 年齡 (𝒙𝑖,𝑎 ) 年齡是根據該病患的看診時間與生日的間隔計算出來,本論文對年齡以每 5 歲作為區間,故索引值為病患年齡值除以 5 之後無條件捨去。文本中病患年齡的 106. 最大值為 106,因為最大索引值為⌊. 5. ⌋ = 21,向量長度為最大索引值加 1,故. |A| = 22。例如根據第一次看診日期 1020101,最後一次(第 n 次)看診日期為 1020708,與病患出生日期(OPD_birth_date) 771122 相減後為 24 (足)歲,故索引 值為. 24. ⌊ ⌋ = ⌊4.8⌋ = 4,𝒙1,𝑎 = 𝒙2,𝑎 = ⋯ = 𝒙𝑛,𝑎 = (0,0,0,0,1,0,…,0)。此病歷資料 5. 庫中為一年內之資料,因此第一次看診到最後一次看診皆設為相同年齡。. 4. 居住地區 (𝒙𝑖,𝑙 ) 居住地區的原始資料為 3 位數的編碼,表示郵遞區號。令 L 表示病歷資料庫 中所出現的不同居住地區(所有縣市)所成的集合,將各居住地區轉換成一個非負 整數的索引值,再以病患為單位轉換成一個長度為|L|的向量。假設病患 x 居住地 區 408 的所屬縣市對應的索引值為 0,則𝒙1,𝑙 = 𝒙2,𝑙 = ⋯ = 𝒙𝑛,𝑙 = <1,0,0,…,0>。. 5. 用藥 (𝒙𝑖,𝑔 ) 以門診批價序號(OPD_chart_no)對應到用藥批價序號(DRUG_chart_no),可 取出該次門診的對應用藥健保碼。令 G 表示病歷資料庫中所出現的不同用藥健 保碼所成的集合,將 G 中每個用藥健保碼轉換成一個非負整數的索引值,再以 21.
(31) 看診記錄為單位轉換成一個長度為|G|的二元向量,將該次看診對應用藥健保碼 的索引值設為 1。若該次看診沒有對應的用藥記錄,則以零向量表示。 例如病患批價序號 57185931 的第一次看診記錄對應到一筆用藥記錄,其藥 品項目健保碼(DRUG_NHI_drug_code)為 LOFLOXA (泰利必妥點耳劑)。若藥品 項目健保碼 LOFLOXA 對應到的索引值為 0,則𝒙1,𝑔 = <1,0,0,…,0>;病患第二 次看診記錄沒有用藥,故𝒙2,𝑔 = 0。. 6. 醫療處置 (𝒙𝑖,𝑝 ) 以 門 診 批 價 序 號 (OPD_chart_no) 對 應 到 處 置 批 價 序 號 (PROCEDURE_chart_no),可取出該次門診的對應處置健保碼。令 P 表示病歷資 料庫中所出現的不同處置所成的集合,將各處置健保碼先轉換成一個非負整數的 索引值,再以看診記錄為單位轉換成一個長度為|P|的二元向量,將該次看診對應 處置健保碼的索引值設為 1。若該次看診沒有對應的用藥記錄,則以零向量表示。 例如病患批價序號 57185931、57298282 及 57412333 的看診記錄各對應到一 筆處置記錄,其處置健保碼(PROCEDURE_NHI_procedure_code)皆為 54019C (耳 鼻喉局部治療-膿或痂皮之取出或抽吸)。若處置健保碼 54019C 對應到的索引值 為 1,則𝒙1,𝑝 = 𝒙2,𝑝 = 𝒙3,𝑝 = <0,1,0,…,0>;病患第四次看診記錄沒有醫療處置, 故 𝒙4,𝑝 = 0。. 22.
(32) 7. 看診科別 (𝒙𝑖,𝑑 ) 令 D 表示病歷資料庫中所出現的不同科別所成的集合,將各科別先轉換成 一個非負整數的索引值,再將該次看診記錄的科別轉換成一個長度為|D|的二元 向量,其中只有該次看診科別的索引位置設為 1,其他為 0。 假設病歷資料庫中的科別編號所成的集合 D = {311, 350, 370},則|D| = 3, 311、350、370 依序對應到索引值 0、1 及 2,則𝒙1,𝑑 = 𝒙2,𝑑 = 𝒙3,𝑑 = <0,1,0>, 𝒙4,𝑑 = 𝒙5,𝑑 = <1,0,0>,𝒙6,𝑑 = <0,0,1>。 上述以不同個人特徵屬性及用藥、處置等共 7 種特徵,透過索引值轉換成的 二元向量維度及二元向量表示符號。個特徵明成、轉換後為度大小及符號如表 3.1 所示。. 表 3.1 病歷記錄資料庫中各特徵說明 特徵. 維度. 符號. ICD-9 編碼 (Code). |C| = 5820. 𝒙𝑖,𝑐 ∈ {0,1}|𝐶|. 看診時間 (Time). |T| = 12. 𝒙𝑖,𝑡 ∈ {0,1}|𝑇|. 年齡 (Age). |A| = 22. 𝒙𝑖,𝑎 ∈ {0,1}|𝐴|. 居住地區 (Address). |L| = 25. 𝒙𝑖,𝑙 ∈ {0,1}|𝐿|. 用藥 (Drug). |G| = 742. 𝒙𝑖,𝑔 ∈ {0,1}|𝐺|. 醫療處置 (Procedure). |P| = 394. 𝒙𝑖,𝑝 ∈ {0,1}|𝑃|. 看診科別 (Department). |D| = 65. 𝒙𝑖,𝑑 ∈ {0,1}|𝐷|. 23.
(33) 第四章. 病歷紀錄特徵向量學習與預測/. 4.1 疾病診斷碼向量表示法之訓練 對於疾病診斷碼向量表示法學習,本論文採用與不同特徵做獨立訓練,以及 將不同特徵同時共用於一個模型中聯合訓練兩種方式,以下將對這兩種訓練方式 分別進行說明。. 4.1.1. 獨立訓練. 針對前一章所述七種不同屬性特徵,我們將其分別建構出不同的疾病診斷碼 向量表示法模型(Pre-trained embeddings),各訓練模型的對應輸入與輸出說明如 下。 [模型 1] Code-Code: 以當次看診記錄中的疾病診斷碼𝒙𝑖,𝑐 當作輸入,下一次看 診的疾病診斷碼𝒙𝑖+1,𝑐 當作輸出。 [模型 2] Code-Time: 以當次看診記錄中的疾病診斷碼𝒙𝑖,𝑐 當作輸入,該次看診 的時間𝒙𝑖,𝑡 當作輸出。 [模型 3] Code-Age: 以當次看診記錄中的疾病診斷碼𝒙𝑖,𝑐 當作輸入,病患年齡𝒙𝑖,𝑎 當作輸出。 [模型 4] Code-Location: 以當次看診記錄中的疾病診斷碼𝒙𝑖,𝑐 當作輸入,病患居 住地區𝒙𝑖,𝑙 當作輸出。 [模型 5] Code-Drug: 以當次看診的疾病診斷碼𝒙𝑖,𝑐 當作輸入,該次看診的用藥 24.
(34) 𝒙𝑖,𝑔 當作輸出。 [模型 6] Code-Procedure: 以當次看診記錄中的疾病診斷碼𝒙𝑖,𝑐 當作輸入,該次 看診的醫療處置𝒙𝑖,𝑝 當作輸出。 [模型 7] Code-Department: 以當次看診記錄中的疾病診斷碼𝒙𝑖,𝑐 當作輸入,該 次看診的科別𝒙𝑖,𝑑 當作輸出。. 疾病診斷碼表示法之獨立訓練模型如圖 4.1 (a)及 4.1 (b)所示:輸入固定為看 診紀錄的二元向量,輸出則因特徵不同而依照上述定義而變。. 25.
(35) (a). (b) 圖 4.1 向量表示法獨立學習模型:以 (a) Code-Code 及 (b) Code-Location 為例. 以圖 4.1 (a)為例,此 Code-Code 學習模型在於以類神經網路兩層 MLP 架構, 並以疾病診斷碼前後次出現的關聯為訓練基礎,預訓練疾病診斷碼的向量表示法 (Pre-trained Embedding)。此模型以當次看診的疾病診斷碼轉換後的二元向量𝒙𝑖,𝑐 當作輸入層,經過一層嵌入層(Embedding Layer),產生的輸出為下次看診的疾病 診斷碼轉換後的二元向量𝒙𝑖+1,𝑐 。 26.
(36) 各個模型的輸入層到嵌入層,採用一個 全連接層來學習疾病診斷碼的 embedding。各模型的對應計算公式如表 4.1 所示。. 表 4.1 獨立訓練各模型之輸入層到嵌入層對應公式 模型. 公式. Code-Code. 𝒗𝑖,𝑐 = ReLU(𝑾𝑐→𝑒 𝒙𝑖,𝑐 + 𝒃𝑐→𝑒 ). Code-Time. 𝒗𝑖,𝑡 = ReLU(𝑾𝑐→𝑒 𝒙𝑖,𝑡 + 𝒃𝑐→𝑒 ). Code-Age. 𝒗𝑖,𝑎 = ReLU(𝑾𝑐→𝑒 𝒙𝑖,𝑐 + 𝒃𝑐→𝑒 ). Code-Location. 𝒗𝑖,𝑙 = ReLU(𝑾𝑐→𝑒 𝒙𝑖,𝑐 + 𝒃𝑐→𝑒 ). Code-Drug. 𝒗𝑖,𝑔 = ReLU(𝑾𝑐→𝑒 𝒙𝑖,𝑐 + 𝒃𝑐→𝑒 ). Code-Procedure. 𝒗𝑖,𝑝 = ReLU(𝑾𝑐→𝑒 𝒙𝑖,𝑐 + 𝒃𝑐→𝑒 ). Code-Department. 𝒗𝑖,𝑑 = ReLU(𝑾𝑐→𝑒 𝒙𝑖,𝑐 + 𝒃𝑐→𝑒 ). (𝑐). (𝑐). (𝑡). (𝑡). (𝑎). (𝑎). (𝑙). (𝑙). (𝑔). (𝑔). (𝑝). (𝑝). (𝑑). (𝑑). (𝑐). 以 Code-Code 為例,也就是表 4.1 的第 1 行為例,𝑾𝑐→𝑒 表示嵌入權重,當 中的上標(c)表示此模型的輸出為病患下一次看診記錄的疾病診斷碼;下標 ce 表示是對應到從輸入層(Input (Code) Layer)到嵌入層(Embedding Layer)的參數; (𝑐). 𝒃𝑐→𝑒 為此層的偏差值。𝒗𝑖,𝑐 則表示以 Code-Code 模型學習出的疾病診斷碼向量表 示法(ℝ𝑑𝑐 ×1 )。. 27.
(37) 從嵌入層到輸出層方面,則分成以下兩種情形: 1) 輸出向量僅有一個 1 (One-hot):模型 Code-Time、Code-Age、Code-Location 及 Code-Department 皆屬此種情況。從嵌入層到輸出層為另一層全連接 層,其計算公式如表 4.2 所示。. 表 4.2 獨立訓練各模型之嵌入層到輸出層對應公式(輸出向量僅有一個 1 時) 模型. 公式. Code-Time. 𝒙𝑖,𝑡 = Softmax(𝑾𝑒→𝑜 𝒗𝑖,𝑡 + 𝒃𝑒→𝑜 ). Code-Age. 𝒙𝑖,𝑎 = Softmax(𝑾𝑒→𝑜 𝒗𝑖,𝑎 + 𝒃𝑒→𝑜 ). Code-Location. 𝒙𝑖,𝑙 = Softmax(𝑾𝑒→𝑜 𝒗𝑖,𝑙 + 𝒃𝑒→𝑜 ). Code-Department. 𝒙𝑖,𝑑 = Softmax(𝑾𝑒→𝑜 𝒗𝑖,𝑑 + 𝒃𝑒→𝑜 ). (𝑓𝑒𝑎𝑡𝑢𝑟𝑒). 其中𝑾𝑒→𝑜. (𝑡). (𝑡). (𝑎). (𝑎). (𝑙). (𝑙). (𝑑). (𝑑). 為此網路學習的權重,下標 eo 表示從嵌入層(Embedding (𝑓𝑒𝑎𝑡𝑢𝑟𝑒). Layer)到輸出層(Output Layer);𝒃𝑒→𝑜. 為此層的偏差值。由於輸出標準. 答案僅有一個為 1,所以將其視為多類別的分類目標,因此激活函數使 用 Softmax,得到每個輸出結果經過正規化的機率值。最後訓練時採用類 別交叉熵(Categorical Cross Entropy)當作損失函數,訓練目標為使表 4.3 所示之損失函數值計算公式最小化,其中 N 為一個批次(batch)的數量。. 28.
(38) 表 4.3 獨立訓練各模型之損失函數公式(輸出向量僅有一個 1 時) 模型. 公式. Code-Time. 1 ̂𝑖,𝑡 𝑂𝑐𝑡 = − ∑ 𝒙𝑖,𝑡 log 𝒚 𝑁. 𝑁. 𝑖. 𝑁. Code-Age. 𝑂𝑐𝑎. 1 ̂𝑖,𝑎 = − ∑ 𝒙𝑖,𝑎 log 𝒚 𝑁 𝑖. 𝑁. Code-Location. 1 ̂𝑖,𝑙 𝑂𝑐𝑙 = − ∑ 𝒙𝑖,𝑙 log 𝒚 𝑁 𝑖. 𝑁. Code-Department. 𝑂𝑐𝑑. 1 ̂𝑖,𝑑 = − ∑ 𝒙𝑖,𝑑 log 𝒚 𝑁 𝑖. 2) 輸出向量可能有多個 1 (Multi-hot):模型 Code-Code、Code-Drug 及 Code-Procedure 屬於此種情況,其計算對應公式如表 4.4 所示。. 表 4.4 獨立訓練各模型之嵌入層到輸出層對應公式(輸出向量可能有多個 1 時) 模型. 公式. Code-Code. 𝒙𝑖+1,𝑐 = Sigmoid(𝑾𝑒→𝑜 𝒗𝑖,𝑐 + 𝒃𝑒→𝑜 ). Code-Drug. 𝒙𝑖,𝑔 = Sigmoid(𝑾𝑒→𝑜 𝒗𝑖,𝑔 + 𝒃𝑒→𝑜 ). Code-Procedure. 𝒙𝑖,𝑝 = Sigmoid(𝑾𝑒→𝑜 𝒗𝑖,𝑝 + 𝒃𝑒→𝑜 ). (𝑐). 29. (𝑐). (𝑔). (𝑔). (𝑝). (𝑝).
(39) 這種情況因為輸出結果的標準答案可能不只一個 1,所以可視其為多個 二元分類,激活函數也因此採用 Sigmoid,訓練時損失函數則採用二元交 叉熵(Binary Cross Entropy)。訓練目標為使表 4.5 所示之損失函數值計算 公式最小化,其中 N 為一個批次(batch)的數量。. 表 4.5 獨立訓練各模型之損失函數公式(輸出向量可能有多個 1 時) 模型. 公式. Code-Code. 1 ̂𝑖,𝑐 + (1 − 𝒙𝑖+1,𝑐 )log(1 − 𝒚 ̂𝑖,𝑐 )] 𝑂𝑐𝑐 = − ∑[𝒙𝑖+1,𝑐 log 𝒚 𝑁. 𝑁. 𝑖. 𝑁. Code-Drug. 𝑂𝑐𝑔. 1 ̂𝑖,𝑔 + (1 − 𝒙𝑖,𝑔 )log(1 − 𝒚 ̂𝑖,𝑔 )] = − ∑[𝒙𝑖,𝑔 log 𝒚 𝑁 𝑖. 𝑁. Code-Procedure. 𝑂𝑐𝑝. 1 ̂𝑖,𝑝 + (1 − 𝒙𝑖,𝑝 )log(1 − 𝒚 ̂𝑖,𝑝 )] = − ∑[𝒙𝑖,𝑝 log 𝒚 𝑁 𝑖. 4.1.2. 聯合訓練. 第二種訓練方式是將多種不同特徵於同一個模型中進行聯合訓練 (Joint Training),如圖 4.2 所示。. 30.
(40) 圖 4.2 聯合訓練模型. 聯合訓練的模型架構圖,分成兩個部分: 1) 輸入層到嵌入層:公式如下。 𝒉𝑖 = ReLU(𝑾𝑐,𝑒 𝒙𝑖,𝑐 + 𝒃𝑐,𝑒 ). (公式 1). 這兩層間所學習的權重𝑾𝑐,𝑒 與偏差值𝒃𝑐,𝑒,在針對任何特徵進行訓練時都 31.
(41) 會被更新。 2) 嵌入層到各特徵輸出層:各特徵輸出層的個別計算公式如表 4.6 所示。. 表 4.6 聯合訓練各特徵輸出層個別計算公式 特徵. 公式. Code. ̂𝑖,𝑐 = Sigmoid(𝑾𝑒,𝑐 𝒉𝑖 + 𝒃𝑒,𝑐 ) = 𝒙𝑖+1,𝑐 𝒚. Time. ̂𝑖,𝑡 = Softmax(𝑾𝑒,𝑡 𝒉𝑖 + 𝒃𝑒,𝑡 ) = 𝒙𝑖,𝑡 𝒚. Age. ̂𝑖,𝑎 = Softmax(𝑾𝑒,𝑎 𝒉𝑖 + 𝒃𝑒,𝑎 ) = 𝒙𝑖,𝑎 𝒚. Location. ̂𝑖,𝑙 = Softmax(𝑾𝑒,𝑙 𝒉𝑖 + 𝒃𝑒,𝑙 ) = 𝒙𝑖,𝑙 𝒚. Drug. ̂𝑖,𝑔 = Sigmoid(𝑾𝑒,𝑔 𝒉𝑖 + 𝒃𝑒,𝑔 ) = 𝒙𝑖,𝑔 𝒚. Procedure. ̂𝑖,𝑝 = Sigmoid(𝑾𝑒,𝑝 𝒉𝑖 + 𝒃𝑒,𝑝 ) = 𝒙𝑖,𝑝 𝒚. Department. ̂𝑖,𝑑 = Softmax(𝑾𝑒,𝑑 𝒉𝑖 + 𝒃𝑒,𝑑 ) = 𝒙𝑖,𝑑 𝒚. 各特徵輸出之損失函數計算方式: . 若激活函數為 Softmax,則損失函數採用 Categorical Cross Entropy,分 別為𝑂𝑐𝑡 、𝑂𝑐𝑎 、𝑂𝑐𝑙 、𝑂𝑐𝑑 ,如表 4.3 所示。. . 若激活函數為 Sigmoid,則損失函數採用 Binary Cross Entropy,分別為 𝑂𝑐𝑐 、𝑂𝑐𝑔 、𝑂𝑐𝑝 ,如表 4.5 所示。. 32.
(42) 在進行聯合訓練時,採取對不同特徵的輸出層輪流訓練,再將各自預測的損 失函數加總,作為整體的損失函數 O,如以下公式: 𝑂 = 𝑂𝑐𝑐 + 𝑂𝑐𝑡 + 𝑂𝑐𝑎 + 𝑂𝑐𝑙 + 𝑂𝑐𝑔 + 𝑂𝑐𝑝 + 𝑂𝑐𝑑. (公式 2). 聯合訓練的特徵訓練順序根據其各別損失函數值的大小由大而小排列,依序 為 Code、Time、Age、Department、Location、Procedure 及 Drug。聯合訓練的過 程如演算法 Algorithm 1 所示,經過輪流調整_回合後,學習出疾病診斷碼的向量 表示法組合得到的看診向量𝒉𝑖 。. Algorithm 1: Joint Embedding Learning Input:𝒙𝑖,𝑐 , _ Output:𝒙𝑖+1,𝑐 , 𝒙𝑖,𝑡 , 𝒙𝑖,𝑙 , 𝒙𝑖,𝑎 , 𝒙𝑖,𝑔 , 𝒙𝑖,𝑝 , 𝒙𝑖,𝑑 while 𝑖𝑡𝑒𝑟 ≤ _ do Train with 𝒙𝑖+1,𝑐 , update 𝑾𝑐,𝑒 , 𝒃𝑐,𝑒 , 𝑾𝑒,𝑐 and 𝒃𝑒,𝑐 ; . Train with Train with Train with Train with Train with Train with. 𝒙𝑖,𝑡 , update 𝑾𝑐,𝑒 , 𝒃𝑐,𝑒 , 𝑾𝑒,𝑡 and 𝒃𝑒,𝑡 ; 𝒙𝑖,𝑎 , update 𝑾𝑐,𝑒 , 𝒃𝑐,𝑒 , 𝑾𝑒,𝑎 and 𝒃𝑒,𝑎 ; 𝒙𝑖,𝑑 , update 𝑾𝑐,𝑒 , 𝒃𝑐,𝑒 , 𝑾𝑒,𝑑 and 𝒃𝑒,𝑑 ; 𝒙𝑖,𝑙 , update 𝑾𝑐,𝑒 , 𝒃𝑐,𝑒 , 𝑾𝑒,𝑙 and 𝒃𝑒,𝑙 ; 𝒙𝑖,𝑝 , update 𝑾𝑐,𝑒 , 𝒃𝑐,𝑒 , 𝑾𝑒,𝑝 and 𝒃𝑒,𝑝 ; 𝒙𝑖,𝑔 , update 𝑾𝑐,𝑒 , 𝒃𝑐,𝑒 , 𝑾𝑒,𝑔 and 𝒃𝑒,𝑔 ;. end. 4.2 預測模型 疾病診斷碼向量表示法產生之後,我們對其運用在病人下次看診疾病診斷碼 的預測。由於訓練向量表示法的方式有兩種,在預測模型的設計上會有不同。以. 33.
(43) 下將針對不同疾病診斷碼表示法訓練方式,說明各別對應的預測模型。. 4.2.1. 針對獨立訓練. 若使用的特徵不只一種時,由多個獨立訓練模型會產生多個疾病診斷碼向量 表示法,因此必須先將這些向量表示法進行整合後再進行預測。 𝒙𝑖+1,𝑐. 𝒖𝑖. 𝒉𝑖. 𝒗𝑖,𝑐. 𝒗𝑖,𝑡. 𝒗𝑖,𝑎. 𝒗𝑖,𝑙. 𝒗𝑖,𝑔. 𝒗𝑖,𝑝. 𝒗𝑖,𝑑. 𝒙𝑖,𝑐. 圖 4.3 獨立訓練與整合模型架構圖 如圖 4.3 所示,本論文設計了三種整合上述獨立訓練所得向量表示法的方式, 以下我們將分別介紹這三種整合方式: 1. 直接接合(Concatenation) 34.
(44) 利用各特徵訓練模型獨立學習出不同的疾病診斷碼向量表示法後,我們以圖 4.4 所示方式進行接合。當採用所有 7 個向量表示法的時候,接合後的向量長度 為. 𝑑𝑒 × 7;若只採用部分特徵,例如 Code-Code 與 Code-Time 學習的向量表示. 法,則如圖 4.5 所示,接合後的向量長度為𝑑𝑒 × 2。 𝒉𝑖. 𝒗𝑖,𝑐𝑜𝑛𝑐𝑎𝑡. 𝒗𝑖,𝑐. 𝒗𝑖,𝑡. 𝒗𝑖,𝑎. 𝒗𝑖,𝑔. 𝒗𝑖,𝑙. 𝒗𝑖,𝑝. 𝒗𝑖,𝑑. 圖 4.4 整合模型之「直接接合」,以 7 個特徵全部使用為例. 𝒗𝑖,𝑡. 𝒗𝑖,𝑐. 𝒗𝑖,𝑐𝑜𝑛𝑐𝑎𝑡 =. 𝒗𝑖,𝑡. 𝒗𝑖,𝑐. 圖 4.5 「直接接合」的向量表示法接合方式,以採用特徵 Code-Code 與 CodeTime 所得之向量表示法為例. 如圖所示 4.4 的 Concatenation Layer,並採用以下方式產生整合結果𝒉𝑡, 關係式如公式 3: 35.
(45) 𝒉𝑖 = ReLU(𝒗𝑖,𝑐𝑜𝑛𝑐𝑎𝑡 𝑾ℎ + 𝒃ℎ ), 𝑾ℎ ∈ ℝ(𝑒𝑐×𝑁𝑓 )×𝑑ℎ. (公式 3). 若只有使用 1 個特徵學習出的向量表示法,則沒有𝒗𝑖,𝑐𝑜𝑛𝑐𝑎𝑡 ,直接以預先訓 練的向量表示法當作𝒉𝑖 。. 2. 以權重合成(Combination of Weights, CoW) 第二種方式是由加權值來整合獨立訓練所得向量表示法。如圖 4.6 與公式 10 所示,我們對各向量表示法都學習出一個權重,代表該對應特徵向量表示法的組 合比重,也就是圖 4.6 中的所有 𝛼 (𝛼𝑐、𝛼𝑡 、𝛼𝑎 等參數),再將其與對應向量表示 法相乘後相加得到𝒉𝑖 ,如公式 4 所示。 𝒉𝑖. *. *. *. *. *. *. *. 𝛼𝑐. 𝛼𝑡. 𝛼𝑎. 𝛼𝑙. 𝛼𝑔. 𝛼𝑝. 𝛼𝑑. 𝒗𝑖,𝑐. 𝒗𝑖,𝑡. 𝒗𝑖,𝑎. 𝒗𝑖,𝑙. 𝒗𝑖,𝑔. 𝒗𝑖,𝑝. 𝒗𝑖,𝑑. 圖 4.6 整合模型之「以權重合成」,以 7 個特徵全部使用為例 𝒉𝑖 = 𝛼𝑐 𝒗𝑖,𝑐 + 𝛼𝑡 𝒗𝑖,𝑡 + 𝛼𝑎 𝒗𝑖,𝑎 + 𝛼𝑙 𝒗𝑖,𝑙 + 𝛼𝑔 𝒗𝑖,𝑔 + 𝛼𝑝 𝒗𝑖,𝑝 + 𝛼𝑑 𝒗𝑖,𝑑. 36. (公式 4).
(46) 其中 Ensemble Parameters (調和權重參數值)方面,將多種由不同特徵所額的 的疾病診斷碼向量表示法透過預測模型學習出一個調和權重值,再將這些調和權 重採用 Softmax 使其總和為 1。(𝛼𝑐、𝛼𝑡 、𝛼𝑎、𝛼𝑙 、𝛼𝑔、𝛼𝑝 及𝛼𝑑 為經由 Softmax 計 算之後的調和權重值). 3. 注意力機制 (Attention) 第三種方式是透過注意力機制(Attention Mechanism),學習出各獨立訓練所 得特徵向量表示法的相對重要性。 如圖 4.7 所示,𝒗𝑖 代表各為不同的疾病診斷碼向量表示法所組成的矩陣,其 會先透過權重(𝑾𝑄 、𝑾𝐾 、𝑾𝑉 )投影計算出 Query (Q)、Key (K)及 Value (V),其維 度分別為𝑑𝑘 、𝑑𝑘 、𝑑𝑣 ,如公式 5。𝒁𝑖 表示由 Q 及 K 算出以各向量為基準計算相 互重要性加總 Value (V) 得到的向量矩陣,維度為𝑁𝑓 × 𝑑𝑣 。 𝑄 = 𝒗𝑖 𝑾𝑄 , 𝐾 = 𝒗𝑖 𝑾𝐾 , 𝑉 = 𝒗𝑖 𝑾𝑉 , where 𝑾𝑄 ∈ ℝ𝑑𝑒×𝑑𝑘 , 𝑾𝐾 ∈ ℝ𝑑𝑒 ×𝑑𝑘 , 𝑾𝑉 ∈ ℝ𝑑𝑒 ×𝑑𝑣 . 𝒁𝑖 = Attention(𝑄, 𝐾, 𝑉 ) = Softmax(. 37. 𝑄𝐾𝑇 √𝑑𝑘. )𝑉.. (公式 5).
(47) 𝒉𝑖. 𝒁𝑖. × 𝑾𝑄. × 𝑾𝐾. × 𝑾𝑉. 𝒗𝑇𝑖,𝑐 𝒗𝑇𝑖,𝛿 𝒗𝑇𝑖,𝑎. 𝒗𝑖 =. 𝒗𝑇𝑖,𝑙 𝒗𝑇𝑖,𝑔 𝒗𝑇𝑖,𝑝 𝒗𝑇𝑖,𝑑. 圖 4.7 整合模型之「注意力機制」以產生權重參數值之架構圖. 當𝒁𝑖 產生之後,我們使用一層平坦層(Flatten Layer)以產生整合後的結果向量 𝒉𝑖,再透過兩層全連接層的學習,以得到預期的輸出,也就是下一筆看診的疾病 38.
(48) 診斷碼𝒙𝑖+1,𝑐 分布機率值。兩層全連接層的說明如下: . 第一層為隱藏層(從𝒉𝑖 到𝒖𝑖 ),將維度從𝑁𝑓 × 𝑑𝑣 投影到𝑑𝑢,以 ReLU 為激 活函數。. . 第二層為輸出層(從𝒖𝑖 到𝒙𝑖+1,𝑐 ),用來做最後的預測,其激活函數為 Softmax。. 訓練時的損失函數採用 Categorical Cross Entropy。. 4.2.2. 針對聯合訓練. 利用聯合訓練所產生的疾病編法向量表示法只有一種,所以在預測模型中不 需要整合,只需將該表示法直接輸入到預測模型中,如圖 4.8 所示。 𝒙𝑖+1,𝑐. 𝒖𝑖. 𝒉𝑖. 𝒙𝑖. 圖 4.8 聯合訓練模型用於預測疾病診斷碼之架構 將疾病診斷碼取出預訓練的向量表示法轉換成𝑑𝑢 維的向量𝒉𝑖 後,預測疾病診 斷碼的方法與 4.2.1 最後描述的方法相同:以兩層全連接層網路,且分別以 ReLU 39.
(49) 與 Sigmoid 為激活函數。訓練時以 Binary Cross Entropy 作為損失函數,預測輸出 結果為該病患下次看診紀錄的疾病診斷碼出現機率。. 40.
(50) 第五章. 實驗結果評估與探討/. 在實驗中,我們將對本論文提出的方法進行預測效能的評估。實驗分為以下 兩部份: 1. 向量表示法的訓練回合數調定 (1) 評估以各特徵進行獨立訓練疾病診斷碼向量表示法所需訓練回合數。 (2) 評估進行聯合訓練疾病診斷碼向量表示法所需回合數。 2. 預測模型效能比較評估 (1) 不同向量學習表示法結合預測模型及 Med2Vec 的預測效能比較。 (2) 對於預測結果較優異的模型,觀察採用不同特徵組合的預測效能。. 5.1 資料集及其型態 本論文所採用的資料為中國醫藥大學附設醫院 (China Medical University Hospital, CMUH) 2013 年的門診資料,且包含門診紀錄中的用藥與醫療處置,資 料形式如第一章所介紹。實驗的目標在預測同一位病人下次在一個月內看診會出 現之疾病診斷碼,所以只留下至少看診兩次且兩次間的時間間隔在一個月內的看 診記錄。留下之資料集的數據如表 5.1 所示。實驗所使用的資料集中共有 209,162 位病患、1,589,350 筆看診資料,每位病患的平均看診次數為 7.6 次,每次看診中 平均 ICD-9 Code 數約為 2.8。. 41.
(51) 表 5.1. CMU 資料集統計數據 數量. 總病患人數. 209,162. 總看診數. 1,589,350. 病患看診次數之平均. 7.6. 病患看診次數之最多者. 216. 每次看診中平均 ICD-9 Code 數. 2.8. 5.2 向量表示法訓練回合數調定 訓練預測模型時向量表示法維度大小、注意力機制的相關維度,以及 mini-batch 大小及學習率等參數設定如下: . 向量表示法維度𝑑𝑒 :與 Med2vec 的表示法維度同設為 200。. . 注意力機制的相關維度:𝑑𝑘 與𝑑𝑣 皆設為 200。. . Mini-batch 大小:以兩次看診記錄為單位,1000。. . 學習率:0.001。. 5.2.1. 獨立訓練回合數調定. 獨立訓練回合數的決定,是根據所建立模型在驗證集上的損失函數值變化曲 線圖,若損失函數值不再有明顯下降,則以前一回合當作該特徵的訓練回合數, 並採用該回合所學習到之疾病診斷碼向量表示法。如圖 5.1 所示,藍色線表示在. 42.
(52) 訓練集的變化,橘色線表示在驗證集的變化。. (a) Code-Code 模型. (b) Code-Age 模型 圖 5.1 不同特徵模型做獨立訓練之損失函數曲線圖. 如圖 5.1(a)橘色線所示,特徵模型 Code-Code 在第 10 回合時驗證集的損失 函數值不再有明顯下降,則該特徵模型的訓練回合數設為 10。而在 Code-Age 模 43.
(53) 型中,驗證集的損失函數(圖 5.1(b)中的橘色線) 在第 4 回合時不再下降,故此特 徵模型的訓練回合數設為 3。以七種特徵模型進行獨立訓練的最佳回合數如表 5.2 所示。. 表 5.2 向量表示法獨立訓練時各特徵模型訓練回合設定值. 5.2.2. 特徵模型. 訓練回合數. Code-Code. 10. Code-Time. 3. Code-Age. 3. Code-Location. 10. Code-Drug. 10. Code-Procedure. 5. Code-Department. 10. 聯合訓練回合數調定. 聯合訓練模型則以驗證集在整體損失函數(如公式 2)的曲線變化決定訓練回 合數,若整體損失函數值不再有明顯下降,則以前一回合當作模型的訓練回合數, 並採用該回合所學習到之疾病診斷碼向量表示法。以全部的特徵都使用的情況為 例,圖 5.2 中藍色線所示為訓練集之損失函數值的曲線圖變化,橘色線所示為驗. 44.
(54) 證集之損失函數值的曲線圖變化,因此訓練回合數設為 10。. 圖 5.2 聯合訓練之損失函數曲線圖(使用 7 個特徵). 5.3 評估指標 輸入病患 x 的第 t 次看診資料𝒙𝑡,預測評估指標採用 Precision@k 與 Recall@k: 1) Precision@k 取出預測機率值前 k 高的疾病診斷碼輸出,評估有多少比例在下次看診記錄 之診斷編碼𝒙𝑡+1,𝑐 中出現,如公式 6。 Precision@k =. |Relevant codes ∩ Retrieved 𝑘 codes| 𝑘. (公式 6). 2) Recall@k 在下次看診記錄之診斷編碼𝒙𝑡+1,𝑐 中,有多少比例在預測的前 k 名疾病診斷 碼中,如公式 7。 Recall@k =. |Relevant codes ∩ Retrieved 𝑘 codes| |Relevant codes|. 45. (公式 7).
(55) 綜合考量 precision 及 recall 值,預測結果取前 k 名時的 F1 score 計算方式如 公式 16,以 F1@k 表示。 F1@k = 2 ∙. Precision@k ∙ Recall@k Precision@k + Recall@k. (公式 16). 5.4 實驗評估. 5.4.1. 不同方法的預測效能評估. 在此部分的實驗,我們比較本論文提出的獨立訓練模型(IM)與聯合訓練模型 (Joint Learning)以及相關研究中提出的 Med2Vec,進行預測效能的評估,各方法 名稱表示方式如下: . IM – Concatenation 模型:採用獨立訓練向量表示法,整合模型採用「直 接接合」。. . IM – CoW 模型:採用獨立訓練向量表示法,整合模型採用「以權重合 成」。. . IM – Attention 模型:採用獨立訓練向量表示法,整合模型採用「注意力 機制」。. . Joint Learning 模型:採用聯合訓練向量表示法。. 當預測模型訓練回合數為 2,在不同的 k 值設定、Med2Vec 及本論文提出的 46.
(56) 四個不同方法時,其 Precision@k、Recall@k、及 F1@k 的變化分別如圖 5.3 (a)、 (b)、(c)、(d)及(e)所示。. Evaluation Model (Med2Vec) 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0. 1. 2. 3. 4. Recall@k. 5. Precision@k. 6. 7. 8. F1@k. (a) Med2Vec. Evaluation Model (IM - Concatenation, using all 7 features) 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0. 1. 2. 3. Recall@k. 4. 5. Precision@k. 6. 7. 8. F1@k. (b) IM – Concatenation 圖 5.3 對五種模型不同 k 值所得之 Precision@k、Recall@k、及 F1@k 47.
(57) Evaluation Model (IM - CoW, using all 7 features) 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0. 0. 1. 2. 3 Recall@k. 4. 5. Precision@k. 6. 7. 8. F1@k. (c) IM – CoW. Evaluation Model (IM - Attention, using all 7 features) 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0. 1. 2. 3 Recall@k. 4 Precision@k. 5. 6. 7. 8. F1@k. (d) IM – Attention 圖 5.3 (續)對五種模型不同 k 值所得之 Precision@k、Recall@k、及 F1@k. 48.
(58) Evaluation Model (Joint Learning, using all 7 features) 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0. 1. 2. 3 Recall@k. 4. 5. Precision@k. 6. 7. 8. F1@k. (e) Joint Learning 圖 5.3 (續)對五種模型不同 k 值所得之 Precision@k、Recall@k、及 F1@k. 從圖 5.3 可以看出,大部分方法在 k = 3 的時候皆會得到最高的 F1@k,這是 因為每筆看診資料中的疾病診斷碼數目平均約為 2.8,因此在後續實驗的預測評 估指標(Precision@k 與 Recall@k)中 k 值皆設為 3。 表 5.3(a)及 5.3(b)顯示出不同方法在不同回合數的訓練後達到的 Precision@3 及 Recall@3,此結果顯示,本論文提出的四種方法與 Med2Vec 模型相較,除了 IM – CoW 與 Med2Vec 有相近的預測效果,其他三個模型的預測效能都有顯著的 上升。其中又以 IM – Attention 在訓練 2 回合後開始可達最佳預測效果,Joint Learning 模型收斂最快,訓練 1 回合後可得到最佳預測效果,IM – Concatenation 模型經過兩回合的訓練亦可得到接近上述兩個模型的預測效果。 49.
(59) 表 5.3 模型整體效能 (a)Precision@3 及(b)Recall@3 (a) IM –. 方法 回合. IM –. Joint. Attention. Learning. IM – CoW. Med2Vec Concatenation 1. 0.343950. 0.530890. 0.087644. 0.446103. 0.545918. 2. 0.445513. 0.552941. 0.477706. 0.557214. 0.556713. 3. 0.480136. 0.555848. 0.481144. 0.561814. 0.559216. IM –. Joint. Attention. Learning. (b) IM –. 方法. IM – CoW. Med2Vec 回合. 5.4.2. Concatenation 1. 0.365374. 0.558960. 0.091776. 0.467136. 0.571658. 2. 0.473263. 0.582149. 0.500229. 0.583486. 0.582962. 3. 0.510043. 0.585238. 0.503834. 0.588303. 0.585583. 特徵組合探討. 本節實驗中,我們從前述章節中 選取預測效能較佳的兩個方法, Joint Learning 及 IM – Attention,探討以不同特徵組合學習疾病診斷碼間的向量表示. 50.
(60) 法,比較對預測效果所造成的影響。 探討特徵組合時,分成以逐步增加特徵的方式及逐步刪減特徵的方式兩種: . 逐步刪減特徵:從採用所有特徵開始,每次去掉一個特徵。. . 逐步增加特徵:從特徵組合為空開始,每次增加一個特徵。. 每次特徵增加或刪減時,選擇可使效能達到最高者。若出現以下情形則停止: 較刪減/增加前的組合預測效果差時。 各特徵以字母符號表示如下: . Code C. . Time T. . Age A. . Location L. . Drug G. . Procedure P. . Department D. 51.
(61) 1. 聯合訓練 (Joint Learning) 1) 逐步刪減特徵:. (a). (b). (c). (d). (e) 圖 5.4 採用 Joint Learning,以逐步刪減特徵方式評估不同特徵組合下之 Precision@3. 52.
(62) (a). (b). (c). (d). (e) 圖 5.5 採用聯合訓練向量表示法,以逐步刪減特徵方式評估不同特徵組合下之 Recall@3. 53.
(63) 如圖 5.4、5.5 所示,每張圖中最左邊的長條為刪減前的組合,例如圖 5.4(a) 及 5.5(a)最左邊的長條表示 7 個特徵全部使用(C-T-A-L-G-P-D),而右邊各長條表 示刪減某個特徵後的組合。從圖 5.4(a)及 5.5(a)中可以看出刪減特徵 Code-Drug 時(C-T-A-L-P-D)的預測效果上升最多。因此後續的刪減選擇為: (b) 刪減特徵 Department。(C-T-A-L-P-D C-T-A-L-P) (c) 刪減特徵 Age。(C-T-A-L-P C-T-L-P) (d) 刪減特徵 Location。(C-T-L-P C-T-P) (e) 因效能沒有提升,故不再刪減特徵。(C-T-P 為此階段最後得到的特徵組 合). 54.
(64) 2) 逐步增加特徵:. (a). (b). (c). (d). 圖 5.6 採用 Joint Learning,以逐步增加特徵方式評估不同特徵組合下之 Precision@3. 55.
(65) (a). (b). (c). (d). 圖 5.7 採用 Joint Learning,以逐步增加特徵方式評估不同特徵組合下之 Recall@3. 如圖 5.6 及 5.7 所示,(a)的各長條表示只採用一個特徵;(b)、(c)及(d)最左邊 的長條表示增加特徵前的組合,右邊各長條表示每次增加某個特徵後的組合。增 加特徵的選擇為: (a) 增加特徵 Code。(Null C) (b) 增加特徵 Procedure。(C C-P) (c) 增加特徵 Time。(C-P C-T-P) (d) 因效能沒有提升,故不再增加特徵。(C-T-P 為此階段最後得到的特徵組 56.
(66) 合) 從圖 5.4、5.5、5.6 及 5.7 所示的實驗結果,顯示採用聯合訓練向量表示法, 採用特徵 Code 搭配 Time 與 Procedure 訓練向量表示法,其 Precision@3 與 Recall@3 預測效能最佳。表示結合疾病診斷碼與看診時間及醫療處置出現關聯 學習到的向量表示法,有助於提升聯合訓練模型的預測效能。. 57.
(67) 2. 獨立訓練之「注意力機制」 (IM – Attention) 1) 逐步刪減特徵:. (a). (b). (c). (d). (e). (f). 圖 5.8 採用 IM–Attention,以逐步刪減特徵方式評估不同特徵組合下之 Precision@3. 58.
(68) (a). (b). (c). (d). (e). (f). 圖 5.9 採用 IM–Attention,以逐步刪減特徵方式評估不同特徵組合下之 Recall@3. 59.
(69) 圖 5.8 及 5.9 中,每張圖中最左邊的長條表示刪減特徵前的組合,右邊各長條表 示每次刪減某個特徵後的組合。增加特徵的選擇為: (a) 刪減特徵 Department。(C-T-A-L-G-P-D C-T-A-L-G-P) (b) 刪減特徵 Procedure。(C-T-A-L-G-P C-T-A-L-G) (c) 刪減特徵 Location。(C-T-A-L-G C-T-A-G) (d) 刪減特徵 Time。(C-T-A-G C-A-G) (e) 刪減特徵 Age。(C-A-G C-G) (f) 因效能沒有提升,故不再刪減特徵。(C-G 為此階段最後得到的組合). 60.
(70) 2) 逐步增加特徵:. (a). (b). (c) 圖 5.10 採用 IM–Attention,以逐步增加特徵方式評估不同特徵組合下之 Precision@3. 61.
(71) (a). (b). (c) 圖 5.11 採用 IM–Attention,以逐步增加特徵方式評估不同特徵組合下之 Precision@3. 如圖 5.10 及 5.11 所示,(a)的各長條表示只採用一個特徵;(b)及(c)最左邊的 長條表示增加特徵前的組合,右邊各長條表示每次增加某個特徵後的組合。增加 特徵的選擇為: (a) 增加特徵 Code (NULL C)。 (b) 增加特徵 Drug (C C-G)。 (c) 因效能沒有提升,故不再增加特徵。(C-G 為此階段最後得到的組合). 62.
(72) 由圖 5.8、5.9、5.10 及 5.11 所示結果,採用獨立訓練向量表示法,整合模型 採用「注意力機制」 ,以特徵 Code 搭配 Drug 訓練向量表示法時,其 Precision@3 與 Recall@3 預測效能最佳。表示結合疾病診斷碼與用藥出現關聯學習到的向量 表示法,對於注意力機制模型有助於提升預測效能。. 比較上述兩種方法可以得到:以 Joint Learning 模型,特徵採用疾病診斷碼 搭配看診時間及醫療處置時,可得到最佳預測效果。. 63.
(73) 第六章. 結論與未來研究方向/. 在本論文中,我們提出以異質關係學習病歷紀錄中不同疾病診斷碼的特徵表 示法,包括考慮病患的年齡、居住地區,或是看診的時間、用藥等出現關聯。本 論文提出的第一種模型架構以這些屬性特徵與疾病診斷碼的出現關聯進行獨立 訓練,第二種模型架構則以多個特徵與疾病診斷碼出現關聯結合在一個模型中進 行聯合訓練。實驗顯示,不論採用獨立訓練或聯合訓練,兩種模型架構用於下次 看診的疾病診斷碼預測都較相關研究提出的 Med2Vec 有更佳預測效果,其中又 以獨立訓練結合注意力機制模型(IM – Attention)可達到最高之 Precision@3 及 Recall@3。此外,當採用本論文提出之聯合訓練(Joint Learning)與獨立訓練結合 注意力機制模型(IM – Attention),採用全部的特徵未必得到最佳學習效果;以聯 合訓練(Joint Learning)的方法,特徵採用疾病診斷碼搭配看診時間及醫療處置時, 可得到最佳預測效果。 本篇論文目前只以病患當次的看診紀錄,做為下次看診的疾病診斷碼預測之 輸入資料。未來研究可進一步針對病患多次的看診循序資料當作輸入,進行後續 看診的疾病診斷碼預測。. 64.
(74) 參考文獻 [1] D. Bahdanau, K. Cho, and Y. Bengio. “Neural Machine Translation by Jointly Learning to Align and Translate.” Paper presented at Proceedings of the 3rd International Conference on Learning Representations (ICLR), 2015. [2] E. Choi, M. T. Bahadori, E. Searles, C. Coffey, M. Thompson, J. Bost, and J. Tejedor-Sojo, and J. Sun. “Multi-Layer Representation Learning for Medical Concepts.” Paper presented at Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (KDD), 2016. [3] E. Choi, M. T. Bahadori, L. Song, W. F. Stewart, and J. Sun. “GRAM: Graphbased Attention Model for Healthcare Representation Learning.” Paper presented at Proceedings of the 23rd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (KDD), 2017. [4] E. Choi, M. T. Bahadori, and J. Sun. “Doctor AI: Predicting Clinical Events via Recurrent Neural Networks.” In 2016 Machine Learning and Healthcare Conference (MLHC), 2016. [5] E. Choi, M. T. Bahadori, J. Sun, J. Kulas, A. Schuetz, and W. F. Stewart. “RETAIN: An Interpretable Predictive Model for Healthcare using Reverse Time Attention Mechanism.” Paper presented at Advances in Neural Information Processing Systems (NIPS), 2016. [6] S. Kuzi, A. Shtok, and O. Kurland. “Query Expansion Using Word Embeddings.” Paper presented at Proceedings of the 25th ACM International on Conference on Information and Knowledge Management (CIKM), 2016. [7] M. Luong, H. Pham, and C. D. Manning. “Effective Approaches to Attentionbased Neural Machine Translation.” Paper presented at Proceedings of the Conference on Empirical Methods in Natural Language Processing (EMNLP), 2015.. 65.
(75) [8] F. Ma, R. Chitta, J. Zhou, Q. You, T. Sun, and J. Gao. “Dipole: Diagnosis Prediction in Healthcare via Attention-based Bidirectional Recurrent Neural Networks.” Paper presented at Proceedings of ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (KDD), 2017. [9] T. Mikolov, K. Chen, G. Corrado, and J. Dean. “Efficient estimation of word representations in vector space.” Paper presented at Proceedings of the International Conference on Learning Representations (ICLR), 2013. [10] T. Mikolov, I. Sutskever, K. Chen, G. S. Corrado, and J. Dean. “Distributed representations of words and phrases and their compositionality.” Paper presented at Advances in Neural Information Processing Systems 26 (NIPS), 2013. [11] V. Mnih, N. Heess, A. Graves, and K. Kavukcuoglu. “Recurrent Models of Visual Attention.” Paper presented at Advances in Neural Information Processing Systems (NIPS), 2014. [12] A. Vaswani, N. Shazeer, N. Parmar, J. Uszkoreit, L. Jones, A. N. Gomez, Ł. Kaiser, and I. Polosukhin. “Attention is all you need.” Paper presented at Advances in Neural Information Processing Systems (NIPS), 2017. [13] M. Xie, H. Yin, H. Wang, F. Xu, W. Chen, and S. Wang. “Learning Graph-based POI Embedding for Location-based Recommendation.” Paper presented at Proceedings of ACM International Conference on Information Knowledge Management, 2016. [14] Z. Zhang, S. Liu, M. Li, M. Zhou, and E. Chen. “Joint Training for Neural Machine Translation Models with Monolingual Data.” Paper presented at the 32nd AAAI Conference on Artificial Intelligence, 2018. [15] G. Zuccon, B. Coopman, P. Bruza, and L. Azzopardi. “Integrating and Evaluating Neural Word Embeddings in Information Retrieval.” Paper presented at Proceedings of the 20th Australian Document Computing Symposium (ADCS), 2015.. 66.
相關文件
Mehrotra, “Content-based image retrieval with relevance feedback in MARS,” In Proceedings of IEEE International Conference on Image Processing ’97. Chakrabarti, “Query
in Proceedings of the 20th International Conference on Very Large Data
Hsueh (1996), “A Dynamic User-Optimal Route Choice Problem Using a Link-Based Variational Inequality Formulation,”. Paper Presented at The 5th World Congress of the RSAI
Shih and W.-C.Wang “A 3D Model Retrieval Approach based on The Principal Plane Descriptor” , Proceedings of The 10 Second International Conference on Innovative
Harma, “Automatic identification of bird species based on sinusoidal modeling of syllables,” in Proceedings of IEEE International Conference on Acoustics, Speech,
Li, The application of Bayesian optimization and classifier systems in nurse scheduling, in: Proceedings of the 8th International Conference on Parallel Problem Solving
Card, ”Bird song identification using artificial neural networks and statistical analysis”, in Proceedings of Canadian Conference on Electrical and Computer
Sun, “The Application of Role-Based Access Control in Workflow Management Systems”, Proceedings of IEEE International Conference on System, Man and Cybemetics, vol.6, pp.