張悅,陳真誠,梁永波,朱健銘
1.桂林電子科技大學電子工程與自動化學院,廣西桂林541004;2.桂林電子科技大學生命與環境科學學院,廣西桂林541004
心房顫動(簡稱房顫)是一種常見的心臟疾病。房顫患者的體征包括脈律不齊、脈搏短絀、第一心音強弱不等、節律絕對不規整等[1]。在傳統的房顫診斷中,醫生通過查看心電圖(Electrocardiography,ECG)判斷房顫的發生,但此診斷方式帶有主觀性,且耗時耗力。Kora 等[2]基于ECG 使用Cuckoo Search 算法來實現自動識別房顫;王凱等[3]基于ECG 的自動心律失常檢測模型能夠有效監測心臟異常房顫信號的ECG 信號特征。對于房顫監測的困難主要在于陣發性房顫,此類房顫的特點是突發突止、持續時間短,24 h 動態心電圖常作為首選的監測方法。李芳等[4]通過分析總結房顫的心電散點圖特征,分析24 h 動態心電圖來診斷房顫。武求花等[5]運用Lorenz-RR散點圖(Lorenz散點圖)與時間-RR 間期散點圖(時間散點圖)及逆向技術相結合的方法,快速識別不同發作時間的PAF,為臨床提供更快更準確的心電診斷技術。
目前國內外對于房顫識別的研究大多基于ECG,但ECG 設備普遍有操作復雜、攜帶困難、價格較高、多通道等局限性。光電容積脈搏波描記法(PPG)是使用激光對待測流體或固體的體積進行檢測與記錄的方法,可以用來監測毛細血管中血液的體積變化[6]。有研究表明,PPG 信號與ECG 信號有很高的相關性[7]。PPG 方法采集信息容易、方便攜帶,相較于ECG 方法,PPG 更加擅長長期監測。本文從脈搏波波形中提取房顫相關特征參數,使用機器學習算法構建心房顫動識別模型,以探尋基于脈搏波識別房顫的有效方法。
將心房顫動狀態脈搏波與健康狀態脈搏波的波形進行對比分析,可發現二者間有明顯不同。主要區別在于房顫發生時脈搏波的脈沖寬度(Pulse-Width, PW)、峰峰間隔(Peak-to-Peak Interval, PPI)、收縮期面積(Systolic Area,SA)會明顯與相鄰時間下同類特征的平均值有較大差別。其中每次房顫發生時,PPI會出現一次低于、一次高于平均PPI值的情況;PW和SA都會出現一次明顯低于平均值的情況。
通過查閱文獻,本文還選取了增強指數(Augmentation Index,AI)、脈搏波上升導數最大處至重搏波峰值的時間間隔(Half Rise to Dicrotic Notch,HRDN)、拐點面積比(Inflection Point Area, IPA)3 種與房顫疾病相關的特征類型,這3類特征參數能作為受試者是否可能發生房顫的判斷因素。
心房顫動的發生與高血壓高度相關,心臟由于人體長期血壓過高將造成心房電傳導延遲、左心室肥厚、左心房功能異常、左心房擴大等現象[8]。血壓的增高會導致動脈的老化進程加速[9]。動脈老化將引起動脈的僵硬度提升,脈搏波傳導速度會隨著動脈僵硬度的提升而加快,它的加速使得外周動脈到近端大動脈的反射波提前回傳,最終使脈搏波波形變化[10]。AI可以定義為PT2/PT1,其中PT2是收縮壓后期振幅,PT1是收縮壓早期振幅。已有研究表明,脈搏波特征中的增強指數AI就可以反映出動脈僵硬度的變化,且容積脈搏波的AI與主動脈AI相關[11],故選用此類特征值。
有研究表明,脈壓差的增大,將導致動脈牽拉的加重,血管壁彈性成分容易疲勞和斷裂,這將造成內膜損傷,并很有可能進一步提高動脈僵硬和血管栓塞發生的可能性。內皮功能減退可能導致房顫的發生[12]。因此,將能夠反映脈壓的HDRN 列為房顫的判斷因素之一[13]。
房顫病人與正常人的外周血管總阻力(Total Peripheral Resistance, TPR)有明顯的區別[14]。有研究發現IPA能夠反映TPR指標。IPA定義為脈搏波中第二個峰與第一個峰的面積之比(SB/SA),與脈搏波反射強度有較強的相關性。動脈系統中,各部分間阻抗不匹配將出現脈搏波反射。已知,有九成左右的TPR 存在于小動脈處,小動脈收縮將使得TPR變化,并造成阻抗不匹配,由此引發的脈搏波反射強度的變化將使IPA 發生變化[15]。本文所提房顫相關的各特征參數示意如圖1所示。

