章 權(quán), 周梁琦, 鄒 琪, 喻新民
(1 東華理工大學(xué) 信息工程學(xué)院, 南昌 330013; 2 東華理工大學(xué) 軟件學(xué)院, 南昌 330013)
研究可知,糖尿病是一種危害性非常大的慢性疾病,也是一種具有的遺傳特性的代謝性疾病,典型特征為多尿、多飲、多食和體重減輕。近些年來(lái),全球糖尿病的患病人數(shù)增加較快,根據(jù)國(guó)際糖尿病聯(lián)盟調(diào)查,截至到2017年,全球糖尿病患者已超過(guò)4億,并且在報(bào)告中指出預(yù)計(jì)到2045年,糖尿病的患病總?cè)藬?shù)達(dá)到6億多[1]。實(shí)際上糖尿病不僅是世界性問(wèn)題,中國(guó)糖尿病患者的規(guī)模是全球最大的,占全球患病總?cè)藬?shù)的四分之一還多,患病人數(shù)已到1.14億[2]。
由于慢性病難于治愈特點(diǎn),在慢性病的治療上需要大量的醫(yī)療投入。目前,中國(guó)每年花費(fèi)超三千億的醫(yī)療支出在糖尿病中[3]。糖尿病還具有不容易被發(fā)現(xiàn)的特點(diǎn),據(jù)資料了解,糖尿病患者,僅僅有一半知道自己得病,剩下的一半還以為自己是正常人,因此多數(shù)患者均在不知道自己患病情況下,未能及時(shí)接受治療,導(dǎo)致病情發(fā)展更加迅速[4]。
綜前論述可知,目前糖尿病預(yù)測(cè)已然成為迫切需要解決的研究課題。因此,建立有效的糖尿病預(yù)測(cè)模型在糖尿病防治當(dāng)中非常重要。近些年,機(jī)器學(xué)習(xí)方法在糖尿病預(yù)測(cè)領(lǐng)域得到廣泛應(yīng)用,但是大多方法基于單一學(xué)習(xí)方法建模,泛化能力較差。本文即針對(duì)單一方法準(zhǔn)確性不高,泛化能力不強(qiáng)的問(wèn)題,提出一種基于集成學(xué)習(xí)思想的糖尿病預(yù)測(cè)方法。該方法采用Stacking的設(shè)計(jì)思路,使用支持向量機(jī)、隨機(jī)森林、人工神經(jīng)網(wǎng)絡(luò)等分類(lèi)方法作為初級(jí)分類(lèi)器,使用邏輯回歸作為次級(jí)分類(lèi)器建立糖尿病預(yù)測(cè)模型。
在早期的糖尿病預(yù)測(cè)模型研究中,研究人員主要使用回歸模型來(lái)建立預(yù)測(cè)模型,近期以來(lái),隨著機(jī)器學(xué)習(xí)方法和深度學(xué)習(xí)方法的快速發(fā)展,機(jī)器學(xué)習(xí)和深度學(xué)習(xí)中的模型和方法逐漸被應(yīng)用于糖尿病預(yù)測(cè)模型的研究和設(shè)計(jì)。
通常在糖尿病的預(yù)測(cè)中,以多元回歸模型或 Cox 回歸這兩種方法為主?;诙嘣貧w的預(yù)測(cè)模型研究中,Mehlsen等人[5]利用該方法建立模型用于對(duì)糖尿病中的視網(wǎng)膜病變進(jìn)行預(yù)測(cè)?;贑ox回歸預(yù)測(cè)模型的研究中,如張紅艷等人[6]采用Cox回歸模型建立基于中國(guó)農(nóng)村人群的非侵襲性2型糖尿病風(fēng)險(xiǎn)預(yù)測(cè)模型,該模型的靈敏度為65.96%,特異度為66.47%。周先鋒等人[7]則用Cox回歸模型研究不同程度的C反應(yīng)蛋白與患有糖尿病之間的聯(lián)系。但是,多元回歸模型有著準(zhǔn)確度較差、精度不高的缺點(diǎn),而Cox回歸模型對(duì)數(shù)據(jù)要求高且成本大。
Anuja等人[8]提出了一種基于SVM的糖尿病預(yù)測(cè)模型,該模型是使用皮馬印第安人糖尿病數(shù)據(jù)集作為模型的驗(yàn)證碼數(shù)據(jù)集,模型的準(zhǔn)確性達(dá)到了78%;Aiswarya等人[9]使用J48決策樹(shù)和樸素貝葉斯作為分類(lèi)器,對(duì)糖尿病的診斷進(jìn)行分類(lèi)。該系統(tǒng)使用了皮馬印第安人糖尿病數(shù)據(jù)集,J48決策樹(shù)和樸素貝葉斯的分類(lèi)結(jié)果分別為74.8%,79.5%;Ahmad等人[10]在研究工作中,通過(guò)實(shí)驗(yàn)發(fā)現(xiàn)懷孕次數(shù)這一屬性與是否患糖尿病的可能性之間關(guān)聯(lián)性較弱,故在去掉這一屬性之后,剪枝J48樹(shù)進(jìn)一步提高了準(zhǔn)確性,達(dá)到了89.7%。江燕等人[11]將主成分分析和最小乘向量機(jī)結(jié)合,采用徑向基核函數(shù),對(duì)于血糖水平預(yù)測(cè)可以達(dá)到94.82%準(zhǔn)確率。
李飛等人[12]考慮到高血糖患者具有皮膚組織熒光特性,在此基礎(chǔ)上利用神經(jīng)網(wǎng)絡(luò)建立糖尿病無(wú)創(chuàng)評(píng)估模型,整體準(zhǔn)確率達(dá)到74.9%;Ramesh等人[13]使用遞歸神經(jīng)網(wǎng)絡(luò)(RNN)預(yù)測(cè)2種糖尿病。Ashiquzzaman等人[14]使用深度神經(jīng)網(wǎng)絡(luò)(DNN),該神經(jīng)網(wǎng)絡(luò)由多層感知器(MLP)、廣義回歸神經(jīng)網(wǎng)絡(luò)(GRNN)和徑向基函數(shù)(RBF)組成。該方法的評(píng)估基于Pima印度數(shù)據(jù)集,正確率為88.41%。深度學(xué)習(xí)方法對(duì)非線性數(shù)據(jù)友好,具備很強(qiáng)的記憶功能、自學(xué)本領(lǐng)等,但是解釋性很差,并且模型建立需要的數(shù)據(jù)量較大,這樣限制其在糖尿病的一些小的數(shù)據(jù)集上應(yīng)用。
本文所用的數(shù)據(jù)來(lái)自UCI數(shù)據(jù)集里的皮馬印第安人糖尿病數(shù)據(jù)集,該數(shù)據(jù)集最初來(lái)自美國(guó)國(guó)家糖尿病/消化/腎臟疾病研究所。數(shù)據(jù)集的目標(biāo)是基于數(shù)據(jù)集中包含的某些預(yù)測(cè)變量來(lái)預(yù)測(cè)患者是否患有糖尿病。
該數(shù)據(jù)集具有一些明顯的約束條件,數(shù)據(jù)集中的患者都是Pima印第安至少21歲的女性。數(shù)據(jù)集由多個(gè)醫(yī)學(xué)預(yù)測(cè)變量和一個(gè)目標(biāo)變量Outcome組成,當(dāng)Outcome的值為1時(shí)代表患有糖尿病,當(dāng)Outcome的值為0時(shí)表示未患糖尿病。預(yù)測(cè)變量包括患者的懷孕次數(shù)、BMI、胰島素水平、年齡等,具體見(jiàn)表1。
表1 Pima印第安數(shù)據(jù)集中預(yù)測(cè)變量
SVM是一種基于統(tǒng)計(jì)學(xué)習(xí)理論的機(jī)器學(xué)習(xí)方法,并不是采用經(jīng)驗(yàn)風(fēng)險(xiǎn)最小的方式,而是采用結(jié)構(gòu)化風(fēng)險(xiǎn)最小,因此有著較好的泛化能力,并在解決小樣本、非線性及高維模式識(shí)別中表現(xiàn)出較大優(yōu)勢(shì)。本文使用的數(shù)據(jù)集樣本量較小,因此在研究中采用SVM作為初級(jí)學(xué)習(xí)器符合數(shù)據(jù)分析的結(jié)論。
支持向量機(jī)的主要思想是找到一個(gè)合適的分類(lèi)函數(shù)對(duì)未知樣本進(jìn)行預(yù)測(cè)。這個(gè)分類(lèi)函數(shù)通過(guò)核函數(shù)以及懲罰因子來(lái)確定,而相關(guān)參數(shù)的確定對(duì)模型的準(zhǔn)確度有著很大的影響。經(jīng)典的支持向量機(jī)方法是一種二分類(lèi)的算法,其最基本的思想是基于訓(xùn)練集在樣本空間中找到一個(gè)劃分超平面,將不同類(lèi)別的樣本分開(kāi),如圖1所示。對(duì)于非線性問(wèn)題,使用直線已經(jīng)不能很好地將樣本進(jìn)行分類(lèi),模型使用核函數(shù)把樣本數(shù)據(jù)從低維度不可分的空間映射到高維度可分空間,并以此找出分類(lèi)平面。
SVM方法關(guān)鍵就是選擇一個(gè)合適的核函數(shù),通過(guò)對(duì)不同核函數(shù)進(jìn)行分析,在本文SVM模型的構(gòu)建中,選擇的核函數(shù)是linear核函數(shù)。
本文在初級(jí)學(xué)習(xí)器中選擇隨機(jī)森林回歸模型,該模型能夠處理高維度數(shù)據(jù),并且不用做特征選擇,另外,在訓(xùn)練完成后,還能給出比較重要的那些特征。該模型的泛化能力比較強(qiáng),在訓(xùn)練過(guò)程中能夠檢測(cè)特征間的互相影響。
圖1 SVM最優(yōu)分類(lèi)圖
隨機(jī)森林中最重要參數(shù)就是決策樹(shù)的個(gè)數(shù),隨機(jī)森林中的棵樹(shù)太多或者太少都會(huì)影響模型的結(jié)果。因此,本文采用了網(wǎng)格搜索的方法,將森林規(guī)模確定為2 030棵樹(shù)時(shí),模型效果最好。
本文使用的人工神經(jīng)網(wǎng)絡(luò)(ANN),就是多層感知機(jī)。ANN的每層神經(jīng)元與下一層神經(jīng)元全互連,
神經(jīng)元之間不存在同層連接,這種結(jié)構(gòu)通常被稱(chēng)為多層前饋神經(jīng)網(wǎng)絡(luò)模型。訓(xùn)練時(shí)要經(jīng)過(guò)前向傳播和誤差反饋傳播兩個(gè)過(guò)程。
人工神經(jīng)網(wǎng)絡(luò)具有較好的自適應(yīng)學(xué)習(xí)能力,現(xiàn)如今已廣泛應(yīng)用于模式識(shí)別、非線性等課題研究中。因此,本文通過(guò)向ANN 輸入Pima印第安數(shù)據(jù)集中預(yù)測(cè)變量數(shù)據(jù),再加以訓(xùn)練,并由ANN輸出最終結(jié)果。這些結(jié)果用于糖尿病的預(yù)測(cè)。
模型融合主要分為 Stacking、Blending 和 Voting 等方法,是一種通過(guò)增加算法的多樣性來(lái)減少泛化誤差,從而提高模型準(zhǔn)確率的有效、且實(shí)用的技術(shù)。模型融合有2個(gè)基本要素,分別是:?jiǎn)我荒P椭g的相關(guān)性要盡可能小,單一模型之間的性能表現(xiàn)相差不大。本文擬采用Stacking方法設(shè)計(jì)預(yù)測(cè)模型,Stacking 的基本思想是使用大量基分類(lèi)器,再使用另一種頂層分類(lèi)器來(lái)融合基分類(lèi)器的預(yù)測(cè),旨在降低泛化誤差。本文中模型融合的整體流程如圖2所示。
圖2 模型融合流程圖
本文的模型均采用Scikit-Learn機(jī)器學(xué)習(xí)包來(lái)實(shí)現(xiàn),實(shí)驗(yàn)環(huán)境為Intel(R)Core(TM)i7-8700K CPU@3.70 GHz、16 GB RAM設(shè)備。同時(shí),采用了5折交叉驗(yàn)證方法依次對(duì)ANN、隨機(jī)森林、支持向量機(jī)三種糖尿病預(yù)測(cè)模型進(jìn)行訓(xùn)練,經(jīng)由訓(xùn)練得到數(shù)據(jù)將形成新的數(shù)據(jù)集,并基于Stacking的思想對(duì)邏輯回歸模型進(jìn)行訓(xùn)練,對(duì)訓(xùn)練后的模型在測(cè)試集上進(jìn)行預(yù)測(cè),不同模型的預(yù)測(cè)結(jié)果和由其它相關(guān)工作獲得的模型結(jié)果對(duì)比見(jiàn)表2,而由本次研究得到的不同預(yù)測(cè)模型評(píng)估分析結(jié)果,見(jiàn)表3。
本文采用的評(píng)價(jià)標(biāo)準(zhǔn)除了準(zhǔn)確率(accuracy)外,還有精確率(precision)、召回率(recall)和F1。其中,準(zhǔn)確率(accuracy)是指被分類(lèi)正確的樣本數(shù)占總樣本數(shù)的比值;precision表示預(yù)測(cè)為正的樣本中,實(shí)際為正的所占的比例;recall表示實(shí)際為正的樣本中,被預(yù)測(cè)為正的所占的比例;F1值是精準(zhǔn)率和召回率的加權(quán)調(diào)和平均值。綜上各評(píng)價(jià)指標(biāo)的數(shù)學(xué)公式可分別表示為:
(1)
(2)
(3)
(4)
其中,P表示陽(yáng)性樣本總數(shù);TP表示預(yù)測(cè)正確的陽(yáng)性樣本數(shù);TN表示預(yù)測(cè)錯(cuò)誤的陽(yáng)性樣本數(shù)。
表2 不同模型及其它預(yù)測(cè)方法準(zhǔn)確率對(duì)比表
Tab. 2 Comparison of accuracy of different models and other prediction methods
模型/方法準(zhǔn)確率/%SVM85.7隨機(jī)森林88.3ANN86.4文獻(xiàn)[10]89.7文獻(xiàn)[14]88.4本文92.2
表3 不同模型及其它預(yù)測(cè)方法評(píng)價(jià)指標(biāo)對(duì)比表
Tab. 3 Comparison of evaluation indexes of different models and other prediction methods
%
本文提出了一種基于Stacking的糖尿病預(yù)測(cè)模型,以SVM、人工神經(jīng)網(wǎng)絡(luò)和隨機(jī)森林構(gòu)建的模型為基礎(chǔ),采用了邏輯回歸分類(lèi)器對(duì)以上三種模型訓(xùn)練結(jié)果構(gòu)建的新數(shù)據(jù)集進(jìn)行了二次訓(xùn)練,得到的預(yù)測(cè)模型在驗(yàn)證集上正確率高于單個(gè)分類(lèi)器,取得了較好的效果,在準(zhǔn)確率和召回率上得到了較大提升,在驗(yàn)證集上的準(zhǔn)確率達(dá)到了92.2%,而且整個(gè)預(yù)測(cè)模型也表現(xiàn)出較強(qiáng)的泛化能力。