李鴻強,魏小清,王有璽,張振,宮正,吳非凡
(1.天津市光電檢測技術與系統重點實驗室,天津300387;2.天津工業大學電子與信息工程學院,天津300387;3.天津工業大學計算機科學與軟件學院,天津300387)
心血管疾病是目前人類疾病中發病率和死亡率最高的疾病之一,已經嚴重威脅了人們的生命健康。心電監護系統能夠直觀的監測心臟的電活動并進行疾病反饋,因而,心電監護系統中心電類型的自動檢測和分類成為了研究的重點。進行心電信號的檢測時極易受到噪聲信號的干擾,因而需要對心電信號進行預處理。Venkatesan[1]等通過自適應濾波器對心電信號進行去噪,Phukpattaranont[2]利用雙頻帶連續小波變換對心電信號進行去噪,Rakshit[3]等利用經驗模式分解和自適應切換均值濾波器對心電信號進行濾波,從而有效地提高輸出心電信號的信噪比。
目前常用的心電信號特征提取方法主要包括非線性變換方法和線性變換方法[4]。Ye[5]等利用小波變換和獨立成分分析提取心電信號RR間期作為特征,并利用支持向量機將16類心電信號分為5大類,分類準確度為86.4%。Kumar[6]等人利用離散小波變換對心電信號進行去噪和提取,采用鄰域粗糙集對5類心電信號分類,準確度為99.32%。Moon[7]等人提出高階統計特征的支持向量機分類模型,利用心電信號的方差、偏度和峰值作為特征,對4類心電信號進行分類,準確度為98.8%。
在心電信號的識別和分類上已經有很多研究成果,但仍然有待提高的地方。在本研究中,先對心電信號進行提升小波變換和改進半軟閾值相結合的預處理,去除心電信號的噪聲。然后利用PCA對信號進行降維處理,再利用核獨立成分分析(kernel independent component analysis,KICA)提取心電信號的非線性特征,利用離散小波變換(discrete wavelet transformation,DWT)提取心電信號的頻域特征,再利用LDA對頻域特征進行降維,將降維后的特征組成多域特征空間。最后采用LIBSVM對多域特征分類,遺傳算法(genetic algorithm,GA)對 LIBSVM 的參數進行尋優。在本研究中,所采用的心電數據均來源于MIT-BIH數據庫,所分類的心電類型為正常心跳(N)、左束支阻滯搏動(LBBB)、右束支阻滯搏動(RBBB)、室性早搏(PVC)和房性早搏(PAC)。
PCA[8]是一種常用的數據分析方法,本研究利用PCA對心電信號進行降維提取其主成分,具體過程為:
(1)設心電樣本為n維向量,總樣本數為m,全部樣本組成樣本矩陣為X=[x1,x2,…,xm],則總樣本平均值為:

由均值求得樣本矩陣的協方差矩陣為:

(2)求解樣本協方差矩陣的特征值λi和特征向量,根據特征值計算協方差矩陣的貢獻率。樣本協方差矩陣C第i列向量的貢獻率和前j列矩陣的累計貢獻率分別是:

(3)將特征向量按對應特征值的大小從上到下按行排列成矩陣,設定降維的維數k,取前k行組成矩陣P。
(4)Y為降維后的數據組,求取公式為:

本研究提取5類心電信號的18個數據編號,每個編號各選取100個樣本,每個樣本取R峰前后共250個數據點。將得到的1 800個樣本平均分為測試集和訓練集,不同類型心電信號樣本的采樣來源及采樣數目見表1。

表1 不同類型的心電信號樣本的采樣來源及采樣數目Table 1 Sampling sources and number of different types′ECG signals
提取的心電數據樣本構成1800×250的初始特征矩陣。采用PCA對特征矩陣進行降維,根據貢獻率依次選取樣本協方差矩陣C前20個最大特征值,見表2,將特征值對應的特征向量對矩陣C進行白化處理,得到的白化矩陣投影到原始心電數據矩陣中,即得到降維后的20維心電數據矩陣。

表2 協方差矩陣C所對應的特征值、貢獻率和累計貢獻率Table 2 Characteristic values,contribution rates and cumulative contribution rates corresponding to the covariance matrix C
心電信號非線性特征的求解過程為:給定已知的x(t)=[x1(t),x2(t),…,xn(t)]T,存在一組m維未知信號s(t)=[s1(t),s2(t),…,sm(t)]T,s(t)經線性混合能夠構成x(t),A是一個n×m維的未知混合矩陣,ICA簡化線性數學模型可以表示為:

A為未知的混合矩陣,W為某種線性變換,以解混矩陣W為基礎,利用已知觀測信號x(t)來求解未知源信號s(t),觀測矩陣x(t)經過W變換求解得到源信號s(t)的估計值y(t)。通過學習使得WA=I,I為單位矩陣,實現y(t)=WAs(t)=s(t),從而恢復源信號。在噪聲不計的情況下,ICA實現的具體原理見圖1,ICA的解混模型為:

通過KICA非線性變換提取得到解混矩陣后,心電信號統計獨立的基信號為Si=Wxi,不同的基信號Si組成特征子空間S,由獨立的基信號通過不同線性組合的心電信號xi為:


