卞水榮,顧媛媛,趙強
(徐州醫科大學醫學信息學院,江蘇徐州221000)
隨著社會節奏的不斷加速,人們的工作壓力越來越大,疾病發生概率也越來越高,心血管疾病是發病率較高的疾病之一。據調查,我國現有的心血管患者數量大約是2.3億,總患病率達到20%左右,并且還在在逐年上升中。據相關研究預測:到2030年,僅由于人口老齡化與人口增長,中國每年的心血管疾病事件數將上升超過50%,如果考慮高血壓、高膽固醇血癥以及糖尿病的增長所導致年心血管事件數將額外增長23%,如果不加以控制,在2030年中國心血管疾病患者將增加2130萬人,心血管疾病死亡人數將增加770萬人[1-2]。因此,心血管疾病的盡早診斷和治療對國民健康來說就顯得尤其重要。
在心血管疾病的診斷中,心電信號的參考價值最大,而心電圖檢測正是目前心電信號診斷的最常用的醫療檢測方法,具有廉價、易行、無創等優點[3-4]。它與以前的聽診相比,提供了更加精準的心臟疾病的診斷依據。然而傳統的人工讀心電圖診斷心血管疾病的方法效率低,受到醫生主觀因素的影響大,有一定誤診率。如果能夠在醫生做出診斷之前對所采集的心電信號進行智能分析分類,提供一定的診斷參考支持,那么將會大幅提高醫生的工作效率以及診斷準確率。
1959年世界上第一個用于區分正常與異常ECG的程序由美國人Pinbeopr等人完成,是人類對心電信號自動分析的最早研究。隨著科學技術、方法的發展,心電信號的自動分析和診斷技術不斷得到改進和完善,實現了從理論研究到應用的跨越。
心電信號的分類是幫助醫生實現心電信號智能診斷的基礎,這些年的發展已經有很多分類方法,比如聚類算法、神經網絡、支持向量機。
1)聚類算法,是一種無監督的方法。經典的是K-means和K-medoids算法,它將數據分為k類,各類內部數據間距離近,各類之間數據間距遠。距離的類型有閔可夫斯基距離、曼哈頓距離、歐幾里德距離、切比雪夫距離[5]。何云斌等人提出了基于均方差屬性加權的遺傳模擬退火K-means改進聚類算法[6],該算法對心電信號進行了有效分類,準確率高于傳統的K-means算法。
2)神經網絡方法,可以實現并行處理ECG特征的大量判斷規則。徑向基函數(RBF)網絡是其中的一種,該網絡結構簡單,學習的收斂速度快。RBF網絡對心電信號的分類能力強,速度快[7]。
3)支持向量機,目前已成為主要的模式識別方法之一,應用范圍廣泛,可以在模型復雜性和學習能力之間找到最佳平衡點。
心電數據庫作為現在醫學數據庫的重要組成部分之一,發揮著臨床研究的重大意義及價值,其往往作為研究心電自動分類診斷研究的主要數據源。為了保證心電數據庫中數據的權威性,它的建立必須有嚴格標準和必要的技術要求,包括醫學儀器設備標準、醫學分類及診斷標準。
目前有3個國際公認的可作為心電權威的標準數據庫,分別是美國麻省理工學院MIT-BIH的心率失常數據庫、美國心臟學會的AHA心電數據庫、歐洲的ST-T心電數據庫[8]。其中MIT-BIH心率失常數據庫采集了1975-1979年間在Bethlsrael醫院心率失常實驗室的4000多個動態心電圖數據。數據庫中含48個記錄,每個記錄的時間可達到30多分鐘。每條記錄有兩個導聯的數據,第一導聯通常是肢體導聯MLII,第二導聯通常是胸前導聯V1或V5。數據庫中既包含常見的心電圖波形,為“100”系列:#100~#109、#111~#119、#121~#124,共 23組數據;也有部分罕見的心率失常心電圖波形,為“200”系列:#200~#203、#205,#207~#210、#212~#215、#217、#219~#223、#228、#230~#234,共 25組數據。本研究就是基于MIT-BIH心率失常數據庫進行的。
MIT-BIT心率失常數據庫中主要心搏類型如表1所示:

