謝 爽 范會敏
(西安工業大學計算機科學與工程學院 陜西 西安 710021)
高血壓和高血脂是常見慢性病,早期一般沒有癥狀,是心腦血管疾病的主要危險因素[1]。《2017中國心血管病報告數據》中指出,雙高疾病對我國公民的危害日益加劇,人們對雙高的預防治療手段的需求也越來越迫切。
在如今信息發展迅速的現代化社會中,醫療數據大部分都以電子醫療病歷的形式記錄,其中包含診斷、癥狀、檢查和化驗等信息,具有維度高、稀疏的特點。針對醫療數據維度高、稀疏的特點,一些疾病預測模型被提出。
傳統的疾病風險預測主要基于Cox比例風險回歸模型及邏輯回歸模型。Cox比例風險模型是由英國統計學家D.R.Cox提出的一種半參數回歸模型。Wang等[2]利用Cox模型,基于弗雷明漢心臟研究來建立房顫患者發生腦卒中及死亡的風險預測模型。該研究腦卒中預測模型和腦卒中或死亡預測模型的H-L統計量分別為7.6和6.5,AUC分別為0.66、0.70。
盡管傳統的回歸方法在疾病預測方面有廣泛的應用,但這些方法在預測準確度和模型可解釋方面仍有提升的空間。近年來,機器學習領域的特征選擇和有監督學習建模方法越來越多地用于疾病預測問題。
Khosla等[3]采用了特征選擇和機器學習方法來預測5年內的腦卒中發生率。該研究的數據來自心血管健康研究數據集,采用了四種方法進行缺失值填充,包括均值填充、中位數填充、線性回歸,及期望最大化方法;特征選擇方法包括前向特征選擇、L1正則化和保守均值特征選擇;建模時嘗試了支持向量機和基于邊緣的刪失回歸方法。使用L1正則化邏輯回歸進行特征選擇,然后使用支持向量機進行預測,采用十折交叉驗證的平均測試AUC(Area Under Curve)為0.764,優于L1正則化Cox模型。將各種特征選擇算法與預測算法相結合的平均顯示,保守均值和基于邊緣的刪失回歸相結合在AUC評價標準中能達到0.777,為性能最佳的結果。
Choi等[4]在心衰的預測上率先使用了基于循環神經網絡(RNN)的方法。針對單個臨床事件的建模采用了自然語言理解中常用的one-hot向量的方式,把任何一個臨床事件都表示成N維的向量,但向量的最后一位為事件發生時間距離預測時間的間隔,類似于一個時間戳。使用門循環單元從每個輸入的臨床事件向量計算相應的隱狀態,在最終的隱狀態上應用邏輯回歸模型計算最后的心衰風險概率。與線性回歸、支持向量機和K近鄰算法等多種經典回歸或機器學習方法實驗對比后發現,基于RNN方法的預測AUC有提高。
綜上所述,由于電子病歷數據高維度、高稀疏的特點,疾病預測研究的重點主要在特征處理方面。因此,本文提出一種Word2vec和卷積神經網絡相結合的特征提取方法(WV-CNN),從特征處理方面入手進行雙高疾病的預測研究。
使用Word2vec進行詞語表示,得到的詞向量為低維稠密性實數,并且很好地保留了語義信息[5],最后利用卷積神經網絡從局部到全局相關性特征的學習能力,對大量文本向量進行深度學習,將文本特征中的重要信息提取出來,以提高預測效果。
由于針對醫學體檢領域的文本特征提取,需要采用該領域的文本進行向量庫的訓練,得出的詞向量更貼合該問題領域。具體詞向量庫構建流程如圖1所示。

圖1 詞向量庫構建
先對文本Di進行分詞處理Di=[wi,w2,…,wn],n為詞語個數。再根據Word2vec詞向量庫把分詞后的文本替換成低維數值向量Wi=[Vi1,Vi2,…,Vik],k為詞向量的維度,如圖2所示。

圖2 詞向量表示
經過上述處理過程使文本特征從高維度、高稀疏數據,變成了類似圖像的連續稠密矩陣數據表示,并且進一步作為下一步卷積神經網絡的輸入。這種文本向量化表示免去了一般特征處理的繁瑣工作,讓文本原始信息得到了最大限度的保留。
卷積神經網絡結構如圖3所示,有輸入層、卷積層、池化層、全連接層四層,特征以詞向量的形式輸入到神經網絡中,經過卷積層、池化層提取出特征中的重要信息,最后再經過全連接層輸出特征。

圖3 卷積神經網絡結構
經過Word2vec詞向量,令xi∈Rk為對應于文本特征中的第i個詞的k維詞向量,將這些詞向量作為卷積神經網絡的輸入。長度為n的文本表示為:
x1:n=x1⊕x2⊕…⊕xn
(1)
式中:⊕是連接運算符;xi:i+j指的是詞向量xi,xi+1,…,xi+j的連接。
卷積中卷積核w∈Rhk作用在h個詞向量上以產生新特征,h為卷積步長。卷積核掃過詞向量xi:i+h-1生成特征ci,計算式表示為:
ci=f(w·xi:i+h-1+b)
(2)
式中:b∈R是偏置項;f(·)是激勵函數。文本表述中,單個主語、主語+謂語、主語+謂語+賓語三種文本表述組合就能將一個句子的主要意思簡潔地表述清楚。卷積層中,考慮到上述三種文本表述組合,卷積核大小分別為1個詞向量、2個詞向量和3個詞向量三種。
使用非線性函數作為激勵函數,使神經網絡表達能力更加強大,不再是輸入的線性組合,幾乎可以逼近任意函數,以協助表達復雜特征。常見的激勵函數有Sigmoid函數、tanh函數和ReLU函數等,本研究中使用tanh函數:
(3)
卷積核作用于文本{x1:h,x2:h+1,…,xn-h+1:n}中產生特征映射,表示為:
c=[c1,c2,…,cn-h+1]c∈Rn-h+1
(4)
然后,在特征映射上進行最大化池化操作,并取最大值c=max{c}作為對應于該特定卷積核的特征,這是為了在特征映射找到最據代表性的特征,最后再經過全連接層直接輸出特征。卷積神經網絡的具體參數設置如表1所示。

