設計應用

基于改進BP神經網絡的心電信號分類方法

0 引言

    心電圖是心臟電活動在人體體表的反映,是檢測和診斷心臟疾病的重要依據。早期心臟疾病診斷主要憑借醫生豐富的經驗,長時間診斷中可能存在誤檢或錯檢。隨著計算機技術的快速發展,實現心電信號自動分析成為研究的熱點[1]。

    心電信號分類的本質是模式識別。常用的心電信號分類方法有支持向量機(Support Vector Machines,SVM)[2-3]、人工神經網絡(Artificial Neural Networks,ANN)[4-5]、線性判別(Linear Discriminant,LD)和采用邏輯回歸的儲層計算(Reservoir Computing with Logistic Regression,RC)[6],其中,采用最廣泛的分類方法是人工神經網絡。BP神經網絡是一種按誤差逆傳播算法訓練的多層前饋神經網絡,具有自組織、自學習、自適應的能力,且原理簡單、易于實現,是目前應用最廣泛的神經網絡模型之一。但是BP神經網絡存在學習過程收斂速度慢、學習效率低和學習過程易陷于局部極小等局限。針對BP神經網絡的缺陷,許多學者提出了優化BP網絡的學習算法,常見的有遺傳算法[7-8]、粒子群算法等[9-10]。本文結合BP神經網絡的結構和學習規則,采用附加動量-自適應學習速率調整算法優化BP神經網絡,并將其用于心電信號分類檢測中。

    基于心電信號分類的樣本集主要來源于心電信號的形態特征和波形特征。在研究中常用的形態特征有P波振幅、QRS波振幅、T波振幅、PR間期、QRS間期、ST間期、RR間期等,這些特征可以通過特征點定位算法獲得,但是目前只有QRS波定位檢測算法比較成熟,其他的特征點定位算法的精度和準確度仍有待提高[11]。因此,采用心電信號形態特征實現心電信號自動檢測難度較大。在心電信號分類中,雖然采用波形特征不會丟失重要的特征信息,但是直接將整個心拍作為特征集,可能會遭遇“維數災難”問題。所以,在分類之前需要對心電樣本降維,常用的降維方法有主成分分析法(Principal Component Analysis,PCA)、拉普拉斯特征映射(Laplacian Eigenmaps,LE)、小波變換(Wavelet Transform,WT)等。本文選擇心電信號的波形特征作為樣本集,并采用PCA對樣本降維處理。

1 改進的BP神經網絡算法

    BP網絡是一種多層前饋神經網絡,由輸入層、隱含層和輸出層組成。層與層之間有兩種信號在流通:一種是工作信號,它是施加輸入信號后向前傳播直到在輸出端產生實際輸出的信號,是輸入和權值的函數;另一種是誤差信號,誤差信號是網絡實際輸出與期望輸出間的差值,它由輸出端開始逐層向后傳播。圖1是一個典型的3層BP神經網絡的結構圖,其中xj表示輸入層第j個節點的輸入,j=1,…,M;wi,j表示隱含層第i個節點到輸入層第j個節點之間的權值;θi表示隱含層第i個節點的閾值;φ表示隱含層的激勵函數;wk,i表示輸出層第k個節點到隱含層第i個節點之間的權值,i=1,…,q;ak表示輸出層第k個節點的閾值,k=1,…,L;Ψ表示輸出層的激勵函數;Ok表示輸出層第k個節點的輸出。

jsj4-t1.gif

    BP算法簡單、易行、計算量小、并行性強,是神經網絡訓練采用最多也是最成熟的算法之一。由于BP算法采用最速下降反向傳播算法,按誤差函數的負梯度方向修改權值,因而通常存在兩方面缺點:(1)學習效率低,收斂速度慢;(2)易陷入局部極小狀態。

    針對BP算法的局限性,本文采用附加動量-自適應學習速率法改進。附加動量法是在反向傳播法的基礎上在每一個權值的變化上加上一項正比于前次權值(或閾值)變化量的值,并根據反向傳播法來產生新的權值(或閾值)變化。帶有附加動量因子的權值和閾值調節公式為:

     jsj4-gs1-2.gif

其中,k為訓練次數;mc為動量因子,一般取0.95左右。

    在進行附加動量法的訓練過程中,為防止修正的權值使得誤差過大或過小,必須加進條件判斷以正確使用權值修正公式。訓練程序中采用動量法的判斷條件為:

    jsj4-gs3.gif

其中,E(k)為第k步誤差平方和。

    自適應學習速率通過檢查權值是否真正降低了誤差函數作為學習速率準則:如果是,則說明所選的學習速率小,可以增加一個量;若不是,就應該減小學習速率的值。在訓練過程中采用的自適應學習速率調整公式為:

    jsj4-gs4.gif