表1 MIT-BIT心率失常數據庫主要心搏類型
在各個樣本中的主要心搏類型數量統計如表2所示。
為保證有足夠的實驗數據,本研究選擇了8類主要的心搏類型?!罢P牟㎞”選擇的是115號樣本;“左束支傳導阻滯心搏L”選擇的是111號樣本;“右束支傳導阻滯心搏R”選擇的是118號樣本;“房性早搏A”選擇的是232號樣本;“室性早搏V”選擇的是208號樣本;“心室融合心跳F”選擇的是213號樣本;“起搏心搏P”選擇的是107號樣本;“起搏融合心跳f”選擇的是104號樣本。
通過調用matlab命令文件“rddata.m”,通過讀取.atr、.dat、.hea文件的信息讀取并展示心電信號,調用matlab命令文件“rddata.m”的結果如圖1所示。
主成分分析方法(Principal Component Analysis,PCA)是一種數學分析方法,應用領域很廣,常用于多變量問題的分析。這一概念最早由Karl parson在1901年提出,并且被用于分析非隨機變量。在1933年Hotelling推廣這一概念,將該方法用于分析隨機變量[9-10]。主成分分析方法(PCA)是在初始特征空間中經K-L變換找出新的較低維坐標系表示原特征空間。假設原特征矩陣為XN×M,則PCA的目標就是提取特征降維成,其中L<M。L是所降到的維數,該L維特征向量因為是主成分,所以也可以代表原矩陣。比較常用的一個約束條件是滿足能量大于原始矩陣的90%,即因此,最后的求得降維后的特征矩陣此處A的特征向量是列向量。

表2 各個樣本中的主要心搏類型數量統計

圖1 使用matlab讀取心電信號源文件
Corinna Cortes和Vapnik在1995年首次提出了支持向量機(Support Vector Machine,SVM),用于模式分類和非線性回歸。這種方法結合統計學習理論的VC維理論和結構風險最小化原理,然后依據有限的樣本信息在模型的復雜性和學習能力之間尋求最佳折中,從而獲得最好的推廣能力[11-13]。
文中所用的心電心搏類型分類的數據來源及提取的初始特征向量組數如表3所示。

表3 心電類型來源及提取的特征向量
文中選擇這8類心搏的數據各前80組,組成總的分類數據。再對這8類數據分別賦予類別標簽“1、2、3、4、5、6、7、8”存在類別標簽變量中。將這 8類樣本的前50%組作為訓練集,后50%組作為測試集,即訓練集共有320組、測試集共有320組。我們先通過使用訓練集對SVM進行訓練,再用訓練得到的模型對測試集進行類別標簽預測。SVM分類過程如圖2所示。

圖2 SVM分類過程
文中的SVM采用libsvm-mat-2.89-3版本的工具箱,選擇線性核函數[14-15]。數據在分類前先做歸一化處理。
分類結果如圖3所示,心搏分為8類,圓圈表示實際測試集分類,星號表示預測測試集分類,兩者的重疊越高說明分類準確率越高。此處分類預測的準確率是97.8125%。

圖3 SVM方法對心電信號的分類
為了降低心電初始特征向量的冗余信息,有效提高心電心搏類型的分類準確率,本文使用PCASVM的模式分類方法[16]。該PCA-SVM方法先使用PCA方法對較高維的心電初始特征向量降維,然后再對降維后的心電特征向量進行SVM分類。過程如圖4所示。

圖4 PCA-SVM分類過程
研究提取了含有241個數據點的心電分類波段被記為初始心電特征向量。使用PCA方法對初始心電特征向量進行降維。為了找到最佳PCA下降到的維數,設置迭代PCA次數為20,每次迭代輸出PCA的能量率和SVM預測準確率,最終顯示出分類準確率最高的分類圖形并輸出對應的特征向量所降到的維數及最高分類準確率。
PCA-SVM方法對心電信號的分類結果如圖5所示,PCA-SVM方法分類預測的準確率達到99.0625%,PCA方法使初始心電特征向量維數降到10維。

圖5 PCA-SVM方法對心電信號的分類
本文針對心電信號的分類特點,選用MIT-BIH心率失常數據庫中8類心率失常數據進行多組相同條件下的分類實驗,分別運用SVM模式分類方法和PCA-SVM模式分類方法進行分類。經過實驗發現,SVM模式分類方法的分類準確率為97.8125%,而PCA-SVM模式分類方法的分類準確率為99.0625%,比SVM模式分類準確度提高了1.2%。由實驗數據結果可知,在相同的情況下PCA-SVM模式分類方法相對于SVM模式分類方法確實可以提高心電心搏類型分類的準確率,實現提高心電心搏類型分類準確率的目的。