(重慶工商大學(xué)智能制造服務(wù)國際科技合作基地 重慶 400047)
基于棧式降噪自編碼器模型的糖尿病預(yù)測研究
簡恒
(重慶工商大學(xué)智能制造服務(wù)國際科技合作基地重慶400047)
我國是一個人口大國,與此同時,慢性病患者人數(shù)也居世界首位,而糖尿病及其相關(guān)并發(fā)癥是其中的一個重要組成部分。隨著國民經(jīng)濟的發(fā)展,居民對健康需求日益強烈,因此,把根據(jù)人的各項生化指標為依據(jù)的糖尿病預(yù)測研究放在更加突出的地位就顯得尤為重要。本文在總結(jié)前人利用傳統(tǒng)淺層模型進行預(yù)測研究的基礎(chǔ)上,針對其模型擬合效果和泛化能力不強的缺點,提出一種基于底層棧式降噪自編碼器和頂層分類神經(jīng)網(wǎng)絡(luò)的預(yù)測模型。首先對數(shù)據(jù)進行清洗并歸一化,在利用自編碼的無監(jiān)督學(xué)習(xí)對特征進行識別與重學(xué)習(xí),逐層貪婪學(xué)習(xí)以后,再將將棧式降噪自編碼器接入有監(jiān)督的神經(jīng)網(wǎng)絡(luò)進行分類預(yù)測,最后再利用有監(jiān)督的學(xué)習(xí)進行參數(shù)的微調(diào)。
糖尿病;預(yù)測;棧式降噪自編碼器;特征提??;數(shù)據(jù)預(yù)處理
基于人的各項生化指標進行糖尿病的特征學(xué)習(xí)與預(yù)測已經(jīng)成為國內(nèi)外研究的重點,其中能構(gòu)建出性能優(yōu)良的數(shù)據(jù)模型是預(yù)測的關(guān)鍵。針對于現(xiàn)在日益陡增的糖尿病生化指標的數(shù)據(jù),傳統(tǒng)的淺層模型既不能有效的表達出其深層次的特征,又不能進行精準的預(yù)測。例如,決策樹模型雖然理解和解釋起來簡單,且決策樹[1]也可以根據(jù)邏輯關(guān)系進行構(gòu)建,但其結(jié)果很不穩(wěn)定,只要數(shù)據(jù)中一個很小的變化可能就會導(dǎo)致一個完全不同的樹。另外,傳統(tǒng)提取特征的方式大多都是人工提取特征,需要設(shè)計特征選擇器或者根據(jù)。支持向量機[2]的最終決策函數(shù)只由少數(shù)的支持向量所確定,計算的復(fù)雜性取決于支持向量的數(shù)目,而不是樣本空間的維數(shù),但其缺點也十分明顯,它對大規(guī)模訓(xùn)練樣本難以實施,并無法解決多分類的問題。人工神經(jīng)網(wǎng)絡(luò)[3]的非線性擬合能力很強,這使它特別適合于求解內(nèi)部機制復(fù)雜的問題,但其BP(back propagation)算法訓(xùn)練速度慢,且訓(xùn)練很有可能會失敗。Logistic回歸算法[4]的計算速度很快,能夠有效的節(jié)省硬件資源,但是容易欠擬合,并且分類的精度不高。從特征學(xué)習(xí)的角度來看,傳統(tǒng)的特征學(xué)習(xí)都是采用人工提取特征的方法,且特征器需要專家經(jīng)驗且耗時[5],這樣不僅效率地下,而且還很難排除人為因素的干擾。深度學(xué)習(xí)作為人工智能技術(shù)的重要方法之一,在各個領(lǐng)域都表現(xiàn)出不凡的優(yōu)勢,例如,計算機視覺、語音識別、自然語言處理等。面對呈指數(shù)速度增長的海量數(shù)據(jù)信息,如何從大數(shù)據(jù)中提取出對預(yù)測結(jié)果有效的特征,幫助我們建立模型去擬合原有的數(shù)據(jù)并進行預(yù)測成為該領(lǐng)域中的一大難題。通常人的各項生化指標數(shù)據(jù)具有不確定性和動態(tài)性等特點,且噪聲較多,數(shù)據(jù)之間且包含較多的非線性關(guān)系,對于利用人的各項生化指標數(shù)據(jù)進行預(yù)測未來是否會患有糖尿病一直都是國內(nèi)外研究的熱點。針對深度學(xué)習(xí)的優(yōu)勢,尤其是自編碼器的無監(jiān)督學(xué)習(xí)機制,為研究糖尿病預(yù)測提供了一種新的思路。
(一)自編碼器
圖1 自編碼器結(jié)構(gòu)
設(shè)ω1∈Rm×n、b1∈Rm分別表示輸入層與隱藏層的權(quán)值與偏置,ω2∈Rm×n、b2∈Rm分別表示隱藏層與重構(gòu)可視層的權(quán)值與偏置,假設(shè)每一個神經(jīng)元的激活非線性激活函數(shù)都是ReLu函數(shù),對于自編碼器在編碼過程中如下所示
解碼過程為:
(二)SDAEP模型
對于的人的生化指標數(shù)據(jù){(x(1),y(1)),(x(2),y(2)),(x(3),y(3))…},經(jīng)過棧式降噪自編碼器的學(xué)習(xí)后,將構(gòu)建出的有更好特征表達的數(shù)據(jù)接入神經(jīng)網(wǎng)絡(luò)模型,就構(gòu)成了糖尿病的預(yù)測模型SDAEP(Staked Denoising AutoEncoder based Prediction model)結(jié)構(gòu)如圖3所示
圖3 SDAEP結(jié)構(gòu)
在棧式降噪自編碼器模型中,h1與h2均為自編碼器的隱藏層,h3為自編碼器連接的輸出層帶有sigmoid分類器的神經(jīng)網(wǎng)絡(luò)層。通過棧式化的多層降噪自編碼器的特征學(xué)習(xí),將經(jīng)過處理的數(shù)據(jù)進行特征提取,獲取了具有更好表達的新的特征,在利用神經(jīng)網(wǎng)絡(luò)的輸出層的分類器對未來這些人是否會患有糖尿病做出預(yù)測。
(一)貪婪學(xué)習(xí)算法
所謂貪婪學(xué)習(xí)算法是指,在對問題的求解過程中,總是做出來在當前看來是最好的選擇。即不從整體最優(yōu)上加以考慮,只做出在當前情況下的最優(yōu)解。棧式降噪自編碼器預(yù)測模型之所以不直接用梯度下降算法訓(xùn)練是因為隨著隨著神經(jīng)網(wǎng)絡(luò)的層數(shù)增加,利用前向傳播到最終的輸出層后,將訓(xùn)練值與實際值作差在進行反向傳播計算梯度的時候,會導(dǎo)致梯度快速下降,以至于在最初的幾層神經(jīng)網(wǎng)絡(luò)當中,權(quán)值的變化會非常的小,使得神經(jīng)網(wǎng)絡(luò)無法訓(xùn)練。這時我們采用逐層貪婪學(xué)習(xí)算法,先對前面的DAE的每一層,分別進行無監(jiān)督的預(yù)訓(xùn)練,等預(yù)訓(xùn)練完成以后再連接分類器進行有監(jiān)督的訓(xùn)練,能夠使SDAEP快速達到最優(yōu)。
(二)棧式降噪自編碼器的學(xué)習(xí)算法
棧式降噪自編碼器的參數(shù)學(xué)習(xí)采用反向傳播算法,先將處理好的數(shù)據(jù)輸入到輸入層,經(jīng)前向傳播得到得到L2,L3,…直到輸出層Lnl的激活值a(2),…,a(nl),再根據(jù)自編碼器的整體代價函數(shù)計算出訓(xùn)練值與實際值的差值后,經(jīng)反向傳播算法計算梯度,回傳到輸出層,逐層微調(diào)權(quán)值與偏置。假設(shè)棧式降噪自編碼器的輸出層為第nl層,輸出的目標值為y,則棧式降噪自編碼器各輸出層和隱藏層各節(jié)點的誤差表達式分別為:
δ(nl)=-(y-a(nl)f'(z(nl))
其中,l=nl-1,nl-2,nl-3,…,2,式中f為ReLu激活函數(shù),f'(Z(l))表示第ι層激活函數(shù)f(z)對輸入z的導(dǎo)函數(shù)值。
利用梯度下降法更新權(quán)值和偏置參數(shù),設(shè)α為學(xué)習(xí)率,迭代更新表達式為:
w(l)=w(l)-α[▽w(l)J(W,b;x,y)]
b(l)=b(l)-α[▽b(l)J(W,b;x,y)]
通過不斷的迭代來調(diào)整權(quán)值w以及偏置b以減小自編碼器整體代價函數(shù)的值,以此來優(yōu)化預(yù)測模型。
本次實驗的軟件平臺為MATLAB R2015b,數(shù)據(jù)預(yù)處理的實驗平臺為Python3.6,編程實現(xiàn)算法。
模型的評價標準為均方偏差以及分類準確率
分類準確率=100*(1-error)
為了處分反應(yīng)模型的效果,以人的生化指標為依據(jù)的糖尿病數(shù)據(jù)集為例,對比了目前在糖尿病預(yù)測領(lǐng)域較為常用的BP神經(jīng)網(wǎng)絡(luò)和支持向量機(SVR)模型,如表1所示
表1 同一數(shù)據(jù)集下不同模型的預(yù)測效果
由此可以見得,SDAEP的預(yù)測效果要優(yōu)于BP神經(jīng)網(wǎng)絡(luò)和支持向量機的,雖然BP神經(jīng)網(wǎng)絡(luò)和支持向量機的分類準確率相差無異,但均方誤差差距較大,且其隨機初始化的權(quán)值和偏置也沒有經(jīng)過無監(jiān)督預(yù)訓(xùn)練的SDAEP穩(wěn)定,泛化能力還有待提升,經(jīng)過上述對比,可以看出SDAEP的預(yù)測性能更好。
棧式降噪自編碼器預(yù)測模型克服了傳統(tǒng)淺層模型泛化能力不強的確定,并對數(shù)據(jù)的特征進行重學(xué)習(xí),使其有了更好的表達,而自編碼其自身獨特的逐層貪婪的學(xué)習(xí)方法也改進了神經(jīng)網(wǎng)絡(luò)隨機初始化的缺點,比單獨使用反向傳播在通過梯度下降法來微調(diào)權(quán)值和偏置的神經(jīng)網(wǎng)絡(luò)收斂速度更快,所以棧式降噪自編碼器在對糖尿病的預(yù)測領(lǐng)域具有重要的應(yīng)用研究和推廣價值。
[1]馬瑾,孫穎,劉尚輝.決策樹模型在住院2型糖尿病患者死因預(yù)測中的應(yīng)用[J].中國衛(wèi)生統(tǒng)計,2013.6,30(3):422-423
[2]洪燁.基于機器學(xué)習(xí)算法的糖尿病預(yù)測模型研究[M].哈爾濱工業(yè)大學(xué)碩士學(xué)位論文,2016.6
[3]郭奕瑞,李玉清,王高帥,劉曉田,張路寧,張紅艷,王炳源,王重建.人工神經(jīng)網(wǎng)絡(luò)模型在2型糖尿病風(fēng)險預(yù)測中的應(yīng)用[N].鄭州大學(xué)學(xué)報(醫(yī)學(xué)版),2014,3,49(2):180-183
[4]曹文哲,應(yīng)俊,陳廣飛,周丹.基于Logistic回歸和隨機森林算法的2型糖尿病并發(fā)視網(wǎng)膜病變風(fēng)險預(yù)測及對比研究[J].2016,03:1674-1633
[5]Martin Langkvist,Lars Karlsson,Amy Loutfi.A review of unsupervised feature learning and deep learning for time-series modeling[J].Pattern Recognition Letters,2014(42):11-24