李 莉, 謝 超, 吳 迪
(江蘇大學 計算機科學與通信工程學院, 鎮(zhèn)江 212013)
外周穿刺置入中心靜脈導管(PICC)技術(shù)是一種從周圍靜脈導入且末端位于中心靜脈的深靜脈置管技術(shù), 已經(jīng)廣泛用于中長期靜脈治療手段. 隨著PICC置管技術(shù)的廣泛使用, 其產(chǎn)生的多種并發(fā)癥及不良反應被醫(yī)療工作者所發(fā)現(xiàn), 例如穿刺點出血或感染、穿刺形成靜脈炎癥或血栓、敗血癥和局部感染. Abdullah等人[1]提出PICC相關(guān)性血栓是PICC置管技術(shù)產(chǎn)生的常見且嚴重的并發(fā)癥之一. PICC相關(guān)性血栓多發(fā)生于置管的插入位置[2]以及插入過程由于穿刺、導管直接損傷血管內(nèi)膜或者基于患者自身基礎(chǔ)性疾病影響.因此, 在置管前進行及時的發(fā)現(xiàn)和干預能夠有效預防血栓的形成.
機器學習方法被廣泛運用于醫(yī)療領(lǐng)域. Nafe等人[3]使用機器學習方法, 建立了一種新型的學習模型rML繪制血栓的風險概率, 根據(jù)風險對患者進行識別和分組, 具有重要的臨床意義. Ryan等人[4]使用梯度增強方法擬合決策樹, 并用XGBoost機器學習方法將多個決策樹結(jié)果進行組合, 從而獲得血栓風險預測概率.Liu等人[5]通過癌癥患者的數(shù)據(jù)收集, 提出了一種基于LASSO回歸的隨機森林方法構(gòu)建了LASSO-RF模型, 用于篩選與血栓形成有關(guān)的高風險因子, 能夠?qū)ICC相關(guān)性血栓進行更精確的評估, 以指導早期預防治療.Sukperm等人[6]使用邏輯回歸、決策樹、前饋神經(jīng)網(wǎng)絡(luò)、支持向量機和隨機森林5種機器學習方法, 對573例患者進行數(shù)據(jù)進行訓練, 通過模型效果對比得出支持向量機具有最佳的模型性能, 能夠進行有效血栓風險預測. 實驗結(jié)果證明, 使用多種機器學習方法構(gòu)建預測模型, 能夠有效地對血栓風險進行評估, 從而輔助臨床醫(yī)學診斷, 對于那些具有高PICC相關(guān)性血栓風險的患者, 提前作出判斷并盡早干預.
本文提出了一種基于機器學習和深度神經(jīng)網(wǎng)絡(luò)方法的PICC相關(guān)性血栓預測模型, 構(gòu)建了一種基于DeepFM和XGBoost的融合模型, 并使用模型基本評價指標來對模型效果進行驗證. 本融合模型能夠有效地對PICC相關(guān)性靜脈血栓進行風險預測, 指導臨床識別血栓高危風險因素, 提前采取治療或護理措施對高?;颊哌M行藥物或者物理干預, 從而降低患者發(fā)生血栓的概率.
本研究中引入的所有模型均在同一數(shù)據(jù)集上進行驗證. 本數(shù)據(jù)集來自于某臨床醫(yī)學數(shù)據(jù), 每個實例有30個屬性. 包括有原發(fā)腫瘤部位、藥物性質(zhì)、深筋脈血栓史、C反應蛋白濃度等人體實際測量指標. 其中,原發(fā)腫瘤部位包含4個部位, 縱隔上、縱隔下、全身和頭頸部, 由整數(shù)1-4表示; 藥物性質(zhì)包含其他藥物、化療、血管生長抑制劑、表皮生長受體酪氨酸酶抑制劑、激素和內(nèi)分泌, 由整數(shù)0-5表示.
該數(shù)據(jù)集具有不完整性和維度差異, 因此針對缺失值數(shù)量對數(shù)據(jù)進行篩選. 將包含大量缺失值的患者數(shù)據(jù)進行剔除, 包含少量缺失特征的數(shù)據(jù)以及異常數(shù)據(jù)進行數(shù)據(jù)填補.
使用隨機森林的方法, 通過對原有數(shù)據(jù)進行訓練來進行有誤數(shù)據(jù)的填補. 同時進行數(shù)據(jù)無量綱歸一化,能夠?qū)⒉煌烤V的數(shù)據(jù)進行處理, 使每個變量指標具有同等表現(xiàn)力.
(1)缺失值處理
本臨床醫(yī)學數(shù)據(jù)集在實際收集構(gòu)建的過程中, 會產(chǎn)生部分特征項遺漏的情況, 因此需要針對缺失特征數(shù)量進行部分刪除或者缺失值填補操作. 本數(shù)據(jù)集具有30維特征, 我們選擇直接刪除缺失特征數(shù)量大于5的實例, 將缺乏少量特征的數(shù)據(jù)實例使用隨機森林的方法進行缺失值填補, 利用隨機森林算法進行缺失值填補的流程如下:
Step 1. 首先輸入不包含缺失值的PICC相關(guān)性血栓數(shù)據(jù)集作為樣本集S:
S={(x1,y1),(x2,y2),···,(xM,yM)}
其中, M為不包含缺失值的樣本數(shù).
Step 2. 將數(shù)據(jù)劃分為訓練集和測試集, 進行n輪訓練(n ∈{1,2···,M}).
Step 3. 在訓練的過程中進行n次Bootstrap采樣,得到采樣后的樣本集Sn.
Step 4. 將第n個隨機采樣樣本集Sn輸入到第n個決策樹模型Gn(x)中. 在訓練決策樹時, 在樣本中選取效果較好的作為決策樹的左右子樹.
Step 5. 將n輪訓練得到的回歸預測結(jié)果進行算術(shù)平均得到預測輸出.
(2)無量綱歸一化處理
本模型是基于DeepFM和XGBoost的融合模型,首先需要將連續(xù)特征按照統(tǒng)一方法縮放至[ 0,1]區(qū)間內(nèi),這樣能夠消除數(shù)據(jù)之間尺度和單位度量的影響, 使得不同量綱之間的數(shù)據(jù)處于同一量級, 加快梯度下降的收斂速度[7], 提高模型學習效率. 數(shù)據(jù)無量綱歸一化處理計算公式如式(1):
x′和 x 分 別為歸一化前后數(shù)值, xmin和 xmax分別為同一特征最小值和最大值. 部分無量綱化數(shù)據(jù)如表1.
表1 部分無量綱歸一化數(shù)據(jù)
本PICC相關(guān)性血栓臨床醫(yī)學數(shù)據(jù)具有較多特征值為零的情況, 部分特征組合屬于稀疏數(shù)據(jù). 部分包含0的特征數(shù)據(jù)如表2所示.
表2 部分稀疏數(shù)據(jù)
針對這種稀疏數(shù)據(jù), 采用基于深度神經(jīng)網(wǎng)絡(luò)的DeepFM模型. DeepFM是一種集成了深度神經(jīng)網(wǎng)絡(luò)和FM模型的方法, 能夠進行稀疏數(shù)據(jù)的特征組合[8],避免過擬合情況. XGBoost模型同為線型分類器, 能夠在目標函數(shù)的定義中添加正則化項[9], 具有較好的稀疏感知能力, 適用于本PICC相關(guān)性血栓臨床醫(yī)學數(shù)據(jù).通過將DeepFM和XGBoost進行模型融合, 不僅能夠?qū)Ρ緮?shù)據(jù)集具有可解釋性, 還能夠具有更好的模型效果, 融合模型能夠保持較高準確性的情況下指導臨床識別血栓高危風險因素, 及時對血栓風險進行干預, 起到輔助診斷作用.
DeepFM模型是一種繼承了深度神經(jīng)網(wǎng)絡(luò)和FM模型的方法, 能夠有效地結(jié)合低階和高階的數(shù)據(jù)特征. 通過將同一數(shù)據(jù)分別輸入FM模型和DNN中, 并使用Sigmoid進行組合得到預測輸出.
其中, yfm(x) 是 FM層的輸出, yDnn是 神經(jīng)網(wǎng)絡(luò)層的輸出.
FM即因子分解機, 于2010年由Rendle[10]提出,它融合了SVM模型和因子分解法, 能夠?qū)W習到特征之間的相互關(guān)系. 特別是處理稀疏數(shù)據(jù)時, SVM等模型會產(chǎn)生過擬合現(xiàn)象, 此時FM能夠篩選出合適的特征組合. FM模型的思想是基于線性回歸模型[11], 一般的線性模型可表示為:
而基于FM的特征融合模型在線性模型上考慮到了特征之間的關(guān)聯(lián)性. 以二階度量為例, 此時FM線性模型可表示為:
其中, n 表示總項數(shù), w0表示偏置參數(shù), wi表示第i項的權(quán)重, xi表 示第i項的值, w′表示第i項與第i+1項之間的關(guān)系進行建模.
其中, f表示[ 1,k]個 變量參數(shù), Vi,f·Vi+1,f表示系數(shù)矩陣V中第i和第i+1維向量的點積.
Deep組件是一種深度神經(jīng)網(wǎng)絡(luò), 能夠發(fā)揮深度神經(jīng)網(wǎng)絡(luò)的特性進行高階稀疏數(shù)據(jù)的學習[12].
嵌入層 e1的結(jié)構(gòu)如圖1所示, 假設(shè)其神經(jīng)元數(shù)目k=3, Vi,f為FM層中潛在的特征向量, 將其作為網(wǎng)絡(luò)訓練權(quán)重, 則每個輸入只有一個神經(jīng)元有效, 其值為1.通過結(jié)合FM層的特征向量 Vi,f作為網(wǎng)絡(luò)權(quán)重輸入至深度神經(jīng)網(wǎng)絡(luò), 實現(xiàn)了一個端到端的模型. 嵌入層的輸出表示為:
圖1 嵌入層結(jié)構(gòu)
然后將其輸入到深度神經(jīng)網(wǎng)絡(luò), 可表示為:
其中, al+1為 下一層的輸出值, σ為激活函數(shù), wl、al和bl分別為層數(shù)為l的權(quán)重、輸出和偏差項. 則最終預測輸出yDnn為:
XGBoost是基于梯度下降樹GBDT的機器學習方法, XGBoost是具有回歸樹結(jié)構(gòu)[13], 其決策規(guī)則與決策樹相同, 內(nèi)部節(jié)點代表著預測的貢獻值, 葉子結(jié)點代表著預測分數(shù), 最終的預測結(jié)果是所有樹的預測之和.
首先定義目標函數(shù) O bj , 目標函數(shù)O bj 由損失函數(shù)和正則項組成.
其中, Loss 是真實值yi與預測值之間的損失函數(shù),m為樣本數(shù)量, 其計算公式如式(10):
Ω(fn)是抑制每棵樹復雜度的正則項, 其計算公式如下:
其中, γ 和λ 為常數(shù)項系數(shù), T 為總?cè)~子結(jié)點的數(shù)目,wj為每個葉子結(jié)點預測的分數(shù), 則最終預測輸出
其中, xi是 第i次訓練的樣本, fm(xi)是第n棵樹的訓練分數(shù).
本PICC血栓預測模型是基于DeepFM和XGBoost的融合模型, 首先構(gòu)建DeepFM模型, 利用模型對線性模型的記憶能力和對深度神經(jīng)網(wǎng)絡(luò)的學習泛化能力的特點對數(shù)據(jù)進行訓練并預測. 在訓練過程中通過優(yōu)化其學習率、神經(jīng)元保留比率等參數(shù)使得模型效果達到最優(yōu); 然后構(gòu)建XGBoost模型, 通過調(diào)整正則化項等參數(shù)優(yōu)化模型效果; 最后進行模型融合, 使用單一模型DeepFM和XGBoost在測試集上進行血栓概率預測得到 Pd和 Px, 將兩個模型預測血栓概率值進行加權(quán)求和獲得融合模型血栓預測概率Pnew.
其中, Pnew,i為融合模型獲得的第i個測試樣本的血栓預測概率, Pd,i和Px,i表示分別使用DeepFM和XGBoost對第i個測試樣本的血栓預測概率. 結(jié)合判定指標和預先設(shè)定的概率閾值判斷血栓發(fā)生情況.
其中, Pset為試驗后確定的血栓患病概率閾值.
使用上述判定指標獲得模型融合后的患者血栓預測情況, 將其與訓練真實值進行對比獲得模型評價指標. 實驗結(jié)果表明, 融合模型相比較DeepFM和XGBoost單一模型在效果上均獲得有效提升.
對采集的數(shù)據(jù)集進行預處理, 填補缺失值和統(tǒng)一量綱, 在處理后的數(shù)據(jù)樣本中隨機抽取80%作為訓練集, 20%作為測試集, 分別輸入DeepFM和XGBoost并進行模型融合.
融合模型目的是預測PICC相關(guān)性血栓的發(fā)生風險概率. 選取精確率、F1指標和AUC來評價模型效果. 在一個二分類問題中, 如果一個實例是正類, 且被預測為正類, 就是真正類(TP); 如果是負類, 被預測為正類, 為假正類(FP); 如果一個類是真負類被預測成負類, 稱為真負類(TN); 如果一個真正類被預測為負類,稱為假負類(FN).
精確率(Acc)為預測的正例的總數(shù)和總樣本之比,計算公式為:
F1是一種綜合評價模型指標, 能夠有效地展示精確率和召回率的情況, 計算公式為:
ROC針對的是二分類模型[14], 即輸出結(jié)果只有兩類. ROC曲線的 x 軸 和y 軸分別為假正類(FP)的概率和真正類(TP)的概率. AUC是ROC曲線與 x軸圍成的面積[15], 隨機挑選一個正樣本以及一個負樣本, AUC 的值則為分類器判定正樣本的值高于負樣本的概率. 能夠有效地評價模型的預測性能, 其取值范圍一般在[ 0.1,1].
將PICC相關(guān)性血栓臨床醫(yī)學數(shù)據(jù)輸入DNN、DeepFM、XGBoost以及其融合模型進行訓練. 經(jīng)過訓練得出DNN、DeepFM、XGBoost以及其融合模型的ROC曲線如圖2-圖5所示.
圖2 DNN的ROC曲線
圖3 DeepFM的ROC曲線
圖4 XGBoost的ROC曲線
圖5 DeepFM和XGBoost融合模型ROC曲線
根據(jù)圖2和圖3對比可以看出單一的深度神經(jīng)網(wǎng)絡(luò)DNN在ROC的取值上低于融入深度神經(jīng)網(wǎng)絡(luò)和FM模型方法的DeepFM模型, 因此證明DeepFM模型能夠有效地解決過擬合問題.
根據(jù)ROC曲線可得, 基于DeepFM和XGBoost的融合模型在利用PICC相關(guān)性血栓臨床醫(yī)學數(shù)據(jù)對血栓進行預測能夠在20%的假陽率下準確預測出83%的PICC相關(guān)性血栓數(shù)據(jù), 能夠為臨床置管前提供有效的輔助診斷.
基于DeepFM和XGBoost的融合模型得出的重要性特征圖如圖6所示. 重要性特征圖能夠展示與PICC相關(guān)性血栓有關(guān)的特征重要程度[16], 從而輔助臨床醫(yī)護工作者判斷哪些特征對PICC相關(guān)性血栓產(chǎn)生更顯著的影響. 如圖6所示, 其中尖端是否最佳位置、轉(zhuǎn)移部位高危、深靜脈血栓史、急性感染等影響因素為模型所得重要特征, 與醫(yī)學先驗資料相符. 由于影響PICC相關(guān)性血栓的特征較多, 導致臨床醫(yī)護工作者很難從眾多病人數(shù)據(jù)中找到重要的影響因素, 因此可以結(jié)合本融合模型所得的特征重要性, 更加關(guān)注病人重要信息來提前采取預防措施和干預手段, 降低血栓對患者的影響.
圖6 特征重要性
根據(jù)實驗結(jié)果和ROC曲線得出模型精確率、F1指標和AUC對比如表4所示.
表3 模型精確率、F1和AUC指標對比
從表4可以看出, 針對PICC血栓預測融合模型,其精確率、F1指標和AUC均高于單個機器學習和深度神經(jīng)網(wǎng)絡(luò)模型. 融合模型在精確率上比DeepFM和XGBoost分別高出了1.929%和1.942%, 在F1指標上比DeepFM和XGBoost分別高出了1.941%和5.854%,在AUC上比DeepFM和XGBoost分別高出了3%和5%, 在模型效果上均有顯著提升.
由上述模型評價指標可知, 基于DeepFM和XGBoost的融合模型相比較單一模型得到了最優(yōu)的效果, 證明模型融合的合理性和有效性, 因此可以使用基于DeepFM和XGBoost的融合模型進行PICC相關(guān)血栓風險的預測與評估, 有利于醫(yī)護人員對血栓高風險患者進行及時干預, 最大化降低患者由于置管血栓所造成的影響.
本文是一種基于DeepFM和XGBoost的融合模型, 使用了機器學習和深度神經(jīng)網(wǎng)絡(luò)結(jié)合的方法對外周穿刺置入中心靜脈導管(PICC)置管血栓進行風險預測. 通過從患者入院檢查數(shù)據(jù)中進行選取有效特征,分別輸入DeepFM和XGBoost模型進行訓練, 然后使用模型融合方法對模型效果進行優(yōu)化.
實驗結(jié)果表明, 基于DeepFM和XGBoost的融合模型在模型評價指標和效果上均優(yōu)于單一模型, 證明了融合模型的可行性. 本PICC血栓預測模型能夠幫助臨床在置管前對患者進行血栓風險預測, 對較大血栓風險的患者提早進行藥物或者物理干預, 最大化減小血栓對患者本身所帶來的影響, 在PICC置管血栓領(lǐng)域具有重要意義.