摘要:利用神經(jīng)網(wǎng)絡(luò)進(jìn)行心電圖識(shí)別時(shí),存在神經(jīng)網(wǎng)絡(luò)網(wǎng)絡(luò)結(jié)構(gòu)、初始權(quán)值以及網(wǎng)絡(luò)的動(dòng)量因子、學(xué)習(xí)參數(shù)難以確定,易陷入局部極小、過擬合等問題。遺傳算法具有很強(qiáng)的全局尋優(yōu)能力,能以較大的概率找到全局最優(yōu)解,提出一種改進(jìn)的GA-BP混合訓(xùn)練算法,優(yōu)化神經(jīng)網(wǎng)絡(luò)的權(quán)值和結(jié)構(gòu),應(yīng)用于自動(dòng)識(shí)別心電圖,收到良好的效果。
關(guān)鍵詞:神經(jīng)網(wǎng)絡(luò);遺傳算法;心電圖
1 神經(jīng)網(wǎng)絡(luò)
BP神經(jīng)網(wǎng)絡(luò)基于誤差反向傳播算法的多層前向神經(jīng)網(wǎng)絡(luò)。其中BP網(wǎng)絡(luò)是目前應(yīng)用最為廣泛的神經(jīng)網(wǎng)絡(luò)模型之一。網(wǎng)絡(luò)隱節(jié)點(diǎn)過多會(huì)導(dǎo)致算法存在過擬合現(xiàn)象,影響了網(wǎng)絡(luò)的泛化能力,使得網(wǎng)絡(luò)最終失去實(shí)用價(jià)值。在滿足精度的要求下,逼近函數(shù)的階數(shù)越少越好,低階逼近可以有效防止\"過擬合\"現(xiàn)象。在實(shí)際應(yīng)用中,還沒有成熟的方法確定網(wǎng)絡(luò)的隱節(jié)點(diǎn),隱節(jié)點(diǎn)的確定基本上依賴經(jīng)驗(yàn),主要式采用遞增或遞減的試探方法來確定網(wǎng)絡(luò)隱節(jié)點(diǎn)[1]。
2 遺傳算法
遺傳算法是自然淘汰、遺傳選擇的生物進(jìn)化過程的計(jì)算模型,它是基于自然遺傳、選擇變異等生物機(jī)制的全局概率搜索算法。其應(yīng)用優(yōu)勢(shì)在于處理傳統(tǒng)搜索方法難于解決的復(fù)雜和非線性問題,包含問題編碼、初始化群體、選擇、交叉、變異、全局最優(yōu)收斂等基本步驟[2]。遺傳算法是求解復(fù)雜系統(tǒng)優(yōu)化問題的通用方法,隱含全局搜索及并行性是其的主要特征,它以適應(yīng)度函數(shù)為依據(jù),通過對(duì)群體個(gè)體進(jìn)行遺傳操作實(shí)現(xiàn)群體內(nèi)個(gè)體結(jié)構(gòu)重組的迭代過程。群體個(gè)體一代一代得以優(yōu)化并逐次逼近最優(yōu)解[3,4]。
3 基于遺傳算法的神經(jīng)網(wǎng)絡(luò)訓(xùn)練方法(GA-BP)
遺傳算法優(yōu)化神經(jīng)網(wǎng)絡(luò)的思路:改變BP算法依賴梯度信息來調(diào)整網(wǎng)絡(luò)權(quán)值的方法,利用遺傳算法全局性搜索的特點(diǎn),尋找最佳網(wǎng)絡(luò)連接權(quán)和網(wǎng)絡(luò)結(jié)構(gòu),遺傳算法在進(jìn)化過程中能以較大概率搜索到全局最優(yōu)解存在的區(qū)域,在遺傳算法搜索到最優(yōu)解附近之后,再采用訓(xùn)練樣本優(yōu)選最好的網(wǎng)絡(luò)連接權(quán)系數(shù)及網(wǎng)絡(luò)結(jié)構(gòu)。
遺傳-神經(jīng)網(wǎng)絡(luò)模型:
GA-BP算法的步驟:
3.2遺傳算法是以目標(biāo)函數(shù)最大值為適應(yīng)度函數(shù),函數(shù)為:
3.3基本解空間編碼 遺傳算法優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu)需對(duì)隱含層編碼。編碼的碼串由控制碼和權(quán)重系數(shù)碼組成。控制碼控制隱節(jié)點(diǎn)個(gè)數(shù),由0-1組成的串,其中0表示無連接,1表示有連接。權(quán)重系數(shù)用浮點(diǎn)數(shù)編碼。按一定的順序組成一個(gè)長串,每個(gè)串對(duì)應(yīng)一組解。
3.4初始群體由P個(gè)個(gè)體組成,每個(gè)個(gè)體由兩個(gè)部分組成,第1部分是串長為l1 的0-1串;第2部分是區(qū)間[umin-δ1,umax+δ2 上的l2個(gè)均勻分布隨機(jī)數(shù)。
3.5由控制碼得到網(wǎng)絡(luò)的隱節(jié)點(diǎn)數(shù),由權(quán)重系數(shù)碼可以知道網(wǎng)絡(luò)的連接權(quán)值,輸入用于訓(xùn)練樣本,按照式(2)計(jì)算個(gè)體適應(yīng)度。
3.6保留群體中適應(yīng)度最高的個(gè)體,不參與交叉和變異運(yùn)算,直接將其復(fù)制到下一代。 對(duì)其它個(gè)體,按歸一化適應(yīng)度大小為概率進(jìn)行選擇,進(jìn)行遺傳操作。當(dāng)某個(gè)神經(jīng)元被變異運(yùn)算刪除時(shí),相應(yīng)的有關(guān)權(quán)重系數(shù)編碼被置為0,而當(dāng)變異運(yùn)算增加某個(gè)神經(jīng)元時(shí),則隨機(jī)初始化有關(guān)權(quán)重系數(shù)編碼。以Pc的概率對(duì)選擇后的個(gè)體的Wij神經(jīng)元權(quán)值進(jìn)行交叉算子如下:
3.7將新個(gè)體放到種群P中,沒有交叉、變異操作的個(gè)體直接生成新一代群體。反復(fù)4~8,每次群體就進(jìn)化一代,連續(xù)進(jìn)化到K代。把最終個(gè)體解碼得到相應(yīng)解,ANN誤差平方和不合要求εGA則轉(zhuǎn)4,繼續(xù)遺傳操作,反復(fù)進(jìn)行如果N次依然不能達(dá)到要求則訓(xùn)練失敗。以GA遺傳出的優(yōu)化初值作為初始權(quán)值,BP算法繼續(xù)訓(xùn)練網(wǎng)絡(luò),直到給定精度εBP(εBP<εGA)或迭代次數(shù),最終個(gè)體解碼即得到網(wǎng)絡(luò)連接權(quán)及隱節(jié)點(diǎn)數(shù)。
4 遺傳算法的神經(jīng)網(wǎng)絡(luò)對(duì)心電圖的自動(dòng)識(shí)別
心電圖在診斷心血管疾病等臨床醫(yī)學(xué)領(lǐng)域得到了大量應(yīng)用,近年來,基于心電圖的穩(wěn)定性和唯一性,易于采集,不能復(fù)制和仿造等優(yōu)勢(shì),其在身份識(shí)別領(lǐng)域也具有廣泛的應(yīng)用前景。
將測(cè)量電極放置在心臟或人體表面的一定部位,用心電圖機(jī)記錄出來的心臟電變化的連續(xù)曲線,即為心電圖。將立體的P、QRS、T環(huán)經(jīng)過投影到額面、水平面和右側(cè)面上,臨床上用心向量圖表示;此即空間心電向量環(huán)的第一次投影。將額面心向量環(huán)的每一點(diǎn)依次再投影到各肢體導(dǎo)聯(lián)軸上,可記錄出各肢體導(dǎo)聯(lián)的心電圖;橫面心向量環(huán)在各胸導(dǎo)聯(lián)軸上的投影,可描記出各胸導(dǎo)聯(lián)的心電圖。此即心向量環(huán)的第二次投影。
4.1波形數(shù)據(jù)預(yù)處理 ①首先對(duì)心電信號(hào)進(jìn)行高頻濾波處理。由于數(shù)據(jù)是通過FRANK導(dǎo)聯(lián)七電極采集的,所以心電信號(hào)必然夾雜有電極的50Hz交流干擾、肌電干擾等。需要對(duì)心電信號(hào)進(jìn)行50Hz高頻濾波處理,以去除工頻和肌電干擾,可以采用多點(diǎn)平均值法進(jìn)行濾波;②其次需要對(duì)心電圖作基線漂移處理。心電信號(hào)的漂移主要有放大器零點(diǎn)漂移和呼吸交流漂移。放大器零點(diǎn)漂移體現(xiàn)在基線偏離原點(diǎn)上下移動(dòng),交流漂移表面為基線傾斜。
4.2波形識(shí)別 由于心電向量圖是由各面心電圖的各波起止點(diǎn)間的所有點(diǎn)組成的,所以繪制向量圖前必須先將心電圖的各波的起止點(diǎn)確定下來,這就是波形識(shí)別。主要是對(duì)選擇的典型波形,識(shí)別出P波、QRS波、T波等各波段的特征點(diǎn)即峰點(diǎn)、起止點(diǎn)等。
4.3 QRS波群識(shí)別 QRS波群識(shí)別方法目前主要有閉值法、輪廓限制法、面積法、數(shù)字濾波法和傾斜法,該系統(tǒng)采用閉值法。這種方法通過對(duì)正交三導(dǎo)聯(lián)同時(shí)記錄的X、Y、Z心電信號(hào)進(jìn)行空間向量模的運(yùn)算,計(jì)算其空間向量長度,以最大空間向量長度作為閉值K,以K作為識(shí)別QRS波的依據(jù)。然后在K值前后一定時(shí)間內(nèi)(30~80ms),對(duì)各點(diǎn)心電向量模值進(jìn)行測(cè)量。如果連續(xù)若干點(diǎn)的模值相同,K前相同模值的第一個(gè)起點(diǎn)作為X、Y、Z三導(dǎo)聯(lián)公共起點(diǎn)和K后最遠(yuǎn)點(diǎn)作為公共終點(diǎn)。再根據(jù)公共起點(diǎn)、終點(diǎn)范圍、檢測(cè)X、Y、Z導(dǎo)聯(lián)中的QRS波的峰點(diǎn)和谷點(diǎn)的時(shí)間和幅度。
4.4 T波檢測(cè) T波比QRS波小,識(shí)別方法與QRS波有所不同。T波的識(shí)別方法在識(shí)別QRS波群基礎(chǔ)上,規(guī)定在K值后一定時(shí)間(100ms)左右,尋找空間向量的最大值做為T波闡值Ko.以Ko值做為識(shí)別T波的依據(jù)。T波檢測(cè)也用面積增量法,可直接或間接檢測(cè)出T波峰值,T波始、終點(diǎn)及寬度。S-T段上升與下降程度采用傳統(tǒng)的J+X法判別標(biāo)準(zhǔn),J+X法中的J點(diǎn)是S點(diǎn)之后的第一個(gè)拐點(diǎn),ST段被確定在J+X ms的心電信號(hào)部分,X的典型值為80ms,一般認(rèn)為X在20~120ms范圍中。ST段水平根據(jù)基線可以計(jì)算出其絕對(duì)值,或可表示為相對(duì)于R波峰值的歸一化值。
4.5 P波檢測(cè) P波的識(shí)別方法與T波類似,只是搜尋區(qū)間和聞值規(guī)定不同。P波檢測(cè)是房室傳導(dǎo)阻滯,P-R間隔檢測(cè)的主要參數(shù)。但其幅度過小,實(shí)時(shí)檢測(cè)十分困難。因此目前采用的方法主要是面積增量法。
4.6心電圖的識(shí)別 本文收集了房室傳導(dǎo)阻滯、S-T段下降、S-T段抬高、T波低平、T波倒置、正常竇律、正常七類心電圖。提取其診斷特征值,將其輸入神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,識(shí)別正確率可達(dá)到96%[5-10]。
5 結(jié)束語
心電圖的識(shí)別分析,是一項(xiàng)籠瑣而又細(xì)致的工作。心電圖自動(dòng)診斷可以將醫(yī)務(wù)人員從煩瑣的圖形識(shí)別中解脫出來,提高工作效率。本文采用遺傳算法優(yōu)化三層BP神經(jīng)網(wǎng)絡(luò)的連接權(quán)和網(wǎng)絡(luò)結(jié)構(gòu)克服BP神經(jīng)網(wǎng)絡(luò)的瓶頸,有效提高神經(jīng)網(wǎng)絡(luò)泛化性能,并將其應(yīng)用于心電圖自動(dòng)識(shí)別,得到了較高的識(shí)別率。
參考文獻(xiàn):
[1]徐文,王大忠,等.結(jié)合遺傳算法的人工神經(jīng)網(wǎng)絡(luò)在電力變壓器故障診斷中的應(yīng)用[J].中國電機(jī)工程學(xué)報(bào),1997,02:109-112.
[2]周翔,朱學(xué)愚.基于遺傳學(xué)習(xí)算法和BP算法的神經(jīng)網(wǎng)絡(luò)在礦坑涌水量計(jì)算中的應(yīng)用[J]. 水利學(xué)報(bào),2000,12:59-63.
[3]王智平,劉在德,等.遺傳算法在BP網(wǎng)絡(luò)權(quán)值學(xué)習(xí)中的應(yīng)用[J].甘肅工業(yè)大學(xué)學(xué)報(bào),2001,02:20-22.
[4]楊旭東,張彤.遺傳算法應(yīng)用于系統(tǒng)在線辨識(shí)研究[J].哈爾濱工業(yè)大學(xué)學(xué)報(bào),2000,32(1):102-105.
[5]郭曉婷,朱巖.基于遺傳算法的進(jìn)化神經(jīng)網(wǎng)絡(luò)[J].清華大學(xué)學(xué)報(bào),2000,10:40.
[6]王偉.一種基于自適應(yīng)小波變換的QRS波檢測(cè)算法[J].浙江科技學(xué)院學(xué)報(bào),2007,02:97-99.
[7]沈紅,張良震,秦瑋,等.用于識(shí)別心電圖的BP網(wǎng)絡(luò)系統(tǒng)[J].上海生物醫(yī)學(xué)工程雜志,1998,04:13-18.
[8]李嶺森,商同,楊偉東,等.心電圖的智能識(shí)別技術(shù)[J].數(shù)據(jù)采集與處理,1999,03:356-360.
[9]楊軍,王宏山, 俞夢(mèng)孫.心電圖ST段測(cè)量的神經(jīng)網(wǎng)絡(luò)方法[J].北京生物醫(yī)學(xué)工程,2002,02:106-108.
[10]張曉饋,戴冠中, 徐乃平.遺傳算法種群多樣性的分析研究[J].控制理論與應(yīng)用,1998,15(1):17-23.編輯/哈濤