黃文漢, 張 偉, 胡立剛, 周陳旺, 向丹陽
(同濟大學 電子與信息工程學院, 上海 201804)
睡眠是人體的一項重要的生理過程,占據了生活接近三分之一的時間,睡眠是人體消除身體疲勞的主要方式,在深度睡眠期間,機體可以通過代謝使組織器官自我修復。睡眠質量不佳和相關的睡眠障礙容易導致記憶力減退、精神不振和免疫力下降。此外,很多疾病在潛伏期和征兆期可以從睡眠情況中表現出來,睡眠情況也與疾病的康復息息相關。因此,睡眠的監控和評價在醫學等領域有很大的應用價值,睡眠分期是睡眠監控的一項重要內容。人體的睡眠時期主要可以分為清醒期(Wake period, WAKE)、快速眼動期(Rapid eye movements period, REM)和非快速眼動期(Non-rapid eye movements period, NREM)。其中,非快速眼動期又可以分為1、2、3、4期:1期和2期為淺度睡眠,3期和4期為深度睡眠。傳統的睡眠分期主要是多導睡眠圖方法,也就是利用腦電、眼電和肌電信號來展開分析,但其缺點卻是價格昂貴,操作復雜和對測試者本身睡眠有影響。所以基于便攜式設備測量的心電和呼吸等信號對睡眠進行分期評價成為了現在的研究熱點[1-2]。
目前已有不少基于心電或呼吸信號的睡眠分期的研究,如Wang等人[3]使用長達5 min的心電信號提取的24個特征作為輸入,使用前向序列選擇(SFS)的特征選擇方法和DTB-SVM作為分類器,在WAKE-REM-NREM分類上獲得73.51%的平均準確率。Tataraidze等人[4]使用呼吸信號提取的33個特征,并用bagging分類器進行分類,在WAKE-REM-NREM分類上得到80.38%的平均準確率。 Noviyanto等人[5]使用了基于心電及由心電提取的呼吸信號的特征,使用了隨機森林分類器得到最高79.78%的準確率。而且,時下國內基于便攜式信號對睡眠情況的研究分析也在陸續涌現。如俞夢孫等人基于心電、呼吸和體動等非腦電信號進行參數融合來對睡眠結構分期和對呼吸事件實現檢測[1-2, 6]。
在睡眠監測中,睡眠呼吸障礙占據著顯著位置,因此對于睡眠呼吸障礙患者的睡眠情況進行監測和評價將具有重要的應用意義。當前的睡眠分期研究大部分都是針對健康人,而基于睡眠呼吸障礙患者的心電和呼吸信號的睡眠分期研究迄今為止卻仍不多見,對睡眠監測和分期的準確度就是限制便攜式睡眠監測方案推廣的直觀原因。在本文的研究中,將會探討分析心電和呼吸信號相關特征對睡眠分期結果的影響,以及不同分類器對分期準確率的影響。
本文研究的睡眠分期問題是指,對一個給定的連續的生理體征監測序列s,將其劃分為若干個段segmenti,i=[1…M],M為segment的數量,且每個segment屬于某一個睡眠階段值Sk,k∈[1,2,3],本文中S1=WAKE,S2=REM,S3=NREM。
文中涉及的算法流程設計則如圖1所示,流程步驟可依次表述為:
(1)將原始數據進行預處理和分段。
(2)對分段的數據進行特征提取。
(3)劃分訓練集與測試集。
(4)在訓練集上進行模型訓練。
(5)對模型進行測試,獲得睡眠分期輸出。
此外,將基于訓練集數據進行特征選擇,輸入模型的特征來自特征選擇的結果。
本文中實驗所用的數據來自于ST.Vincent University Hospital Sleep Apnea DataBase[7]。從該數據集中選取23位成人監測對象的多導睡眠圖數據。23位監測對象(19男,4女)年齡在28~68歲之間,BMI在25.1~42.5 kg/m2之間,AHI在1.7~90之間,可能帶有睡眠呼吸紊亂癥狀。心電的測量導聯是V2,測量時間隨機分布在6個月之間,每個樣本的平均測量長度在7 h左右。該數據集樣本共選擇出16 545個30 s時間段。其中,睡眠時期數據見表1。

圖1 睡眠分期流程圖Fig. 1 The flow chart of sleep stage classification

