?

深度稀疏自編碼器在ECG特征提取中的應用

2021-06-11 10:16鄭淋文周金治
計算機工程與應用 2021年11期
關鍵詞:識別率編碼器特征提取

鄭淋文,周金治,黃 靜

1.西南科技大學 信息工程學院,四川 綿陽621000 2.特殊環境機器人技術四川省重點實驗室,四川 綿陽621000

心電信號的智能化分析技術是智慧醫療和遠程醫療的研究熱點[1]。ECG分析通常包括信號采集、信號預處理、特征提取、自動分類。其中特征提取和降維是保障ECG分類準確性和泛化性的重要手段,已成為當下的研究重點。

ECG信號是一種微弱的準周期信號,個體體質差異以及生理和心理條件的變化,都會導致同一種心律類型的ECG信號,在不同個體上的形態特征也不盡相同。為了能更好地提取出ECG的特征,國內外學者開展了很多研究。文獻[2]使用圖形正則化非負矩陣分解(GNMF)構造一個親和圖,對心電信號的幾何信息和標簽信息進行編碼,然后采用稀疏表示提高心電信號的分辨率,從而提取出更具鑒別能力的特征。文獻[3]采用二維主分量判別法(2D-PCA)對12導聯高頻ECG信號進行融合特征提取,將2D-PCA和能量百分比法結合起來融合信息,提取出HF-ECG的全局特征和本征向量,最后用基于均方差屬性加權的改進遺傳模擬退火K-means算法完成心電分類,達到93.61%的準確率。深度學習因為其可自動抽取樣本特征,相比于傳統的人工設計特征方法優勢突出,逐漸活躍于ECG特征提取的研究領域中。文獻[4]以高斯-伯努利受限玻爾茲曼機構建六層深度信念(DBN)網絡抽取10維心電信號的高層抽象特征為數據基礎,采用FCM進行特征分類,總準確率達96.54%。文獻[5]以堆疊式降噪自編碼器(SDAEs)進行ECG降噪、自編碼器(AEs)提取特征與卷積神經網絡(CNN)分類構建八種ECG深度學習模型,其中最優模型的識別率達到了99.34%。文獻[6]采用自適應一維CNN提取信號特征和分類,能大幅提高診斷速度和計算效率,但需要為特定病人訓練單個的CNN,普適性得到限制。

心電信號的特征提取方式沒有統一標準,主要包括波形形態特征、時頻域特征以及高階統計特征等。ECG分類模型分為傳統機器學習和深度學習,其中傳統機器學習依賴于特征工程,心電信號特征選擇缺乏標準化,特征為人工設計,需要領域相關知識,且單一特征不能較為全面地反應ECG信號的全部病理信息,多特征方式能有效提高分類模型的準確率,但是會增加時間復雜度,對心電信號的質量要求較高,低質量的波形信號可能造成源信號特征信息丟失的問題[7]。深度學習模型用于ECG特征提取準確率較高,可解決有效特征難人工提取的問題,但需要大量的訓練有標簽樣本,目前的ECG信號樣本的標注需要專業的心電圖醫生進行,在數據量非常大的情況下,對數據進行標注是一件困難的事情。國內外使用最廣的MIT-BIH數據庫收錄了40種不同類型的心律失常樣本,但僅有少數類型的樣本具有較為豐富的數量,多數樣本數量無法達到機器學習模型訓練的標準。自編碼器以神經科學為支撐點,延續了深度學習的優點,以自監督的方式,從大量無標簽的數據中自動學習到數據的有效特征,更加接近人類大腦思維方式,通過前向預訓練和反向微調使其具有很好的特征自學習能力和泛化能力,具有重建簡單,可多層堆疊的優點,已廣泛應用于模式識別、異常檢測、圖像分類、自然語言處理等領域當中[8]。因此本文提出基于深度稀疏自編碼器的ECG特征提取方法。將ECG數據輸入深度稀疏自編碼器,靈活調整隱含層數和單元,通過逐層訓練提取原始ECG數據的特征表達,得到適合ECG特征提取的DSAEs結構,預訓練和模型微調階段都使用了Adam算法進行參數尋優,最后采用SVM進行ECG特征分類。實驗驗證了該方法自動提取的ECG特征提高了分類模型的性能,且適應性更強,識別率達到98.57%。

1 深度稀疏自編碼器的特征選擇算法

1.1 深度稀疏自編碼器

