国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于CNN 和SVM 混合模型的心電信號識別方法

2020-05-21 00:18:22郭秀梅
關(guān)鍵詞:分類器心電圖準確率

孫 波,楊 磊*,郭秀梅,陳 冉,張 童,賈 昊

1.山東農(nóng)業(yè)大學(xué) 信息科學(xué)與工程學(xué)院,山東 泰安 271019

2.山東第一醫(yī)科大學(xué)第二附屬醫(yī)院,山東 泰安 271000

心電信號(Electrocardiogram,ECG)可用于對各種心律失常、心室心房肥大、心肌梗死、心肌缺血等病癥的檢查[1]。傳統(tǒng)診斷過程中,醫(yī)生通過心電圖的觀察和經(jīng)驗來進行心血管疾病的判斷,而人工診斷往往無法實時監(jiān)測異常心電波形,并且在判讀過程中診斷誤差難以避免[2]。因此,研究利用計算機系統(tǒng)自動識別ECG 信號并進行分類成為近年來研究的熱點。

2006 年,周珂等提出了一種基于支持向量機(Support Vector Machines,SVM)的心電圖分類診斷方法,構(gòu)造了基于SVM 的心電圖分類器[3]。杜智慧等提出了一種基于神經(jīng)網(wǎng)絡(luò)的心電圖分類方法,通過利用前向多層神經(jīng)網(wǎng)絡(luò)的反向傳播算法(Back Propagation)對心電圖進行三分類,取得了較好的結(jié)果[4]。übeyli ED 結(jié)合特征向量法和支持向量機分析病人的心電圖變化,通過特征向量法進行特征提取并通過SVM 進行分類訓(xùn)練[5]。Moavenian M 等提出了一種利用核-Adatron(KA)學(xué)習(xí)算法來輔助SVM 進行ECG 心律失常分類的方法[6]。但以上所述方法,對于信號的特征提取能力較弱,不能夠有效的提取數(shù)據(jù)的特征信息,導(dǎo)致信號的分類準確率不高。近年來,隨著卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)的迅速發(fā)展,尤其在特征檢測方面的優(yōu)勢,使得在解決文本數(shù)據(jù)處理、圖像目標識別、語音識別等很多問題上應(yīng)用較為廣泛,目前也應(yīng)用到ECG 檢測領(lǐng)域。Zubair M 等通過使用卷積神經(jīng)網(wǎng)絡(luò)對ECG 數(shù)據(jù)進行特征提取,從而實現(xiàn)ECG 信號的分類[7]。Xuefan Z 等提出了一種結(jié)合遷移學(xué)習(xí)與二維深度卷積神經(jīng)網(wǎng)絡(luò)識別心電圖像的方法[8]。雖然卷積神經(jīng)網(wǎng)絡(luò)在特征提取方面較為有效,但是卷積神經(jīng)網(wǎng)絡(luò)的各種性能受限于訓(xùn)練樣本的數(shù)目,需要大量的訓(xùn)練數(shù)據(jù)才能獲得令人滿意的表現(xiàn)。在小樣本數(shù)據(jù)的情況下,容易產(chǎn)生過擬合與識別準確率低的情況[9]。并且由于卷積神經(jīng)網(wǎng)絡(luò)的全連接模式過于冗余而低效,在數(shù)據(jù)不平衡的情況下,會使得準確率下降[10]。為了克服以上深度學(xué)習(xí)方法在小數(shù)據(jù)下容易產(chǎn)生過擬合,分類準確率低的缺點,本文提出了一種基于CNN+SVM 混合模型進行ECG 信號的識別判斷方法。首先建立完整的卷積神經(jīng)網(wǎng)絡(luò)(CNN),進行心電信號特征提取。將全連接層提取出來的全連接層特征向量作為SVM 分類器的輸入特征向量,再通過SVM 分類器進行分類。這種方法能夠自動提取數(shù)據(jù)的特征,充分利用卷積神經(jīng)網(wǎng)絡(luò)在數(shù)據(jù)特征提取方面的優(yōu)勢,并且SVM 分類器分類效果穩(wěn)定,在小數(shù)據(jù)上具有較好的泛化能力。為了驗證所提算法的有效性,使用心電信號公開數(shù)據(jù)庫MIT-BIH 中的Arrhythmia Database[11]進行驗證,結(jié)果表明,結(jié)合CNN 和SVM 兩者的優(yōu)點,分類性能尤其在小數(shù)據(jù)集的準確率方面得到較大提升。

1 CNN-SVM 模型

