本發(fā)明涉及計算機醫(yī)療應(yīng)用領(lǐng)域,具體涉及一種基于wrapper特征選擇bagging學(xué)習(xí)處理心電圖的系統(tǒng)及方法。
背景技術(shù):
智慧醫(yī)療旨在通過打造健康檔案區(qū)域醫(yī)療信息平臺,利用最先進的物聯(lián)網(wǎng)技術(shù),實現(xiàn)患者與醫(yī)務(wù)人員、醫(yī)療機構(gòu)、醫(yī)療設(shè)備之間的互動,逐步達到信息化。近年來,由人工智能、醫(yī)用機器人和數(shù)字化輔助醫(yī)療技術(shù)等相結(jié)合的智能醫(yī)療技術(shù),正引領(lǐng)新一輪的醫(yī)療變革。智能醫(yī)療技術(shù)開始貫穿于診斷、手術(shù)、護理和康復(fù)等醫(yī)療的各個環(huán)節(jié)。在臨床診斷過程中,醫(yī)院一直依賴心電圖作為監(jiān)測病人心臟電活動的儀器。由于紙張易破碎且熱敏紙字跡不穩(wěn)定、易消退,多數(shù)紙質(zhì)心電圖都遭到了不同程度的破壞。
盡管外許多研究者提出了較多針對心電波形曲線的提取和醫(yī)療診斷預(yù)測技術(shù),但由于紙質(zhì)心電圖提取的易破碎且熱敏紙字跡不穩(wěn)定、易消退,以及提取后的心電數(shù)據(jù)多是偏性,對后續(xù)機器學(xué)習(xí)的模型建立與訓(xùn)練上有很大的影響,現(xiàn)有紙質(zhì)心電圖提取和診斷預(yù)測模型包含如下幾方面缺點:
(1)心電曲線的提取問題
臨床采集的心電圖表現(xiàn)為心電曲線和背景網(wǎng)格交錯在一起,且紙面上會有不同程度的污損、字跡等其他干擾信息。目前的相關(guān)研究中,紙質(zhì)心電圖波形數(shù)據(jù)提取的主要瓶頸是需要人工干預(yù)。
(2)如何將提提取的波形曲線轉(zhuǎn)化為波形數(shù)據(jù)
臨床采集的心電信號由高維向量表示的,在使用計算機對心電信號分析的過程中就是對這組高維向量進行分析。由于掃描原因會使得提取出的波形曲線的寬度大于l,所以提取的曲線是以矩陣的形式存在,而不是以向量的形式存在。如何將以矩陣形式存在的波形曲線以最大的滿意度轉(zhuǎn)換為以向量形式保存的波形數(shù)據(jù)值得研究。
(3)數(shù)據(jù)不平衡性
現(xiàn)有的smote數(shù)據(jù)平衡方法,只是在原有的基礎(chǔ)上將數(shù)據(jù)平衡,這樣做的結(jié)果只會增加數(shù)據(jù)量,對后續(xù)wrapper方法篩選冗余特征這一步驟的時間效率上產(chǎn)生負面的影響。
(4)機器學(xué)習(xí)算法的不穩(wěn)定性
決策樹算法依據(jù)信息熵理論,選擇當(dāng)前樣本集中具有最大信息增益率的屬性作為測試屬性不斷對樣本集進行劃分,最終構(gòu)造出一棵完全決策樹。但是它是不穩(wěn)定的算法,訓(xùn)練集的小范圍變動就可能造成分類模型的顯著變化。
技術(shù)實現(xiàn)要素:
為解決上述技術(shù)問題,本發(fā)明提出了一種基于wrapper特征選擇bagging學(xué)習(xí)處理心電圖的方法,以達到準(zhǔn)確分析心電數(shù)據(jù)的目的。
為達到上述目的,本發(fā)明的技術(shù)方案如下:
一種基于wrapper特征選擇bagging學(xué)習(xí)處理心電圖的系統(tǒng),包含有掃描模塊和數(shù)據(jù)分析處理模塊,所述掃描模塊與所述數(shù)據(jù)分析處理模塊之間通過網(wǎng)絡(luò)進行連接,
所述掃描模塊,用于將心電圖紙的內(nèi)容掃描成心電圖像;
所述數(shù)據(jù)分析處理模塊包含有:波形矯正提取模塊、數(shù)據(jù)平衡壓縮模塊、wrapper特征選擇模塊、baggingc4.5集成模塊,所述波形矯正提取模塊,用于檢測矯正心電波形并將心電波形曲線和背景分離發(fā)展;所述數(shù)據(jù)平衡壓縮模塊,用于對心電數(shù)據(jù)進行平滑處理和壓縮處理;所述wrapper特征選擇模塊,用于剔除心電數(shù)據(jù)中的冗余特征;所述baggingc4.5集成模塊,用于對心電數(shù)據(jù)進行分析預(yù)測,各模塊間通過數(shù)據(jù)總線進行通信連接。一種基于wrapper特征選擇bagging學(xué)習(xí)處理心電圖的方法,通過sobel_mco篩選機制的k-means方法將紙質(zhì)心電圖提取出數(shù)字化數(shù)據(jù)集,對于得到的心電數(shù)據(jù),通過基于wrapper特征選擇的新型baggingc4.5算法進行醫(yī)療數(shù)據(jù)分析預(yù)測,將分析預(yù)測的結(jié)果反饋給用戶,具體包括如下步驟:
步驟1:紙質(zhì)心電圖數(shù)字化;
步驟2:將步驟1采集的數(shù)字化心電數(shù)據(jù),通過s-c4.5-smote數(shù)據(jù)平衡方法進行平滑處理,從而降低數(shù)據(jù)的大小和不平衡性;
步驟3:將經(jīng)過s-c4.5-smote處理后的數(shù)據(jù)進行wrapper特征選擇,剔除數(shù)據(jù)的冗余特征(其中算法評價器c4.5),通過這一步驟可以剔除對醫(yī)療數(shù)據(jù)分析有害的特征;
步驟4:對上述步驟獲取的醫(yī)療數(shù)據(jù)進行bagging-c4.5方法分析預(yù)測,并將分析預(yù)測的結(jié)果通過設(shè)備反饋給醫(yī)療機構(gòu)和用戶。
作為優(yōu)選的,步驟1所述紙質(zhì)心電圖數(shù)字化的具體步驟為:設(shè)定原始心電圖彩色圖像,對所述原始心電圖彩色圖像進行邊緣檢測,獲得階躍狀邊緣點集合,所述邊緣點集合包含了波形的上下輪廓以及其他點,對所述邊緣點集合進行形態(tài)學(xué)閉運算并且填補波峰和尖銳波谷,保留像素點集合,對所述像素點集合進行基于sobel_mco篩選機制的k-means算法處理,處理結(jié)果是將波形曲線和背景分離發(fā)展。
作為優(yōu)選的,步驟2所述s-c4.5-smote數(shù)據(jù)平衡方法是將步驟1提取的數(shù)字化心電數(shù)據(jù)集合進行平衡與壓縮處理,所述s-c4.5-smote數(shù)據(jù)平衡方法集成了簡單隨機抽樣法和合成少數(shù)民族抽樣法(smote)的優(yōu)點,減少冗余特征,提高bagging學(xué)習(xí)的泛化能力。
作為優(yōu)選的,步驟3所述wrapper特征選擇是搜索策略和機器學(xué)習(xí)算法相結(jié)合,選擇出最終的算法達到較高的特征子集,有p個特征,那么就會有2p種特征組合,每種組合對應(yīng)了一個模型。
作為優(yōu)選的,步驟4所述bagging-c4.5方法是采用bagging方法對c4.5算法進行集成,所述c4.5算法將上述步驟獲取的心電數(shù)據(jù)進行訓(xùn)練,訓(xùn)練過程按照分支屬性選擇方法,自頂向下形成決策樹分類器,內(nèi)部節(jié)點表示分支屬性,葉節(jié)點代表類,所述bagging方法為:輸入經(jīng)c4.5算法訓(xùn)練后的訓(xùn)練集,生成預(yù)測函數(shù),輸出集成預(yù)測模型。
本發(fā)明具有如下優(yōu)點:
(1).本發(fā)明將紙質(zhì)心電圖轉(zhuǎn)化為數(shù)字化心電數(shù)據(jù),實現(xiàn)心電波形曲線和復(fù)雜背景的有效分離,進行心電波形曲線提取。該方法先使用篩選機制進行預(yù)處理,盡可能多的保留屬于波形曲線的像素點,并盡可能多的排除無用點,保留的像素點集合作為聚類對象。
(2).提出了一種新的數(shù)據(jù)平衡算法—s-c4.5-smote,有效的處理了醫(yī)療數(shù)據(jù)的偏性問題,并且降低了數(shù)據(jù)的大小,提高了后續(xù)wrapper特征選擇方法篩選的效率。
(3).通過引入bagging學(xué)習(xí)方法,解決了傳統(tǒng)決策樹算法的不穩(wěn)定性,并且通過wrapper特征篩選后的特征子集,解決了因為冗余特征帶來的bagging學(xué)習(xí)的泛化能力差的問題。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實施例公開的基于wrapper特征選擇bagging學(xué)習(xí)處理心電圖的系統(tǒng)的結(jié)構(gòu)示意圖;
圖2為本發(fā)明實施例公開的基于wrapper特征選擇bagging學(xué)習(xí)處理心電圖的方法的流程圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例,基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
本發(fā)明提供了一種基于wrapper特征選擇bagging學(xué)習(xí)處理心電圖的方法,其工作原理是通過sobel_mco(morphologicalclosedoperation)篩選機制的k-means方法用于紙質(zhì)心電圖波形曲線的提取以轉(zhuǎn)化為數(shù)字化心電數(shù)據(jù);將得到的數(shù)字化心電圖通過s-c4.5-smote和wrapper方法進行預(yù)處理,以平衡心電數(shù)據(jù)集和篩選對診斷有害的特征;最終通過bagging-c4.5集成技術(shù)對得到的數(shù)字化心電數(shù)據(jù)進行分析預(yù)測,達到準(zhǔn)確分析心電數(shù)據(jù)的目的。
下面結(jié)合實施例和具體實施方式對本發(fā)明作進一步詳細的說明:
如圖1所示:基于wrapper特征選擇bagging學(xué)習(xí)處理心電圖的系統(tǒng),包含有掃描模1塊和數(shù)據(jù)分析處理模塊2,所述掃描模塊1與所述數(shù)據(jù)分析處理模塊2之間通過網(wǎng)絡(luò)進行連接,
所述掃描模塊1,用于將心電圖紙的內(nèi)容掃描成心電圖像;
所述數(shù)據(jù)分析處理模塊2包含有:波形矯正提取模塊3、數(shù)據(jù)平衡壓縮模塊4、wrapper特征選擇模塊5、baggingc4.5集成模塊6,所述波形矯正提取模塊3,用于檢測矯正心電波形并將心電波形曲線和背景分離發(fā)展;所述數(shù)據(jù)平衡壓縮模塊4,用于對心電數(shù)據(jù)進行平滑處理和壓縮處理;所述wrapper特征選擇模塊5,用于剔除心電數(shù)據(jù)中的冗余特征;所述baggingc4.5集成模塊6,用于對心電數(shù)據(jù)進行分析預(yù)測,各模塊間通過數(shù)據(jù)總線進行通信連接。
如圖2所示,基于wrapper特征選擇bagging學(xué)習(xí)處理心電圖的方法,具體包括如下步驟:
步驟1:紙質(zhì)心電圖提取
將紙質(zhì)心電圖轉(zhuǎn)化為數(shù)字化心電數(shù)據(jù),設(shè)原始心電紙質(zhì)圖像為f(x,y),邊緣檢測過程中閾值為tk,邊緣檢測獲得的階躍狀邊緣點集合為{g(x,y)},{g(x,y)}包含了波形的上下輪廓以及其他點。形態(tài)學(xué)閉運算的結(jié)構(gòu)元素定義為b。將{g(x,y)}進行形態(tài)學(xué)閉運算并且填補波峰和尖銳波谷后保留的像素點集合定義為{k(x,y)}。
初始化tk,b,{g(x,y)}=φ,{g(x,y)}=φ;
使用梯度算子進行邊緣檢測,梯度也就是一階導(dǎo)數(shù),設(shè)圖像為f(x,y),則圖像在(x,y),出的梯度向量如公式(1)表示:
該向量的大小即梯度值,用
設(shè)向量在(x,y)處的方向角用α表示:
圖像邊緣在(x,y)處的方向垂直于該梯度向量的方向。通常計算中為了減少計算量,使用絕對值方法近似獲得(x,y)處的梯度值,即
由上述梯度算子的公式,sobel梯度算子實現(xiàn),
(1)sobel算子模板
表格(1)為sobel梯度算子水平方向的模板和垂直方向的模板,水平方向的模板用于計算水平梯度值,垂直方向的模板用于計算垂直梯度值。箭頭所指位置為中心點,設(shè)模板移動過程中經(jīng)過的中心點用(i,j)表示,則中心點的八個鄰域分別表示為,(i-1,j-1),(i-1,j),(i-1,j+1),(i,j+1),(i+1,j-1),(i+1,j),(i+1,j+1),則(i,j)處的水平方向的梯度值g表示為:
gx=f(i+1,j-1)+2*f(i+1,f)+f(i+1,j+1)-[f(i-1,j-1)+2*f(i-1,f)+f(i-1,j-1)](5)
垂直方向的梯度值g表示為:
gy=f(i-1,j+1)+2*f(i,j+1)+f(i+1,j+1)+[f(i-1,j-1)+2*f(i,j-1)+f(i+1,j-1)](6)
由公式(4)可知,(i,j)處的梯度值用|gx|+|gy|近似表示。
通過公式(4)、(5)、(6),對{g(x,y)}進行形態(tài)學(xué)閉運算,
根據(jù){k(x,y)}的二維直方圖(灰度一位置)波峰確定初始聚類中心m1,m2,...mn,按照距離最近的原則,根據(jù)簇中對象的平均值(聚類中心),將每個對象賦給最類似的簇,更新簇中的平均值,即重新計算每個簇的平均值。
據(jù)公式k-means聚類平方誤差準(zhǔn)則,即公式:
計算:若e發(fā)生變化轉(zhuǎn)到步驟2.3,若e不再發(fā)生變化則結(jié)束。
經(jīng)過基于sobel_mco篩選機制的k-means算法,可以做到聚類前的預(yù)處理,盡可能多的保留屬于波形曲線的像素點,并盡可能多的排除無用點,根據(jù)數(shù)據(jù)特點確定的聚類中心可以使得聚類過程向著預(yù)期目標(biāo)—即波形曲線和背景的分離發(fā)展。
步驟2:將步驟1提取的數(shù)字化心電數(shù)據(jù)進行平衡處理
基于步驟1方法提取的心電數(shù)據(jù),在臨床數(shù)據(jù)分析中,得到的數(shù)據(jù)往往存在偏性,即陽性數(shù)據(jù)和陰性數(shù)據(jù)比例不平衡。如果數(shù)據(jù)不平衡,分析得到的結(jié)論可能會產(chǎn)生偏倚。比如在判別分析中,陽性數(shù)據(jù)如果多于陰性數(shù)據(jù),那么分類的結(jié)果會更易于偏向陽性數(shù)據(jù),造成靈敏度度較高、特異度較低的結(jié)果。因此需要對獲得的醫(yī)療數(shù)據(jù)進行平衡。
s-c4.5-smote是smote的改進方法,它通過引入合成少數(shù)樣本技術(shù)和簡單隨機抽樣方法來提高wrapper方法的效率。因此,為了提高bagging學(xué)習(xí)的泛化能力,冗余特征也必須盡可能的減少。
首先按照等概率進行數(shù)據(jù)抽樣(抽樣比例1—100%),其中我們選取c4.5作為評價函數(shù)。通過比較最合適的抽樣比例,對數(shù)據(jù)集進行抽樣,然后應(yīng)用合成少數(shù)樣本方法,每個類的數(shù)據(jù)集的大小幾乎相互平衡。其中smote的原理為:
假設(shè)有少數(shù)類樣本,每一個樣本x,搜索其k(通常取5)個少數(shù)類最近鄰樣本;若向上采樣的倍率n,則在其k個最近鄰樣本中隨機選擇n個樣本,記為y1,y2,,...,yn;在少數(shù)類樣本x與yj(j=1,2,...,n)之間進行隨機線性插值,構(gòu)造新的少數(shù)類樣本pj。
pj=x+rand(0,1)×(yj-x),j=1,2,...n(9)
式中,rand(0,1)表示區(qū)間(0,1)內(nèi)的一個隨機數(shù)。將這些新合成的少數(shù)類樣本點合并到原來的數(shù)據(jù)集里即可以產(chǎn)生新的訓(xùn)練集。
通過s-c4.5-smote方法,不僅可以提高效率,并且不影響預(yù)測的準(zhǔn)確性,其步驟描述如下
輸入:數(shù)據(jù)集d,學(xué)習(xí)器c4.5。
1.數(shù)據(jù)集d中的元素總數(shù)為n
2.使用隨機數(shù)函數(shù)從1到n生成隨機數(shù)r。如果r未被標(biāo)識為未選擇,則將其標(biāo)識為已選擇并將r添加到樣本。然后重復(fù)上述步驟,直到選擇m個(采樣比)樣本。
3.數(shù)據(jù)集d用于通過c4.5算法預(yù)測采樣效果按照采樣率10%-100%,并與采樣臺配合選擇最高的效率(實驗部分記錄在下面)以確定新的數(shù)據(jù)集d'。
4.對于新數(shù)據(jù)集d',找到每個最近鄰的k個基于過采樣率n的稀有類樣本,然后n個樣本隨機選擇。根據(jù)等式(9),n個新的罕見例子是生成使用每個樣本的罕見例子及其選擇的n個病例。
輸出:新數(shù)據(jù)集d'
步驟3:wrapper特征選擇方法篩選特征集
特征選擇是指從d維的特征f中選擇一個d維子集,該子集在f的所有維數(shù)為d的子集中使某個準(zhǔn)則函數(shù)j是最優(yōu)的。特征選擇的兩個重要方面是搜索策略和準(zhǔn)則函數(shù)。wrapper方式是考慮具體的學(xué)習(xí)算法,由分類器的結(jié)果來評價特征好壞選擇出最終的算法達到較高的特征子集,首先假如有個d特征,那么就會有2d種特征組合,每種組合對應(yīng)了一個模型。
搜索策略:前向搜索和后向搜索
初始化特征向量f為空(f=φ)
循環(huán)直到到達閾值或者循環(huán)n趟
令f等于訓(xùn)練誤差最小的fi
輸出最終訓(xùn)練誤差最小的特征向量的子集,其中評價方法使用后續(xù)的機器學(xué)習(xí)算法。
步驟4:醫(yī)療數(shù)據(jù)分析
在本發(fā)明中用于心電圖分析預(yù)測的算法是bagging-c4.5,使用bagging技術(shù)對決策樹c4.5進行集成,可以有效的優(yōu)化c4.5的不穩(wěn)定性,提高預(yù)測效果。子分類器設(shè)計—c4.5決策樹,c4.5具有幾個優(yōu)點:對訓(xùn)練集敏感,適合集成學(xué)習(xí);訓(xùn)練模型時不需要過多先驗知識;對需分類樣本處理較簡單,有較好的時間優(yōu)勢。因此本文選擇決策樹子分類器進行集成實現(xiàn)分類預(yù)測。
子分類器設(shè)計—c4.5決策樹,算法原理:設(shè)訓(xùn)練樣本集為s,樣本共有n類,記為c={c1c2,...,cn}。則樣本集合s的不確定程度即信息熵(entropy)如式(10)所示。
式中,pi表示訓(xùn)練樣本集合中屬于第i類的概率。若a為數(shù)據(jù)對象屬性,具有v個不同值{a1,a2,...,an},則相應(yīng)可將s劃分為v個子集{s1,s2,...,sv};其中sj由s中樣本屬性a值為aj的樣本構(gòu)成。設(shè)sij是子集sj中類ci的樣本數(shù)。根據(jù)屬性a劃分的熵為:
項
式中,pij表示sj中樣本屬于類ci的概率。則屬性a的信息增益為:
(gain(a)):gain(a)=i(s)-e(a)(13)
每次選擇增益值最大的屬性作分支節(jié)點即可。為了避免傳統(tǒng)決策樹(id3算法)屬性多值情況所占優(yōu)勢,常以信息增益率(c4.5算法)作為選擇分支屬性的標(biāo)準(zhǔn)。
ratio(s,a)=gain(s,a)/split(s,a)(14)
式中,
訓(xùn)練過程按照上述分支屬性選擇方法,自頂向下形成決策樹分類器。內(nèi)部節(jié)點表示分支屬性,葉節(jié)點代表類。決策樹分類器形成后,從根到葉節(jié)點提取合取范式,形成分類規(guī)則
采用bagging方法對c4.5算法進行集成,其主要思想如下:
給定一數(shù)據(jù)集l={(x1,y1),..,(xm,ym)},基礎(chǔ)學(xué)習(xí)器為h(x,l),如果輸入為x,就通過h(x,l)來預(yù)測y,現(xiàn)在,假定有一個數(shù)據(jù)集序列{lk},每個序列都由m個與l從同樣分布下得來的獨立觀察組成,任務(wù)是使用{lk}來得到一個更好的學(xué)習(xí)器,它比單個數(shù)據(jù)集學(xué)習(xí)器h(x,l)要強,這就要使用學(xué)習(xí)器序列{h(x,lk)}。如果y是數(shù)值的,一個明顯的過程是用{h(x,lk)},在k上的平均取代h(x,l),即通過氣ha(x)=elh(x,l),其中el表示l上的數(shù)學(xué)期望,ha的下標(biāo)a表示綜合,如果h(x,l)預(yù)測一個類j∈{1,...,j},于是綜合h(x,lk)的一種方法是通過投票,設(shè)mj={k,h(x,lk)=j(luò)},使
bagging算法的偽碼描述如下:
輸入訓(xùn)練集s={(x1,y1),...,(xn,yn)},弱學(xué)習(xí)器c4.5,訓(xùn)練的最大輪數(shù)t,
輸出:集成預(yù)測模型,
(1)s'=bootstrapsampleformd”//從a中得到的數(shù)據(jù)集d”中采用boostrap方法抽取m個訓(xùn)練例組成子集s';
(2)將抽樣后的數(shù)據(jù)集在c4.5算法上學(xué)習(xí)ht:x→y0//在s'上訓(xùn)練c4.5分類器,得到第t輪的預(yù)測函數(shù)ht;
(3)若t<t,回到(1),并令t=t+1,否則轉(zhuǎn)(4);
(4)將各預(yù)測函數(shù)h1,h2,…,ht集合生成最終的預(yù)測函數(shù):
ha(x)=sign(∑hi(x))(16)
通過對c4.5分類器的集成,可以有效提高分類器的泛化能力,使預(yù)測結(jié)果更加準(zhǔn)確。
以上所述的僅是本發(fā)明所公開的基于wrapper特征選擇bagging學(xué)習(xí)處理心電圖的方法的優(yōu)選實施方式,應(yīng)當(dāng)指出,本發(fā)明提供的方法除了可以應(yīng)用在心電數(shù)據(jù)上還可以應(yīng)用于其他多種醫(yī)療數(shù)據(jù),還應(yīng)當(dāng)指出,對于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明創(chuàng)造構(gòu)思的前提下,還可以做出若干變形和改進,這些都屬于本發(fā)明的保護范圍。