文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.190030
中文引用格式: 王莉,,郭曉東,,惠延波. 基于改進BP神經(jīng)網(wǎng)絡(luò)的心電信號分類方法[J].電子技術(shù)應(yīng)用,2019,,45(6):108-112.
英文引用格式: Wang Li,,Guo Xiaodong,Hui Yanbo. ECG signal classification method based on improved BP neural network[J]. Application of Electronic Technique,2019,,45(6):108-112.
0 引言
心電圖是心臟電活動在人體體表的反映,,是檢測和診斷心臟疾病的重要依據(jù),。早期心臟疾病診斷主要憑借醫(yī)生豐富的經(jīng)驗,長時間診斷中可能存在誤檢或錯檢,。隨著計算機技術(shù)的快速發(fā)展,,實現(xiàn)心電信號自動分析成為研究的熱點[1]。
心電信號分類的本質(zhì)是模式識別,。常用的心電信號分類方法有支持向量機(Support Vector Machines,,SVM)[2-3]、人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Networks,,ANN)[4-5],、線性判別(Linear Discriminant,LD)和采用邏輯回歸的儲層計算(Reservoir Computing with Logistic Regression,,RC)[6],,其中,采用最廣泛的分類方法是人工神經(jīng)網(wǎng)絡(luò),。BP神經(jīng)網(wǎng)絡(luò)是一種按誤差逆?zhèn)鞑ニ惴ㄓ?xùn)練的多層前饋神經(jīng)網(wǎng)絡(luò),,具有自組織、自學(xué)習(xí),、自適應(yīng)的能力,,且原理簡單、易于實現(xiàn),,是目前應(yīng)用最廣泛的神經(jīng)網(wǎng)絡(luò)模型之一,。但是BP神經(jīng)網(wǎng)絡(luò)存在學(xué)習(xí)過程收斂速度慢、學(xué)習(xí)效率低和學(xué)習(xí)過程易陷于局部極小等局限,。針對BP神經(jīng)網(wǎng)絡(luò)的缺陷,,許多學(xué)者提出了優(yōu)化BP網(wǎng)絡(luò)的學(xué)習(xí)算法,常見的有遺傳算法[7-8],、粒子群算法等[9-10],。本文結(jié)合BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)和學(xué)習(xí)規(guī)則,采用附加動量-自適應(yīng)學(xué)習(xí)速率調(diào)整算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò),并將其用于心電信號分類檢測中,。
基于心電信號分類的樣本集主要來源于心電信號的形態(tài)特征和波形特征,。在研究中常用的形態(tài)特征有P波振幅、QRS波振幅,、T波振幅,、PR間期、QRS間期,、ST間期,、RR間期等,這些特征可以通過特征點定位算法獲得,,但是目前只有QRS波定位檢測算法比較成熟,,其他的特征點定位算法的精度和準確度仍有待提高[11]。因此,,采用心電信號形態(tài)特征實現(xiàn)心電信號自動檢測難度較大,。在心電信號分類中,雖然采用波形特征不會丟失重要的特征信息,,但是直接將整個心拍作為特征集,,可能會遭遇“維數(shù)災(zāi)難”問題。所以,,在分類之前需要對心電樣本降維,,常用的降維方法有主成分分析法(Principal Component Analysis,PCA),、拉普拉斯特征映射(Laplacian Eigenmaps,,LE)、小波變換(Wavelet Transform,,WT)等,。本文選擇心電信號的波形特征作為樣本集,并采用PCA對樣本降維處理,。
1 改進的BP神經(jīng)網(wǎng)絡(luò)算法
BP網(wǎng)絡(luò)是一種多層前饋神經(jīng)網(wǎng)絡(luò),,由輸入層、隱含層和輸出層組成,。層與層之間有兩種信號在流通:一種是工作信號,它是施加輸入信號后向前傳播直到在輸出端產(chǎn)生實際輸出的信號,,是輸入和權(quán)值的函數(shù),;另一種是誤差信號,誤差信號是網(wǎng)絡(luò)實際輸出與期望輸出間的差值,,它由輸出端開始逐層向后傳播,。圖1是一個典型的3層BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)圖,其中xj表示輸入層第j個節(jié)點的輸入,j=1,,…,,M;wi,,j表示隱含層第i個節(jié)點到輸入層第j個節(jié)點之間的權(quán)值,;θi表示隱含層第i個節(jié)點的閾值;φ表示隱含層的激勵函數(shù),;wk,,i表示輸出層第k個節(jié)點到隱含層第i個節(jié)點之間的權(quán)值,i=1,,…,,q;ak表示輸出層第k個節(jié)點的閾值,,k=1,,…,L,;Ψ表示輸出層的激勵函數(shù),;Ok表示輸出層第k個節(jié)點的輸出。
BP算法簡單,、易行,、計算量小、并行性強,,是神經(jīng)網(wǎng)絡(luò)訓(xùn)練采用最多也是最成熟的算法之一,。由于BP算法采用最速下降反向傳播算法,按誤差函數(shù)的負梯度方向修改權(quán)值,,因而通常存在兩方面缺點:(1)學(xué)習(xí)效率低,,收斂速度慢;(2)易陷入局部極小狀態(tài),。
針對BP算法的局限性,,本文采用附加動量-自適應(yīng)學(xué)習(xí)速率法改進。附加動量法是在反向傳播法的基礎(chǔ)上在每一個權(quán)值的變化上加上一項正比于前次權(quán)值(或閾值)變化量的值,,并根據(jù)反向傳播法來產(chǎn)生新的權(quán)值(或閾值)變化,。帶有附加動量因子的權(quán)值和閾值調(diào)節(jié)公式為:
其中,k為訓(xùn)練次數(shù),;mc為動量因子,,一般取0.95左右。
在進行附加動量法的訓(xùn)練過程中,,為防止修正的權(quán)值使得誤差過大或過小,,必須加進條件判斷以正確使用權(quán)值修正公式,。訓(xùn)練程序中采用動量法的判斷條件為:
其中,E(k)為第k步誤差平方和,。
自適應(yīng)學(xué)習(xí)速率通過檢查權(quán)值是否真正降低了誤差函數(shù)作為學(xué)習(xí)速率準則:如果是,,則說明所選的學(xué)習(xí)速率小,可以增加一個量,;若不是,,就應(yīng)該減小學(xué)習(xí)速率的值。在訓(xùn)練過程中采用的自適應(yīng)學(xué)習(xí)速率調(diào)整公式為:
其中,,E(k)為第k步誤差平方和,。
附加動量使BP算法可以找到全局最優(yōu)解,避免陷入局部最小,。采用自適應(yīng)學(xué)習(xí)速率使BP算法可以縮短訓(xùn)練時間,。采用這兩種方法訓(xùn)練神經(jīng)網(wǎng)絡(luò)可以有效改進BP算法的缺陷。
2 實驗數(shù)據(jù)
本研究中用于分析的心電信號均來自于MIT-BIH Arrhythmia Database,,該數(shù)據(jù)庫包含48組心電數(shù)據(jù),,每組記錄約650 000個采樣點,采樣頻率為360 Hz,,時間長度一般為30 min,。每一數(shù)據(jù)樣本包含3個文件:頭文件(.hea)、數(shù)據(jù)文件(.dat)和注釋文件(.atr),,其中注釋文件是心電診斷專家對信號分析的結(jié)果,,包括心跳、節(jié)律和信號質(zhì)量等,。結(jié)合心電專家對心電樣本的標注,,表1統(tǒng)計了48組心電數(shù)據(jù)中心拍類型及數(shù)量。
網(wǎng)絡(luò)的性能與訓(xùn)練用的樣本密切相關(guān),。一般來說,,訓(xùn)練樣本數(shù)越多,訓(xùn)練結(jié)果越能正確反映其內(nèi)在規(guī)律,,但當樣本數(shù)多到一定程度時,,網(wǎng)絡(luò)的精度也很難提高,訓(xùn)練誤差與樣本數(shù)之間的關(guān)系如圖2所示,。同時,,網(wǎng)絡(luò)訓(xùn)練中的樣本的選擇要注意樣本類別的均衡,盡量使每個類別的樣本數(shù)量大致相等,。即使是同一類樣本也要考慮樣本的多樣性與均勻性,。因此,本文在選擇訓(xùn)練樣本時,,主要針對正常心拍(N),、左束支傳導(dǎo)阻滯心拍(L)、右束支傳導(dǎo)阻滯心拍(R)和室性早搏心拍(V)4種心電信號進行分類識別,,4種心拍類型的典型心電圖如圖3所示,。
本研究利用小波多分辨率分析原理,在小波域上對心電信號去除基線漂移干擾,,然后運用極大極小值過零點原理檢測R波峰,,采用平面幾何法定位QS波峰,在零基線附近定位QRS波起止點[12],。在準確定位R波峰的基礎(chǔ)上,,針對每個心拍,取R波前100個采樣點數(shù)據(jù)和R波后150采樣點數(shù)據(jù)組成原始的QRS波群時域集,,即每個樣本數(shù)據(jù)為250維,。250維的樣本含有過多的冗余數(shù)據(jù),如果直接使用該樣本進行網(wǎng)絡(luò)訓(xùn)練,,由于特征數(shù)量多,,計算量大,分類器可能得不到有效的學(xué)習(xí),,更加容易出現(xiàn)過擬合問題,。
PCA是一種簡化數(shù)據(jù)結(jié)構(gòu)和降維處理的方法。這種方法將原始輸入向量變換為各成分之間互不相關(guān)的向量,。此外,,變換后的向量按照方差大小排序:第一主成分的方差最大,第二主成分的方差其次,,以此類推,。通常只需要保留所轉(zhuǎn)換向量的前幾個主成分,它們最大程度地包含了原始向量的方差,。因此,,本文采用主成分分析法選取典型的特征進行降維處理。
在MATLAB平臺下,,通過調(diào)用函數(shù)[coef,,score,latent,,tsquare]=princomp(x)對樣本進行主成分分析,,其中,x是待分析的樣本數(shù)據(jù),,score是分析后的數(shù)據(jù),,且按照主成分貢獻率大小排序;latent是對應(yīng)列向量的貢獻率,;coef是系數(shù)矩陣,,通過系數(shù)矩陣可以知道樣本數(shù)據(jù)x是怎樣轉(zhuǎn)換為score的,;tsquare反映每一個樣本與樣本集中心之間的距離。
圖4為PCA主成分-貢獻率直方圖,,變換后樣本矩陣前10個成分分量累計貢獻率超過了90%,,即可以用前10個主成分分量來近似反映原始樣本的250維數(shù)據(jù)。經(jīng)過實驗驗證,,本文選取前25個主成分數(shù)據(jù)作為神經(jīng)網(wǎng)絡(luò)訓(xùn)練樣本,。
3 實驗仿真分析
在本研究中,分別選取正常,、左束支傳導(dǎo)阻滯,、右束支傳導(dǎo)阻滯和室性早搏各5 000個心拍,共20 000個心拍作為樣本,,每組樣本為25維,。選擇只有一個隱含層的3層BP神經(jīng)網(wǎng)絡(luò),將心電信號提取的25組特征值作為輸入,,因此,,網(wǎng)絡(luò)輸入層有25個神經(jīng)元。隱含層神經(jīng)元數(shù)目的選擇往往需要根據(jù)設(shè)計者的經(jīng)驗和多次實驗來確定,,本研究根據(jù)參考公式n1=+a設(shè)置隱含層為10個神經(jīng)元,,其中m為輸出神經(jīng)元數(shù),n為輸入單元數(shù),,a為[1,,10]之間的常數(shù)。輸出層為4種心電信號類型的分類結(jié)果,,采用“n”中取“1”表示法,,即分別用1000、0100,、0010,、0001表示正常心拍、室性早搏心拍,、右束支傳導(dǎo)阻滯心拍和左束支傳導(dǎo)阻滯心拍,,所以輸出層設(shè)置為4個神經(jīng)元。綜上所述,,BP網(wǎng)絡(luò)的拓撲結(jié)構(gòu)為25-10-4,。
隨機選取10 000組樣本作為訓(xùn)練樣本,另外10 000組樣本作為測試樣本,,應(yīng)用改進神經(jīng)網(wǎng)絡(luò)算法對樣本進行訓(xùn)練,。圖5展示了算法迭代次數(shù)對網(wǎng)絡(luò)均方誤差的影響,從圖5中標出的圓圈可以看出,,迭代次數(shù)為16次時驗證集誤差最小,,最小誤差為0.010 812,。圖6為BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練誤差直方圖,誤差為目標值與輸出值的差值,,由圖6矩形高度可以看出,,分類結(jié)果誤差絕對值在0.069 82和0.043 69時樣本數(shù)最多。
混淆矩陣是刻畫模式識別問題中網(wǎng)絡(luò)輸出和目標輸出的一個重要工具,。圖7是測試集在訓(xùn)練好的網(wǎng)絡(luò)上測試結(jié)果的混淆矩陣?;煜仃?1,,1)單元顯示測試集中的2 452個正常心拍有2 445個被正確分類;(2,,2)單元顯示測試集中的2 506個室性早搏心拍有2 384個被正確分類,;(3,3)單元顯示測試集中的2 562個右束支傳導(dǎo)阻滯心拍有2 547個被正確分類,。同理,,可知2 480個左束支傳導(dǎo)阻滯心拍中有2 464個被正確分類;(3,,2)單元顯示有45個右束支傳導(dǎo)阻滯心拍被誤分類為室性早搏心拍,。整個測試集的分類正確率為98.4%。
本文與文獻[13],、文獻[14],、文獻[15]算法的分類結(jié)果進行了對比,如表2所示(Tar表示驗證網(wǎng)絡(luò)選取的樣本數(shù),,Out表示網(wǎng)絡(luò)正確分類樣本數(shù),,Rec表示各類型心拍分類準確率,Acc表示整個樣本集分類準確率):(1)與正常心拍和右束支傳導(dǎo)阻滯心拍分類效果相比,,室性早搏心拍和左束支傳導(dǎo)阻滯心拍分類效果較差,;(2)表2文獻采用的算法中,訓(xùn)練之前對樣本數(shù)據(jù)進行特征提取的算法分類效果優(yōu)于直接對心電樣本數(shù)據(jù)進行分類處理的算法,;(3)文獻[13]樣本數(shù)據(jù)不均衡,,左束支傳導(dǎo)阻滯心拍識別率低的原因可能是由于隨機選取的訓(xùn)練樣本包含該類型心拍較少;文獻[14]對比了BP神經(jīng)網(wǎng)絡(luò)和PNN神經(jīng)網(wǎng)絡(luò)分類結(jié)果,,但是樣本數(shù)目較少,,要想提高網(wǎng)絡(luò)的識別能力,則需要增加樣本數(shù)目,;文獻[15]對比了SVM和PCA-SVM模式分類方法,,結(jié)論是PCA-SVM模式分類方法的分類準確率比SVM模式分類方法的準確度提高了1.2%,但同樣存在樣本數(shù)較少的問題,;本文樣本數(shù)據(jù)均勻,,對4類心拍進行分類驗證,,整體分類準確率較高。
4 結(jié)論
本文對MIT-BIH Arrhythmia Database數(shù)據(jù)庫48組心電記錄心拍類型進行了統(tǒng)計分析,,選取4種典型心拍類型進行分類處理,;采用附加動量-自適應(yīng)學(xué)習(xí)速率優(yōu)化BP神經(jīng)網(wǎng)絡(luò),通過主成分分析對訓(xùn)練樣本數(shù)據(jù)降維,,選取了25個主成分變量作為每組樣本特征,。仿真分析結(jié)果表明該算法實現(xiàn)了對不同心拍類型的心電信號準確分類,其識別率達到98.4%,。通過對比常用的心電分類算法,,研究結(jié)果表明改進BP算法分類精度更高、收斂速度更快,,對于心電疾病的自動診斷具有較高的應(yīng)用價值,。
參考文獻
[1] 張夢新,廖遠,,劉文涵,,等.基于SOPC的多導(dǎo)聯(lián)ECG實時監(jiān)測系統(tǒng)[J].電子技術(shù)應(yīng)用,2018,,44(8):56-59.
[2] RADOVAN S,,JAKUB H,MARINA R,,et al.SVM based ECG classification using rhythm and morphology features,,cluster analysis and multilevel noise estimation[J].Computing in Cardiology,2017,,44:1-4.
[3] VENKATESAN C,,KARTHIGAIKUMAR P,PAUL A,,et al.ECG signal preprocessing and SVM classifier-based abnor-mality detection in remote healthcare applications[J].IEEE Access,,2018(6):9767-9773.
[4] DEWANGAN N K,SHUKLA S P.ECG arrhythmia classification using discrete wavelet transform and artificial neural network[C].IEEE International Conference on Recent Trends in Electronics.IEEE,,2017.
[5] WEEMS A,,HARDING M,CHOI A.Classification of the ECG signal using artificial neural network[C].Proceedings of the 3rd International Conference on Intelligent Technologies and Engineering Systems(ICITES2014).Springer International Publishing,,2016.
[6] ESCALONA-MOR?魣N M A,,SORIANO M C,F(xiàn)ISCHER I,,et al.Electrocardiogram classification using reservoir computing with logistic regression[J].IEEE Journal of Biomedical and Health Informatics,,2017,19(3):892-898.
[7] 劉浩然,趙翠香,,李軒,,等.一種基于改進遺傳算法的神經(jīng)網(wǎng)絡(luò)優(yōu)化算法研究[J].儀器儀表學(xué)報,2016,,37(7):1573-1580.
[8] 余明,,陳鋒,張廣,,等.應(yīng)用遺傳算法優(yōu)化神經(jīng)網(wǎng)絡(luò)的致死性心電節(jié)律辨識算法研究[J].生物醫(yī)學(xué)工程學(xué)雜志,,2017,34(3):421-430.
[9] 張捍東,,陶劉送.粒子群優(yōu)化BP算法在液壓系統(tǒng)故障診斷中應(yīng)用[J].系統(tǒng)仿真學(xué)報,,2016,28(5):1186-1190.
[10] 楊向萍,,吳玉丹.基于PSO-BP神經(jīng)網(wǎng)絡(luò)的人體穴位定位系統(tǒng)設(shè)計[J].電子技術(shù)應(yīng)用,2018,,44(9):75-78.
[11] 葉繼倫,,孫紀光,吳躍勝,,等.一種新型,、快速心電P波檢測算法[J].中國醫(yī)療器械雜志,2017,,41(1):13-16.
[12] 王莉,,郭曉東,惠延波,,等.基于小波變換的QRS波特征提取算法研究與實現(xiàn)[J].自動化與儀表,,2018,33(9):6-9,,14.
[13] 王潤,,賀兵兵.基于神經(jīng)網(wǎng)絡(luò)的心電信號分類識別[J].現(xiàn)代計算機(專業(yè)版),2017(23):37-40.
[14] 張涇周,,李陳,,李婷,等.基于神經(jīng)網(wǎng)絡(luò)的心電信號分類方法研究[J].中國醫(yī)療器械雜志,,2008(3):183-185,,214.
[15] 卞水榮,顧媛媛,,趙強.PCA-SVM模式分類方法在心電信號分析中的應(yīng)用[J].電子設(shè)計工程,,2018,26(20):37-41.
作者信息:
王 莉,郭曉東,,惠延波
(河南工業(yè)大學(xué) 電氣工程學(xué)院,,河南 鄭州450001)