深度自編碼器(DAEs)是由若干自編碼器(AEs)堆疊形成的淺層自編碼網絡。AEs是深度學習中的一種非常重要的無監督學習方法,通過增加隱含層數量,進行貪婪逐層預訓練,從高維的訓練數據中分層地提取輸入數據的特征,可以學習到更多能夠表示數據隱含特征的抽象知識[8]。

深度稀疏自動編碼器(DSAEs)則是通過添加稀疏約束項來對隱含層進行稀疏性約束,可以改善發現數據隱藏結構的性能,對數據有一個更好的重構結果,同時加快模型收斂[9]。

DSAEs編碼解碼過程可描述為:

其中,f和g分別稱為編碼器和解碼器映射,σ為激勵函數,W∈RD×d為編碼權重矩陣,b∈RD為編碼偏置向量,W′=WT為解碼權重矩陣,b′∈Rd為解碼偏置向量。SAEs的訓練目標是優化參數集θ={ }W,W′,b,b′,使得重構誤差最小。

1.2 基于DSAEs的ECG特征提取

對于輸入ECG數據x={x1,x2,…,xT+D},T代表訓練樣本,D代表測試樣本。標簽向量為Y=[Y1,Y2,…,Yc],c代表ECG標簽數量,Yi取值為1或0,代表是否屬于第i類ECG類型。

選用Sigmoid為激活函數,均方誤差為損失函數,DSAEs的誤差函數表達式如式(3):

等式右邊第二項為正則項因子,用于抑制靜態噪聲對目標和權重向量中不相關成分的影響,避免模型過度擬合,λ表示控制約束項比例的權重衰減參數,L為網絡層數,sl為第l層的單元數量,為l層第i個單元與l+1層第j個單元間的權重值,為稀疏懲罰項,β為懲罰系數,K L為散度,表達式見式(4),ρ為稀疏參數,其值常被設置為接近0,表示第j層隱含層單元的平均激活函數。

DSAEs隱含層的輸出為所提取到的ECG抽象特征,特征向量的表達式為:

1.3 基于DSAEs參數優化的學習算法(DSAEs-Adam)

在DSAEs網絡模型訓練中,常采用隨機梯度下降法(SGD)調整權重矩陣和偏置向量,梯度下降法的數學公式如下[10]:

其中,η為學習率,SGD在自調節編碼器各層權值時,保持單一學習率,在訓練過程中不會改變,且對于不同參數具有相同學習率,使得模型收斂速度慢,收斂精度低,影響最終結果。針對此問題,本文利用適應性矩陣估計(Adam)算法來進行參數的更新優化。Adam算法是一種結合了Adagrad和RMsprop算法的一階優化算法[11],通過計算梯度的一階矩估計和二階矩估計而針對不同的參數設計獨立的自適應性學習率,調參少,計算高效,所需內存少,能減少神經網絡收斂時間,梯度對角縮放具有不變性,適用于高維空間和大數據集。Adam算法的偽代碼如下所示。

算法 適應性矩陣估計算法(Adam)

輸入:學習率η,一階矩的指數衰減率β1,二階矩的指數衰減率β2,數值穩定小常數ε,目標函數L及其參數θ

2 支持向量機深度稀疏自編碼網絡的ECG特征提取分類模型

2.1 支持向量機(SVM)

本文通過構建多個二分類器,將SVM的二分類問題拓展到多分類。采用高斯徑向基核函數作為支持向量機的核函數,通過遺傳算法對支持向量機尋優后的懲罰因子c為2.863 3,核參數g為4.542 3。

2.2 支持向量機深度稀疏自編碼網絡實現步驟

本文提出的基于深度稀疏自編碼的ECG特征提取算法的流程如圖1所示。圖中紅色框的隱含輸出即為提取出的ECG高度抽象特征。

DSAEs的層數和單元數要根據ECG信號采樣數據L,標簽向量Y等來調整。算法實現步驟如下:

輸入:訓練樣本集ds_tr aining=,測試樣本集ds_testing,Adam算法參數

輸出:隱含層表示、參數θ

圖1 本文算法流程圖

步驟1隨機初始化權重矩陣和偏置向量。ECG樣本進行前向傳遞,得到輸出層y。

步驟2最小化公式(3),利用Adam算法更新參數θ。

步驟3根據更新參數計算隱含輸出表示hl。

步驟4將hl作為輸入傳遞給下一層,重復步驟1、2、3,直至貪婪無監督學習完所有隱含層。

步驟5根據式(5)進行有監督學習,獲取訓練的ECG樣本高層抽象特征。

步驟6支持向量機進行分類。

步驟7利用XL,Y,結合反向回饋算法、Adam算法進行微調,實現模型優化。

