?

面向心血管疾病的自適應模塊化神經網絡預測模型

2019-01-24 09:36王振飛陳金磊鄭志蘊
小型微型計算機系統 2019年1期
關鍵詞:訓練樣本權值聚類

王振飛,陳金磊,鄭志蘊,劉 冰

(鄭州大學 信息工程學院,鄭州 450001)

1 引 言

現代社會的日益發展使得人們的生活水平不斷提高,原本的衣、食、住、行等一些基礎性的需求已經不能滿足人們對更高生活水平的追求.隨之而來的是“健康”方面的問題越來越受到人們的重視.由于人們飲食方式的變化以及生活環境的污染,引起人們各種各樣的健康問題,如罹患心腦血管等疾病的人群日益增多.心臟以及腦血管的疾病合稱為心腦血管疾病,其病因一般為三高(即高血壓、高血糖、高血脂)、動脈硬化和血液粘稠等.目前,由心腦血管病造成的死亡率不斷上升,早發現,并在早期進行治療,能很好的提高和保證病人的存活率,起到很好的預防效果[1].為了更好的提高心腦血管病人的存活率,不僅做到患病時的及時就醫治療,最為關鍵的是在未發病時的疾病預測和預防.心腦血管疾病及早地發現,是得到及早治療的前提.因此,疾病風險預測研究是非常有意義的課題.

KL Chien等人利用臺灣的一組中風病人數據,構建了一個預測中國成年人中風發病率的模型[2],林倍倍等人通過探索上海社區群眾的糖尿病發病狀況,為在社區進行糖尿病防治工作提供依據[3].在機器學習領域,袁鶯楹等人通過時間序列、神經網絡等算法在進行疾病的預測[4].龐顯濤等人使用了將多種機器學習模型相結合的方法來對疾病的發生進行預測,其將神經網絡與遺傳算法相結合提高了預測準確率[5].崔霞等人提出了SRGM模型組合算法,可以提升預測準確度[10].RBF神經網絡具有很好的全局最優特性,不容易陷入局部極小值以及容錯性高的特點[11],但是針對心腦血管疾病預測,數據維數高和數據之間關系復雜的問題,RBF神經網絡還存在著訓練耗時長,訓練結果達不到預期等一些問題.為了克服單一前饋神經網絡的局限性,研究人員提出模擬人的大腦在分析處理問題時功能分區的模型,將一種模塊化的方法融入其中,把一個相對較為復雜的問題,轉化為多個較為簡單的問題,運用“分而治之”的思想,單獨的子模塊能夠處理接收到的較為簡單的問題[6],這種學習方式的優點是可以因問題特點實施不同網絡結構學習復雜問題[7].本文針對心腦血管疾病這種復雜問題提出一種自適應模塊化神經網絡結構模型(Adaptive Modular Neural Network,AMNN).首先采用密度峰值聚類方法,找出數據集的聚類中心,以此確定每個子模塊的訓練樣本集,然后每個模塊采用BP神經網絡算法,該算法能根據分配來的訓練樣本自適應構建模塊結構,模塊的網絡結構由本身的學習任務自適應確定.最后以河南某地6000余名農村居民常見心血管代謝性疾病及健康影響因素體檢問診單為數據集,實驗驗證AMNN的性能.

2 自適應模塊化神經網絡(AMNN)

2.1 AMNN結構原理

AMNN的網絡結構如圖1,其與一般的BP神經網絡有所不同,AMNN先對數據進行處理,利用模塊化的思想將復雜問題分類研究.AMNN含有多個模塊,其工作方式是,首先在數據處理階段對不同的訓練樣本進行聚類分析,將數據樣本分為多個類,根據聚類分析的結果,選擇AMNN 中相應的模塊進行學習.每個模塊單元中為BP神經網絡模型,其各層參數及學習率由樣本數據聚類后分配來的不同的訓練樣本進行自適應構建,其任務是學習分配來的訓練樣本.

AMNN的工作流程和功能模塊設計是將數據集進行聚類分析確定聚類中心、根據聚類結果將子數據集選擇相應的子網絡進行學習、子網絡由匹配來的子數據集自適應的確定自己的訓練參數.

2.2 任務分解

在數據輸入后,任務分解的目的就是將整個數據樣本空間通過聚類的方法歸為若干個子數據樣本空間.新的子數據樣本空間中的數據被送入相應的子網絡中.子樣本空間的數目與子網絡的數目一致.