表1 數據集不同睡眠時期比例Tab. 1 Dataset of the proportions of sleep stages %
由于心電信號是帶有一定周期性的生物電變化信號,本身的強度較為微弱,容易受到人體其它生理系統、測量電極和周邊環境的影響,混入噪聲。研究中,多會涉及的噪聲種類[8]可見如下:
(1)工頻干擾。是電信號中常見的噪聲之一,與供電的頻率有關,一般是50 Hz。
(2)基線漂移。一般是由于人體的呼吸導致電極位置周期性地變化而相伴產生,特點是變化周期要明顯低于心電的頻率。
(3)電極噪聲。產生的原因往往是傳感器測量電極的不穩定,比如測量時,電極接觸不良、松動或脫落等。
(4)肌電干擾。一般是由于測量對象的肌肉縮動而產生,此類噪聲與高頻的高斯噪聲類似。
為了解決噪聲干擾,采用了中值濾波器和截止頻率為30 Hz的低通濾波器。而呼吸信號由胸廓呼吸帶測量,實驗中采用了截止頻率為2 Hz的低通濾波器對信號進行測量,并將信號劃分為150 s的數據段,采用閾值方法去除部分信號異常的數據段。
在睡眠分期過程中,需要對每個時間段的睡眠進行評價,因此在特征提取環節前,先將ECG信號劃分為30 s的時間片,而呼吸信號劃分為150 s的時間片。特征提取的種類包括心電和呼吸信號的時域特征、頻域特征及耦合特征。
心電信號需要使用小波方法先求取其R峰[9],然后根據RR序列計算特征,而心電和呼吸信號的時域特征可見表2。對于呼吸信號,在經過低頻濾波后,結合閾值方法得到其呼吸波峰與波谷,進而計算出時域特征。

表2 心電與呼吸信號時域特征Tab. 2 Time domain features from ECG or respiratory signal
此外,心電與呼吸信號頻域特征也是特征標識的重要部分。本文中主要使用短時傅里葉變換來求出信號對應頻率范圍的頻譜能量[10],這一部分的特征呈現即見表3。

表3 心電與呼吸信號頻域特征Tab. 3 Frequency domain features from ECG or respiratory signal
考慮到心電與呼吸之間的關聯性可能表征睡眠結構的不同時期,為此研究中采用了心肺耦合的方法來提取心電與呼吸信號中的耦合特征,獲取的特征的方法參考了Thomas等人[11]的研究,在本文中將心電提取呼吸信號轉換為胸廓測量的呼吸信號,提取的特征內容見表4。