步驟8采用測試樣本ds_testing進行分類。

3 實驗與結果分析

3.1 實驗數據

實驗數據來源于MIT-BIH心律異常數據庫[12],包含48條時長為30 min的ECG記錄,共計18種專家注釋的心跳類型,109 655個心拍,采樣頻率為360 Hz,其中有25條記錄包含復雜心律失常類型,23條包含常規性心律失常類型,可作為臨床代表性樣本。

本文主要分析以下五種心律類型,包括正常(N)、左/右束支傳導阻滯(L/R)、房性早搏(A)和室性早搏(V)。實驗采用編號為100、105、111、114、116、118、201、203、207、210、213、215、228、232的ECG記錄為訓練集,測試集的ECG記錄編號為103、106、109、205、209、214、223、231,實驗數據集如表1所示。

表1 實驗數據集

數據庫中不同記錄對象具有不同的心跳頻率,DSAEs采用統一長度的ECG信號作為輸入。為了讓輸入的信號包含完整的QRS波群,本文取R波波峰前t1=0.25 s和R波波峰后t2=0.45 s,共計0.7 s片段作為一個完整心拍,如圖2所示。

圖2 心拍切割

3.2 實驗參數與評價指標

本實驗中,實驗仿真在Intel Core i5-3230M,CPU主頻為2.6 GHz,64位Window10操作系統MATLAB2016a下完成。實驗采用“訓練-測試”模式進行ECG信號的識別分類。ECG預處理參考文獻[13]的處理方式。深度稀疏自編碼器的輸入層單元數為252(0.7×360),接收統一長度的ECG連續信號,權重衰減參數λ=0.000 1,稀疏參數ρ=0.05,懲罰稀疏β=3,學習率η=0.001,一階矩指數衰減率β1=0.9,二階矩指數衰減率β2=0.999 9,常數穩定值ε=10-8。

本文采用靈敏度(Se)、陽性預測值(Ppv)、F1值以及總正確率(Acc)四種指標對實驗結果進行評估,計算方法如下:

TPi為正確分到i類心拍個數,TNi表示不為i類的心拍被正確分開個數,FPi為不屬于i類心拍被分到i類心拍的個數,FNi表示i類心拍錯誤分到其他類的個數。

3.3 實驗結果與分析

深度稀疏自編碼器的網絡結構需要逐層確定,本文對深度稀疏自編碼器網絡中隱含層層數、特征維數與五種心律識別效果的關系做了實驗。

圖3為最簡單的三層稀疏自編碼器(輸入輸出層節點數為252),通過增減隱含層節點數,分別進行了14次實驗。

圖3 隱含層1節點數與識別率的關系

從圖3中可以看出,在單層隱含層上,隨著隱含節點數的增加,模型識別率逐漸提高,當隱含節點數在128的時候,識別率達到93.21%,繼續增加隱含節點數,模型識別率波動不大。這是因為當隱含節點數過少時,隱含節點對原始輸入進行壓縮,不利于對原始數據進行特征提取。當隱含節點數較多時,自編碼器可能將輸入復制到輸出或學習到恒等函數,從而無法學習到數據的有效特征,本文通過添加稀疏性限制,使得多數神經元處于抑制狀態,迫使神經元學習到數據真正的特征,因此能在隱含節點數繼續增加時保持較高的識別率??紤]到簡化編碼器網絡結構減輕計算負擔,因此設定隱含層1的節點數為128。

同理,本文對隱含層2、3、4的隱含節點數進行了實驗。圖4為稀疏自編碼器隱含層2的節點數與識別率的關系圖。通過增減隱含節點數目,分別進行了15次實驗。

圖4 隱含層2節點數與識別率的關系

從圖4中可以看出,隨著節點數的增加,模型識別率逐漸提高,在隱含節點為64時,識別率最高為95.39%,隱含節點大于64時,識別率在95%左右波動,因此設定隱含層2的節點數為64。

圖5為隱含層3節點數與識別率的關系。通過增減節點數目,分別進行了14次實驗。

圖5 隱含層3節點數與識別率的關系

從圖5中可以看出,經過疊加三個稀疏自編碼器,模型識別率大大提高。在隱含層3節點數超過28個時,模型的識別率超過98%,在36和44個節點時,識別率最高為98.35%,本文設定隱含層3的節點數為36。

圖6為隱含層4節點數與識別率的關系。在上一個自編碼網絡結構的基礎上,進行了7次實驗。

圖6 隱含層4節點數與識別率的關系

