0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于殘差神經(jīng)網(wǎng)絡(luò)的心臟病預(yù)測系統(tǒng)的設(shè)計與實現(xiàn)

現(xiàn)代電子技術(shù) ? 來源:鄭州輕工業(yè)大學(xué) 計算機(jī)與 ? 作者:蔡增玉 ,崔夢夢 ? 2022-10-12 16:04 ? 次閱讀

作者:蔡增玉 ,崔夢夢 ,侯佳林 ,張建偉

引 言

心臟病已經(jīng)成為威脅人類生命的一項重大疾病,目前中國的心血管疾病預(yù)防工作雖然取得了初步成效,但是仍舊面臨嚴(yán)峻的挑戰(zhàn),中國心血管疾病的患病率及死亡率仍處于上升階段。防治心血管病的態(tài)勢已經(jīng)刻不容緩,每10例死亡患者中,就有 4例是心血管疾病患者,心臟病的致死率占心血管疾病的50%以上。

目前我國有多種方式檢測患者是否患有心臟病,如動態(tài)心電圖、CTA、ECG、UCG等?;颊呤紫刃枰メt(yī)院做心電圖檢查,經(jīng)驗豐富的醫(yī)師通過查看患者的心電圖是否有心房顫動、房性前收縮、房室和束支傳導(dǎo)阻滯等癥狀,以此對患者是否患有心臟病做出診斷。傳統(tǒng)的心臟病診斷方式會因各種主觀因素對結(jié)果造成影響,許多學(xué)者對此進(jìn)行了深入的研究,并將機(jī)器學(xué)習(xí)的方法引入到心臟病預(yù)測中,提出了各種基于機(jī)器學(xué)習(xí)的心臟病預(yù)測方法[1?10]。比較典型的方法有用支持向量機(jī)和人工神經(jīng)網(wǎng)絡(luò)兩種不同的模型對數(shù)據(jù)進(jìn)行建模[11];使用基于聚類和 XGboost算法進(jìn)行建模[12]。其中,文獻(xiàn)[11]中設(shè)計的模型具有較高的查重率,但訓(xùn)練過程中容易產(chǎn)生過擬合問題,造成模型的泛化能力不強(qiáng);文獻(xiàn)[12]基于聚類和XGboost 算法雖然有較高的準(zhǔn)確率,但是當(dāng)有大量的訓(xùn)練數(shù)據(jù)時,訓(xùn)練速度將變得十分緩慢。

1、 基于殘差神經(jīng)網(wǎng)絡(luò)的心臟病預(yù)測系統(tǒng)

1.1 系統(tǒng)功能設(shè)計

本文主要將系統(tǒng)分成:用戶模塊、病歷模塊、數(shù)據(jù)預(yù)處理模塊、模型訓(xùn)練模塊和預(yù)測模塊,其總體的功能結(jié)構(gòu)圖如圖1所示。

1)用戶模塊。該模塊包含用戶注冊和用戶登錄兩個部分。用戶在注冊部分通過注冊操作把個人的賬號、密碼等信息以密文的形式寫入數(shù)據(jù)庫;用戶在登錄部分輸入之前注冊過的賬號和密碼信息,通過數(shù)據(jù)庫驗證系統(tǒng)使用權(quán)限。

2)病歷模塊。該模塊同樣包含建立病歷和查看病歷兩個部分。用戶可以通過該模塊收集和查看患者的個人信息以及既往病史,方便對患者的信息進(jìn)行管理,還可以對用戶當(dāng)前的就診情況進(jìn)行記錄。

3)數(shù)據(jù)預(yù)處理模塊。該模塊主要通過對要訓(xùn)練的數(shù)據(jù)進(jìn)行整理,把患者的心電圖與其對應(yīng)的種類標(biāo)簽結(jié)合在一起,為之后的訓(xùn)練模型做準(zhǔn)備。

4)模型訓(xùn)練模塊。該模塊通過對大量數(shù)據(jù)的學(xué)習(xí),提取其中的規(guī)律、準(zhǔn)則,最終形成一個能夠預(yù)測心電圖的模型。