圖1 獨立成分分析的原理結構Fig 1 Principle structure of independent component analysis
將通過PCA降維的20個特征值對應的主成分作為KICA算法的輸入矩陣,采用徑向基函數作為KICA核函數,根據Francis經驗和實驗測試令KICA模型的正則化因子Kap=0.02和徑向基函數的核寬度δ=1,KICA算法分離得到20個獨立的基信號,圖2中為正常心電信號的20維非線性特征。

圖2 KICA提取的正常心電信號的20維特征Fig 2 20-Dimensional characteristics of normal ECG signals extracted by KICA
本研究采用DWT提取心電信號的頻域特征[9]。鑒于db2具有良好的平滑效果,因此選用db2小波作為基函數,通過實驗研究進行4尺度的離散小波分解,得到的分解系數即為心電信號的頻域特征,選取4個尺度的細節小波系數cd1-cd4和第4尺度的近似系數 ca4作為心電信號的頻域特征。圖3中為正常信號分解的頻域特征。
利用LDA能夠對心電信號特征空間進行降維,本研究對心電信號頻域特征降維的具體步驟為:

圖3 正常心電信號的頻域特征Fig 3 Frequency domain characteristics of normal ECG signals
(1)令心電信號為X=[x1,x2,…,xn],其中包括共c類的心電類型,mi表示第i類訓練樣本的個數,總訓練樣本為m,則第i類訓練樣本的均值ui和總樣本的均值u分別為:

(2)各類心電信號樣本的類間散度矩陣Sb和樣本類內散度矩陣Sw分別為:

(3)投影的直線為y=wTx,為了使數據能夠更好的分離,需要將樣本數據的類間投影點的距離盡可能增大,使類內投影點的距離盡可能縮小,因此引入Fisher準則函數:

為了滿足類內距離小、類間距離大,則要使J(w)取最大值,即必須滿足Sb w=λSw w,w作為投影方向,即為需要求解的特征向量矩陣。
采用統計學方法計算每類樣本每個小波系數的最大值、最小值、平均值和標準偏差,組成新的心電特征,得到20維的頻域特征向量,則5類心電信號的統計特征見表3。最后利用LDA將20維的頻域特征優化成4維的特征向量。

表3 心電信號的頻域統計特征Table 3 Frequency domain statistical characteristics of ECG signals
遺傳算法能夠在模擬進化過程中尋找全局最優解,本研究采用遺傳算法對支持向量機的參數進行搜索尋優,具體流程見圖4。支持向量機(support vector machine,SVM)是Corinna Cortes和Vapnik等人在1995年提出的一種二分類模型[10]。在實驗中采用林智仁等[11]設計的 LIBSVM作為分類器[12],采用徑向基函數作為支持向量機的核函數,通過遺傳算法對支持向量機尋優后的懲罰因子C為2.61633,核寬度g為4.16832。
實驗從MIT-BIH心電數據庫采集的心電信號共1 800組,將采集到的心電信號樣本平均分為900組訓練集和測試集,將多域特征采用LIBSVM進行訓練和測試,測試分類結果見圖5。

圖4 遺傳算法參數尋優的流程圖Fig 4 Flow chart of genetic algorithm parameter optimization

圖5 LIBSVM 的分類結果圖Fig 5 Classification results of LIBSVM
圖5中,○代表了實際測試集分類,*代表了預測測試集分類,具體分類結果見表4。橫坐標表示測試集的樣本,縱坐標表示了分類器的分類結果,由下到上依次為:N、LBBB、RBBB、PVC和 PAC。

表4 LIBSVM 的分類結果統計Table 4 Statistics of classification results of LIBSVM
對測試集中的900組樣本進行分類測試,根據ECAR87的標準評估分類器的測試結果,利用真陽性TP、假陰性FN、真陰性TN和假陽性FP的統計結果計算分類器的性能指標,見表5。

表5 心律失常的四類分類結果統計及性能指標Table 5 Statistics and performance indicators of four classification results of arrhythmia
本研究的分類結果與其他文獻分類結果的比較見表6。在表中,各文獻所使用的分類器均為支持向量機,所分類的心電類型有所差異,但本研究所使用的分類算法的準確度均高于其他文獻所使用的分類器,說明本研究提出的方法具有更高的分類準確度。

表6 LIBSVM 分類準確度比較Table 6 Comparison of LIBSVM classification accuracy
本研究提出基于PCA和LDA降維的心電信號特征提取和分類診斷的方法,以降低特征空間計算的維數,提高心電診斷的分類效率。所采用的PCA對去噪后的心電信號進行降維,LDA對所提取的頻域特征進行降維,共同組成降維后的多域特征空間。最后利用經過遺傳算法優化后的LIBSVM分類器,實現了對5類心電信號的分類,分類準確率達99.11%,優于現有研究的分類結果。實驗結果表明,本研究提出的算法能夠為心電監護系統自動監測和分類心電信號提供技術支持,為將來實現可穿戴心電監護系統提供理論基礎和技術保障。