圖1 脈搏波的特征參數Fig.1 Characteristic parameters of pulse wave
實驗數據來源于美國麻省理工學院MIMIC公開數據庫中房顫患者(通過ECG 確診)以及健康人的PPG數據。數據經篩選、分段、歸一化等預處理,得到6 857 例10 s 脈搏波數據段,數據樣本中房顫狀態PPG 樣本共2 737 例,非房顫狀態PPG 樣本共4 120例。將樣本數據分成房顫與非房顫兩組并標記標簽,提取PPG 數據中與房顫相關的6 類特征參數,使用BP 神經網絡、隨機森林、支持向量機(SVM)作為分類器對數據進行房顫的識別分類。通過對比分析各個分類器的實驗結果,探尋效果更佳的識別房顫方法。
MIMIC 數據庫中下載的脈搏波數據經預處理后,得到歸一化的PPG數據可視化樣例(每段10 s,采樣頻率為125 Hz)如圖2所示。將房顫狀態的脈搏波數據標記為正類,非房顫狀態的脈搏波數據標記為負類。
提取PPG波形中PW、PPI、SA、AI、HRDN、IPA共6 類特征作為分類器的輸入項進行房顫識別分類實驗。
雖然有一些研究表明MAOIs、TCAs、SSRIs、SNRIs在不同藥物類型方面,以及同一類型不同藥物方面有療效間的差異,但大量的比較研究整體上沒有發現在這些方面上的明顯差異。而基于第二代抗抑郁藥物(SSRIs和SNRIs)具有比第一代抗抑郁藥物(單胺類氧化酶抑制劑和三環類抗抑郁藥物)具有更好的安全性和耐受性,因此使用更為廣泛,常被推薦用于急性期的初始治療。
本文使用BP 神經網絡算法、SVM 算法、隨機森林算法,以PW、PPI等6類特征參數作為輸入,樣本是否發生房顫現象作為輸出,分別構建3 種分類器,并將對分類效果進行評估。

圖2 不同狀態下的脈搏波波形Fig.2 Pulse waveforms in different statuses
BP 神經網絡屬于多層前饋的神經網絡,其含有輸入層、一層及以上的隱含層和輸出層。BP 神經網絡的輸入信號前向傳遞,誤差反向傳播,若輸出層無法得到期望輸出,則轉向反向傳播,通過預測誤差對網絡權值和閾值進行修正,可以使預測輸出向期望輸出持續逼近[16]。隱含層各神經元節點采用Sigmoid 函數作為激勵函數。實驗中,將BP 神經網絡的隱含層設為兩層,第一層含100 個神經元,第二層含50 個神經元;最大迭代次數epochs 設為20 000次時,BP 神經網絡對于房顫脈搏波的識別率達到92.3%。
SVM 是一種常用的機器學習方法,在統計樣本少的情況下,能夠處理二分類的問題。SVM 的原理是找到一個最優分類超平面,其在能夠達到分類要求和精度的基礎上,還能夠最大化分類面異側的空白區域,可以完成線性可分數據的最優分類。
對于本文中關于發生房顫與否的二分類問題,T={(x1,y1), (x2,y2),…,(xn,yn)}是本次實驗所使用的樣本集。xi∈RP,yi∈{ -1, 1},i= 1, 2,…,n;P是各樣本的維數;n是各樣本的個數。超平面方程是:
其中,ω是權向量,b是閾值。經過歸一化,若滿足yi(ω?xi+b) ≥1(i= 1, 2,…,n),即可得出這個超平面對樣本的分類已經完成[17]。本文選用高斯徑向基作為內核,其計算復雜度低,且參數設置簡單,廣泛運用于各個領域的研究。本實驗中,SVM 對于房顫識別分類的準確率達到89.1%。
將Bagging 集成構建于決策樹基學習器上,并在決策樹訓練中加入隨機屬性的選擇,即可構成隨機森林。決策樹模仿樹的結構進行判斷決策,屬于較普遍的機器學習算法。生成一棵決策樹,包括決策樹生成、剪枝、特征選擇三大內容。特征選擇所表達的分裂標準將在很大程度上控制決策樹的泛化誤差,它是非常關鍵的一個部分。Bagging 基于自助采樣法,是一種經典的并行式集成學習方法。Bagging在訓練集合中,將樣本有放回地隨機抽取,每一輪的分訓練集的樣本,都是從訓練集中抽取的N個樣本。一輪訓練集中,某一訓練樣本被抽取0 至N次。結果集的產生需要將每次抽取出的子集作為算法的輸入,產生預測函數,再需要經過T輪循環。最后通過投票,解決預測函數的分類問題[18]。隨機森林算法的主要參數設置中,在考慮模型的準確度與穩定度時,還需兼顧模型效率,我們將樹的個數n_estimators設置為100;葉子節點上應有的最少樣例數min_samples_leaf 設置為4;分裂內部節點需要的最少樣例數min_samples_split 設置為8 時,隨機森林識別房顫的分類準確率達到95.2%。
數據集中有70%的樣本作為訓練集;15%的樣本作為驗證集;15%的樣本作為測試集。訓練集作為構建預測模型的基礎,訓練樣本的數量將影響機器學習算法模型的預測能力。測試集作為檢驗模型性能的分析樣本。
混淆矩陣中,TP(True Positives)是將房顫脈搏波判定為房顫;FP(False Positives)是把非房顫脈搏波判定為房顫;FN(False Negatives)是把房顫脈搏波判定為非房顫;TN(True Negatives)是非房顫脈搏波判定為非房顫。
通過以下公式進行性能度量:

