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