5)預(yù)測模塊。該模塊利用之前形成的模型對患者的心電圖進(jìn)行分析之后,得出患者最終是否患有心臟病以及種類和概率的結(jié)論。

1.2 系統(tǒng)流程設(shè)計

系統(tǒng)的模型構(gòu)成大體可以分為4個步驟,分別為數(shù)據(jù)預(yù)處理、卷積層、池化層、全連接層。本文構(gòu)建的是一個16層的卷積神經(jīng)網(wǎng)絡(luò),如圖2所示。

為了取得更好的模型訓(xùn)練效果,數(shù)據(jù)集選用 2017年度 PhysioNet 計算心臟病學(xué)挑戰(zhàn)賽提供的官方數(shù)據(jù)。首先對心電圖數(shù)據(jù)進(jìn)行預(yù)處理,把要訓(xùn)練的心電圖數(shù)據(jù)集貼上對應(yīng)種類的標(biāo)簽,形成一個整體的數(shù)據(jù)+標(biāo)簽的標(biāo)準(zhǔn)化數(shù)據(jù)集合,為后續(xù)的訓(xùn)練作準(zhǔn)備;然后將標(biāo)準(zhǔn)化的數(shù)據(jù)輸入卷積神經(jīng)網(wǎng)絡(luò)模型中迭代進(jìn)行卷積、池化操作,同時為了解決網(wǎng)絡(luò)退化問題,加入殘差模塊,將殘差模塊的數(shù)據(jù)和迭代得到的數(shù)據(jù)匯總,經(jīng)過運算后輸入全連接層最終得到分析結(jié)果。

1.2.1 數(shù)據(jù)預(yù)處理

數(shù)據(jù)預(yù)處理模塊對數(shù)據(jù)整理起到重要作用,本文訓(xùn)練中用到的數(shù)據(jù)來自2017年度 PhysioNet計算心臟病學(xué)挑戰(zhàn)賽提供的官方數(shù)據(jù),根據(jù)官方提供的參考文檔,將這些心電圖貼上相應(yīng)種類的標(biāo)簽,最終形成一個trainingset,為后續(xù)的訓(xùn)練做準(zhǔn)備。該模塊界面設(shè)計簡單,方便用戶操作。

1.2.2 卷積層

對圖片進(jìn)行卷積運算,第一個參數(shù)是輸入心電圖數(shù)據(jù),第二個參數(shù)是卷積核,卷積具體運算就是卷積核與對應(yīng)圖片的像素點進(jìn)行相乘然后累加之后的數(shù)值,作為特征映射的值。本系統(tǒng)卷積層以一維卷積的方式進(jìn)行卷積,卷積核大小選取 3×1,步長為 1,通過訓(xùn)練網(wǎng)絡(luò)將卷積核中的每一個數(shù)值訓(xùn)練出來,以期達(dá)到最好的效果。本系統(tǒng)在卷積的過程中,當(dāng)出現(xiàn)卷積核的大小超過圖片區(qū)域時,用 0進(jìn)行邊緣填充,因為 0填充的方式不會對卷積產(chǎn)生影響,只是輔助卷積完成。

1.2.3 池化層

池化操作對不同大小的輸入具有調(diào)和作用,當(dāng)需要對輸入大小不同的圖像進(jìn)行處理時,若對輸入圖像的大小有限制,可以通過對池化區(qū)域的偏置進(jìn)行調(diào)整,就可以使不同大小的圖片在調(diào)整后達(dá)到一致。池化操作一般有兩種,即最大池化和平均池化。最大池化選擇該區(qū)域中最大值作為池化后的值,反向傳播時,梯度通過前向傳播過程的最大值反向傳播,其他位置梯度為0;平均池化選擇區(qū)域中的平均值作為池化后的值。本系統(tǒng)采用最大池化,選用濾波器大小為2×1,池化步長為2,與卷積操作相互配合,形成一個卷積、池化迭代的深層網(wǎng)絡(luò)。