其中,E(k)為第k步誤差平方和。

    附加動量使BP算法可以找到全局最優解,避免陷入局部最小。采用自適應學習速率使BP算法可以縮短訓練時間。采用這兩種方法訓練神經網絡可以有效改進BP算法的缺陷。

2 實驗數據

    本研究中用于分析的心電信號均來自于MIT-BIH Arrhythmia Database,該數據庫包含48組心電數據,每組記錄約650 000個采樣點,采樣頻率為360 Hz,時間長度一般為30 min。每一數據樣本包含3個文件:頭文件(.hea)、數據文件(.dat)和注釋文件(.atr),其中注釋文件是心電診斷專家對信號分析的結果,包括心跳、節律和信號質量等。結合心電專家對心電樣本的標注,表1統計了48組心電數據中心拍類型及數量。

jsj4-b1.gif

    網絡的性能與訓練用的樣本密切相關。一般來說,訓練樣本數越多,訓練結果越能正確反映其內在規律,但當樣本數多到一定程度時,網絡的精度也很難提高,訓練誤差與樣本數之間的關系如圖2所示。同時,網絡訓練中的樣本的選擇要注意樣本類別的均衡,盡量使每個類別的樣本數量大致相等。即使是同一類樣本也要考慮樣本的多樣性與均勻性。因此,本文在選擇訓練樣本時,主要針對正常心拍(N)、左束支傳導阻滯心拍(L)、右束支傳導阻滯心拍(R)和室性早搏心拍(V)4種心電信號進行分類識別,4種心拍類型的典型心電圖如圖3所示。

jsj4-t2.gif

jsj4-t3.gif

    本研究利用小波多分辨率分析原理,在小波域上對心電信號去除基線漂移干擾,然后運用極大極小值過零點原理檢測R波峰,采用平面幾何法定位QS波峰,在零基線附近定位QRS波起止點[12]。在準確定位R波峰的基礎上,針對每個心拍,取R波前100個采樣點數據和R波后150采樣點數據組成原始的QRS波群時域集,即每個樣本數據為250維。250維的樣本含有過多的冗余數據,如果直接使用該樣本進行網絡訓練,由于特征數量多,計算量大,分類器可能得不到有效的學習,更加容易出現過擬合問題。

    PCA是一種簡化數據結構和降維處理的方法。這種方法將原始輸入向量變換為各成分之間互不相關的向量。此外,變換后的向量按照方差大小排序:第一主成分的方差最大,第二主成分的方差其次,以此類推。通常只需要保留所轉換向量的前幾個主成分,它們最大程度地包含了原始向量的方差。因此,本文采用主成分分析法選取典型的特征進行降維處理。

    在MATLAB平臺下,通過調用函數[coef,score,latent,tsquare]=princomp(x)對樣本進行主成分分析,其中,x是待分析的樣本數據,score是分析后的數據,且按照主成分貢獻率大小排序;latent是對應列向量的貢獻率;coef是系數矩陣,通過系數矩陣可以知道樣本數據x是怎樣轉換為score的;tsquare反映每一個樣本與樣本集中心之間的距離。

    圖4為PCA主成分-貢獻率直方圖,變換后樣本矩陣前10個成分分量累計貢獻率超過了90%,即可以用前10個主成分分量來近似反映原始樣本的250維數據。經過實驗驗證,本文選取前25個主成分數據作為神經網絡訓練樣本。

jsj4-t4.gif

3 實驗仿真分析

    在本研究中,分別選取正常、左束支傳導阻滯、右束支傳導阻滯和室性早搏各5 000個心拍,共20 000個心拍作為樣本,每組樣本為25維。選擇只有一個隱含層的3層BP神經網絡,將心電信號提取的25組特征值作為輸入,因此,網絡輸入層有25個神經元。隱含層神經元數目的選擇往往需要根據設計者的經驗和多次實驗來確定,本研究根據參考公式n1=jsj4-t4-x1.gif+a設置隱含層為10個神經元,其中m為輸出神經元數,n為輸入單元數,a為[1,10]之間的常數。輸出層為4種心電信號類型的分類結果,采用“n”中取“1”表示法,即分別用1000、0100、0010、0001表示正常心拍、室性早搏心拍、右束支傳導阻滯心拍和左束支傳導阻滯心拍,所以輸出層設置為4個神經元。綜上所述,BP網絡的拓撲結構為25-10-4。

    隨機選取10 000組樣本作為訓練樣本,另外10 000組樣本作為測試樣本,應用改進神經網絡算法對樣本進行訓練。圖5展示了算法迭代次數對網絡均方誤差的影響,從圖5中標出的圓圈可以看出,迭代次數為16次時驗證集誤差最小,最小誤差為0.010 812。圖6為BP神經網絡訓練誤差直方圖,誤差為目標值與輸出值的差值,由圖6矩形高度可以看出,分類結果誤差絕對值在0.069 82和0.043 69時樣本數最多。

