第四章 病歷紀錄特徵向量學習與預測
4.2 預測模型
4.2.1 針對獨立訓練
若使用的特徵不只一種時,由多個獨立訓練模型會產生多個疾病診斷碼向量 表示法,因此必須先將這些向量表示法進行整合後再進行預測。
圖 4.3 獨立訓練與整合模型架構圖
如圖 4.3 所示,本論文設計了三種整合上述獨立訓練所得向量表示法的方式,
以下我們將分別介紹這三種整合方式:
1. 直接接合(Concatenation)
𝒙
𝑖,𝑐𝒗
𝑖,𝑐𝒗
𝑖,𝑡𝒗
𝑖,𝑎𝒗
𝑖,𝑙𝒗
𝑖,𝑝𝒗
𝑖,𝑑𝒉
𝑖𝒖
𝑖𝒙
𝑖+1,𝑐𝒗
𝑖,𝑔35
利用各特徵訓練模型獨立學習出不同的疾病診斷碼向量表示法後,我們以圖
4.4 所示方式進行接合。當採用所有 7 個向量表示法的時候,接合後的向量長度 為 𝑑𝑒× 7;若只採用部分特徵,例如 Code-Code 與 Code-Time 學習的向量表示 法,則如圖 4.5 所示,接合後的向量長度為𝑑𝑒× 2。
圖 4.4 整合模型之「直接接合」,以 7 個特徵全部使用為例
圖 4.5 「直接接合」的向量表示法接合方式,以採用特徵 Code 與 Code-Time 所得之向量表示法為例
如圖所示 4.4 的 Concatenation Layer,並採用以下方式產生整合結果𝒉𝑡, 關係式如公式 3:
𝒗
𝑖,𝑐𝒗
𝑖,𝑡𝒗
𝑖,𝑎𝒗
𝑖,𝑙𝒗
𝑖,𝑝𝒗
𝑖,𝑑𝒉
𝑖𝒗
𝑖,𝑔𝒗
𝑖,𝑐𝑜𝑛𝑐𝑎𝑡𝒗
𝑖,𝑐𝒗
𝑖,𝑡𝒗
𝑖,𝑐𝒗
𝑖,𝑡𝒗
𝑖,𝑐𝑜𝑛𝑐𝑎𝑡=
36
𝒉𝑖 = ReLU(𝒗𝑖,𝑐𝑜𝑛𝑐𝑎𝑡𝑾ℎ+ 𝒃ℎ), 𝑾ℎ ∈ ℝ(𝑒𝑐×𝑁𝑓)×𝑑ℎ (公式 3) 若只有使用 1 個特徵學習出的向量表示法,則沒有𝒗𝑖,𝑐𝑜𝑛𝑐𝑎𝑡,直接以預先訓 練的向量表示法當作𝒉𝑖。
2. 以權重合成(Combination of Weights, CoW)
第二種方式是由加權值來整合獨立訓練所得向量表示法。如圖 4.6 與公式 10 所示,我們對各向量表示法都學習出一個權重,代表該對應特徵向量表示法的組 合比重,也就是圖 4.6 中的所有 𝛼 (𝛼𝑐、𝛼𝑡、𝛼𝑎等參數),再將其與對應向量表示 法相乘後相加得到𝒉𝑖,如公式 4 所示。
圖 4.6 整合模型之「以權重合成」,以 7 個特徵全部使用為例
𝒉𝑖 = 𝛼𝑐𝒗𝑖,𝑐+ 𝛼𝑡𝒗𝑖,𝑡+ 𝛼𝑎𝒗𝑖,𝑎 + 𝛼𝑙𝒗𝑖,𝑙 + 𝛼𝑔𝒗𝑖,𝑔+ 𝛼𝑝𝒗𝑖,𝑝 + 𝛼𝑑𝒗𝑖,𝑑 (公式 4)
𝒗
𝑖,𝑐𝒗
𝑖,𝑡𝒗
𝑖,𝑎𝒗
𝑖,𝑙𝒗
𝑖,𝑔𝒗
𝑖,𝑝𝛼
𝑐𝛼
𝑡𝛼
𝑎𝛼
𝑙𝛼
𝑔𝛼
𝑝* * * * * *
𝒉
𝑖*
𝛼
𝑑𝒗
𝑖,𝑑37
其中 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(𝑄𝐾𝑇
√𝑑𝑘)𝑉. (公式 5)
38
圖 4.7 整合模型之「注意力機制」以產生權重參數值之架構圖
當𝒁𝑖產生之後,我們使用一層平坦層(Flatten Layer)以產生整合後的結果向量 𝒉𝑖,再透過兩層全連接層的學習,以得到預期的輸出,也就是下一筆看診的疾病
𝒗𝑖 =
𝒁
𝑖× 𝑾
𝑄× 𝑾
𝐾× 𝑾
𝑉𝒗
𝑖,𝑐𝑇𝒗
𝑖,𝛿𝑇𝒗
𝑖,𝑎𝑇𝒗
𝑖,𝑙𝑇𝒗
𝑖,𝑑𝑇𝒗
𝑖,𝑝𝑇𝒗
𝑖,𝑔𝑇𝒉
𝑖39
診斷碼𝒙𝑖+1,𝑐分布機率值。兩層全連接層的說明如下:
第一層為隱藏層(從𝒉𝑖到𝒖𝑖),將維度從𝑁𝑓× 𝑑𝑣投影到𝑑𝑢,以 ReLU 為激
活函數。
第二層為輸出層(從𝒖𝑖到𝒙𝑖+1,𝑐),用來做最後的預測,其激活函數為
Softmax。
訓練時的損失函數採用 Categorical Cross Entropy。