1.2.4 殘差神經(jīng)網(wǎng)絡(luò)

為了解決出現(xiàn)的網(wǎng)絡(luò)退化問題,在卷積神經(jīng)網(wǎng)絡(luò)中加入恒等映射模塊,也稱殘差單元。像神經(jīng)網(wǎng)絡(luò)那樣,如果直接累加上一層所學(xué)的模型,會使模型訓(xùn)練的難度加大,但增加帶有捷徑連接的殘差模塊時,結(jié)果就會產(chǎn)生不同。假設(shè)某個神經(jīng)網(wǎng)絡(luò)的輸入值為x,期望輸出值為H(x),訓(xùn)練的結(jié)果是F(x),學(xué)習(xí)率為0.01,在沒加入殘差模塊時,輸入是x=1,期望值是1.01,從1.01學(xué)習(xí)到1.02,映射輸出增加為0.011.01=1%;當(dāng)引入殘差模塊時,映射F(x)是從0.01到0.02,映射輸出為0.010.01=100%,后者輸出變化對權(quán)重的調(diào)整作用更明顯。換句話說,殘差單元的思想是差分放大器,通過去掉上層輸入的相同部分,從微小變化中提升學(xué)習(xí)能力。通過這種方式解決了隨著層數(shù)的加深準(zhǔn)確率和精準(zhǔn)度減小的問題,同時還降低了梯度消失和梯度爆炸的風(fēng)險。殘差網(wǎng)絡(luò)的提出將深度學(xué)習(xí)的性能提高了一個層次,使得網(wǎng)絡(luò)層數(shù)可以從幾十層上升到幾千層,為殘差網(wǎng)絡(luò)在圖像領(lǐng)域的應(yīng)用奠定了基礎(chǔ)。

1.2.5 全連接層

通過對卷積、池化操作形成的局部特征進(jìn)行權(quán)值矩陣的重組,并整合成多個完整的圖像,與標(biāo)準(zhǔn)圖像進(jìn)行對比,如果結(jié)果一樣,則反向激活相應(yīng)圖的權(quán)值。把原始數(shù)據(jù)經(jīng)過卷積、池化操作后映射到特征平面中,全連接層會提取分布式特征,全連接層把特征整合到一起,能夠極大地減少特征位置給分類產(chǎn)生的影響。全連接層一般設(shè)置為兩層,用來解決非線性問題。由于最終得出的預(yù)測結(jié)果的類別是互斥的,所以本文的全連接層采用 softmax回歸進(jìn)行分類,模型優(yōu)化采用adam優(yōu)化器。

2、 基于殘差神經(jīng)網(wǎng)絡(luò)的心臟病預(yù)測系統(tǒng)設(shè)計與實現(xiàn)

2.1系統(tǒng)實現(xiàn)

2.1.1模型訓(xùn)練實現(xiàn) 模型訓(xùn)練是整個預(yù)測系統(tǒng)的基礎(chǔ),該部分的主要功能是為之后的預(yù)測模塊提供一個泛化能力強(qiáng)的模型。該功能利用tensorflow框架實現(xiàn)了參數(shù)可調(diào)整,通過對Batch、epochs、卷積窗口大小、池化窗口大小進(jìn)行調(diào)整,可以不斷提高模型的準(zhǔn)確度,不斷進(jìn)行訓(xùn)練,直到達(dá)到模型的最優(yōu)性能。

2.1.2 預(yù)測分析功能實現(xiàn) 預(yù)測功能是整個系統(tǒng)的核心部分,也是系統(tǒng)的主界面。該功能通過載入患者的心電圖數(shù)據(jù),然后利用訓(xùn)練好的模型進(jìn)行結(jié)果預(yù)測。該模塊實現(xiàn)了查找用戶心電圖功能,系統(tǒng)操作人員根據(jù)患者的名字就可以把患者的心電圖數(shù)據(jù)載入模型中,方便醫(yī)生操作。同時,該模塊還實現(xiàn)了心電圖預(yù)覽功能。通過設(shè)置顯示心電圖按鈕,點擊之后可以先粗略地觀察心電圖,了解一些情況。最后實現(xiàn)分析功能,對患者的心電圖進(jìn)行分析,生成最后的分析報告。

