胡綠慧,王海
(成都中醫(yī)藥大學智能醫(yī)學學院,四川 成都 611137)
2 型糖尿病(Diabetes Mellitus Type 2,T2DM)是一種影響全球人類的代謝疾病,全球共有4.15 億人患有糖尿病,到2040 年可能增加到6.42 億人[1]。2020 年我國60 歲及以上的老年人口占總?cè)丝诘?8.7%(2.604億),其中約30% 的老年人罹患糖尿病且T2DM 占95%以上。早期篩查、診斷和預防成為實現(xiàn)T2DM 疾病緩解的重要因素[2]。趙靈燕[3]做了T2DM中醫(yī)辨證分型與臨床指標的相關(guān)性研究。文玉敏[4]使用關(guān)系網(wǎng)絡(luò)模型、聚類分析等探究糖尿病腎病的方藥組成及證候特點;郭奕瑞[5]等應用ANN和logistic回歸建立2型糖尿病預測模型。而對證候演變機制、中西醫(yī)多維特征融合研究有待深入,以提高臨床診斷的準確性。而深度神經(jīng)網(wǎng)絡(luò)(DNN)作為一種機器學習算法,具有較高的容錯性,能夠擬合任何復雜函數(shù),具有很強的非線性擬合能力,并獲得數(shù)據(jù)樣本的特征規(guī)則,同時可以規(guī)避主觀因素對規(guī)律提取過程中的影響,適合于中西醫(yī)多維信息的非線性建模研究。
本研究數(shù)據(jù)來源于某三甲中醫(yī)醫(yī)院內(nèi)分泌科住院病歷數(shù)據(jù),篩選中醫(yī)診斷為“消渴病”,西醫(yī)診斷為“2型糖尿病”,且病歷數(shù)據(jù)較為完整,包含年齡、性別,病程、癥狀、中醫(yī)診斷結(jié)論,空腹血糖、餐后血糖、糖化血紅蛋白等理化指標。
1.2.1 缺失值處理
首先檢測初篩樣本表中的缺失值,采用隨機森林算法對缺失值進行填充。能更好地反映未知數(shù)據(jù)的真實性、準確性、可靠性。
1.2.2 異常值處理
數(shù)據(jù)集中由于各種原因難免有異常值,本研究通過計算均方差來判定是否存在異常值。對于異常值我們采用刪除或視為缺失值或用平均值修正來進行處理。
1.2.3 中文分詞、詞頻統(tǒng)計
由于中醫(yī)的特點,臨床上總是會出現(xiàn)同癥不同病、同病不同醫(yī)、同醫(yī)不同效等醫(yī)學表述數(shù)據(jù)不統(tǒng)一的現(xiàn)象。使用結(jié)巴分詞器對癥狀進行分詞,新建術(shù)語詞典和停用詞詞表,并對詞頻進行統(tǒng)計,篩選出出現(xiàn)頻率最高的15個癥狀作為研究指標,包括多食易饑、多飲、多尿、口干、口渴、口苦、視物模糊、尿有泡沫、四肢麻木、便溏、足爛、胸悶、乏力、皮膚瘙癢、眠差等。為保證模型的收斂效率,本研究從原始表提取7種頻數(shù)最多的證型進行研究,包括氣陰兩虛夾瘀、氣陰兩虛瘀血阻絡(luò)、氣陰兩虛、氣陰兩虛濕瘀互結(jié)、濕瘀互結(jié)、氣虛血瘀、氣陰兩虛夾濕。最終整理出符合條件的數(shù)據(jù)共514條,其中男性323例,女性191例,年齡分布在15歲至91歲之間。
1.2.4 數(shù)據(jù)歸一化處理
原始表中樣本存在漢字、字符等類型數(shù)據(jù),也存在各屬性間的數(shù)量級相差較大,如年齡、理化指標等。按照深度神經(jīng)網(wǎng)絡(luò)對于輸入層的要求,需要對研究指標重新編碼和歸一化處理,將其轉(zhuǎn)化為DNN能夠識別的語言。處理規(guī)則如下:
1)性別:用1代表男性,0代表女性;
2)癥狀:有此癥狀記為1,無此癥狀記為0;
3)病程:數(shù)據(jù)做最大最小歸一化,使其分布[0,1]之間;
4)糖代謝指標:本研究提取糖化血紅蛋白、空腹血糖、餐后2H血糖,對數(shù)值進行最大最小歸一化處理,使其分布在[0,1]之間;
5)證型類別: 對典型證型按序號對應每類編碼1~7。
預處理后的數(shù)據(jù)如表1所示。