在評價分類算法的指標中,準確率是最常見的衡量指標之一,分類器的準確率越高即表明該分類算法的效果越好。但由于本文的數據源中,房顫數據與非房顫數據的樣本不平衡,還需引入精準率和召回率兩個指標。如上文公式所示,精準率代表所有預測為正類的結果中,真實正類的比例。召回率代表所有真實正類中,預測正確的比例。同樣,精準率和召回率的值越高,越能夠表明該分類算法優質。本文還引入了F-Score 指標,它將精準率和召回率進行加權調和平均,能夠為精準率和召回率提供一個綜合的評判標準[19]。

基于實驗結果及評價指標可得如表1 所示的結果,隨機森林模型的準確率最高,達到了95.2%,BP神經網絡的準確率為92.3%,SVM 方法的準確率最低只有89.1%。通過對比能夠反映綜合評價指標的F-Score可以看出,隨機森林的F-Score為93.9%,高于另外兩個分類模型。且隨機森林模型的各項指標與其他模型相比,均保持了較高的水平。

表1 各分類器的性能指標Tab.1 Performance indicators of each classifier
在ROC空間中,ROC曲線越凸向左上方,表明該算法所能達到的分類效果越好;ROC 曲線越靠近對角線,則分類器越趨向于隨機分類器。筆者將3種分類器的分類效果進行比較,結果如圖3所示。
Area Under the ROC Curve(AUC)能夠準確反映分類器的性能,AUC 值越大,則此分類器的性能越好。如圖3 所示,灰色虛線代表AUC=0.5,SVM 的分類結果更靠近虛線,其AUC=0.938,隨機森林的ROC曲線最接近左上角即(0,1)點的位置,其AUC值達到了0.986。綜合以上評價分析結果可得,隨機森林模型對于房顫狀態脈搏波的識別分類效果優于SVM和BP神經網絡模型。

圖3 接收者操作特征曲線Fig.3 Receiver operating characteristic curve
本次研究結果表明,PPG信號可用于判定房顫的發生,是一種可行的替代ECG 檢測房顫的方法;基于本文選用的6類脈搏波特征參數,使用機器學習算法對脈搏波進行分類,能夠有效區別出脈搏波的房顫狀態與非房顫狀態。本文還通過準確率、精準率、召回率、F-Score、AUC 值等評價指標評估模型效果,結果表明,使用隨機森林分類方法判別房顫發生的效果優于SVM 和BP 神經網絡,其準確率達到了95.2%。
下一步工作中,可基于目前的研究,分析更多的特征點,嘗試繼續提升分類效果。由于本文所使用的臨床數據來源于MIMIC 數據庫,缺乏相關校準記錄等信息,之后可使用精確的傳感器自主獲取數據,以期得到更好的房顫識別分類效果。