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