jsj4-t5.gif

jsj4-t6.gif

    混淆矩陣是刻畫模式識別問題中網絡輸出和目標輸出的一個重要工具。圖7是測試集在訓練好的網絡上測試結果的混淆矩陣?;煜仃?1,1)單元顯示測試集中的2 452個正常心拍有2 445個被正確分類;(2,2)單元顯示測試集中的2 506個室性早搏心拍有2 384個被正確分類;(3,3)單元顯示測試集中的2 562個右束支傳導阻滯心拍有2 547個被正確分類。同理,可知2 480個左束支傳導阻滯心拍中有2 464個被正確分類;(3,2)單元顯示有45個右束支傳導阻滯心拍被誤分類為室性早搏心拍。整個測試集的分類正確率為98.4%。

jsj4-t7.gif

    本文與文獻[13]、文獻[14]、文獻[15]算法的分類結果進行了對比,如表2所示(Tar表示驗證網絡選取的樣本數,Out表示網絡正確分類樣本數,Rec表示各類型心拍分類準確率,Acc表示整個樣本集分類準確率):(1)與正常心拍和右束支傳導阻滯心拍分類效果相比,室性早搏心拍和左束支傳導阻滯心拍分類效果較差;(2)表2文獻采用的算法中,訓練之前對樣本數據進行特征提取的算法分類效果優于直接對心電樣本數據進行分類處理的算法;(3)文獻[13]樣本數據不均衡,左束支傳導阻滯心拍識別率低的原因可能是由于隨機選取的訓練樣本包含該類型心拍較少;文獻[14]對比了BP神經網絡和PNN神經網絡分類結果,但是樣本數目較少,要想提高網絡的識別能力,則需要增加樣本數目;文獻[15]對比了SVM和PCA-SVM模式分類方法,結論是PCA-SVM模式分類方法的分類準確率比SVM模式分類方法的準確度提高了1.2%,但同樣存在樣本數較少的問題;本文樣本數據均勻,對4類心拍進行分類驗證,整體分類準確率較高。

jsj4-b2.gif

4 結論

    本文對MIT-BIH Arrhythmia Database數據庫48組心電記錄心拍類型進行了統計分析,選取4種典型心拍類型進行分類處理;采用附加動量-自適應學習速率優化BP神經網絡,通過主成分分析對訓練樣本數據降維,選取了25個主成分變量作為每組樣本特征。仿真分析結果表明該算法實現了對不同心拍類型的心電信號準確分類,其識別率達到98.4%。通過對比常用的心電分類算法,研究結果表明改進BP算法分類精度更高、收斂速度更快,對于心電疾病的自動診斷具有較高的應用價值。

參考文獻

[1] 張夢新,廖遠,劉文涵,等.基于SOPC的多導聯ECG實時監測系統[J].電子技術應用,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,FISCHER 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].儀器儀表學報,2016,37(7):1573-1580.

[8] 余明,陳鋒,張廣,等.應用遺傳算法優化神經網絡的致死性心電節律辨識算法研究[J].生物醫學工程學雜志,2017,34(3):421-430.

[9] 張捍東,陶劉送.粒子群優化BP算法在液壓系統故障診斷中應用[J].系統仿真學報,2016,28(5):1186-1190.

[10] 楊向萍,吳玉丹.基于PSO-BP神經網絡的人體穴位定位系統設計[J].電子技術應用,2018,44(9):75-78.

[11] 葉繼倫,孫紀光,吳躍勝,等.一種新型、快速心電P波檢測算法[J].中國醫療器械雜志,2017,41(1):13-16.

[12] 王莉,郭曉東,惠延波,等.基于小波變換的QRS波特征提取算法研究與實現[J].自動化與儀表,2018,33(9):6-9,14.

[13] 王潤,賀兵兵.基于神經網絡的心電信號分類識別[J].現代計算機(專業版),2017(23):37-40.

[14] 張涇周,李陳,李婷,等.基于神經網絡的心電信號分類方法研究[J].中國醫療器械雜志,2008(3):183-185,214.

[15] 卞水榮,顧媛媛,趙強.PCA-SVM模式分類方法在心電信號分析中的應用[J].電子設計工程,2018,26(20):37-41.




作者信息:

王  莉,郭曉東,惠延波

(河南工業大學 電氣工程學院,河南 鄭州450001)

心電信號 改進BP神經網絡 主成分分析 智能診斷
湖南快乐十分