2.2 系統(tǒng)性能調(diào)參測試 2.2.1 Batch 大小最優(yōu)測試Batch大小即批處理的尺寸大小,它的大小決定著下降的方向。選擇合適的批處理大小可以迅速找到合適的學(xué)習(xí)率,加快模型的收斂。如果批處理尺寸太大的話,雖然可以提高內(nèi)存的利用率,但是會減小相應(yīng)的精度,對參數(shù)的修正也更加緩慢;如果批處理尺寸太小,不僅會使學(xué)習(xí)的時間增加,甚至?xí)鼓P筒皇諗?。Batch大小一般設(shè)置成16的倍數(shù),便于機(jī)器的處理,通過控制其他變量不變,改變 Batch尺寸大小,查看對模型準(zhǔn)確率的影響,如圖3所示。

通過測試發(fā)現(xiàn),當(dāng)Batch的大小選擇為32時,模型的準(zhǔn)確率最高,再增加Batch大小會使模型的準(zhǔn)確率降低,所以本文選定的Batch大小為32。

2.2.2 卷積核大小最優(yōu)測試

卷積核大小對模型的影響至關(guān)重要。如果卷積核的尺寸選得太大的話,會使整個模型的復(fù)雜度急劇增加;如果卷積核的尺寸選得太小的話,又會使訓(xùn)練的速度降低。所以選擇合適的卷積核大小比較重要。通常卷積核的大小設(shè)置成偶數(shù),形成正方形。本文采用一維卷積,通過控制其他變量不變,改變卷積核的大小查看對模型準(zhǔn)確率的影響,如圖4所示。

通過測試發(fā)現(xiàn),當(dāng)卷積核的大小選擇為16 時,模型的準(zhǔn)確率最高,選擇小于或者大于 16 的尺寸時,模型的準(zhǔn)確率會降低,所以本文選擇卷積核大小為16。

2.2.3 池化窗口大小最優(yōu)測試

池化窗口的大小也會影響著模型的準(zhǔn)確率。當(dāng)池化層的窗口選擇太大的話,會在一定程度上損失信息。如果選擇太小的話,會影響感受野的大小變化。本文通過控制其他變量不變,改變池化窗口的尺寸觀察其對模型準(zhǔn)確率的影響,如圖5所示。

通過測試發(fā)現(xiàn),當(dāng)池化窗口大小為4時,模型的準(zhǔn)確率最高,再增加池化窗口的大小時會導(dǎo)致模型的準(zhǔn)確率下降。

3、 結(jié) 語

本文采用殘差神經(jīng)網(wǎng)絡(luò)以心電圖的方式進(jìn)行機(jī)器學(xué)習(xí),對患者是否患有心臟病進(jìn)行預(yù)估。利用殘差網(wǎng)絡(luò)具有快捷連接和恒等映射的特點,解決了網(wǎng)絡(luò)退化、網(wǎng)絡(luò)深度限制的問題,為學(xué)習(xí)心電圖的深層次特征提供了巨大的幫助。此外,本文采用PhysioNet計算心臟病學(xué)挑戰(zhàn)賽官方提供的8528個數(shù)據(jù)進(jìn)行學(xué)習(xí),將心臟病分為4個種類,進(jìn)行實驗驗證。其中構(gòu)建了一個16層的卷積神經(jīng)模型,首先將數(shù)據(jù)以300×30大小的方式輸入卷積層,然后用 16×1的卷積核進(jìn)行一維卷積,經(jīng)過4×1大小的濾波器進(jìn)行最大池化,加上批標(biāo)準(zhǔn)化處理迭代至16層,最后加上全連接層構(gòu)成16層卷積神經(jīng)網(wǎng)絡(luò)。通過整體的訓(xùn)練后,對未訓(xùn)練的一批數(shù)據(jù)進(jìn)行預(yù)測,其結(jié)果準(zhǔn)確率達(dá)到76.5%。最終,利用該技術(shù)設(shè)計了一種心臟病智能預(yù)測系統(tǒng),實現(xiàn)了對心臟病的實時預(yù)測,提供了對患者病情的詳細(xì)分析報告。利用該系統(tǒng)可以減輕醫(yī)生的負(fù)擔(dān),給醫(yī)生對病情的診斷提供了輔助判斷,提高了就診的效率,對社會醫(yī)療體系提供了幫助。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴

