盧春城 黃理燦 劉靖雯
摘 要:糖尿病患者人數(shù)眾多,對(duì)人的健康危害極大,盡早預(yù)測(cè)是否患有糖尿病是降低糖尿病死亡率的關(guān)鍵。基于IG-DNN混合決策算法進(jìn)行糖尿病預(yù)測(cè)模型研究,其中糖尿病數(shù)據(jù)集來(lái)源于UCI機(jī)器學(xué)習(xí)庫(kù)—PIDD。PIDD包括768個(gè)記錄,每條記錄包含8個(gè)屬性。首先應(yīng)用信息增益方法(IG)將屬性減少到5個(gè),然后將其應(yīng)用于DNN作為輸入。該方法分類(lèi)準(zhǔn)確度達(dá)到88.3%,效果優(yōu)于之前的大部分研究成果。
關(guān)鍵詞:糖尿病預(yù)測(cè)模型; PIDD; 信息增益(IG);深度神經(jīng)網(wǎng)絡(luò)(DNN)
DOI:10. 11907/rjdk. 182845 開(kāi)放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):
中圖分類(lèi)號(hào):TP301文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-7800(2019)008-0021-05
Research on Diabetes Hybrid Decision Algorithm Based on IG-DNN
LU Chun-cheng, HUANG Li-can, LIU Jing-wen
(School of Information Science and Technology, Zhejiang Sci-tech University, Hangzhou 310018, China)
Abstract: A large number of patients suffer from diabetes which is extremely harmful to peoples health, and early prediction of diabetes is the key to reducing diabetes mortality. Machine learning algorithms are often used to build diabetes prediction models. In this paper, a hybrid decision algorithm based on IG-DNN is proposed. The diabetes dataset was derived from the UCI machine learning library, PIDD. The PIDD consists of 768 records, each of which contains 8 attributes. The proposed new method first applies the information gain method (IG) to reduce the attribute to 5 and then applies it to the DNN as input. The classification accuracy of the proposed new method is 88.3%, which is better than most previous research results.
Key Words: diabetes prediction model; PIDD; information gain; deep neural network
作者簡(jiǎn)介:盧春城(1992-),男,浙江理工大學(xué)信息學(xué)院碩士研究生,研究方向?yàn)閿?shù)據(jù)挖掘;黃理燦(1962-),男,浙江理工大學(xué)信息學(xué)院教授、碩士生導(dǎo)師,研究方向?yàn)榉植际接?jì)算、下一代網(wǎng)絡(luò);劉靖雯(1995-),女,浙江理工大學(xué)信息學(xué)院碩士研究生,研究方向?yàn)闄C(jī)器學(xué)習(xí)。
0 引言
糖尿病、高血壓、心腦血管疾病被稱(chēng)為21世紀(jì)威脅人類(lèi)健康的3大殺手 [1-2]。據(jù)統(tǒng)計(jì),我國(guó)是全球糖尿病人數(shù)最多的國(guó)家,2017年糖尿病人數(shù)為1.14億,預(yù)計(jì)到2045年將達(dá)到 1.5億左右[3]。因此,糖尿病研究對(duì)于大眾身體健康具有十分重要的意義。
當(dāng)前應(yīng)用于糖尿病預(yù)測(cè)模型的建模方式主要有兩類(lèi):一類(lèi)以統(tǒng)計(jì)學(xué)為基礎(chǔ),主要包含Logistic回歸、Cox回歸等方法;另一類(lèi)以機(jī)器學(xué)習(xí)算法為主,模型搭建方法主要有K近鄰算法(KNN)、決策樹(shù)、人工神經(jīng)網(wǎng)絡(luò)(ANN)等[4-7]。這些方法各有優(yōu)勢(shì)以及不足,如人工神經(jīng)網(wǎng)絡(luò)模型有整體性、并行性、較高的容錯(cuò)性等特點(diǎn),但存在對(duì)隨機(jī)性和波動(dòng)性較大的數(shù)據(jù)預(yù)測(cè)精度差等劣勢(shì)。建立糖尿病及其并發(fā)癥預(yù)測(cè)模型必須考慮各個(gè)危險(xiǎn)因素間的非線(xiàn)性作用,上述算法對(duì)復(fù)雜函數(shù)的表達(dá)能力有限,或多或少會(huì)受到制約[8-9]。
隨著深度學(xué)習(xí)技術(shù)的發(fā)展,其強(qiáng)大的特征提取和學(xué)習(xí)能力越來(lái)越多地應(yīng)用到疾病預(yù)測(cè)領(lǐng)域[10-12]。
劉飛等[13]利用MRI圖像作為CNN輸入,提高了I型糖尿病患者和II型糖尿病患者的分類(lèi)準(zhǔn)確率,實(shí)現(xiàn)了對(duì)糖尿病患者M(jìn)RI圖像的分類(lèi)識(shí)別。
Andre Esteva等[14]利用CNN訓(xùn)練129 450張臨床皮膚癌圖像,取得了與皮膚癌專(zhuān)家相當(dāng)?shù)脑\斷性能,表明人工智能與皮膚科醫(yī)生水平相當(dāng)。
相對(duì)于其它淺層機(jī)器學(xué)習(xí)方法,深度學(xué)習(xí)技術(shù)能夠提高疾病預(yù)測(cè)模型的準(zhǔn)確率,而之前利用深度學(xué)習(xí)搭建的糖尿病預(yù)測(cè)模型相對(duì)較少。本文嘗試將深度神經(jīng)網(wǎng)絡(luò)(DNN)應(yīng)用于糖尿病診斷預(yù)測(cè)并進(jìn)行相應(yīng)的性能評(píng)估。
1 數(shù)據(jù)集與研究方法
1.1 實(shí)驗(yàn)數(shù)據(jù)集
本文研究所用糖尿病數(shù)據(jù)來(lái)源于UCI,全稱(chēng)皮馬印第安人糖尿病數(shù)據(jù)集(簡(jiǎn)稱(chēng)PIDD)。該數(shù)據(jù)集由美國(guó)國(guó)立糖尿病、消化和腎臟疾病研究所(簡(jiǎn)稱(chēng)NIDDK)收集提供[15]。
PIDD共768個(gè)樣本,有8個(gè)特征屬性和一個(gè)標(biāo)簽變量,8個(gè)特征屬性含義如下:①懷孕次數(shù)(NP);②在內(nèi)服葡萄糖耐量實(shí)驗(yàn)中兩小時(shí)以后的血漿葡萄糖濃度,本文簡(jiǎn)稱(chēng)為血糖值(英文簡(jiǎn)稱(chēng)PGC);③舒張壓(mm Hg),本文簡(jiǎn)稱(chēng)為血壓(英文簡(jiǎn)稱(chēng)DBP);④三頭肌皮褶厚薄程度(mm),本文簡(jiǎn)稱(chēng)為皮脂厚度(英文簡(jiǎn)稱(chēng)TSFT);⑤2小時(shí)血清胰島素(mu/ml),本文簡(jiǎn)稱(chēng)為胰島素含量(英文簡(jiǎn)稱(chēng)Insulin);⑥體重指數(shù)(英文簡(jiǎn)稱(chēng)BMI);⑦糖尿病譜系功能,本文簡(jiǎn)稱(chēng)為遺傳指數(shù)(英文簡(jiǎn)稱(chēng)DPF);⑧年齡(英文簡(jiǎn)稱(chēng)Age)。
標(biāo)簽變量值為0和1,其中1代表患有糖尿病,0代表不患有糖尿病。整理成csv文件后數(shù)據(jù)集如表1所示。
表1 PIDD數(shù)據(jù)集csv樣本格式
通過(guò)統(tǒng)計(jì)分析,標(biāo)簽值為1的樣本數(shù)量是500個(gè)(占總樣本65.1%),標(biāo)簽值為0的樣本數(shù)總共268個(gè)(占總樣本34.9%)。圖1展示了樣本標(biāo)簽值分布情況。
圖1 PIDD數(shù)據(jù)集樣本標(biāo)簽值分布
通過(guò)簡(jiǎn)單計(jì)算可得到PIDD數(shù)據(jù)集的特征值,如表2所示。
表2 PIDD數(shù)據(jù)集特征值
1.2 研究方法
1.2.1 系統(tǒng)總體架構(gòu)
系統(tǒng)架構(gòu)如圖2所示。
圖2 總體架構(gòu)
1.2.2 信息增益(IG)
數(shù)據(jù)集中每個(gè)屬性都具有特定的等級(jí)和重要性,為評(píng)估每個(gè)屬性的重要性,通過(guò)衡量其相對(duì)于其它屬性的增益比得到評(píng)估價(jià)值。信息增益算法通過(guò)估計(jì)經(jīng)驗(yàn)熵和經(jīng)驗(yàn)條件熵之間的差異獲取信息增益(X,Y),算法如下:
輸入:X,Y(其中X和Y被認(rèn)為是離散變量);輸出:信息增益InfoGain(X,Y)。
其中X的經(jīng)驗(yàn)熵表示如下:
[Entropy(X)=-xP(X)log2P(X)]? ? ? ? ? (1)
這里P(X)表示X的概率函數(shù),或離散變量取某值的概率。Y獲得的關(guān)于X的經(jīng)驗(yàn)條件熵表示如下:
[Entropy(X|Y)=-VP(Y)Entropy(X|Y)=]
[-YP(Y)Entropy(X|Y)log2P(X|Y)]? ? (2)
信息增益是信息熵的差,即X的經(jīng)驗(yàn)熵和Y的后熵的差,表示在消除不確定后獲得的信息量,如式(3)所示。
[InfoGain(X;Y)=Entropy(X)-Entropy(X|Y)]? (3)
特征的信息增益越大說(shuō)明熵的變化越大,熵變化越大越有利于分類(lèi)。信息增益體現(xiàn)了特征的重要性,信息增益越大說(shuō)明特征越重要。
1.2.3 深度神經(jīng)網(wǎng)絡(luò)(DNN)
深度神經(jīng)網(wǎng)絡(luò)(DNN)是研究深度學(xué)習(xí)的基礎(chǔ),而要理解DNN則先要理解DNN模型。
DNN模型是由感知機(jī)模型發(fā)展起來(lái)的,它是一個(gè)有若干輸入和一個(gè)輸出的模型,如圖3所示。
圖3 感知機(jī)模型
輸入和輸出之間學(xué)習(xí)到一個(gè)線(xiàn)性關(guān)系,得到中間輸出結(jié)果如公式(4)所示。
[z=i=1mwixi+b]? ? ? ? ? ? ?(4)
神經(jīng)元激活函數(shù)如公式(5)所示。
[sign(z)=-1? z<01? ? ?z0]? ? ? ? ? ? (5)
從而得到想要的輸出結(jié)果1或者-1。
這個(gè)模型只能用于二元分類(lèi),且無(wú)法學(xué)習(xí)比較復(fù)雜的非線(xiàn)性模型,因此在工業(yè)界無(wú)法使用。而神經(jīng)網(wǎng)絡(luò)在感知機(jī)模型上作了擴(kuò)展,總結(jié)主要有3點(diǎn):①加入了隱藏層,隱藏層可以有多層,增強(qiáng)了模型的表達(dá)能力;②輸出層的神經(jīng)元也可以不止一個(gè)輸出,可以有多個(gè)輸出,這樣模型可以靈活應(yīng)用于分類(lèi)回歸以及其它機(jī)器學(xué)習(xí)領(lǐng)域,如降維和聚類(lèi)等;③對(duì)激活函數(shù)作擴(kuò)展,感知機(jī)的激活函數(shù)是[sign(z)],雖然簡(jiǎn)單但是處理能力有限,因此神經(jīng)網(wǎng)絡(luò)中一般使用其它激活函數(shù),比如在卷積神經(jīng)網(wǎng)絡(luò)里使用的Softmax函數(shù),如公式(6)所示。
[σ(z)j=ezjk=1Kezk]? ? ? ? ? ? ? (6)
還有后來(lái)出現(xiàn)的[tanx、ReLU]等。
神經(jīng)網(wǎng)絡(luò)基于感知機(jī)擴(kuò)展,而DNN可以理解為有很多隱藏層的神經(jīng)網(wǎng)絡(luò)。從DNN按不同層的位置劃分,DNN內(nèi)部神經(jīng)網(wǎng)絡(luò)層可分為3類(lèi):輸入層(input layer)、隱藏層(hidden layer)和輸出層(output layer),如圖4所示。
圖4 DNN結(jié)構(gòu)
1.2.4 糖尿病預(yù)測(cè)模型評(píng)價(jià)標(biāo)準(zhǔn)
本文對(duì)糖尿病模型的性能評(píng)估主要采用準(zhǔn)確度、靈敏度和特異度指標(biāo)。評(píng)價(jià)靈敏度和特異度,要用到混淆矩陣定義,如表3所示。
表3 混淆矩陣定義
[分類(lèi)\&模型預(yù)測(cè)患?。?模型預(yù)測(cè)未患?。?實(shí)際患?。?TP\&FN\&實(shí)際未患?。?FP\&TN\&]
從表3中可以得出4種情況:①在測(cè)試集中,當(dāng)患有糖尿病的病人經(jīng)過(guò)模型被預(yù)測(cè)為糖尿病患者時(shí),即是真正類(lèi)(TP);②若患有糖尿病的病人被診斷為未患有糖尿病,即是假正類(lèi)(FN);③當(dāng)未患有糖尿病的病人經(jīng)過(guò)模型被診斷為未患有糖尿病時(shí),即是真負(fù)類(lèi)(FP);④若未患病的病人被診斷為患有糖尿病則為假負(fù)類(lèi)(TN)[16]。
準(zhǔn)確度通常用Acc表示,計(jì)算公式如下:
[Acc=TP+TNTP+FN+TN+FP]? ? ? ? (7)
靈敏度通常用Sen表示,計(jì)算公式如下:
[Sen=TPTP+FN]? ? ? ? ? ? ?(8)
特異度通常用Spe表示,計(jì)算公式如下:
[Spe=TNTN+FP]? ? ? ? ? ? ?(9)
上面3個(gè)指標(biāo)能夠客觀(guān)分析評(píng)估模型,在醫(yī)學(xué)、數(shù)據(jù)挖掘和模型識(shí)別等領(lǐng)域應(yīng)用廣泛。
2 實(shí)驗(yàn)步驟
2.1 PIDD糖尿病數(shù)據(jù)集
本文的數(shù)據(jù)集來(lái)自UCI皮馬印第安人糖尿病數(shù)據(jù)集(PIDD),整理為csv文件如表4所示。
表4 PIDD csv格式
2.2 特征選擇及預(yù)處理
特征選擇和預(yù)處理采用信息增益算法(IG),一般一個(gè)屬性的熵越大,它能夠給分類(lèi)系統(tǒng)帶來(lái)的信息量就越大,這樣就可以選擇重要性較高的屬性。weka中PIDD信息增益值折線(xiàn)如圖5所示。
從圖5可以看出,糖尿病數(shù)據(jù)集的屬性信息增益值在屬性TSFT處出現(xiàn)拐點(diǎn),取top5屬性后的數(shù)據(jù)集如表5所示。
圖5 信息增益折線(xiàn)
表5 新數(shù)據(jù)集csv格式
2.3 訓(xùn)練集和測(cè)試集劃分
考慮到DNN模型訓(xùn)練需要大量數(shù)據(jù)集,本文劃分90%作為訓(xùn)練集,共691個(gè)樣本,剩下的10%作為測(cè)試集,共77個(gè)樣本。
將訓(xùn)練集數(shù)據(jù)整理成csv文件格式如表6所示。
表6 訓(xùn)練集數(shù)據(jù)格式
表6中,691代表訓(xùn)練集個(gè)數(shù),5代表經(jīng)過(guò)特征選擇后剩下的屬性。
2.4 使用DNN構(gòu)造糖尿病分類(lèi)器
利用TensorFlow搭建DNN分類(lèi)器,通過(guò)不斷調(diào)整DNN參數(shù),得到層數(shù)對(duì)照試驗(yàn)數(shù)據(jù)如表7所示(步長(zhǎng)? ? ? ? 3 200)。
從表7可以看出,當(dāng)隱藏層為10,20,40,40,20,10時(shí),DNN模型預(yù)測(cè)準(zhǔn)確率最高。
3 結(jié)果分析
經(jīng)過(guò)IG—DNN模型分析,得到當(dāng)隱藏層為6層時(shí),獲得模型分類(lèi)準(zhǔn)確率最高,為88.31%。如圖6所示。
表7 層數(shù)對(duì)比試驗(yàn)數(shù)據(jù)
圖6 IG-DNN準(zhǔn)確率
圖7 混淆矩陣
最后,通過(guò)Python畫(huà)出的混淆矩陣如圖7所示。從圖7可以得到:實(shí)際類(lèi)型是1、預(yù)測(cè)類(lèi)型是0的樣本數(shù)是4,實(shí)際類(lèi)型是1、預(yù)測(cè)為1的樣本數(shù)是46;同時(shí),實(shí)際類(lèi)型是0預(yù)測(cè)類(lèi)型是1的樣本個(gè)數(shù)是5,實(shí)際類(lèi)型是0預(yù)測(cè)類(lèi)型是0的樣本個(gè)數(shù)是22。
通過(guò)計(jì)算,相應(yīng)的靈敏度(Sen)和特異度(Spe)分別是:0.92、0.81,見(jiàn)表8。
表8 IG-DNN算法結(jié)果評(píng)估
[準(zhǔn)確率(%)\&靈敏度\&特異度\&88.3\&0.92\&0.81\&]
本文獲得的分類(lèi)準(zhǔn)確度和PIDD數(shù)據(jù)集的其它研究最佳值對(duì)比結(jié)果見(jiàn)表9。
表9 IG-DNN算法結(jié)果對(duì)比
4 結(jié)語(yǔ)
本文主要研究了基于IG-DNN混合決策算法在糖尿病預(yù)測(cè)分類(lèi)中的效果。實(shí)驗(yàn)結(jié)果表明:通過(guò)此方法可以獲得高達(dá)88.3%準(zhǔn)確率,而且能夠獲得較高的特異值和靈敏度。但本文存在的不足之處是PIDD數(shù)據(jù)集特征屬性并不一定完全適用于中國(guó)人,后期需要制定中國(guó)人自己的糖尿病指標(biāo)。將來(lái)可與醫(yī)院合作收集更多的糖尿病病例數(shù)據(jù),嘗試?yán)肐G-DNN訓(xùn)練出更好的模型,從而獲得更高的準(zhǔn)確率。
參考文獻(xiàn):
[1] 廖涌. 中國(guó)糖尿病的流行病學(xué)現(xiàn)狀及展望[J]. 重慶醫(yī)科大學(xué)學(xué)報(bào),2015(7):1042-1045.
[2] 潘長(zhǎng)玉. 中國(guó)糖尿病控制現(xiàn)狀——指南與實(shí)踐的差距,亞洲糖尿病治療現(xiàn)狀調(diào)查1998,2001及2003年中國(guó)區(qū)結(jié)果介紹[J]. 國(guó)際內(nèi)分泌代謝雜志,2005, 25(3):174-178.
[3] 周海龍,楊曉妍,潘曉平,等. 中國(guó)人群糖尿病疾病負(fù)擔(dān)的系統(tǒng)評(píng)價(jià)[J]. 中國(guó)循證醫(yī)學(xué)雜志,2014(12):1442-1449.
[4] 徐先明,吳海龍,劉軒,等. 一種機(jī)器學(xué)習(xí)妊娠期糖尿病發(fā)病風(fēng)險(xiǎn)及病情程度預(yù)測(cè)系統(tǒng)[P]. 中國(guó),CN106446595A 2017-02-22.
[5] LI Y,WANG X Z,HUA Q. Using BP-network to construct fuzzy decision tree with composite attributes[C].International Conference on Machine Learning and Cybernetics. IEEE, 2004:1791-1795.
[6] 馬瑾,孫穎,劉尚輝. 決策樹(shù)模型在住院2型糖尿病患者死因預(yù)測(cè)中的應(yīng)用[J]. 中國(guó)衛(wèi)生統(tǒng)計(jì), 2013, 30(3):422-423.
[7] 李劍,吳清鋒,李舒梅. 數(shù)據(jù)挖掘技術(shù)在2型糖尿病風(fēng)險(xiǎn)評(píng)估模型中的應(yīng)用[J]. 贛南醫(yī)學(xué)院學(xué)報(bào),2014(6):974-977.
[8] SUDHA S. Disease prediction in data mining technique-a survey[J]. International Journal of Computer Applications & Information Technology, 2013, 2(1):189-195.
[9] SMITH J W,EVERHART J E,DICKSON W C,et al. Using the adaptive learning algorithm to forcast the onset of diabetes mellitus[J]. Proc Annu Symp Comput Appl Med Care, 1988(10):261-265.
[10] LECUN Y,BENGIO Y,HINTON G. Deep learning[J]. Nature, 2015 (7553):436-521.
[11] 吳邦華,黃海瑩,姚強(qiáng), 等. 大數(shù)據(jù)及人工智能方法在妊娠期糖尿病預(yù)測(cè)的應(yīng)用[J]. 中國(guó)衛(wèi)生信息管理雜志,2017(6):96-99.
[12] 王威,李郁,張文娟,等.深度學(xué)習(xí)技術(shù)在疾病診斷中的應(yīng)用[J].第二軍醫(yī)大學(xué)學(xué)報(bào),2018,39(8):852-858.
[13] 劉飛,張俊然,楊豪.基于深度學(xué)習(xí)的糖尿病患者的分類(lèi)識(shí)別[J].計(jì)算機(jī)應(yīng)用,2018,38(S1):39-43.
[14] ESTEVA A,KUPREL B,NOVOA R A,et al. Dermatologist-level classification of skin cancer with deep neural networks[J]. Nature,2017 (8423):214-221.
[15] 李桂花,孔祥恩,張春天. 胰島素與辛伐他汀合用治療早期糖尿病腎病42例臨床觀(guān)察[J]. 中國(guó)實(shí)用內(nèi)科雜志,2007(1):154-159.
[16] 狄曉敏,謝紅薇. 多疾病共同危險(xiǎn)因素挖掘與MARS預(yù)測(cè)模型研究[J]. 計(jì)算機(jī)應(yīng)用與軟件,2013(10):36-40.
[17] WU J,DIAO Y B,LI M L, et al. A semi-supervised learning based method: Laplacian support vector machine used in diabetes disease diagnosis[J]. Interdisciplinary Sciences Computational Life Sciences, 2009, 1(2):151-155.
[18] TEMURTAS H,YUMUSAK N,TEMURTAS F. A comparative study on diabetes disease diagnosis using neural networks[J]. Expert Systems with Applications, 2009, 36(4):8610-8615.
[19] TOMAR D,AGARWAL S. Hybrid feature selection based weighted least squares twin support vector machine approach for diagnosing breast cancer, hepatitis, and diabetes[M]. Hindawi Publishing Corp,2015.
[20] HAYASHI Y,YUKITA S. Rule extraction using recursive-rule extraction algorithm with j48graft combined with sampling selection techniques for the diagnosis of type 2 diabetes mellitus in the Pima Indian dataset[J]. Informatics in Medicine Unlocked, 2016(2):92-100.
(責(zé)任編輯:杜能鋼)