從圖中可以看出,在隱含節4的節點數為24時,模型的識別率最高為98.54%。此時深度稀疏自編碼器的網絡結構為(252-128-64-36-24-36-64-128-252)。

為了驗證本文中采用Adam算法進行參數尋優的有效性,將DSAEs-Adam和DSAEs-SGB,在相同結構和參數下進行訓練和微調。實驗結果見表2。

表2 參數優化算法識別率對比%

表2顯示了兩個模型在不同隱含層單元上的識別率,可以明顯看出,DSAEs-Adam模型的識別率均高于DSAEs-SGB模型,原因在于Adam算法針對不同參數自適應性學習率,提高模型的收斂精度。

圖7 測試數據集上的心律分類結果混淆矩陣

圖7是在測試數據集下,應用上述識別率最高的編碼網絡結構(252-128-64-36-24-36-64-128-252)得到的五種心律失常結果的混淆矩陣,根據式(7)計算出每種類型下的靈敏度、陽性預測值、F1值及總體準確率,如表3所示。

從圖7中可以看出,本文提出的方法在N-V上的混淆值最大(30),可能造成的原因為數據集的極度不平衡,在測試數據集上,室性早搏(V)的數據量為正常心律(N)數據量的7.7%,占總數據量的4.6%。此外由于本文主要集中在單導聯分析上,在某些情況下,不同病癥的單拍特征可能出現相似,由此造成較大的混淆值。

表3 性能指標

表3顯示出DSAEs-Adam能有效識別出五種心律類型,且都有較好的劃分結果,對正常(N)類型的心律靈敏度達到99.24%,總正確率達到98.57%。為了進一步評估所提方法的有效性,本文將DSAEs-Adam與其他特征提取研究結果進行對比,對比結果見表4。

表4 與其他研究結果的對比

表4中,文獻[14]應用經驗模態分解提取出信號的固有模式函數作為特征集,通過多次實驗,應用遺傳算法選出最優特征子集;文獻[15]應用多種特征提取方法,分別提取出波形形態特征、形態學距離以及QRS波群的主成分分量,因此獲取較高的識別率。文獻[16-17]中都應用了小波變換,文獻[17]應用多相表示生成新的小波,并采用粒子群算法選擇最優小波,但由于沒有考慮PSO的早熟問題,且提取出的特征維數較少,導致模型的整體識別率偏低;文獻[16]應用改進小波提取出QRS波群和P/T波的高維特征,并采用人工蜂群算法優化分類器,因此模型的識別率顯著提高。本文堆疊了四個稀疏自編碼器,通過多次實驗,逐層確定隱含節點數,得到適合ECG特征提取的DSAEs結構,利用逐層貪婪訓練,提取出心電信號的特征表達。本文方法與其他特征提取方式相比,識別率都有一定的提高,說明經過深度稀疏自編碼器提取的特征能更好地反映ECG心跳特點。實驗中,訓練數據和測試數據來自不同的數據集,表明本文方法具有較好的適應性。

4 結語

針對ECG智能分析模型中,ECG形態復雜,導致特征提取困難,人工設計特征,識別率不高,缺少標簽數據等問題,本文將深度稀疏自編碼器應用在ECG特征提取上。該方法采用DSAEs對連續心電信號進行貪婪逐層訓練,利用Adam算法對參數進行尋優,找出每一隱含層最佳節點個數,提取出高層隱含層的輸出,作為心電信號的特征向量,然后結合SVM構建心電分類模型。仿真實驗結果表明,本文所提出的方法分類準確率更高,模型適應性更強,在隱含層數為7,特征維度為24時,識別率最高達到98.57%。本文所提出的特征提取和分類方法可以應用到其他類似生物信號處理上,未來工作可深入研究其他深度學習特征提取方法和分類算法相結合在生理信號自動分類中的應用,為可穿戴式多體征生理信號監護系統實現自動監測分析作參考。

猜你喜歡
識別率編碼器特征提取
基于類圖像處理與向量化的大數據腳本攻擊智能檢測
基于真耳分析的助聽器配戴者言語可懂度指數與言語識別率的關系
基于Daubechies(dbN)的飛行器音頻特征提取
基于FPGA的同步機軸角編碼器
提升高速公路MTC二次抓拍車牌識別率方案研究
基于雙增量碼道的絕對式編碼器設計
Bagging RCSP腦電特征提取算法
高速公路機電日常維護中車牌識別率分析系統的應用
JESD204B接口協議中的8B10B編碼器設計
基于MED和循環域解調的多故障特征提取
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合