通過將CNN 與SVM 組合起來,構(gòu)建了一個新的混合模型,混合模型中將完整CNN 模型中的一個全連接層替換為SVM 分類器,將全連接層輸出轉(zhuǎn)化的特征向量作為SVM 的輸入向量,來實現(xiàn)對ECG 信號的分類。

1.1 SVM 分類器模型

支持向量機(Support Vector Machines,SVM)是定義在空間上的使不同類別間隔最大化的分類器[12]。在SVM 中,將距離超平面最近的點定義為支持向量,希望找到支持向量,確保它們離分隔超平面的距離盡可能的遠。通過最大化支持向量到分隔超平面的距離來訓(xùn)練SVM,并通過使用不同的核函數(shù)來進行分類。

本文SVM 模型選用線性核函數(shù):k(x,y)=xy(1)

給定訓(xùn)練向量xi∈RP,i=1,…,n,分為兩類,樣本標記y∈{1,-1}n。SVM 通過尋找一個最大的邊界分割超平面實現(xiàn)對樣本集合的線性分類,上述問題可以表示為一個最優(yōu)化問題。

公式(2)中,w是m維向量,b是一個標量,稱為偏移量。公式(3)中ξi是松弛變量,C是權(quán)衡邊界最大化和分類誤差最小的懲罰因子。在這里訓(xùn)練向量xi通過函數(shù)φ(xi)隱式映射到更高的維度上。

通過求解上述最優(yōu)化問題,分類器的決策函數(shù)被定義為:

式中ɑi是拉格朗日乘積因子,K(xi,xj)是核函數(shù)。

SVM 本身是一個二值分類器,SVM 最初被設(shè)計時就是為了解決二值分類問題,當處理多分類問題時,就需要構(gòu)造合適的多類分類器。目前,構(gòu)造SVM 多類分類器的方法主要有兩種,一是直接進行目標函數(shù)的修改,將多個分類面的參數(shù)求解合并到一個最優(yōu)化問題中,通過求解該最優(yōu)化問題實現(xiàn)多分類;二是間接法,該方法中的多分類器包含多個二分類器,常見的方法有one-against-one和one-against-all 兩種。本文用到的是one-against-one 方法。

One-against-one 是在任意兩類樣本之間設(shè)計一個SVM。本文使用的ECG 信號可以分為N(正常搏動)、L(左束支傳導(dǎo)阻滯)、R(右束支傳導(dǎo)阻滯)和A(異常房性早搏),因此,ECG 信號分類是一個4 分類問題。在模型訓(xùn)練時四種心電信號兩兩組合,即N-L、N-R、N-A、L-R、L-A 和R-A,就需要設(shè)計4*(4-1)/2=6 個SVM 分類器。每個組合所對應(yīng)的向量作為訓(xùn)練集,得到6 個訓(xùn)練結(jié)果;在模型測試時,把對應(yīng)的向量分別對6 個結(jié)果進行測試,然后采取投票形式,當對其中一個未知樣本進行分類時,最后得票最多的類別即為該未知樣本的類型。投票結(jié)果為:N=A=R=L=0;(N,A)-classifier 如果是N win,則N=N+1;otherwise,A=A+1;(N,R)-classifier;如果是N win,則N=N+1;otherwise,R=R+1;(R,L)-classifier;如果是N win,則R=R+1;otherwise,L=L+1;最終的結(jié)果是N、L、R、A 這4 個數(shù)值中最大的。

1.2 CNN 模型

CNN 是一種有監(jiān)督學(xué)習(xí)特性的多層神經(jīng)網(wǎng)絡(luò),主要由卷積層、池化層和全連接層組成,通過權(quán)重關(guān)聯(lián)各層之間的神經(jīng)元。卷積神經(jīng)網(wǎng)絡(luò)通過網(wǎng)絡(luò)中的卷積層、池化層和一系列非線性計算從原始數(shù)據(jù)中提取數(shù)據(jù)局部特征信息[13],提取的特征通過全連接層輸入到分類器。本文構(gòu)建的CNN 網(wǎng)絡(luò)結(jié)構(gòu)如圖1 所示,該網(wǎng)絡(luò)包括輸入層、2 個卷積層、2 個池化層、2 個全連接層和輸出層,輸入層的維度大小為16×16,2 個卷積層的維度分別為16×16、8×8,分別用于計算ECG 信號的特征。通過卷積獲得了數(shù)據(jù)的特征之后可以直接根據(jù)這些特征訓(xùn)練分類器,但是這樣計算量很大而且容易產(chǎn)生過擬合,因此在卷積層后面需要加入池化層來減少計算量,并且同時提高對特征提取的抗干擾能力。因此特征圖上的每個神經(jīng)元與不同數(shù)目的前一層神經(jīng)元相連接,他們由不同大小的卷積核定義。在兩個卷積層與池化層中,卷積層與池化層的核大小分別為5×5、2×2,步長分別為2、1。每次特征圖變化其尺寸大小由S 縮減為