本文借鑒Alex Rodriguez等人提出的點密度峰值聚類算法[8],該算法可以確定訓練樣本聚類中心的數目,從而確定子網絡的數目.該算法在如何確定聚類中心上有十分經典的研究,確定聚類中心的理論依據是,確定數據集聚類中心需要同時滿足兩個約束:第一,訓練樣本聚類中心的局部密度需要足夠大,即聚類中心的“鄰居”的局部密度都不超過其局部密度;第二,某個聚類中心與另外的局部密度相對較大的數據點的距離足夠遠.點密度峰值聚類算法的原理可以使用兩個參量來描述,ρi和δi,其中數據點i的局部概率密度用ρi表示,δi表示數據點i與另外具有更高局部密度數據點之間的最小距離.

由此,設輸入的訓練樣本集為S={(xk,yk),k=1,2,…,N},對于S中的任意數據樣本,ρi和δi的定義為:

(1)

(2)

式(1)(2)中,dij=dist(xi,xj)代表兩個樣本點xi和xj之間的距離,此距離為歐式距離,dc為截斷距離,其值大于0.dc的選取對算法的結果有較大的影響,如果取值過大,會造成ρi的值很大,區分度不高,極端情況下的取值所有數據點都歸于一類;如果取值太小,會使一個類被分為兩個類或多個類,因此dc的選值就十分重要,本文將所有兩點間的距離dij進行升序排序,取前2%的值,四舍五入作為dc值,從某種程度上,降低了參數對具體問題的依懶性.

本文所用的點概率密度峰值聚類算法具體算法描述如下.

算法1.確定數據集的聚類中心

1.對數據集的預處理工作

2.計算ρi,(i=1,2,…,N),令ρi由大到小排列;

3.計算δi,(i=1,2,…,N),令δi由大到小排列;

4.令γi=ρiδi,由此生成決策圖得到聚類中心.

由算法1得到的數據集聚類中心是{c1,c2,…,cF},共得到F個聚類中心,時間復雜度為O(n2).基于該算法得到的聚類中心,數據集中的所有樣本點針對各個聚類中心生成模糊集,生成模糊集依賴公式(3),共建立個F個模糊集:

(3)

其中,fik
表示訓練樣本xk隸屬于第i個模糊集的模糊隸屬度.指數部分分子表示樣本xk與聚類中心ci的距離,分母的選取是為了擴大數值,從而提高模糊隸屬度的辨識率,分母過大會造成隸屬函數過于平緩,隸屬度區分度不大,分母過小會使隸屬函數過于“尖銳”和“陡峭”,會造成結果趨近于0的情況,從而無法分辨隸屬度,由實驗得到,分母選取0.02較為合適.對于數據集中的每個樣本點,如果xk距離聚類中心ci越近,那么xk對于ci的隸屬度就越高,并將xk歸入相應的子樣本空間,輸入子網絡進行學習.

2.3 子網絡訓練參數的自適應確定

AMNN 中的子網絡為BP神經網絡,誤差反向傳播與正向傳播方向相反,其先從輸出層開始由隱層到達輸入層,依次層層返回,根據誤差值修改各層單元聯結權值,對以上過程描述如下.

(4)

聯結權值的修改按公式(4)計算.

wjk(t+1)=wjk(t)+Δwjk

(5)

BP算法采用梯度下降方向修改聯結權值,權值變化量為

(6)

(7)

對于隱層有

(8)

BP神經網絡的學習訓練過程是在正向與反向傳播作用下,不斷修改各層單元權值的一個反復過程,直到實際輸出達到要求精度或者達到最大訓練次數.

算法2.模塊自適應神經網絡算法

1.依據算法1聚類分析劃分的子樣本集,將樣本分配給對應子模塊Qi;

2.由子模塊Qi計算得出訓練結果yk,并由誤差函數公式(4)計算出誤差E;

3.由輸出層權值更新公式(7)與誤差E,計算出輸出層權值wjk;同理,由隱含層權值更新公式(8)與誤差E,計算出隱含層權值vij;

4.重復步驟(1),計算出新的權值wjk與vij.

利用上述算法1實現樣本分類以及算法2實現模塊的權值自適應算法,計算出每層權值,從而實現權值自適應調整,不需人工干預.

3 實驗分析

3.1 數據來源

本文采用的數據來源于河南某地6000余名農村居民心血管代謝性疾病及健康影響因素體檢問診單數據集.

