劉 洋,宋其江,宋佳音
(東北林業(yè)大學機電工程學院,黑龍江 哈爾濱 150040)
腦卒中是在臨床表現上高復發(fā)率和高致殘率的一類疾病,中國卒中協會發(fā)布的研究報告顯示,腦卒中已經成為威脅我國國民生命安全的第一大疾病。腦卒中疾病發(fā)病快,致死致殘率高,一旦發(fā)病,對心腦血管損傷嚴重。對于腦卒中這類疾病,預防大于治療,如果能夠對腦卒中進行及早預防及干預,將會有重要意義[1]。卒中可能隨時發(fā)生,醫(yī)學專家知道哪些人最容易發(fā)生腦卒中,但是醫(yī)生不能同時監(jiān)控所有病人。機器學習模型可以實時跟蹤數千名患者,讓醫(yī)生有機會跟上需求。本文通過對已有的神經網絡進行參數的改良,提高原有模型的準確率,增加表現模型性能的曲線進而構建一個更加貼切的模型來預測腦卒中的風險。
數據集的數據來源是5 111 個身份不同,家庭情況不同的人(數據集及原模型作者是來自索馬里的fedesoriano)。他們身體的各項指標和生活習慣也有所不同,5 000 多條數據足以滿足訓練和驗證模型的需要。在他們的身體數據中,被普遍認為和腦卒中有關系,被記錄成為特征的如下:ID,性別,年齡,高血壓,心臟病,婚姻狀況,工作類型,居住地,平均血糖水平,身體質量指數,是否吸煙[2]。研究證明,全球范圍內,性別在腦卒中負擔比例上沒有顯著差異,但在低收入和中等收入國家,男性行為風險集群的人口歸因分數(PAF)大于女性。隨著年齡的增長[3],身體機能也有所下降,卒中的風險也會隨之升高,尤其50 歲之后,卒中患病率顯著增加。研究表明,BMI 是可歸因DALY 最重要的五個風險因素之一,占比23.5%,卒中患者BMI 的DALY 增加比例高達46%,位居第一;高血壓是最重要的卒中影響因素[4],它與出血性卒中的相關性更強;心臟病包括房顫、冠心病、瓣膜病和心肌梗死等心臟相關病癥,可令缺血性卒中風險增加3.49倍。平均血糖水平是為了更好地顯示患者患糖尿病的情況,是正常還是糖尿病前期,還是已經有糖尿病,比簡單地分為是否有糖尿病更加具體。很多研究證實,糖尿病是僅次于高血壓的重要卒中風險因素,且與缺血性卒中的關系更為密切。在居住地的劃分上,所有的研究對象被劃分成兩種,城市和農村,城市和農村的生活環(huán)境有不小的差異,這有可能對卒中造成影響[5]。
本文使用的數據庫涉及到患者一些身體數據,比起姓名,用ID 來區(qū)分不同的人更為合理[6]。為了使數據庫的數據能夠輸入神經網絡,本文對數據庫中的數據進行了一些預處理。
第一步是數據清理,數據清理可以通過填補空缺值,刪除或者解決數據的不一致性來達到清理數據的目的[7]。例如將文中的ID 列刪除是為了減少不必要的工作量,因為ID 列僅僅是為了區(qū)分不同的健康數據,對于模型數據的訓練并沒有其他的意義。本研究對缺失數據的處理是用其他數據的平均值來進行填充,這也是最為普遍的一種方法[8]。
第二步是數據規(guī)范,數據采集的信息是多樣化的,為了其能在神經網絡中得到更好的處理,需要將數據的格式統一。在本文中將性別、婚姻狀況、住宅類型和吸煙狀況的相關信息由字符串形式改為數字形式,便于更好地輸入神經網絡。將平均血糖水平、年齡、身體質量指數等一些出現連續(xù)數值的指標按照一定的醫(yī)學標準分為幾類,再分別對應成‘0’‘1’‘2’這樣的數字用來區(qū)分不同的身體狀況。其中,平均血糖指標“avg_glucose_level”根據美國糖尿病協會給出的標準分為不同的類型。小于或等于100 的值被認為是正常的,大于100 和小于125 的值被認為是糖尿病前期,大于125 的值被認為是糖尿病。
神經網絡模擬是機器學習算法的一種,通過模擬高度復雜、非線性、自適應和并行的人腦系統功能,構成彼此相互連接的神經系統,用來進行復雜的計算和建模。人工神經網絡的網絡結構是由隱層和隱節(jié)點的個數決定的,在對原有的神經網絡進行改進的同時也要考慮到網絡結構的復雜度和模型的訓練效率[9]。如果結構過于簡單,學習收斂速度快,不一定達到預想的精度,如果過于復雜,預測原有的神經網絡輸入層有64 個神經元,由relu 函數激活,由統一的內核初始化,前三個隱藏層的個數分別是32、16、10,所用的激活函數都是Relu 函數,最后的輸出層則只有一個神經元,輸出層的激活函數是Sigmoid 函數,使用Adam 優(yōu)化器以0.001 的學習率學習,以5 批大小對該模型進行30 個歷元的訓練。
神經網絡參數改進前后的模型準確率和損失情況見圖1。訓練成功后,該模型報告的損失值為37.3%,準確率為83.7%。如第103 頁圖2 所示,本研究對參數進行了相應的調整,增加了神經網絡的層數和每層神經元的個數,訓練的批次變成了epochs=200,batch_size=15,同時也兼顧了網絡結構的復雜度和訓練效率,成功提高了模型的準確率。
圖1 模型改進前后對比圖
圖2 對神經網絡參數的改進
準確率是評價一個模型性能的重要指標,是對模型預測準確度的評判標準,即分類模型判斷正確的結果占所有觀測率的比值,其計算公式為
式中:TP 表示正類判斷為正類;FP表示負類判斷為正類;FN表示正類判斷為負類;TN 表示負類判斷為負類。
為了更好地評估模型,本研究增加了ROC 曲線,用圖像來更加直觀地描述模型的性能。1960 年開始,ROC 曲線開始被應用于醫(yī)療領域。ROC曲線是一種比較模型效果坐標圖的可視化工具,用來展示靈敏度和特異度之間的相互關系[10]。靈敏度(TPR)是對真實正例覆蓋率的測量,指的是觀察為正例的結果中,模型判斷為正例的比率,公式為
特異度也叫真陰性率(TNR),是對真實負例的預測覆蓋面的度量,指觀測值為負例的結果中,模型判斷為負例的占比,公式為
ROC 曲線以靈敏度為縱坐標,特異度為橫坐標,通過設定出不同的臨界值,得出每個點對應的坐標,最后繪制曲線,通過曲線下面積值(AUC),用來評價模型的準確率AUC 的值越大,證明模型的效果越好。ROC 分析最早在信號檢測中出現,作用是選擇出最優(yōu)的信號偵測模型。由于ROC 分析不受成本和收益的影響,所以評估的效果也更加中立。AUC 曲線有兩種極端情況,一種是所有樣本都正確,AUC=1;另一種是分類幾乎沒有發(fā)揮作用,等價于隨機分類,AUC=5,但是實際情況可能是RUC 曲線的值大于0.5 小于1。
此外ROC 曲線能夠很好地體現自適應合成抽樣對模型的效果,如圖3 所示,自適應合成抽樣是原有的模型中作者為了處理不平衡類采用的一種方法。這個方法通過插值法創(chuàng)建不平衡類的更多樣本來生成合成數據,調整網絡參數對ROC 曲線的影響并不大,但是對于體現自適應合成抽樣的作用卻有很好的效果。
圖3 ROC 曲線對自適應合成抽樣的體現
對于腦卒中這種突發(fā)類且傷害大的疾病,現階段還沒有理想的治療方法,所以是預防大于治療,有效的預測模型能夠更好地保障大眾的健康,也讓醫(yī)學知識與深度學習的結合更好地造福大眾。已經對腦卒中做預測模型的研究不在少數,本文找到一個已有的神經網絡模型,通過調節(jié)參數使得模型準確率更高,通過添加AUC 曲線評估模型,使得模型能夠更好地預測腦卒中數據。