1.3 CNN+SVM 混合模型

本文中所構(gòu)建的CNN+SVM 混合模型使用SVM 代替CNN 網(wǎng)絡(luò)的全連接層,即CNN 提取特征后利用SVM 進行分類?;旌夏P腿鐖D2 所示。

在CNN+SVM 混合模型中,首先需要建立完整的CNN 模型。在建立CNN 模型時,首先對Dropout層進行設(shè)置。Dropout 層[14,15]的作用是在訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型時,在樣本數(shù)據(jù)較少情況下,可以提高模型的泛化能力,防止出現(xiàn)過擬合。然后通過反向傳播算法來進行CNN 模型的訓(xùn)練[16]。最終通過Adam優(yōu)化算法來進行目標函數(shù)的優(yōu)化,使得模型的性能進一步提高。將CNN 模型訓(xùn)練完成后,將全連接層提取出來的特征給SVM 分類器用來進行數(shù)據(jù)的劃分。在SVM 分類器中,用到了線性核函數(shù),線性核函數(shù)能夠進一步提高模型的泛化能力,使得模型的性能進一步提高。

本文設(shè)計的CNN+SVM 模型結(jié)構(gòu)參數(shù)與神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)如圖2 所示。

表1 CNN+SVM 模型結(jié)構(gòu)參數(shù)與神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)Table 1 Structural parameters of CNN+SVM model and the structure of neural network model

傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)(CNN)能夠有效的提取數(shù)據(jù)的局部特征,但是在小數(shù)據(jù)集上容易產(chǎn)生過擬合的問題,并且造成對驗證數(shù)據(jù)集的分類準確率低,也就是泛化能力不佳。支持向量機(support vector machines,SVM)是定義在空間上的使不同類別間隔最大化的分類器,支持向量機就是要使超平面和支持向量之間的間隔盡可能的大,這樣超平面才可以將兩類樣本準確的分開,而保證間隔盡可能的大就是保證我們的分類器誤差盡可能的小,盡可能的健壯。SVM 本身的優(yōu)化目標是結(jié)構(gòu)化風(fēng)險最小,而不是經(jīng)驗風(fēng)險最小[17],因此,通過margin 的概念,得到對數(shù)據(jù)分布的結(jié)構(gòu)化描述,降低了對數(shù)據(jù)規(guī)模和對數(shù)據(jù)的分布的要求。使得SVM 在小樣本數(shù)據(jù)集上能夠得到比其他算法更好的分類效果。并且SVM 基于結(jié)構(gòu)化風(fēng)險最小的設(shè)計特點,避免了過學(xué)習(xí)問題,因此泛化能力強。

2 結(jié)果與分析

2.1 評價指標

為驗證所構(gòu)建模型的有效性,采用MIT-BIH Arrhythmia Database 公開心電數(shù)據(jù)庫,MIT-BIH 心律失常數(shù)據(jù)集包含48 個30 min 長度雙通道(Ⅱ?qū)?lián)和V1 導(dǎo)聯(lián))動態(tài)心電記錄片段。MIT-BIHArrhythmia Database 采樣率為360 Hz、分辨率11 bit、每段數(shù)據(jù)持續(xù)時間為30 min、存儲格式為Format 212。

本文采用的V1 導(dǎo)聯(lián)的數(shù)據(jù),從數(shù)據(jù)庫中提取了共1474560 條記錄。一個完整心拍包括P,QRS和T 波。通過一個完整心拍可以反應(yīng)心律失常,例如:竇房結(jié)因某些病變而停止發(fā)放沖動造成竇性停搏而導(dǎo)致P 波消失。但在ECG 信號中,P 波和T 波幅度小,頻率低,難以與干擾和噪聲分離,所以較QRS 波的檢測更加困難。因此,P 波和T 波的檢測是在QRS 波定位后進行的。在QRS 波起點之前的一段區(qū)域內(nèi)檢測P 波,在QRS 波重點之后的一段區(qū)域內(nèi)檢測T 波。因此通過Java 進行數(shù)據(jù)分割,在R 波峰的位置上,向前100 個點,并向后取155 個點,加上R 波峰,共計256 個點。將數(shù)據(jù)分為4 類,4 種類型的心拍的數(shù)量見表2,可視化結(jié)果見圖3。