表1 卷積神經網絡參數設置
基于數據挖掘的疾病預測的步驟包括數據集的預處理、特征工程、使用機器學習算法訓練預測模型,然后使用測試集驗證模型的效果。數據預處理是指對訓練集和測試集中的特征規范化,如科學計數法表示數據的處理、數值與字符混合數據的處理等。數據中含有文本型數據,運用特征提取方法將文本型數據中的關鍵信息提取出來并轉化為向量,作為新的特征合并到數據集中,然后利用預測算法預測出雙高的具體數值。
為了驗證WV-CNN的效果,從輸入數據量級和預測算法等幾個不同角度對算法進行對比實驗。
在訓練過程中分別使用Doc2vec算法和WV-CNN算法進行特征處理,將處理后的數據特征輸入到訓練后的模型中,對測試集進行預測,得到對每個個體的收縮壓、舒張壓、甘油三酯、高密度脂蛋白膽固醇和低密度脂蛋白膽固醇五項指標的預測結果,并與實際檢測值進行對比。對比實驗設計如圖4所示。

圖4 實驗設計
實驗使用均方誤差MSE作為評價指標,其第j項的計算式為:
(5)

(6)
本實驗采用的數據集是由體檢中心提供的共10 000條個人體檢信息數據集,涉及BMI指數、心電圖、B超、血液檢驗和尿液檢驗等一系列數值型和文本型數據特征。實驗中,對數據集按9 ∶1的比例分為訓練集和測試集,再在訓練集中以9 ∶1的比例分為訓練集和驗證集。其中,訓練集的作用是計算梯度并更新權重;驗證集的作用為確定正確的超參數,以避免過擬合現象的發生;測試集的作用為給出實際的評價指標。
在疾病預測中,樣本數據的大小不僅影響預測的效率還對預測的準確率有著極大的影響。樣本數據不是越大越好,對于每一個具體問題,都有其最合適的樣本數據。為驗證在不同樣本數據輸入下Doc2vec算法和WV-CNN算法的MSE值變化,本實驗分別在支持向量機(SVM)和梯度提升樹(GBDT)算法下進行對比實驗,結果如圖5和圖6所示。

圖5 SVM算法預測

圖6 GBDT算法預測
實驗結果表明,相對于其他預測算法,WV-CNN算法的MSE值在不同的數量級輸入下基本都要低于Doc2vec算法。
由圖6可見,在輸入樣本數量在500和1 000左右時,Doc2vec算法的MSE值比WV-CNN算法略微高一些,分析原因主要是因為輸入樣本數量太少,導致經卷積神經網絡提取到特征信息有限。在圖5和圖6中,隨著輸入樣本數量的增加,MSE值都呈下降趨勢。此外,在輸入樣本數量為8 000或8 500左右時MSE值較低,且之后MSE值趨于穩定。
為了驗證WV-CNN方法在不同預測算法下的有效性,本實驗分別選取線性回歸、支持向量機、隨機森林、梯度提升樹和極端梯度提升(XGBoost),在輸入樣本數量為8 000的相同環境下進行對比實驗,實驗結果詳細數據如表2所示。

表2 Doc2vec方法與WV-CNN方法在不同預測算法下的對比實驗結果
實驗結果表明,在使用不同的預測算法情況下,本文算法的MSE值都要低于Doc2vec算法。可以看出,支持向量機算法相對于其他算法的預測效果而言最差,但經過WV-CNN算法得到的MSE值相比Doc2vec算法下降了0.314 2,經過特征提取改進后預測效果提升明顯。相對于其他算法,極端梯度提升算法的MSE值變化不明顯,使用了WV-CNN算法特征提取后MSE值下降了0.081 7,但預測效果最穩定。綜合比較,經WV-CNN算法提取文本特征后再使用極端梯度提升算法預測獲得的MSE值最小,達到了0.025 4。
為了驗證WV-CNN算法對文本特征提取的有效性,本文進行了一系列對比實驗,分別從輸入數據數量級、預測算法兩方面進行實驗,采用MSE值作為評價指標,得到了多組實驗結果,結果數據匯總如表3所示。

表3 實驗結果匯總
實驗結果表明,本文算法的特征提取能力優于Doc2vec算法。本文算法在不同輸入數據數量級的MSE值平均降低了0.192 4,在各個不同預測算法中MSE值平均降低了0.245 4。經過上述對比實驗可以得出,在雙高疾病預測中,WV-CNN算法的特征提取能力在不同輸入數據數量級和不同預測方面都有很好的表現。
在雙高疾病預測過程中,本文提出了一種基于WV-CNN的特征提取方法,對體檢中心提供體檢數據進行特征處理,并且使用Doc2vec算法作為對比組對特征進行處理。經過不同數量級樣本數據和不同預測算法兩個對比實驗,結果表明:基于WV-CNN的特征提取在疾病預測方面有較低的誤差率,具有不錯的效果。盡管如此,基于WV-CNN的雙高指標預測方法在疾病預測方面仍然不夠完善,下一步將繼續完善預測模型。今后研究中,將基于WV-CNN的低誤差率預測,根據對雙高影響程度大小對體檢項目進行排序,從數據分析的角度得到導致雙高的原因,醫護人員可以以此調整雙高治療方案。