表4 心電與呼吸耦合特征Tab. 4 Features from cardiorespiratory interaction
經過特征提取后,為了整合得到對當前學習任務有用的特征,需要對這些特征進行預處理,也就是特征選擇。利用這一過程,可以從心電與呼吸信號提取的特征集合中選擇出與分類任務相關的特征子集。
在本論文中,采用了序列前向選擇的方法,即對于給定的特征集合f1,f2,…,fn,可以將每個特征作為一個候選子集,先對所有n個特征選擇其一進行評價,在結束一輪評價以后將最優評價的特征作為第一輪的選定集,例如f3;接著開始第二輪選擇,在剩下的n-1個特征中,依次將每個特征加入選定的特征集,再對這個構建形成的特征集進行評價,當歷經第二輪評價后,亦將表現最優的特征加入選定的特征集。而后,在循環往復中,按照相同的操作完成n輪評價,并且分別得到1,2,…,n個特征作為選定集的評價結果。最后,選擇評價結果最優的特征集作為特征選擇的結果集,并將其輸入到分類器中。
1.6.1 支持向量機
支持向量機(SVM)[12]是一種有監督學習方法,目前已廣泛運用在統計分類和回歸分析領域中。同時,SVM屬于一般線性分類器,其特點是可以同時最小化經驗誤差與最大化幾何邊緣區。在研究過程中,將基于結構風險最小化理論而在特征空間中構建最優超平面,使得學習器得到全局最優化,并且在整個樣本空間的期望將以某個概率滿足一定上界。針對線性不可分的情況,支持向量機可以通過核函數將特征向量映射到一個更高維的空間中,并在空間內建立一個最大間隔超平面,分隔超平面與分開數據的2個互相平行的超平面間隔越大時,分類器的總誤差就越小。本文在數據分析中采用了LinearSVM,具體優點就是參數較少,速度快。
1.6.2 AdaBoost
AdaBoost是Boosting算法族中的典型代表。Boosting算法可以將一組弱學習器提升為強學習器[13],研究可得算法步驟如下[14]:
(1)先從初始訓練集訓練出一個基學習器。
(2)根據基學習器的表現對訓練樣本分布進行調整,使得先前在基學習器分類中出錯的訓練樣本可以在后面受到更多關注。
(3)基于調整后的樣本分布來訓練下一個基學習器。
(4)重復(2)和(3)中的步驟,直到基學習器的數目達到原先指定的值,最終將這T個基學習器進行加權結合。
而AdaBoost采用了指數損失函數。第一個基分類器h1是通過將學習算法直接用于初始數據分布而得,此后迭代生成ht和αt,基于分布Dt產生的基分類器ht的權重αt應使得αtht最小化指數損失函數, 由此推得數學計算公式為:
exp(αtht|Dt)=Εx~Dt[e-f(x)αtht(x)]
(1)
其中,f(x)是真實函數。
1.6.3 隨機森林
隨機森林(Random Forest)[15]是在以決策樹為基學習器構建Bagging集成的基礎上,進一步在決策樹的訓練過程中引入了隨機屬性選擇。傳統決策樹在選擇劃分屬性時是在當前結點的屬性集合中選擇一個最優屬性;而在隨機森林中,對基決策樹的每個結點,則是先從該結點的屬性集合隨機選擇一個包含k個屬性的子集,再從子集中選擇一個最優屬性用于劃分。
隨機森林具有易于實現和計算量相對較小的特點,但其基學習器的多樣性不僅來自樣本擾動,還來自屬性擾動,這就使得最終集成的泛化性能可以通過個體學習器之間的差異度增加而獲得更大提升。
在實驗中,需要對每個30 s長的數據段進行睡眠分期評價,判斷其屬于WAKE-REM-NREM時期之一。在對數據賦以預處理和分段設計后,把實驗數據集按照測試編號奇數和偶數劃分為A,B兩部分,即A部分包括002、006、008、010、012、014、018、020、022、024、026序號的11個測試樣本,B部分包括003、005、007、009、011、013、015、017、019、021、023、025序號的12個樣本。在A部分數據集上進行特征提取和特征選擇,然后根據選取出來的特征對B部分實施特征提取和采用留一法進行分類檢驗,即選取B部分中的一個樣本作為測試集,其余所有的A與B部分樣本也作為訓練集對模型進行訓練,最后求取平均值。
在采用隨機森林分類器對樣本進行分類后,得到71.9%的準確率(Kappa=0.36),與之前的研究作對比,可得結果見表5。由此,發現準確率有所提高,但是Kappa值稍有下降。實驗結果表明僅用心電和呼吸數據進行睡眠分期是具備可行性的,可以獲取一定準確率的分期結果。
表5睡眠分期結果對比(WAKE-REM-NREM)
Tab.5Comparisonofsleepstageclassificationresults(WAKE-REM-NREM)

文章準確率/%Kappa采用數據樣本數/人RedmondandHeneghan(2006)[10]670.32ECG/EDR/RIP37Willemenetal(2015)[16]700.41ECG/RIP25本文71.90.36ECG/RIP23
圖2是數據集中ucddb005號患者的睡眠分期結果示意圖(采用隨機森林分類器),由分期結果中可以看到,算法區分WAKE和NREM時期較為準確,而區分REM睡眠結果尚顯遜色,這可能與訓練集中REM睡眠期數據比例較小有關。

圖2 WAKE-REM-NREM睡眠分期結果示意圖Fig. 2 The result of sleep stage classification
實驗中分別采用了SVM、Adaboost和RandomForest三種分類器對選取出的特征進行了研究分析。其中,各個分類器選取的特征見表6。

表6 不同分類器特征選擇表Tab. 6 Feature selection table for different classifiers
研究可知,在訓練集中,屬于WAKE和REM時期的樣本較少,因此對這2個時期的樣本進行了過采樣,使其數量較原始數據增大兩倍,最終可得實驗結果見表7。3種分類器的分類準確度比較接近,但隨機森林分類器的準確度較支持向量機與Adaboost分類器要略高。
表7不同分類器分期結果對比表(WAKE-REM-NREM)
Tab.7Comparisonofsleepstageclassificationresultsofdifferentclassifiers(WAKE-REM-NREM)

