賀 其,趙 崗,菊云霞,周薏嵐,李 敏,董 琪,趙 凱
(1.齊魯師范學(xué)院 數(shù)學(xué)學(xué)院,山東 濟南 250200; 2.山東師范大學(xué) 信息科學(xué)與工程學(xué)院,山東 濟南 250014; 3.齊魯工業(yè)大學(xué)(山東省科學(xué)院) 電氣工程與自動化學(xué)院,山東 濟南 250353)
科技不斷進步與發(fā)展,大數(shù)據(jù)時代已經(jīng)到來,面對各種紛繁復(fù)雜,基數(shù)巨大的數(shù)據(jù),如何在其中提取挖掘出最有價值的信息,為企業(yè)、團體或個人決策提供科學(xué)的依據(jù)顯得尤為重要。最近幾年,機器學(xué)習(xí)受到了企業(yè)、學(xué)校、學(xué)術(shù)研究機構(gòu)的廣泛關(guān)注。機器學(xué)習(xí)[1-3](Machine Learning, ML)是一門跨越多個領(lǐng)域的交叉學(xué)科,涉及統(tǒng)計學(xué)、概率論等多門學(xué)科,機器學(xué)習(xí)算法是從已有數(shù)據(jù)中分析挖掘獲得規(guī)律,并利用這些規(guī)律對未知數(shù)據(jù)做出預(yù)測。利用機器學(xué)習(xí)的算法對數(shù)據(jù)做處理、分析、預(yù)測可以應(yīng)用到很多領(lǐng)域。文獻[4]中闡述了機器學(xué)習(xí)方法在金融領(lǐng)域的應(yīng)用。文獻[5]介紹機器學(xué)習(xí)這一智能化探索型數(shù)據(jù)分析手段為處理地理學(xué)中普遍存在的高維非線性噪聲數(shù)據(jù)提供了方法支撐。文獻[6]研究了支持向量機算法在翻譯風(fēng)格研究中的應(yīng)用。文獻[7]介紹了機器學(xué)習(xí)方法在水文地質(zhì)中的研究。
在醫(yī)學(xué)領(lǐng)域應(yīng)用機器學(xué)習(xí)算法,可以有效節(jié)約各種人力、物力、財力,提高醫(yī)生的看病效率,緩解就醫(yī)難的問題。糖尿病作為多發(fā)病和嚴重的慢性病,患病率呈現(xiàn)逐步上升的趨勢。并且一直以來是受到醫(yī)學(xué)界、研究機構(gòu)的廣泛關(guān)注。世界衛(wèi)生組織發(fā)布的《全球糖尿病報告》[8],指出全球糖尿病患者人數(shù)已達到4.22億人,這些患病的人主要集中在中低收入國家。糖尿病分為1型糖尿病和2型糖尿病,患者罹患2型糖尿病的占大多數(shù)。利用機器學(xué)習(xí)算法對2型糖尿進行預(yù)測的研究比較多[9-13]。糖尿病可能導(dǎo)致多種并發(fā)癥包括視力減退、中風(fēng)、心臟病發(fā)作,這將會給患者的身心健康造成嚴重傷害。糖尿病也會給患者及其家庭帶來較重的經(jīng)濟負擔(dān)。
我們選用了神經(jīng)網(wǎng)絡(luò)、邏輯回歸、決策樹、貝葉斯、支持向量機五種機器學(xué)習(xí)算法進行了預(yù)測,如圖1是機器學(xué)習(xí)算法預(yù)測糖尿病的過程。五種方法比較,實驗結(jié)果顯示決策樹預(yù)測的更好,所以我們重點選用了決策樹進行預(yù)測,并根據(jù)數(shù)據(jù)特性選用合理的方法標(biāo)準(zhǔn)化數(shù)值特征。
圖1 機器學(xué)習(xí)算法預(yù)測糖尿病的過程Fig.1 The process of machine learning algorithm to predict diabetes
在機器學(xué)習(xí)算法中,決策樹是非常重要的算法之一,決策樹也被叫做判定樹。根據(jù)不同的特征點信息對給出的數(shù)據(jù)集進行劃分,最終結(jié)果得到的是一棵樹。每個劃分集存放在相應(yīng)的子樹里。決策樹的決策過程是從決策樹的根節(jié)點開始的,待測數(shù)據(jù)與決策樹中的特征節(jié)點進行比較,依照比較結(jié)果選擇相應(yīng)的分支。決策樹的學(xué)習(xí)過程如下:首先是特征選擇,從給定的訓(xùn)練數(shù)據(jù)的特征點中選擇其中一個作為節(jié)點的分裂選擇標(biāo)準(zhǔn)。其次是決策樹的生成,要依據(jù)所選標(biāo)準(zhǔn),從上到下遞歸地生成對應(yīng)的子節(jié)點,一直到數(shù)據(jù)集不可再分則停止生成。最后是對樹剪枝,決策樹很容易產(chǎn)生過擬合,針對這種情況需要通過剪枝來解決這一問題。
決策樹的基本算法如下[14]:
(1)輸入:訓(xùn)練集Z={ (x1,y1,z1),(x2,y2,z2),…,(xm,ym,zm)};屬性集B={b1,b2,…,bn}。
(2)過程:函數(shù)TG(Z,B)
①生成結(jié)點n;
②ifZ樣本全屬于同一類別A, then
③將n標(biāo)記為A類葉結(jié)點;return
④end if
⑤IfB是空集orZ中樣本在B上取值相同
⑥then
⑦將n標(biāo)為葉節(jié)點,類別則標(biāo)為Z樣本數(shù)最多的類;return
⑧end if
⑨從B中選擇最優(yōu)劃分屬性b*;
⑩forb*的每一個值b*vdo
(3)輸出:以n為根節(jié)點的一顆決策樹。
從以上決策樹算法中可以得出,生成決策樹是一個遞歸的過程。
從決策樹的算法中,希望決策樹分支節(jié)點所包含的樣本應(yīng)盡可能地屬于同一個類別,即節(jié)點純度越來越高。信息熵是用來評價樣本集合純度的最常用指標(biāo)。
假定集合A中第n類樣本所占的比例為pn(n=1,2,…,|x|),則A的信息熵定義公式為
(1)
Ent(A)的值越小,則A的純度越高。
進行決策樹的劃分屬性選擇,用到信息增益。b有V個可能取值,要使用b對樣本A進行劃分,將會產(chǎn)生V個分支葉節(jié)點。要對樣本集A進行劃分屬性b所獲得的“信息增益”如公式(2),信息增益越大,則屬性b劃分所獲得的“純度提升”越大。
(2)
在決策樹學(xué)習(xí)過程中,由于節(jié)點劃分過程不斷地重復(fù),會造成決策樹分支過多,這時會導(dǎo)致訓(xùn)練樣本學(xué)的過于好,產(chǎn)生過擬合。采取的措施是通過主動去掉一些分支,來降低過擬合的風(fēng)險。
決策樹剪枝分為預(yù)剪枝與后剪枝兩種。決策樹學(xué)習(xí)中,對每個節(jié)點在劃分前首先進行估計,如果當(dāng)前節(jié)點的劃分不會使決策樹泛化性能得到提升,則要停止劃分,把當(dāng)前節(jié)點標(biāo)記為葉子節(jié)點。后剪枝是先從給定的訓(xùn)練集中生成一棵完整的決策樹,隨后自底向上對非葉節(jié)點進行檢查,如果這個結(jié)點對應(yīng)的子樹替換為葉子結(jié)點能帶來泛化性能的提升,則使用葉子結(jié)點替換它。后剪枝決策樹通常比預(yù)剪枝決策樹保留了更多的分支,后剪枝決策樹欠擬合風(fēng)險小,泛化性能上表現(xiàn)更優(yōu)秀。
我們的樣本選用了15000條記錄的數(shù)據(jù)集,共有11個特征點,分別是
(1)PatientID(病人編號);
(2)Pregnancies(懷孕次數(shù));
(3)Plasma Glucose(血糖);
(4)Diastolic Blood Pressure(舒張壓);
(5)Triceps Thickness(三頭肌皮褶厚度);
表1 機器學(xué)習(xí)算法預(yù)測糖尿病模型評估
(6)Serum Insulin(血清胰島素);
(7)BMI(體質(zhì)指數(shù));
(8)Diabetes Pedigree(糖尿病譜系);
(9)Age(年齡);
(10)Diabetic(是否患糖尿病);
(11)Physician(患者的醫(yī)生)。
其中10500個(70%)用作訓(xùn)練集,4500個(30%)用作測試集。所選用的機器學(xué)習(xí)工具為微軟的Azure Machine Learning[15]。
預(yù)測正確率(Accuracy)=真陽性+真陰性/真陽性+真陰性+假陽性+假陰性,正確率是接近真值的程度。越接近1越好。預(yù)測精度(Precision)=真陽性/真陽性+假陽性,分散程度越接近1越好。召回率(Recall)=真陽性/真陽性+假陰性,越接近1越好。曲線下面積(AUC)能夠體現(xiàn)模型性能的優(yōu)劣。如表1是對預(yù)測結(jié)果的評估。如圖2是ROC曲線顯示了真陽性率與假陽性率之間的曲線變化率。曲線越是靠近左上方,表明算法的預(yù)測效果越好。在5種機器學(xué)習(xí)方法種預(yù)測效果表現(xiàn)好的依次排名分別是決策樹,神經(jīng)網(wǎng)絡(luò),邏輯回歸,支持向量機,貝葉斯。在所有5種方法預(yù)測的基礎(chǔ)上,我們根據(jù)要預(yù)測的目標(biāo),剔除了病人編號和醫(yī)生兩個特征點。對于一些特征近似正態(tài)分布我們采用了均值方差作標(biāo)準(zhǔn)化,而對遠離正常值的則采用MinMax標(biāo)準(zhǔn)化。
預(yù)測結(jié)果(表1和圖2)表明我們改進的方法,準(zhǔn)確率達到0.954,預(yù)測精度達到0.934,召回率0.928,AUC為0.991。
圖2 六種方法預(yù)測糖尿病的ROC圖Fig.2 ROC diagrams of six methods for predicting diabetes mellitus
人工智能和大數(shù)據(jù)分析領(lǐng)域日益引起廣泛的關(guān)注,而機器學(xué)習(xí)是其中重要的理論依據(jù)和工具之一。在論文中分別采用了神經(jīng)網(wǎng)絡(luò)、邏輯回歸、決策樹、貝葉斯、支持向量機等機器學(xué)習(xí)算法預(yù)測糖尿病,幾種方法比較結(jié)果表明決策樹預(yù)測的準(zhǔn)確度和精度更加準(zhǔn)確,更加有效,下一步我們將采用更加多樣的糖尿病方面的數(shù)據(jù)集,對我們的方法進行印證。我們堅信機器學(xué)習(xí)方法將會更廣泛地應(yīng)用于醫(yī)療領(lǐng)域,對于人們治療各種疾病起到積極的作用。