表1 預處理后的數(shù)據(jù)格式
深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Networks,DNN)為包含多個隱藏層的神經(jīng)網(wǎng)絡(luò),可以用較少的參數(shù)表示復雜的函數(shù)。本研究設(shè)計的DNN 結(jié)構(gòu)各層詳細情況如下:
1)輸入層:輸入層指輸入到神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù),輸入層的神經(jīng)元數(shù)量等于待處理數(shù)據(jù)中輸入變量的數(shù)量。本研究使用年齡、性別、空腹血糖、餐后2H血糖、糖化血紅蛋白和15種糖尿病典型癥狀共20個研究指標作為輸入,所以輸入層的節(jié)點數(shù)為20。
2)隱藏層:隱藏層由神經(jīng)網(wǎng)絡(luò)中的大多數(shù)神經(jīng)元組成,是處理數(shù)據(jù)以獲得所需輸出的核心部分。數(shù)據(jù)將穿過隱藏層,并由許多權(quán)重和偏差調(diào)節(jié)。深度神經(jīng)網(wǎng)絡(luò)的隱藏層數(shù)一般來說并不固定,需要根據(jù)網(wǎng)絡(luò)的訓練效果來確定。本研究經(jīng)過多次實驗確定隱藏層數(shù)為2層,每層的神經(jīng)元個數(shù)分別為10個和9個。
3)輸出層:輸出層是在神經(jīng)網(wǎng)絡(luò)中處理數(shù)據(jù)的最終產(chǎn)物,可以表示不同的事物。通常情況下,輸出層由神經(jīng)元組成,每個神經(jīng)元代表一個對象。本研究的輸出節(jié)點數(shù)等于證型類別數(shù),因為選取七種證型進行預測,所以輸出節(jié)點數(shù)為7,每一個輸出節(jié)點代表一種證型。
4)評估標準:以模型的預測準確率以及對每一類證型預測的精確率、召回率、F1-score來對模型的性能進行評估。
1)確定訓練集:選取80%數(shù)據(jù)集為訓練集,其中氣陰兩虛夾瘀126 例,氣陰兩虛瘀血阻絡(luò)83例,氣陰兩虛83 例,氣陰兩虛濕瘀互結(jié)55例,濕瘀互結(jié)28例,氣虛血瘀22例、氣陰兩虛夾濕14例。剩下的20%作為測試集。
2)權(quán)重初始化:本研究采用隨機初始化,使初始權(quán)值隨機分布在[0,1]之間,這樣每一個神經(jīng)元可以開始就在傳遞函數(shù)變化最大的地方進行迭代。
3)函數(shù)選擇:輸入層、隱藏層各層之間的激活函數(shù)均選用Relu函數(shù),并且為了防止模型過度擬合,在模型中加入Dropout 數(shù)據(jù)參數(shù)丟棄層,丟棄概率為0.5。隱藏層和輸出層之間選用softmax作為激活函數(shù),并使用交叉熵損失函數(shù)categorical_crossentropy,另外使用基于隨機梯度法的自適應時刻估計(Adam)優(yōu)化器對隨機梯度下降進行優(yōu)化,模型的迭代次數(shù)epochs設(shè)為10,batch_size設(shè)為24。
4)模型期望輸出:因為研究所使用的損失函數(shù)為categorical_crossentropy,并且預測結(jié)果有7種證型,所以每一個樣本所對應的輸出為一個7維向量,分別為:氣陰兩虛夾瘀:Y1=[1,0,0,0,0,0,0];氣陰兩虛瘀血阻絡(luò):Y2=[0,1,0,0,0,0,0];氣陰兩虛:Y3=[0,0,1,0,0,0,0];氣陰兩虛濕瘀互結(jié):Y4=[0,0,0,1,0,0,0];濕瘀互結(jié):Y5=[0,0,0,0,1,0,0];氣虛血瘀:Y6=[0,0,0,0,0,1,0];氣陰兩虛夾濕:Y7=[1,0,0,0,0,0,1]。最后再采用inverse_transform()將標準化的數(shù)據(jù)轉(zhuǎn)換成原始數(shù)據(jù)。
使用測試集數(shù)據(jù)對訓練好的T2DM證型預測模型進行檢驗,以評價該模型的性能。模型的迭代次數(shù)為171次,預測結(jié)果準確率達到88%見表2,模型的預測每一類證型的precision(精確率)、recall(召回率)F1-score見表3。其中精確率表示在被所有預測為正的樣本中實際為該證型的概率,召回率表示在實際為正的樣本中被預測為該證型的概率,F(xiàn)1-score 為精確率和召回率之間的平衡值。

表2 模型預測準確率

表3 各證型預測效果
使用決策樹模型計算每個特征變量對于模型貢獻度,如圖1所示,貢獻度從高到低地排列為:糖化血紅蛋白、空腹血糖、餐后2H血糖、年齡、多食易饑、多飲、多尿、視物模糊、口干、口渴、四肢麻木、性別等。

圖1 特征重要性
本研究以DNN 所具有的強大的非線性擬合能力構(gòu)建T2DM中醫(yī)證型預測模型,以年齡、性別、癥狀、糖代謝指標為輸入節(jié)點,證型為輸出結(jié)果,并計算各指標對模型的貢獻度。同時,對各類型證型獨立預測結(jié)果顯示,氣陰兩虛夾瘀、氣陰兩虛濕瘀互結(jié)、氣陰兩虛瘀血阻絡(luò)、氣陰兩虛、濕瘀互結(jié)的精準率和召回率都較高,而氣虛血瘀、氣陰兩虛夾濕都呈現(xiàn)出精確率較高而召回率偏低的預測結(jié)果,原因主要為學習樣本偏少,這也說明深度神經(jīng)網(wǎng)絡(luò)對于數(shù)據(jù)樣本有較高需求,若樣本越大,模型的訓練和學習也就更加充分,也能更全面地掌握數(shù)據(jù)樣本的特征和規(guī)律。另外通過對特征重要性的計算,發(fā)現(xiàn)糖化血紅蛋白、空腹血糖、餐后2h血糖這幾個特征對模型的貢獻度較高,說明糖代謝指標對于證型的分類有著較高的影響;而臨床癥狀中,多食易饑、多飲、多尿,對模型的貢獻度高,說明在證型分類的時候,這些中西醫(yī)指標可以作為臨床參考。
隨著研究的進一步深入,增加更多的樣本量,融合更多研究指標,可以提高證型預測的準確性,可以更好地闡明T2DM 中西醫(yī)特征之間的相互關(guān)系,形成中西醫(yī)結(jié)合新的診療方案,為中國糖尿病臨床智能診療提供理論基礎(chǔ)。