汪 敏,徐英豪,朱習(xí)軍
(青島科技大學(xué)信息科學(xué)技術(shù)學(xué)院,山東 青島 266061)
2019年,國際糖尿病聯(lián)盟(IDF)[1]發(fā)布了最新的全球糖尿病地圖,地圖顯示我國是糖尿病人數(shù)最多的國家,且發(fā)病率不斷增高。糖尿病是一種以身體內(nèi)血糖含量升高為特點(diǎn)的慢性疾病,它的慢性并發(fā)癥也是極其嚴(yán)重的一種疾病[2]。糖尿病并發(fā)癥在早期不易被發(fā)現(xiàn),所以很多人錯(cuò)過了最佳治療時(shí)間[3-4]。糖尿病及其并發(fā)癥已經(jīng)成為嚴(yán)重威脅人們健康和生命的殺手,找到糖尿病最有可能引發(fā)的并發(fā)癥和發(fā)病規(guī)律,對(duì)于患者及早做好預(yù)防措施,對(duì)于醫(yī)生急時(shí)有針對(duì)性地給出治療方案具有非常重要的意義。
近些年,我國對(duì)糖尿病及并發(fā)癥應(yīng)用于數(shù)據(jù)挖掘領(lǐng)域有了很大提升。陳淑良等人[5]對(duì)某醫(yī)院糖尿病患者的數(shù)據(jù)進(jìn)行挖掘,建立Logistic回歸模型以及多層感知器神經(jīng)網(wǎng)絡(luò)模型,試驗(yàn)得到Logistic回歸模型對(duì)糖尿病的風(fēng)險(xiǎn)預(yù)測效果較好;譚燕等人[6]選取2型糖尿病數(shù)據(jù)集作為研究對(duì)象,實(shí)驗(yàn)驗(yàn)證尿IV型膠原對(duì)糖尿病腎病的特異性診斷具有積極作用,成為預(yù)測早期DN的有價(jià)值的臨床指標(biāo)。蘇萍等人[7]采用Cox比例風(fēng)險(xiǎn)回歸構(gòu)建糖尿病預(yù)測模型,以患者工作特征曲線下面積評(píng)價(jià)模型的預(yù)測效能,以十折法檢驗(yàn)?zāi)P偷姆€(wěn)定性,實(shí)驗(yàn)證明該模型在健康管理人群中具有較好的預(yù)測能力。
本文利用BP神經(jīng)網(wǎng)絡(luò)構(gòu)建糖尿病并發(fā)癥預(yù)測模型,采用遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò),通過改進(jìn)遺傳算法的選擇方式、改進(jìn)遺傳算法的交叉及變異概率公式,以全局搜索的方式確定最佳的初始權(quán)值及閾值,從而在一定程度上提高了糖尿病并發(fā)癥預(yù)測模型預(yù)測的準(zhǔn)確率,最終通過仿真實(shí)驗(yàn)來對(duì)該模型進(jìn)行評(píng)估。
實(shí)際生活中,直接獲取的原始數(shù)據(jù)并不能直接用于分析,因?yàn)檫@些數(shù)據(jù)大部分都是不完整不一致且極易受到噪聲侵?jǐn)_的。本文所使用的數(shù)據(jù)集為青島市某三甲醫(yī)院HIS系統(tǒng)中的糖尿病診斷數(shù)據(jù),由于直接在醫(yī)院獲取的數(shù)據(jù)集中數(shù)據(jù)信息太多,故選取1000個(gè)樣本,6個(gè)特征屬性,3個(gè)標(biāo)簽屬性,通過jupyter notebook對(duì)該樣本進(jìn)行數(shù)據(jù)預(yù)處理操作。選取詳情見表1,選取數(shù)據(jù)集整體分布如圖1所示。
表1 選取數(shù)據(jù)集屬性
圖1 糖尿病數(shù)據(jù)集分布
所選屬性中,特征屬性分別為:年齡、身高、體重、血壓、血糖、確診病癥,標(biāo)簽屬性為并發(fā)癥1、并發(fā)癥2、并發(fā)癥3。
關(guān)于標(biāo)簽屬性的并發(fā)癥,通過jupyter notebook工具,以分組計(jì)數(shù)的形式,統(tǒng)計(jì)所有并發(fā)癥名稱及數(shù)量,統(tǒng)計(jì)結(jié)果見表2。
表2 各類糖尿病并發(fā)癥及數(shù)量統(tǒng)計(jì)
對(duì)于數(shù)據(jù)集中的異常及缺失值,利用插補(bǔ)法填補(bǔ)[8]。圖2為數(shù)據(jù)集箱線圖,通過設(shè)置數(shù)據(jù)標(biāo)準(zhǔn)來反映數(shù)據(jù)面貌。通過該圖對(duì)數(shù)據(jù)集進(jìn)行異常分析。
圖2 數(shù)據(jù)集箱線圖
最后將數(shù)據(jù)集中不合理的數(shù)據(jù)或者是存在缺失值的數(shù)據(jù)(如年齡過小、血壓為空等情況),以平均值的方式進(jìn)行替代。
數(shù)據(jù)標(biāo)準(zhǔn)化(normalization)是指將原始各指標(biāo)數(shù)據(jù)按照比例縮放,去除數(shù)據(jù)單位限制,轉(zhuǎn)化為無量綱的純數(shù)值,以便于不同單位或量級(jí)的指標(biāo)能夠進(jìn)行比較和加權(quán)[8]。對(duì)于該數(shù)據(jù)集,采用min-max標(biāo)準(zhǔn)化的方法,進(jìn)行線性變化,使其落到區(qū)間[0,1]中。
對(duì)序列x1,x2,…,xn進(jìn)行變換:
(1)
新序列y1,y2,…,yn∈[0,1]并且是無量綱的。(注:max{xj}為樣本屬性的最大值,min{xj}為樣本屬性的最小值)。
特征相關(guān)性分析主要分析特征兩兩間的關(guān)系[9]。本文數(shù)據(jù)集相關(guān)性分析使用jupyter notebook,通過corr函數(shù),得到皮爾遜相關(guān)系數(shù)(Pearson correlation coefficient)。圖3為糖尿病數(shù)據(jù)集各個(gè)特征相關(guān)關(guān)系熱力圖。
圖3 特征關(guān)聯(lián)分析熱力圖
由圖3可知如:血糖與并發(fā)癥1這2個(gè)特征間的關(guān)聯(lián)程度較大;血糖與體重這2個(gè)特征間的關(guān)聯(lián)程度較大等。
通過數(shù)據(jù)預(yù)處理,獲得一個(gè)新的糖尿病數(shù)據(jù)集,將該數(shù)據(jù)集用于后續(xù)BP神經(jīng)網(wǎng)絡(luò)的建模工作,數(shù)據(jù)集劃分為訓(xùn)練集與測試集,來驗(yàn)證構(gòu)建預(yù)測模型的預(yù)測準(zhǔn)確度。
BP神經(jīng)網(wǎng)絡(luò)是基于誤差反向傳播的多層前饋神經(jīng)網(wǎng)絡(luò)[10-11],在機(jī)器學(xué)習(xí)方面已經(jīng)比較成熟。圖4為BP神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)。它是由信息正向傳播及誤差反向傳播2個(gè)過程組成。
圖4 BP神經(jīng)網(wǎng)絡(luò)基本結(jié)構(gòu)
由于BP神經(jīng)網(wǎng)絡(luò)對(duì)于非線性數(shù)據(jù)集的預(yù)測效果較為理想,有非線性逼近以及自適應(yīng)學(xué)習(xí)能力,而本文所使用到的糖尿病數(shù)據(jù)集為非線性數(shù)據(jù)集,故選用BP神經(jīng)網(wǎng)絡(luò)對(duì)糖尿病并發(fā)癥進(jìn)行預(yù)測。
傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)具有極易陷入局部極小值的缺點(diǎn),為了提高該模型的訓(xùn)練準(zhǔn)確度,使用遺傳算法的全局搜索能力確定BP神經(jīng)網(wǎng)絡(luò)最優(yōu)初始權(quán)值及閾值。
1992年,Holland[12]提出模擬自然界遺傳機(jī)制和生物進(jìn)化論機(jī)制的遺傳算法(Genetic Algorithms)。該算法具有全局搜索能力,通過遺傳學(xué)中的選擇、交叉、變異操作,對(duì)個(gè)體進(jìn)行篩選,最終收斂到全局最優(yōu)解。
前人已經(jīng)對(duì)遺傳算法進(jìn)行了多種改進(jìn),像自適應(yīng)概率、父子代競爭、保留最優(yōu)父代等,這些改進(jìn)在尋找最優(yōu)解的問題上相對(duì)于傳統(tǒng)的遺傳算法有一些進(jìn)步,但是基本都不會(huì)有很明顯的下一代非常優(yōu)秀于上一代的情況。主要原因便在于遺傳算法與實(shí)際生物界生物進(jìn)化相比,它在選擇過程中并沒有引導(dǎo)交叉變異,交叉是隨機(jī)進(jìn)行的交叉,變異是隨機(jī)進(jìn)行的變異,實(shí)際收斂速度并沒有很快[13-19]。
本文對(duì)遺傳算法的選擇方式以及對(duì)自適應(yīng)遺傳算法交叉、變異概率公式進(jìn)行改進(jìn),提高遺傳算法尋找最優(yōu)解的能力。
2.1.1 編碼
一般用的比較多的編碼方法有2種,分別為二進(jìn)制編碼和實(shí)數(shù)編碼。由于BP神經(jīng)網(wǎng)絡(luò)的權(quán)值與閾值介于-1到1之間,故采用實(shí)數(shù)編碼較為合適。
2.1.2 適應(yīng)度
好的適應(yīng)度對(duì)預(yù)測結(jié)果起積極作用,反之則起消極作用,故誤差與適應(yīng)度應(yīng)為反比的關(guān)系,所以采用均方誤差的倒數(shù)作為適應(yīng)度函數(shù)。公式(2)為適應(yīng)度函數(shù)公式,x表示種群個(gè)體。
(2)
2.1.3 改進(jìn)選擇方式
本文對(duì)于選擇操作,采用通過計(jì)算每一個(gè)個(gè)體的適應(yīng)度值,然后將這些個(gè)體通過適應(yīng)度值的大小進(jìn)行順序排序,適應(yīng)度值最大的前2個(gè)個(gè)體直接遺傳至下一代,剩余個(gè)體中根據(jù)適應(yīng)度值均等分為一級(jí)、二級(jí)、三級(jí)3個(gè)等級(jí)。一級(jí)的復(fù)制2份遺傳至下一代,二級(jí)的復(fù)制一份遺傳至下一代,三級(jí)的直接舍去不使用。該選擇方法使種群整體的平均適應(yīng)度得到改善,并且維持了種群的多樣性。以下是對(duì)該種方法的圖形化展示:
1)確定一個(gè)種群個(gè)數(shù)為14的初始種群。
5321614307294113581713191234567891011121314
2)計(jì)算種群中每一個(gè)個(gè)體的適應(yīng)度值,并且依據(jù)適應(yīng)度值由大到小進(jìn)行順序排序。
3532302919171614131187541025714123413911618
3)將排序后處于前2名的個(gè)體直接遺傳至下一代。
3532優(yōu)秀
4)將剩余個(gè)體均分為3等份,分別定義為一級(jí)、二級(jí)與三級(jí)。
353230291917161413118754優(yōu)秀一級(jí)二級(jí)三級(jí)
5)將一級(jí)的復(fù)制2份,二級(jí)的復(fù)制一份,三級(jí)的直接淘汰。
3029191730291917161413118754一級(jí)的復(fù)制2份二級(jí)的復(fù)制一份三級(jí)的直接舍去
2.1.4 改進(jìn)自適應(yīng)遺傳算法交叉/變異概率公式
傳統(tǒng)的遺傳算法采用固定的交叉、變異概率,概率過大過小都會(huì)影響算法性能,Srinivas等人[20-22]提出了自適應(yīng)遺傳算法(Adaptive Genetic Algorithm, AGA),可以自適應(yīng)調(diào)整交叉、變異概率。當(dāng)個(gè)體適應(yīng)度大于種群平均適應(yīng)度時(shí),得到一個(gè)較小的交叉、變異概率;當(dāng)個(gè)體適應(yīng)度小于種群平均適應(yīng)度,得到一個(gè)較大的交叉概率、變異概率。較小的變異概率可以將優(yōu)秀的個(gè)體保留下來,較大的變異概率可以加速變異得到新個(gè)體。具體公式如下:
1)交叉概率:
(3)
2)變異概率:
(4)
式中,fmax為種群中的最大適應(yīng)度值,favg為種群中的平均適應(yīng)度值,f′為交叉的較大適應(yīng)度值,f為個(gè)體變異適應(yīng)度值。使用交叉、變異概率函數(shù)不斷自適應(yīng)調(diào)整,加速遺傳算法的收斂性,有效避免遺傳算法陷入局部最優(yōu)解,更快地找到全局最優(yōu)解。
本文引入種群適應(yīng)度的平均值EX及適應(yīng)度值的離散程度DX來優(yōu)化自適應(yīng)遺傳概率與變異概率公式:
(5)
(6)
(7)
其中,fi代表種群中適應(yīng)度的值。隨著不斷進(jìn)化,種群的平均適應(yīng)度值不斷增大,種群間的差異越來越小,所以種群的整體離散程度是不斷減小的。綜上,自定義系數(shù)?是不斷增大的。
最后通過自定義系數(shù)對(duì)原始的自適應(yīng)遺傳算法做改進(jìn),如下為改進(jìn)后的公式:
(8)
(9)
該改進(jìn)有效避免了種群在初始進(jìn)化時(shí)形成局部收斂,陷入局部最優(yōu)解的問題,提升了該算法的尋優(yōu)性能。
使用改進(jìn)后的遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò),確定最佳初始權(quán)值及閾值,解決傳統(tǒng)神經(jīng)網(wǎng)絡(luò)隨機(jī)給定初始權(quán)值及閾值以及極易陷入局部最小值等缺點(diǎn)。如圖5所示為改進(jìn)后的遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的算法流程圖。
圖5 改進(jìn)遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)算法流程圖
為了驗(yàn)證改進(jìn)后的遺傳算法對(duì)糖尿病并發(fā)癥有良好的預(yù)測效果,因此進(jìn)行了仿真實(shí)驗(yàn)。數(shù)據(jù)集為上述預(yù)處理后的數(shù)據(jù)集,在Matlab2016a中對(duì)BP神經(jīng)網(wǎng)絡(luò)-糖尿病并發(fā)癥預(yù)測模型進(jìn)行訓(xùn)練,實(shí)驗(yàn)結(jié)果表明改進(jìn)后的遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò),訓(xùn)練模型的預(yù)測結(jié)果要好于未改進(jìn)的。
在本文仿真實(shí)驗(yàn)中,預(yù)處理后的糖尿病數(shù)據(jù)集共1000個(gè)樣本,前980個(gè)樣本作為訓(xùn)練集,后20個(gè)樣本作為測試集,通過年齡、身高、體重、血壓、血糖來預(yù)測未來可能會(huì)患有的并發(fā)癥(確診病癥已篩選全部為糖尿病,故在這里不作為預(yù)測屬性出現(xiàn))。所以輸入層節(jié)點(diǎn)為5個(gè),輸出層節(jié)點(diǎn)為1個(gè)。關(guān)于隱含層在這里不固定,自己進(jìn)行手動(dòng)設(shè)置,依據(jù)經(jīng)驗(yàn)公式[23]:
(10)
其中,m為輸入層節(jié)點(diǎn)數(shù),n為輸出層節(jié)點(diǎn)數(shù),a為1~10之間取常數(shù)。
采用傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)進(jìn)行糖尿病并發(fā)癥的預(yù)測,在Matlab中設(shè)置如下基本參數(shù):
1)net.trainParam.epochs=100;為迭代次數(shù)。
2)net.trainParam.lr=0.1;為學(xué)習(xí)率。
3)net.trainParam.goal=0.001;為訓(xùn)練目標(biāo)誤差。
4)net.trainParam.show=200;為訓(xùn)練結(jié)果顯示。
使用Matlab對(duì)BP神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,預(yù)測結(jié)果如圖6所示。
圖6 BP神經(jīng)網(wǎng)絡(luò)預(yù)測值與實(shí)際值對(duì)比圖
分別使用遺傳算法(GA)、自適應(yīng)遺傳算法(AGA)、改進(jìn)遺傳算法(IGA)優(yōu)化BP神經(jīng)網(wǎng)絡(luò),在Matlab中對(duì)GABP、AGABP、IGABP神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,預(yù)測結(jié)果與實(shí)際值比較結(jié)果如圖7~圖9所示。
圖7 GABP預(yù)測值與實(shí)際值對(duì)比圖
圖8 AGABP預(yù)測值與實(shí)際值對(duì)比圖
圖9 IGABP預(yù)測值與實(shí)際值對(duì)比圖
從圖中可以清晰看到,這4種算法的預(yù)測結(jié)果依次逐漸接近于實(shí)際結(jié)果。即對(duì)于預(yù)測結(jié)果的好壞,BP 圖10為4種算法預(yù)測輸出的誤差百分比折線圖。由圖可知,對(duì)于傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò),其預(yù)測誤差波動(dòng)范圍比較大,GABP的波動(dòng)范圍其次,AGABP與IGABP的誤差波動(dòng)范圍均比較接近0值,在0附近小范圍波動(dòng),且IGABP比AGABP更接近于0值。 圖10 4種預(yù)測誤差對(duì)比圖 預(yù)測結(jié)果如表3所示。 表3 預(yù)測結(jié)果對(duì)比 由表3中統(tǒng)計(jì)數(shù)據(jù)可知,IGABP神經(jīng)網(wǎng)絡(luò)預(yù)測模型的仿真效果最好,平均絕對(duì)誤差MAE達(dá)到4.84%,均方根誤差RMSE也最低;傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)預(yù)測結(jié)果誤差最大,平均絕對(duì)誤差MAE為22.31%,均方誤差RMSE最高;GABP神經(jīng)網(wǎng)絡(luò)預(yù)測模型與AGABP神經(jīng)網(wǎng)絡(luò)預(yù)測模型與傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型相比在預(yù)測結(jié)果上有了一定的改善,但均沒有達(dá)到IGABP神經(jīng)網(wǎng)絡(luò)預(yù)測模型的精度,因此IGABP在預(yù)測的精度上要優(yōu)于其他3種模型。 圖11 網(wǎng)絡(luò)訓(xùn)練誤差曲線 如圖11所示,為GABP、AGABP與IGABP的網(wǎng)絡(luò)訓(xùn)練誤差曲線,由圖中曲線可知IGABP的收斂速度要明顯好于GABP與AGABP,故IGABP的收斂性更好。 本文改進(jìn)遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)構(gòu)建預(yù)測模型來提高預(yù)測準(zhǔn)確度,使用數(shù)據(jù)預(yù)處理后的數(shù)據(jù)集對(duì)糖尿病并發(fā)癥進(jìn)行預(yù)測。仿真實(shí)驗(yàn),結(jié)果表明改進(jìn)后的算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)所構(gòu)建模型的預(yù)測準(zhǔn)確率最高。4 結(jié)束語