實驗平臺硬件配置為Intel i5-7300HQ CPU,顯卡為GTX1050Ti,內(nèi)存是8GB,系統(tǒng)是Windows系統(tǒng),模型基于Python 語言和Tensorflow 框架實現(xiàn)。

表2 四種類型心拍的數(shù)量Table 2 The number of four types of beats

圖3 四種類型心電圖可視化對比Fig.3 Visual comparison of four types of ECG

本文采用準確率、靈敏度、特異性對不同算法進行對比,準確率、靈敏度、特異性進行不同模型的分類結(jié)果評估并通過混肴矩陣能表示出以上信息?;祀染仃嚨拿恳涣写砹祟A(yù)測類別,每一行代表了數(shù)據(jù)的真實歸屬類別,每一行的數(shù)據(jù)總數(shù)表示該類別的數(shù)據(jù)實例的數(shù)量。每一列中的數(shù)值表示真實數(shù)據(jù)被預(yù)測為該類的數(shù)目。本文為4 分類問題,因此混肴矩陣是4 維矩陣。

其中,nij(i≠j)為類別為i樣本被歸類為類j,nij為類別為i的樣本被正確分類的數(shù)量。Pi為所有樣本被分類為i的數(shù)量,Ci為類別為i的樣本數(shù)目對于類別i的樣本分類。準確率(Acc)為被正確分類的樣本比例或數(shù)量。特異性(Spe)為所有負例中被正確分類的比例,衡量了模型對負例的識別能力。靈敏度(Sen)為分類器預(yù)測為正確的樣本占該類樣本數(shù)量的比例,衡量了模型對正例樣本的識別能力。準確率、敏感度和特異性公式分別為(5)~(7)。

通過表3 三種模型結(jié)果對比可以看出,通過CNN 將模型的特征提取出來,用SVM 做分類的模型的各性能指標優(yōu)于SVM 與CNN。這表明在小數(shù)據(jù)心電圖樣本下CNN+SVM 模型具有較好的泛化能力與較高的識別率。

SVM、CNN、CNN+SVM 三種模型對心電圖的分類結(jié)果如表3 所示。通過表3 可以看出,SVM、CNN 模型與CNN+SVM 相比,對于該四類數(shù)據(jù)三類指標均較低,漏診率比較高。可以認為SVM 與CNN 模型對N、L、R、A 類的識別分類的能力相比于CNN+SVM 較差,這導(dǎo)致在進行心電圖分類的時候會產(chǎn)生誤診。CNN 對數(shù)據(jù)的數(shù)量比較靈敏,在進行分類時要求每類數(shù)據(jù)的數(shù)量平衡。在本文中由于每類數(shù)據(jù)量不平衡,CNN 模型的準確率較低。但通過CNN 與SVM 結(jié)合的模型使得對于該四類數(shù)據(jù)的識別并正確分類能力也得到了明顯提高,CNN+SVM 模型對該四類數(shù)據(jù)的漏診率都較低。通過表3 可知CNN 與SVM 對A 類數(shù)據(jù)識別并正確分類的能力較差,但CNN+SVM 模型對A 類數(shù)據(jù)的識別并正確分類的能力大大提高,使得靈敏度相對于SVM、CNN 模型靈敏度分別上升了17.19%、22.40%,并且模型對正例樣本的識別能力也大大增強。CNN+SVM 模型也使得A 類的特異性相對于SVM、CNN 模型特異性分別上升了3.31%、0.27%,對于負例樣本的識別能力也得到了較大提高。進而使得CNN+SVM 模型N、L 兩類的準確率相對于SVM、CNN 模型準確率分別上升了2.77%、3.56%。并且對于其它三類數(shù)據(jù)也有了不同程度的提升。這表明在樣本分布不均衡的請況下,SVM 對數(shù)據(jù)不敏感,因此對于小數(shù)據(jù)不平衡樣本的心電圖數(shù)據(jù),通過CNN+SVM 來進行數(shù)據(jù)的特征提取和分類效果更好。

從數(shù)據(jù)集中隨機分成訓(xùn)練子集與測試子集,采用5 倍交叉驗證方法對分類器進行訓(xùn)練,對SVM、CNN 和本文提出的CNN+SVM 分類器進行仿真對比。通過5 倍交叉驗證,避免了一次隨機劃分帶來的偶然性。