分類器平均準確率/%KappaSVM70.40.35Adaboost69.20.25RandomForest71.90.36
傳統的睡眠分期主要依憑多導睡眠圖,價格與操作均限制了其有效推廣,而睡眠呼吸障礙是較為普遍的一類睡眠問題,相關患者對睡眠監測的需求也漸趨迫切。基于便攜式設備即可對采集的心電和呼吸信號來展開分析的方式具有可觀前景,但是目前睡眠評價的準確率卻已成為制約便攜式設備推廣的重要原因。
本文采用了心電和呼吸信號的時域特征、頻域特征和耦合特征來對睡眠呼吸障礙患者的睡眠情況進行分析,并在WAKE-REM-NREM睡眠上獲得了71.9%的準確率(Kappa=0.36),表明從心電和呼吸等信號可以獲取患者的睡眠情況信息,通過心電與呼吸信號來研究睡眠分期具有可行性,但由于準確率距目前多導睡眠圖的標準仍有較大差距,所以在實際應用中仍亟待改進完善。此外,通過不同分類器對實驗中的數據集進行分類比較,發現隨機森林分類器在睡眠分期問題上獲得了比SVM及Adaboost分類器略好的效果。
[1] 楊軍, 俞夢孫, 王宏山, 等. 多參數信息融合實現非腦電的睡眠結構分期[J]. 中國生物醫學工程學報, 2006, 25(3):315-321.
[2] 王海濤, 鄭慧君, 曹征濤, 等. 考慮個體特征的非腦電睡眠分期[J]. 中國生物醫學工程學報, 2010,29(3):161-165.
[3] WANG J S, SHIH G R, CHIANG W C. Sleep stage classification of sleep apnea patients using decision-tree-based support vector machines based on ECG parameters[C]//Ieee-Embs International Conference on Biomedical and Health Informatics. Hongkong:IEEE, 2012:285-288.
[4] TATARAIDZE A, ANISHCHENKO L, KOROSTOVTSEVA L, et al. Sleep stage classification based on respiratory signal[C]//Engineering in Medicine & Biology Society. Milan, Italy: IEEE, 2015:358-361.
[5] NOVIYANTO A, ISA S M, WASITO I, et al. Selecting features of single lead ECG signal for automatic sleep stages classification using correlation-based feature subset selection[J].International Journal of Computer Science Issues, 2011,8(5):139-148.
[6] 吳鋒, 周玉彬, 成奇明,等. 多參數監護中睡眠呼吸事件信息的提取[J]. 中國數字醫學, 2016,11(7):41-43.
[7] HENEGHAN C. St. Vincent's University Hospital / University College Dublin Sleep Apnea Database[EB/OL].[2016-10-28]. https://www.physionet.org/physiobank/database/ucddb/
[8] 余曉敏. 基于心電信號的睡眠呼吸暫停綜合征檢測算法[D]. 杭州:浙江大學, 2013.
[9] QI Haibing, LIU Xiongfei, CHAO Pan. A method of continuous Wavelet transform for QRS vave detection in ECG signal[C]//International Conference on Intelligent Computation Technology and Automation. Changsha:IEEE, 2010:22-25.
[10]REDMOND S J, HENEGHAN C. Cardiorespiratory-based sleep staging in subjects with obstructive sleep apnea[J]. IEEE transactions on bio-medical engineering, 2006,53(3): 485-496.
[11]THOMAS R J, MIETUS J E, PENG C K, et al. An electrocardiogram-based technique to assess cardiopulmonary coupling during sleep[J]. Sleep, 2005,28(9):1151-1161.
[12]BURGES C J C. A tutorial on Support Vector Machines for pattern recognition[J]. Data Mining & Knowledge Discovery, 1998, 2:121-167.
[13]ZHU Ji, ROSSET S, ZOU Hui, et al. Multi-class AdaBoost[J]. Statistics & Its Interface, 2006,2:349-360.
[14]周志華. 機器學習 : = Machine learning[M]. 北京:清華大學出版社, 2016.
[15]LIAW A, WIENER M. Classification and regression by randomForest[J]. R News, 2002,2:18-22.
[16]WILLEMEN T, VARON C, DORADO A C, et al. Probabilistic cardiac and respiratory based classification of sleep and apneic events in subjects with sleep apnea[J]. Physiological Measurement, 2015, 36: 2103-2118.