程遙 萬(wàn)遂人
(東南大學(xué)生物醫(yī)學(xué)工程學(xué)院,江蘇南京 210000)
基于BP神經(jīng)網(wǎng)絡(luò)的高血壓診療預(yù)測(cè)分析
程遙 萬(wàn)遂人
(東南大學(xué)生物醫(yī)學(xué)工程學(xué)院,江蘇南京 210000)
本文對(duì)72例高血壓臨床數(shù)據(jù)展開研究,通過BP神經(jīng)網(wǎng)絡(luò)結(jié)合臨床數(shù)據(jù)中包含的中醫(yī)西醫(yī)的檢查結(jié)果,對(duì)高血壓病診斷結(jié)果的等級(jí)分層和用藥情況進(jìn)行預(yù)測(cè)分析,通過對(duì)10例預(yù)測(cè)樣本分析,達(dá)到了88%的準(zhǔn)確度,并對(duì)不同的BP神經(jīng)網(wǎng)絡(luò)函數(shù)進(jìn)行比較,找到效果更優(yōu)的函數(shù)設(shè)置。
BP人工神經(jīng)網(wǎng)絡(luò) 高血壓 診斷 預(yù)測(cè)
BP人工神經(jīng)網(wǎng)絡(luò)也叫反向傳播算法(Back-Propagation)是一種監(jiān)督式的學(xué)習(xí)方法,其主要思想為輸入向量,已知與其對(duì)應(yīng)的輸出樣本為,學(xué)習(xí)的目的是用網(wǎng)絡(luò)的實(shí)際輸出和實(shí)際值之間的誤差來(lái)修改權(quán)值,使得它們之間的誤差平方和達(dá)到最小,盡可能的接近[1]。
2.1 數(shù)據(jù)預(yù)處理
數(shù)據(jù)處理是建模過程的重要的步驟,數(shù)據(jù)處理的主要目標(biāo)是針對(duì)數(shù)據(jù)源中數(shù)據(jù)的不規(guī)范性、二義性、重復(fù)性和不完整性等問題進(jìn)行修正[2]。本文所采用的高血壓臨床數(shù)據(jù)樣本主要存在數(shù)據(jù)缺失和錯(cuò)誤的問題,對(duì)出現(xiàn)缺失和錯(cuò)誤的樣本采取刪除處理,92例數(shù)據(jù)中共處理20例數(shù)據(jù)。
2.2 數(shù)據(jù)選擇和轉(zhuǎn)換
原始數(shù)據(jù)庫(kù)包含200多個(gè)數(shù)據(jù)項(xiàng),但我們并不需要使用所有的數(shù)據(jù)項(xiàng),并不是所有的數(shù)據(jù)都直接影響我們的輸出結(jié)果,我們需要能夠直接影響輸出結(jié)果的數(shù)據(jù)項(xiàng)。最終確定了年齡、性別、飲酒、食鹽量、既往病史、頭暈、胸痛、血糖、血壓、尿酸、高血壓分級(jí)、危險(xiǎn)分層、用藥種類等37個(gè)項(xiàng)目作為建模分析所需的數(shù)據(jù)項(xiàng)。其中32個(gè)為BP人工神經(jīng)網(wǎng)絡(luò)的輸入數(shù)據(jù)項(xiàng),5個(gè)為輸出數(shù)據(jù)項(xiàng),輸入數(shù)據(jù)項(xiàng)包含基本信息、中醫(yī)望聞問切檢查項(xiàng)、西醫(yī)實(shí)驗(yàn)室指標(biāo)和生活習(xí)慣等數(shù)據(jù)項(xiàng),輸出項(xiàng)為高血壓分級(jí)和高血壓危險(xiǎn)等級(jí)分層以及藥品種類。
數(shù)據(jù)轉(zhuǎn)換工作是對(duì)原始數(shù)據(jù)進(jìn)行二次處理的過程,把原始分布的數(shù)據(jù)進(jìn)行分層、編號(hào)、轉(zhuǎn)換處理。數(shù)據(jù)轉(zhuǎn)換的工作有兩個(gè)目的,首先轉(zhuǎn)換數(shù)據(jù)使得數(shù)據(jù)特性更加適合建模,其次在一定程度上可以優(yōu)化模型,使結(jié)果更加準(zhǔn)確和穩(wěn)定。例如:對(duì)年齡進(jìn)行分層并進(jìn)行編號(hào),對(duì)身高體重參數(shù)采用BMI體重指數(shù)代替并進(jìn)行分層編號(hào)處理等。本文對(duì)37個(gè)數(shù)據(jù)項(xiàng)中的13個(gè)進(jìn)行了轉(zhuǎn)換處理,包括年齡、身高體重、實(shí)驗(yàn)室檢查指標(biāo)以及用藥種類。
2.3 模型建立
本文的數(shù)據(jù)樣本經(jīng)過處理之后一共有72組數(shù)據(jù),其中62組作為訓(xùn)練數(shù)據(jù),10組作為預(yù)測(cè)數(shù)據(jù)。每一組數(shù)據(jù)都有32個(gè)BP人工神經(jīng)網(wǎng)絡(luò)輸入數(shù)據(jù)項(xiàng),5個(gè)輸出數(shù)據(jù)項(xiàng)。相對(duì)應(yīng)的BP神經(jīng)網(wǎng)絡(luò)的輸入層有32個(gè)節(jié)點(diǎn),輸出層有5個(gè)節(jié)點(diǎn)。實(shí)驗(yàn)中采用MATLAB平臺(tái)建立模型, MATLAB提供了神經(jīng)網(wǎng)絡(luò)的基本函數(shù),可直接利用函數(shù)進(jìn)行建模。實(shí)驗(yàn)通過newff函數(shù)可以對(duì)網(wǎng)絡(luò)進(jìn)行創(chuàng)建,在newff中需要對(duì)四類參數(shù)進(jìn)行設(shè)定,分別是:輸入數(shù)據(jù)的最大最小值,層節(jié)點(diǎn)數(shù),轉(zhuǎn)移函數(shù)和BP人工神經(jīng)網(wǎng)絡(luò)訓(xùn)練函數(shù)。網(wǎng)絡(luò)創(chuàng)建之后,要通過TRAIN函數(shù)對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,本文采用62訓(xùn)練樣本,訓(xùn)練次數(shù)設(shè)定為20000,訓(xùn)練步長(zhǎng)為0.05,全局最小誤差為0.0001。
圖1 第1、2、3輸出項(xiàng)誤差分析圖
圖2 第4、5輸出項(xiàng)誤差分析圖
我們通過對(duì)10組數(shù)據(jù)進(jìn)行預(yù)測(cè),每一組數(shù)據(jù)有5個(gè)輸出項(xiàng),分別為高血壓診斷分類(3項(xiàng)),用藥種類(2項(xiàng))。在給出結(jié)果之前,本文創(chuàng)新的針對(duì)newff函數(shù)的參數(shù)進(jìn)行了比對(duì)分析,發(fā)現(xiàn)訓(xùn)練函數(shù)為trainscg,轉(zhuǎn)移函數(shù)為(tansig,tansig,purelin)的設(shè)置效果更優(yōu)。圖1和圖2為輸出誤差分析圖,分別對(duì)應(yīng)5個(gè)輸出項(xiàng),圖中0刻度代表0誤差,越接近0刻度說明預(yù)測(cè)結(jié)果越準(zhǔn)確。
從圖1和圖2中我們可以發(fā)現(xiàn),相比于其他函數(shù)組合的網(wǎng)絡(luò)模型誤差分析,此模型的誤差輸出總體上更優(yōu),統(tǒng)計(jì)得出預(yù)測(cè)結(jié)果達(dá)到88%的準(zhǔn)確度,全局最小誤差為0.0001的情況下,網(wǎng)絡(luò)用時(shí)19秒。
本文的研究對(duì)人工神經(jīng)網(wǎng)絡(luò)在高血壓診療方面的成功應(yīng)用提供了有力的支持。對(duì)于醫(yī)學(xué)數(shù)據(jù)來(lái)說,通過數(shù)據(jù)形式的轉(zhuǎn)換,把原始的指標(biāo)值通過歸一化、分類編號(hào)等處理所建立的網(wǎng)絡(luò)模型性能更好。對(duì)于BP人工神經(jīng)網(wǎng)絡(luò)中不同的訓(xùn)練函數(shù)設(shè)定會(huì)對(duì)網(wǎng)絡(luò)模型的性能產(chǎn)生影響,通過實(shí)驗(yàn)發(fā)現(xiàn)共軛梯度trainscg訓(xùn)練函數(shù)在網(wǎng)絡(luò)預(yù)測(cè)表現(xiàn)更好。對(duì)于BP人工神經(jīng)網(wǎng)絡(luò)中不同的轉(zhuǎn)移函數(shù)設(shè)定會(huì)對(duì)網(wǎng)絡(luò)模型的性能產(chǎn)生影響,通過實(shí)驗(yàn)發(fā)現(xiàn)(tansig,tansig,purelin)的函數(shù)組合在網(wǎng)絡(luò)模型預(yù)測(cè)中表現(xiàn)更好。
[1]醫(yī)學(xué)數(shù)據(jù)挖掘[M].高等教育出版社,2006.
[2]蘇新寧.數(shù)據(jù)倉(cāng)庫(kù)和數(shù)據(jù)挖掘[M].清華大學(xué)出版社,2006.
Hypertension is a very common disease, but reasons that cause the disease is complicated, this paper focus on classification and prediction of the hypertension. We also do the compare between different function sets to find a much better way.
BP Artificial neural network Hypertension Diagnose Predict