圖7 三種模型混肴矩陣對比Fig.7 Comparison of mix matrices of three kinds of models

圖4-6 中的靈敏度、特異性為4 類心電信號的平均值,準確率為分類模型所有判斷正確的結(jié)果占總觀測值的比重。圖4-6 對比了CNN+SVM、CNN 和SVM 分類器的靈敏度、特異性和準確性方面的詳細性能,并且分類器的最佳分類分別在3 倍、2 倍和2 倍。最佳分類結(jié)果能證明其優(yōu)越性,在每個分類器在最佳分類情況下CNN+SVM 的靈敏度相對于CNN、SVM 分別提高了1.83%、4.00%,CNN+SVM 的特異性相對于CNN、SVM 分別提高了1.28%、0.59%,進而導(dǎo)致CNN+SVM 的準確率相對于CNN 與SVM 分別提高了1.44%、0.92%。通過圖4-6 也可以發(fā)現(xiàn)CNN+SVM 的各項指標都比較平穩(wěn),這可以認為在不同情況下,CNN+SVM 的穩(wěn)定性更好,這更加適合心電信號分類。

通過圖7 可以看出,在CNN 與SVM 模型中,容易把A 類心電數(shù)據(jù)識別為N 類,并且如果增大A 類數(shù)據(jù)將導(dǎo)致漏診率比較高,最終導(dǎo)致準確率比較低。但CNN+SVM 分類能夠有效地提取A類數(shù)據(jù)的特征,使得混肴的數(shù)目大大減少,提高了A 類數(shù)據(jù)分類的靈敏度,從而使得漏診率得到了降低。并通過圖7 發(fā)現(xiàn)CNN+SVM 對每一類數(shù)據(jù)的漏診率都比較低,因此更加適合心電信號分類。

3 結(jié)論

本文提出了基于CNN+SVM 模型與,給出了數(shù)據(jù)處理的相關(guān)流程,并通過實測數(shù)據(jù)進行了理論驗證,結(jié)果表明:

1)通過在卷積神經(jīng)神經(jīng)網(wǎng)絡(luò)(CNN)中加入Dropout 層能夠有效提高模型的泛化能力,防止出現(xiàn)過擬合。并通過adam 優(yōu)化算法進行目標函數(shù)的優(yōu)化,能夠得到較好的CNN 模型;

2)在小樣本不平衡的心電圖數(shù)據(jù)集分類中,通過CNN 來進行數(shù)據(jù)的特征提取,并用SVM 來做分類的模型,能夠取得較好的泛化能力,進而提高了模型的準確率;

3)在相同數(shù)的對比結(jié)果表明,本文中CNN+SVM 模型的各項誤差較小,說明更適合于小樣本條件下對于心電圖分類,具有較好的普適性;

4)與SVM、CNN 相比CNN+SVM 模型在不同情況下具有更好的穩(wěn)定性,并且對每類數(shù)據(jù)的漏診率都較低。因此更加適合心電數(shù)據(jù)分類。

猜你喜歡
分類器心電圖準確率
動態(tài)心電圖與常規(guī)心電圖診斷冠心病的應(yīng)用
《思考心電圖之176》
乳腺超聲檢查診斷乳腺腫瘤的特異度及準確率分析
健康之家(2021年19期)2021-05-23 11:17:39
不同序列磁共振成像診斷脊柱損傷的臨床準確率比較探討
2015—2017 年寧夏各天氣預(yù)報參考產(chǎn)品質(zhì)量檢驗分析
高速公路車牌識別標識站準確率驗證法
BP-GA光照分類器在車道線識別中的應(yīng)用
電子測試(2018年1期)2018-04-18 11:52:35
加權(quán)空-譜與最近鄰分類器相結(jié)合的高光譜圖像分類
結(jié)合模糊(C+P)均值聚類和SP-V-支持向量機的TSK分類器
入職體檢者心電圖呈ST-T改變的意義
城步| 夏津县| 凉山| 新疆| 建水县| 平安县| 连州市| 抚州市| 湾仔区| 榆林市| 呼伦贝尔市| 舟曲县| 宁海县| 舞钢市| 民乐县| 舟山市| 林芝县| 砚山县| 玉屏| 金堂县| 桃江县| 苍梧县| 屏山县| 内乡县| 微山县| 金堂县| 成武县| 崇义县| 新晃| 石狮市| 崇文区| 安陆市| 黄大仙区| 莎车县| 穆棱市| 南木林县| 昭觉县| 台东市| 大余县| 灵川县| 武穴市|