(南方醫(yī)科大學(xué) 公共衛(wèi)生與熱帶醫(yī)學(xué)學(xué)院 生物統(tǒng)計學(xué)系,廣東 廣州 510515)
在很多醫(yī)學(xué)診斷和預(yù)后研究中都會用到統(tǒng)計預(yù)測模型,其中Logistic 回歸是一種常被用于預(yù)測結(jié)果為二分類變量的統(tǒng)計方法.而神經(jīng)網(wǎng)絡(luò)作為一種新的技術(shù),有學(xué)者(如曹志峰)認為它有可能代替Logistic 回歸以及一些別的分類統(tǒng)計方法[1].BP (Back Propagation)神經(jīng)網(wǎng)絡(luò)是目前發(fā)展最成熟、應(yīng)用最廣泛的神經(jīng)網(wǎng)絡(luò),是一種按誤差逆?zhèn)鞑ニ惴ㄓ?xùn)練的多層前饋網(wǎng)絡(luò).這一過程可以較迅速地通過調(diào)整網(wǎng)絡(luò)中的權(quán)值以最小化網(wǎng)絡(luò)輸出和實際結(jié)果的誤差.BP神經(jīng)網(wǎng)絡(luò)首先由Rumelhart,Hinton和Williams 提出,并逐漸在各領(lǐng)域被廣泛應(yīng)用[2].BP神經(jīng)網(wǎng)絡(luò)在醫(yī)學(xué)領(lǐng)域中主要應(yīng)用于疾病輔助診斷,如曹志峰將BP神經(jīng)網(wǎng)絡(luò)運用在甲狀腺疾病的診斷上,結(jié)果顯示網(wǎng)絡(luò)對樣本的判對率達到99.3%[1].而在BP神經(jīng)網(wǎng)絡(luò)中,由Mackay 提出的貝葉斯正則化的引入[3],是對傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)的一種優(yōu)化模型,可以修正BP神經(jīng)網(wǎng)絡(luò)中常出現(xiàn)的過擬合現(xiàn)象[4],從而提高其推廣能力[5].國內(nèi)研究對其應(yīng)用還不夠廣泛,國外大多學(xué)者把這種神經(jīng)網(wǎng)絡(luò)用在工科領(lǐng)域[6-7],Yu 等人曾將此模型用于卵巢癌的診斷中[8].但總的來說,貝葉斯正則化BP神經(jīng)網(wǎng)絡(luò)在醫(yī)學(xué)上的應(yīng)用比較少,遠不及其在工科領(lǐng)域的應(yīng)用.因此,本文基于一個腎衰竭患者數(shù)據(jù),應(yīng)用BP神經(jīng)網(wǎng)絡(luò)、貝葉斯正則化BP神經(jīng)網(wǎng)絡(luò)與常用的二分類Logistic 回歸對腎衰竭患者是否死亡進行預(yù)測,并比較三種模型的預(yù)測效果.
為了比較BP神經(jīng)網(wǎng)絡(luò)、貝葉斯正則化BP神經(jīng)網(wǎng)絡(luò)、Logistic 回歸三者對同一個數(shù)據(jù)的預(yù)測效果,選用了《SPSS13.0 統(tǒng)計軟件應(yīng)用教程》上的一個關(guān)于急性腎衰竭(ARF)的數(shù)據(jù)[9].該數(shù)據(jù)為某醫(yī)院1990~2000年中所有發(fā)生ARF的422名住院患者的臨床資料.該資料共涉及29個變量,其中,器官衰竭和透析方式均為多分類變量,分別有5個水平和4個水平,已被重新分別設(shè)置4個啞變量和3個啞變量;計量資料有年齡、血肌酐、血紅蛋白;其它均為二分類變量.把所有多分類變量轉(zhuǎn)換成啞變量之后,該數(shù)據(jù)最后共涉及36個變量,見數(shù)據(jù)文件“ARF.sav”.
實際上,并不是自變量越多得到的模型效果越好,選擇過多的變量往往會增加問題的復(fù)雜性,還會影響模型的擬合效果.本研究采用單因素Logistic 回歸對自變量進行篩選,從中選取P值小于0.05的自變量,最終選取了24個自變量:age (年齡)、社會支持、慢性病、手術(shù)、糖尿病、腫瘤、cr (血清肌酐)、少尿、lbp(低血壓)、黃疸、昏迷、輔助呼吸、心衰、肝衰、出血,呼衰、器官衰竭2個、器官衰竭3個、器官衰竭4個、dic (彌散性血管內(nèi)凝血)、敗血癥、感染、透析方式1、透析方式3.
1.2.1 BP神經(jīng)網(wǎng)絡(luò)
典型的BP神經(jīng)網(wǎng)絡(luò),是一個含有隱含層(既不屬于輸入層也不屬于輸出層,可同時存在多個隱含層)的三層網(wǎng)絡(luò)結(jié)構(gòu),如圖1所示.
圖1 BP神經(jīng)網(wǎng)絡(luò)基本結(jié)構(gòu)
BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練主要分兩個過程:輸入變量的前向傳播以及誤差反向傳播.全程流程圖如圖2所示.
圖2 BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練流程
具體訓(xùn)練步驟如下:
(1)確定網(wǎng)絡(luò)結(jié)構(gòu).
①確定隱含層層數(shù).
1989年Robert Hecht-Nielson 已經(jīng)證明對于任意閉區(qū)間內(nèi)的一個連續(xù)函數(shù),都可以用只含有一個隱含層的BP神經(jīng)網(wǎng)絡(luò)來逼近.本研究選用單個隱含層[10].
②確定隱含層節(jié)點數(shù)[11].
隱含層節(jié)點的選取,到目前還沒有完善的理論依據(jù),大多以經(jīng)驗為主,且有多種可參考原則,本研究用以下原則來確定隱含層節(jié)點數(shù):m =log2n,其中,n為輸入層節(jié)點數(shù),m為隱含層節(jié)點數(shù).本研究計算得出m約為4.55,四舍五入,以5為隱含層節(jié)點數(shù).
③確定激活函數(shù)類型[12].
理論上已證明,至少一個S 型隱含層加上一個線性輸出層的神經(jīng)網(wǎng)絡(luò),能夠逼近任何有理函數(shù).因此,本研究隱含層激活函數(shù)f選用tansig 函數(shù),輸出層函數(shù)g選擇purelin 函數(shù).
(2)初始化[12].
根據(jù)樣本輸入、輸出變量確定網(wǎng)絡(luò)輸入、輸出層節(jié)點數(shù)n,其中,輸入、輸出層節(jié)點數(shù)可以不同,如當(dāng)輸入節(jié)點數(shù)為c,輸出節(jié)點數(shù)為d時,神經(jīng)網(wǎng)絡(luò)就表達了從c個自變量到d個因變量的函數(shù)映射關(guān)系.初始化輸入、隱含和輸出層間的權(quán)值wij和wjk,隱含、輸出層閾值aj和bk,其中i=k =1,2,…,n,j =1,2,…,m.(此處i=k是指輸入層節(jié)點與輸出層節(jié)點個數(shù)一致).學(xué)習(xí)速率設(shè)為0.01 (常用),最大訓(xùn)練次數(shù)設(shè)為20000,目標精度設(shè)為0.
(5)誤差反向傳播[2],根據(jù)梯度下降算法更新權(quán)值wij和wjk,閾值aj和bk.如:wjk(l+1)= wjk(l)+Δwjk= wjk(l)+ηδkHj、wij(l+1)= wij(l)+Δwij=wij(l)+ηδjxi、bk(l+1(= bk(l)+Δbk=bk(l)+ηδk、aj(l+1)=aj(l)+Δaj=aj(l)+ηδj.其中,η為學(xué)習(xí)速率,δk為輸出層誤差,δj為隱含層誤差,l =1,2,…,M為訓(xùn)練次數(shù).
1.2.2 貝葉斯正則化BP神經(jīng)網(wǎng)絡(luò)
實際上,貝葉斯正則化神經(jīng)網(wǎng)絡(luò)是在BP神經(jīng)網(wǎng)絡(luò)誤差反向傳播后增加一個貝葉斯正則化優(yōu)化參數(shù)的過程.因此,對于貝葉斯正則化BP神經(jīng)網(wǎng)絡(luò)中BP神經(jīng)網(wǎng)絡(luò)那一部分的參數(shù)設(shè)置和計算等不再贅述,而貝葉斯正則化優(yōu)化參數(shù)這一過程又分為正則化和貝葉斯推理兩個部分,步驟如下[3,5,14]:
這里,我們記網(wǎng)絡(luò)模型訓(xùn)練樣本集D =(xi,yi),i=1,2,…,n,令網(wǎng)絡(luò)框架為A(包括網(wǎng)絡(luò)層數(shù)、每層節(jié)點數(shù)、激活函數(shù)類型),網(wǎng)絡(luò)參數(shù)為w(包括三層間所有的權(quán)閾值),網(wǎng)絡(luò)模型為O(x;w,A),誤差函數(shù)為ED(D|w,為了縮減網(wǎng)絡(luò)復(fù)雜度,給誤差函數(shù)加一個權(quán)罰項1,2,…N.注意,這里提到的i和m在本節(jié)中分別表示樣本數(shù)和網(wǎng)絡(luò)參數(shù)(權(quán)值閾值)個數(shù),不要與前面提及的記號混淆.由ED和Ew綜合成一個新的目標函數(shù)(目標是指整個算法的最優(yōu)化目標):M =αEw(w | A)+βED(D| w,A).其中,α,β為“黑箱子(black box)”參數(shù)[3],也叫超參數(shù)[14].實際應(yīng)用時,最小化目標函數(shù)是為了減少網(wǎng)絡(luò)訓(xùn)練誤差的同時降低網(wǎng)絡(luò)結(jié)構(gòu)的復(fù)雜度.因為常規(guī)的正則化方法一般很難確定正則化參數(shù)的大小,而采用貝葉斯理論可以在網(wǎng)絡(luò)訓(xùn)練過程中自適應(yīng)地調(diào)節(jié)正則化參數(shù)大小并使參數(shù)達到最優(yōu),最后經(jīng)過一系列推導(dǎo),可以得到其中,γ=N-2αtr(M(wMP))-1,wMP表示M取最小值時所對應(yīng)的網(wǎng)絡(luò)參數(shù)值;γ表示有效的網(wǎng)絡(luò)參數(shù)個數(shù),反映網(wǎng)絡(luò)的實際規(guī)模;N是網(wǎng)絡(luò)中所有參數(shù)的個數(shù).
用SPSS 21.0 對原數(shù)據(jù)中的變量進行篩選,以不同分界點作Logistic 回歸并得出相應(yīng)的判對率,畫出三個模型的ROC 曲線并計算其AUC;用Matlab 訓(xùn)練BP神經(jīng)網(wǎng)絡(luò)和貝葉斯正則化BP神經(jīng)網(wǎng)絡(luò)并以不同分界點計算其判對率.
表1 不同分界點下三個模型的判對率
比較不同分界點下三個模型對同一數(shù)據(jù)的預(yù)測效果,觀察分界點的選擇對三個模型預(yù)測效果的影響,選擇了0.3、0.4、0.5、0.6 與0.7 五個分界點,結(jié)果見表1.可見三個模型以0.5為分界點時判對率最高.此時,Logistic 回歸模型的靈敏度為81.6%,特異度為93.4%;BP神經(jīng)網(wǎng)絡(luò)模型的靈敏度為84.6%,特異度為93.1%;貝葉斯正則化BP神經(jīng)網(wǎng)絡(luò)模型的靈敏度為96.3%,特異度為99.6%.
以三個模型輸出的原始結(jié)果為基礎(chǔ)畫出三個模型的ROC 曲線(圖3)并求出曲線下面積(表2).直接比較兩個ROC 曲線下面積的95%可信區(qū)間是否交叉,如交叉,則表明兩個ROC 曲線下面積在α =0.05時無顯著差異;如不交叉,則有統(tǒng)計學(xué)差異[15].可見,BP神經(jīng)網(wǎng)絡(luò)和Logistic 回歸比較,它們的AUC 無顯著差別,而貝葉斯正則化BP神經(jīng)網(wǎng)絡(luò)和上述二者比較,它們的AUC 有顯著差別,且貝葉斯正則化BP神經(jīng)網(wǎng)絡(luò)AUC為三者中最大者,即模型預(yù)測效果最好.
圖3 三個模型ROC 曲線圖
表2 三個模型AUC 及95%置信區(qū)間
針對本研究的數(shù)據(jù),當(dāng)三個模型的輸出結(jié)果都以0.5作為分界點時,它們的判對率分別為89.1%(Logistic 回歸)、90.05% (BP神經(jīng)網(wǎng)絡(luò))和98.58%(貝葉斯正則化BP神經(jīng)網(wǎng)絡(luò)).用三個模型原始輸出結(jié)果和目標數(shù)據(jù)作比較畫出的ROC 曲線及求得的AUC分別為0.950、0.947和0.995.可見,針對這一數(shù)據(jù),BP神經(jīng)網(wǎng)絡(luò)的預(yù)測效果并不像大多數(shù)以往研究中所說的會比Logistic 回歸結(jié)果好[1,16-17],反而是和Logistic回歸得出的結(jié)果差不多,但是貝葉斯正則化BP神經(jīng)網(wǎng)絡(luò)的預(yù)測效果比上述兩個模型好很多.當(dāng)然,不排除是由于數(shù)據(jù)樣本量不足導(dǎo)致BP神經(jīng)網(wǎng)絡(luò)不能得到很好的訓(xùn)練,從而預(yù)測效果不如理想中準確.不過,本研究突出了貝葉斯正則化BP神經(jīng)網(wǎng)絡(luò)不需要大量的訓(xùn)練樣本也能得到很好的輸出結(jié)果這一優(yōu)點.
[1]曹志峰.BP神經(jīng)網(wǎng)絡(luò)在臨床診斷中的應(yīng)用與探討[J].實用醫(yī)技雜志,2005,12 (9):2656-2657.
[2]Rumelhart D E,Hinton G E,Williams R J.Learning representations by back-propagating errors[J].Nature,1986,323 (9):533-536.
[3]MacKay D J C.A practical Bayesian framework for backpropagation networks[J].Neural computation,1992,4 (3):448-472.
[4]Moody J,Hanson S J,Lippmann R P.The Effective Number of Parameters:An Analysis of Generalization and Regularization in Nonlinear Learning Systems[J].Advances in neural information processing systems,1992,4:847-854.
[5]魏東,張明廉,蔣志堅,等.基于貝葉斯方法的神經(jīng)網(wǎng)絡(luò)非線性模型辨識[J].計算工程與應(yīng)用,2005,41(11):5-8.
[6]Auld T,Moore A W,Gull S F.Bayesian neural networks for internet traffic classification[J].Neural Networks,IEEE Transactions on,2007,18 (1):223-239.
[7]Goh A T C,Kulhawy F H,Chua C G.Bayesian neural network analysis of undrained side resistance of drilled shafts[J].Journal of Geotechnical and Geoenvironmental Engineering,2005,131 (1):84-93.
[8]Yu J,Chen X W.Bayesian neural network approaches to ovarian cancer identification from high-resolution mass spectrometry data[J].Bioinformatics,2005,21 (1):i487-i494.
[9]陳平雁.SPSS 13.0 統(tǒng)計軟件應(yīng)用教程[M].北京:人民衛(wèi)生出版社,2005,196-197.
[10]Hecht-Nielsen R.Theory of the backpropagation neural network[J].International Joint Conference on IEEE,1989:593-605.
[11]MATLAB 中文論壇編著.MATLAB神經(jīng)網(wǎng)絡(luò)30個案例分析[M].北京:北京航空航天大學(xué)出版社,2010,9-10.
[12]聞新,周露.MATLAB神經(jīng)網(wǎng)絡(luò)應(yīng)用設(shè)計[M].北京:科學(xué)出版社,2000:225-232.
[13]MacKay D J C.Bayesian interpolation[J].Neural computation,1992,4 (3):415-447.
[14]李鵬.基于貝葉斯理論的神經(jīng)網(wǎng)絡(luò)算法研究[J].光機電信息,2011,28 (1):28-32.
[15]DeLong E R,DeLong D M,Clarke-Pearson D L.Comparing the areas under two or more correlated receiver operating characteristic curves:a nonparametric approach[J].Biometrics,1988:837-845.
[16]黃德生,周寶森,劉延齡等.BP人工神經(jīng)網(wǎng)絡(luò)用于肺鱗癌預(yù)后預(yù)測[J].中國衛(wèi)生統(tǒng)計,2000,17 (6):337-340.
[17]Peng SY,Peng SK.Predicting adverse outcomes of cardiac surgery with the application of artificial neural networks[J].Anaesthesia,2008,63 (7):705-713.