原文標(biāo)題:論文速覽 | 基于殘差神經(jīng)網(wǎng)絡(luò)的心臟病預(yù)測系統(tǒng)的設(shè)計與實現(xiàn)

文章出處:【微信號:現(xiàn)代電子技術(shù),微信公眾號:現(xiàn)代電子技術(shù)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    穿戴式心臟病預(yù)防芯片,手機(jī)預(yù)測心臟病發(fā)作

    瑞士科學(xué)家發(fā)明一種使用無線傳輸數(shù)據(jù)的芯片,使用手機(jī)和平板電腦就能提前預(yù)測心臟病發(fā)作。這種心臟病預(yù)防芯片體積小巧,可隨意粘貼在人體表面。它內(nèi)置有藍(lán)牙傳輸功能,用戶在手機(jī)和平板電腦上使用配套的應(yīng)用軟件可以隨時監(jiān)控自己的肌鈣蛋白,相比
    發(fā)表于 03-21 08:52 ?2215次閱讀

    有提供編寫神經(jīng)網(wǎng)絡(luò)預(yù)測程序服務(wù)的嗎?

    有提供編寫神經(jīng)網(wǎng)絡(luò)預(yù)測程序服務(wù)的嗎?
    發(fā)表于 12-10 13:50

    關(guān)于BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型的確定!!

    請問用matlab編程進(jìn)行BP神經(jīng)網(wǎng)絡(luò)預(yù)測時,訓(xùn)練結(jié)果很多都是合適的,但如何確定最合適的?且如何用最合適的BP模型進(jìn)行外推預(yù)測?
    發(fā)表于 02-08 14:23

    詳解高危心臟病人遠(yuǎn)程實時監(jiān)護(hù)系統(tǒng)

    病況,具有病發(fā)突然、隨機(jī)、高猝死率特點,通常在急性癥狀出現(xiàn)后1小時內(nèi)就可能引起死亡,惡性的室性纖顫甚至在12分鐘內(nèi)引起病人猝死,患有上述嚴(yán)重心臟病的患者即為高危心臟病人[1]。 因此,如何對高危心臟病
    發(fā)表于 07-29 08:20

    什么是深度收縮網(wǎng)絡(luò)?

    ?! ≡谝欢ǔ潭壬希疃?b class='flag-5'>殘收縮網(wǎng)絡(luò)的工作原理,可以理解為:通過注意力機(jī)制注意到不重要的特征,然后通過軟閾值化將它們置為零;或者說,通過注意力機(jī)制注意到重要的特征,將它們保留下來,從而加強(qiáng)深度
    發(fā)表于 11-26 06:33

    如何構(gòu)建神經(jīng)網(wǎng)絡(luò)?

    原文鏈接:http://tecdat.cn/?p=5725 神經(jīng)網(wǎng)絡(luò)是一種基于現(xiàn)有數(shù)據(jù)創(chuàng)建預(yù)測的計算系統(tǒng)。如何構(gòu)建神經(jīng)網(wǎng)絡(luò)?神經(jīng)網(wǎng)絡(luò)包括:輸
    發(fā)表于 07-12 08:02

    卷積神經(jīng)網(wǎng)絡(luò)模型發(fā)展及應(yīng)用

    地介紹了卷積 神經(jīng)網(wǎng)絡(luò)的發(fā)展歷史,然后分析了典型的卷積神經(jīng) 網(wǎng)絡(luò)模型通過堆疊結(jié)構(gòu)、網(wǎng)中網(wǎng)結(jié)構(gòu)、結(jié)構(gòu)以及 注意力機(jī)制提升模型性能的方法,并
    發(fā)表于 08-02 10:39

    《 AI加速器架構(gòu)設(shè)計與實現(xiàn)》+第一章卷積神經(jīng)網(wǎng)絡(luò)觀后感

    連接塊是一種模塊,通常用于深度卷積神經(jīng)網(wǎng)絡(luò)中,特別是在網(wǎng)絡(luò)(Residual Network,ResNet)中廣泛使用,也是我比較熟悉的。組卷積塊是一種卷積
    發(fā)表于 09-11 20:34

    灰色補(bǔ)償神經(jīng)網(wǎng)絡(luò)及其應(yīng)用研究

    本文給出了灰色系統(tǒng)神經(jīng)網(wǎng)絡(luò)的一種新的結(jié)合方式—灰色補(bǔ)償神經(jīng)網(wǎng)絡(luò)。該網(wǎng)絡(luò)利用神經(jīng)網(wǎng)絡(luò)建立
    發(fā)表于 09-02 10:44 ?16次下載

    研究人員用AI分析心臟掃描任務(wù) 準(zhǔn)確率戰(zhàn)勝人類心臟病專家

    加州舊金山的 Rima Arnaout 和她的同事在《Digital Medicine》期刊上發(fā)表研究報告,使用卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練 AI 系統(tǒng)去分類超聲心動圖。超聲心動圖是人類心臟病專家檢查心臟
    發(fā)表于 04-08 11:17 ?1118次閱讀
    研究人員用AI分析<b class='flag-5'>心臟</b>掃描任務(wù) 準(zhǔn)確率戰(zhàn)勝人類<b class='flag-5'>心臟病</b>專家

    使用視網(wǎng)膜掃描發(fā)現(xiàn)心臟病風(fēng)險可行嗎

    利用病人視網(wǎng)膜的圖像訓(xùn)練出一種深度學(xué)習(xí)算法來識別心臟病的風(fēng)險。
    發(fā)表于 07-11 16:12 ?757次閱讀

    基于深度神經(jīng)網(wǎng)絡(luò)的遠(yuǎn)程監(jiān)督關(guān)系抽取模型

    基于卷積神經(jīng)網(wǎng)絡(luò)的遠(yuǎn)程監(jiān)督關(guān)系抽取方法提取的特征單一,且標(biāo)準(zhǔn)交叉熵?fù)p失函數(shù)未能較好處理數(shù)據(jù)集中正負(fù)樣本比例不均衡的情況。為此,提出一種基于深度神經(jīng)網(wǎng)絡(luò)的遠(yuǎn)程監(jiān)督關(guān)系抽取模型,通過改
    發(fā)表于 05-24 17:06 ?3次下載

    基于神經(jīng)網(wǎng)絡(luò)的微型電機(jī)轉(zhuǎn)子焊點圖像檢測

    基于神經(jīng)網(wǎng)絡(luò)的微型電機(jī)轉(zhuǎn)子焊點圖像檢測
    發(fā)表于 07-02 14:56 ?23次下載

    LED心臟病發(fā)作的項目

    電子發(fā)燒友網(wǎng)站提供《LED心臟病發(fā)作的項目.zip》資料免費下載
    發(fā)表于 12-29 15:34 ?0次下載
    LED<b class='flag-5'>心臟病</b>發(fā)作的項目

    網(wǎng)絡(luò)是深度神經(jīng)網(wǎng)絡(luò)

    網(wǎng)絡(luò)(Residual Network,通常簡稱為ResNet) 是深度神經(jīng)網(wǎng)絡(luò)的一種 ,其獨特的結(jié)構(gòu)設(shè)計在解決深層網(wǎng)絡(luò)訓(xùn)練中的梯度消失
    的頭像 發(fā)表于 07-11 18:13 ?1106次閱讀