數據屬性包括:年齡,性別,血壓,飲酒狀況,吸煙狀況,睡眠狀況,家族遺傳史,心電圖監測,BMI指數.實驗通過對數據的預處理,將源數據進行加工處理,剔除其中的不合理數據,提高數據的準確性,將經過預處理之后的數據引入新的數據集中,為本論文所用的數據.所用數據選取80%為學習數據,20%為測試數據.

3.2 數據的歸一化處理

由于數據集中每個屬性所表示的含義不同,數量級也不盡相同,因此需要對使用到的數據采用一定預處理方法,從而減少或消除不同數據屬性之間量級的差異而產生的影響,這種方法就是歸一化方法.經過數據歸一化后,數據值的范圍在[0,1]之間.

本文采用Z-score方法對所用數據集進行歸一化處理,采用該方法得到的數據呈正態分布,其所用轉換原理是通過均值和標準差對數據樣本進行處理,其原理如公式(9)所示.

(9)

其中μ是數據樣本的平均值,σ是數據樣本的標準差,首先計算出數據樣本的均值,再根據公式(10)得出數據樣本的標準差.

(10)

其中N為數據樣本的個數,μ是平均值.最后進行數據的歸一化處理,得出新的數據.

3.3 實驗結果與分析

實驗所用數據的屬性如表1所示,其中年齡,血壓,睡眠狀況,BMI指數數據需要進行歸一化處理.

表1 信息屬性表Table 1 Information attributeTable

提取測試數據庫中已經處理好的數據,利用已經訓練好的預測模型,對人員發病情況進行預測,并與傳統BP神經網絡(BPNN)和標準的隨機森林(RF)進行對比.得到如圖2和圖3所示結果.

圖2 三種模型不同年齡的識別率對比圖Fig.2 Comparison diagram of recognition rate of three models at different ages

從圖2和圖3可以明顯看出模塊化神經網絡的預測正確率要比RF和傳統的BPNN精確率有所提高,特別是在45-50年齡段,心血管代謝性疾病高發期,AMNN優勢更明顯.

圖3 三種模型關于BMI指數的識別率對比圖Fig.3 Comparison of recognition rates of three models with respect to the BMI index

表2 混淆矩陣表Table 2 Confusion matrixTable

實際上數據可能會存在一定的不平衡性,我們使用F-value和G-mean的方法來進行預測結論的考察.

(11)

F-value能更好、更真實的對預測結果進行評估,如公式(11),其中λ取值為正.如果λ≥1,那么說明查全率對評估帶來主要的作用;反之,如果λ<1,說明查準率在評估過程中有主要影響,這里我們取1.

(12)

G-mean維持了數據在不平衡狀態下時,預測結果的精度.

表3 測試數據庫的混淆矩陣Table 3 Confusion matrix of test database

表4 F-value值和G-mean值(%)Table 4 F-value values and G-mean values (%)

表3表示對測試數據庫內的人員信息進行預測之后結果的混淆矩陣,從表中我們可以得出,預測未發病但實際發病的概率和預測發病但實際未發病的概率都很低,這說明了神經網絡模型對心腦血管疾病預測的準確度十分良好.表4表示的是心腦血管疾病發病的F-value和G-mean值.

4 總結和展望

為解決BP神經網絡處理心腦血管疾病復雜問題的不足,提出一種自適應模塊化神經網絡模型,該模型采用點密度峰值聚類算法確定數據集的聚類中心個數,從而確定子網絡的數目,每一個子網絡采用BP神經網絡算法,該算法可以由子數據集自適應確定訓練參數,不需要人工參與;最后利用農村居民常見慢性病及健康影響因素體檢問診單數據集進行性能驗證,與標準的隨機森林和傳統單一神經網絡分類方法相比有效的降低了計算復雜度,提高了預測精度.

由于心腦血管疾病的種類繁多,病因復雜,因此進一步的研究可以關注于增加心腦血管疾病的屬性個數,提高聚類算法精度來提高預測準確的概率.

猜你喜歡
訓練樣本權值聚類
一種傅里葉域海量數據高速譜聚類方法
一種融合時間權值和用戶行為序列的電影推薦模型
基于5G MR實現Massive MIMO權值智能尋優的技術方案研究
人工智能
一種基于互連測試的綜合優化算法?
面向WSN的聚類頭選舉與維護協議的研究綜述
改進K均值聚類算法
基于小波神經網絡的網絡流量預測研究
寬帶光譜成像系統最優訓練樣本選擇方法研究
基于Spark平臺的K-means聚類算法改進及并行化實現
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合