采用深度學習技術實現睡眠自動分期計算復雜度較高,且需大量數據支撐。本文提出一種基于功率譜密度和隨機森林的自動睡眠分期方法,先提取腦電信號6種特征波(K復合波、δ波、θ波、α波、紡錘波、β波)的功率譜密度作為特征,然后利用隨機森林分類器實現5種睡眠狀態(W、N1、N2、N3、REM)自動分類。采用Sleep-EDF數據庫中健康受試者整晚睡眠腦電數據作為實驗數據,對比了使用不同輸入通道腦電信號(Fpz-Cz單通道、Pz-Oz單通道、Fpz-Cz + Pz-Oz雙通道)、不同分類器(隨機森林、自適應增強、梯度提升、高斯樸素貝葉斯、決策樹、K近鄰)、不同訓練集與測試集劃分方法(2折、5折、10折交叉驗證及單個受試者)對分類效果的影響。實驗結果表明,當采用Pz-Oz單通道腦電信號和隨機森林分類器時效果最好,無論怎樣變換訓練集與測試集,分類準確率都達到90.79%以上,總體分類準確率、宏觀平均F1值、Kappa系數最高分別可達到91.94%、73.2%、0.845,證明該方法是有效的,且不易受數據量影響,具有較好的穩定性。與已有研究相比,該方法分類準確率更高、實現更簡單,適用于自動化。
引用本文: 高群霞, 吳凱. 基于腦電功率譜密度和隨機森林的自動睡眠分期方法. 生物醫學工程學雜志, 2023, 40(2): 280-285, 294. doi: 10.7507/1001-5515.202207047 復制
0 引言
睡眠是人體的重要生理活動,但目前越來越多的人存在失眠、睡眠呼吸暫停等睡眠障礙問題。睡眠分期是睡眠質量評估的前提,是睡眠相關疾病診斷和研究的關鍵步驟[1]。睡眠分期臨床上一般通過專家結合多導睡眠監測(polysomnography,PSG)的數據手動判別實現,極耗時間,且非常依賴專家的經驗程度[2]。因此,研究能夠高效、準確地實現睡眠自動分期的方法具有重要意義。
與睡眠最相關的生理信號是腦電圖(electroencephalogram,EEG),根據EEG可有效檢測睡眠時相[3]。目前,已有許多采用單通道或多通道EEG信號實現睡眠分期的研究,大致可分為兩個方向。一是采用傳統機器學習的方法,先提取出EEG信號中的各種特征,然后設計機器學習分類器來實現自動睡眠分期。郭艷平等[4]用集合經驗模態(ensemble empirical mode decomposition,EEMD)分解方法分解單通道EEG信號,提取出線性和非線性動力學特征,使用極端梯度提升(eXtreme Gradient Boosting,XGBoost)算法實現睡眠5期分類,在SHHS數據集上準確率為79.7%。葉仙等[5]提取EEG信號與眼動信號的精細復合多尺度熵為特征,利用3層支持向量機(support vector machine,SVM)實現睡眠5期分類,準確率達到85.3%。da Silveira等[6]先利用離散小波變換分解Pz-Oz通道EEG信號,然后提取出峰度、偏差、方差3種時域特征,最后利用隨機森林(random forest,RF)分類器對2至6階段睡眠狀態進行分類,準確度和kappa系數分別高于90%和0.8。二是采用深度學習技術,將提取的特征送入自行設計的深度神經網絡實現分類,或直接利用深度學習模型實現端到端自動睡眠分期。Supratak等[7]提出一種自動睡眠分期模型DeepSleepNet,先用卷積神經網絡(convolutional neural networks,CNN)提取特征,然后用雙向長短期記憶網絡(bi-directional long short-term memory,Bi-LSTM)實現分類,在Fpz-Cz通道和Pz-Oz通道EEG信號上測試準確率分別達到82%和79.8%。柏浩冉等[8]提出一種多尺度深度網絡模型的自動睡眠分期方法,采用單通道睡眠EEG信號時準確率達83%。金歡歡等[9]提出一種加入了雙向門限循環單元的深度混合神經網絡模型實現睡眠自動分期,對Fpz-Cz通道的原始EEG數據進行交叉驗證,平均準確率達到86.85%。Sors等[10]提出一種作用于單通道睡眠EEG信號的CNN模型實現睡眠5期分類,在SHHS數據集上準確率達到87%。王天宇等[11]提出一種基于小波變換和Bi-LSTM的睡眠分期方法,先用連續小波變換提取睡眠EEG的時頻圖,然后用VGG網絡提取特征,最后用Bi-LSTM實現分類,在 SHHS 數據集上測試的準確率為85.82%。
總體而言,采用傳統機器學習的方法,近年效果較好的研究都是提取多種特征,經過繁瑣的特征工程后實現,過程較復雜,且準確率不理想。采用深度學習的方法雖然可以直接利用深度神經網絡模型實現特征提取與分類,能在一定程度上改善分類效果,但需大量數據支撐,計算復雜度也較高。基于上述原因,本文提出一種基于功率譜密度(power spectral density,PSD)和RF的自動睡眠分期方法,先提取EEG信號各波段的PSD特征,然后利用RF算法實現分類,與已有研究相比,該方法更加簡單有效。
1 方法與原理
1.1 自動睡眠分期流程
研究中采用美國睡眠醫學會(American Academy of Sleep Medicine,AASM)修正過的睡眠劃分標準 [12],將睡眠劃分為5期:W(覺醒期)、N1(淺睡1期)、N2(淺睡2期)、N3(深睡期)、REM(快速眼動睡眠期)。先獲取EEG信號并進行預處理,得到信號與睡眠事件的映射,然后提取EEG信號各特征波的PSD值,以此作為特征,接著構建并訓練RF分類器,最后輸出分期結果。
1.2 EEG信號的PSD特征
PSD指信號在一定頻率范圍內的功率,不同頻帶EEG信號的PSD存在較大差異,利用Welch算法[13]可計算出EEG信號不同頻率段的PSD值。以SC4001E0、SC4002E0兩個記錄為例,不同睡眠階段的PSD值隨頻率的變化情況如圖1所示,可觀察到不同睡眠階段EEG信號具有不同的PSD值,并且這種變化在不同記錄中保持相似,可見PSD能很好地反映睡眠各階段之間的差異,由此可提取EEG特定頻帶中的PSD特征來預測睡眠階段。

1.3 隨機森林分類器
RF是一種由多棵決策樹作為基學習器構建Bagging集成分類器的方法,其中每棵決策樹都采用有放回隨機抽取訓練集樣本并隨機選擇部分屬性的形式生成,采用投票法產生輸出,可并行訓練,具有實現簡單、速度快、泛化能力強等特點[14],可較好地用于多分類問題。RF構建流程如圖2所示。

1.4 分類評價指標
睡眠分期屬于分類問題,本文將睡眠分為5期,除了用混淆矩陣、Kappa系數、總體準確率(accuracy,Acc)、宏觀平均F1值(Micro-F1,MF1)外,還采用每類精度(Precision,P)、每類召回率(Recall,R)、每類F1值(F1-score,F1)來評估模型性能,計算公式如式(1)~(3)所示[11]:
![]() |
![]() |
![]() |
其中,TP代表分類正確的正例數目,TN代表分類正確的負類數目,FP代表分類錯誤的正例數目,FN表分類錯誤的負類數目[11]。
2 實驗
本文所有實驗使用Python3.7完成,采用Matplotlib、Pandas等工具包實現EEG數據獲取、預處理、繪圖等操作,采用Scikit-learn工具包實現分類模型的搭建、訓練、評估、預測等操作。
2.1 數據來源
使用PhysioNet[15]中的Sleep-EDF(2013)數據集[16]作為實驗數據,選用健康受試者SC*組記錄,共包含39個整晚睡眠PSG記錄(20個受試者兩晚的記錄,其中一個損壞)。只選用其中的Fpz-Cz和Pz-Oz 兩個通道的EEG數據,采樣率均為100 Hz。此外,數據庫中還提供了由專家根據R&K睡眠分期準則[17]手動標記的每30 s一段睡眠信號所對應的睡眠狀態。實驗中采用AASM規則將睡眠分為5期[12],對獲取到的數據將標注文件中的Sleep stage 3、Sleep stage 4期合并為N3期。
2.2 數據預處理及PSD特征提取
睡眠EEG信號的有效波段主要集中在0.5~30 Hz,不同睡眠階段有不同特征波出現[12]。先對獲取到的EEG數據進行濾波去噪等預處理,然后將數據分成30 s的時間片段(epoch)并與標記的睡眠狀態進行映射。接著提取出睡眠EEG信號中的6種特征波,分別為K復合波(0.5~2 Hz)、δ波(2~4 Hz)、θ波(4~8 Hz)、α波(8~12 Hz)、紡錘波(12~14 Hz)以及高頻段的β波(14~30 Hz)[18],由于紡錘波、K復合波是N2、N3階段的標志性波,所以也將它們單獨提取出來。最后便可計算出6種EEG特征波的PSD值,以此作為分類特征。不同睡眠階段EEG各特征波的PSD累積和如圖3所示。

2.3 實驗結果與討論
2.3.1 單通道與多通道EEG信號效果對比
為觀察不同通道EEG信號對分類效果的影響,對分別采用Fpz-Cz單通道EEG信號、Pz-Oz單通道EEG信號和Fpz-Cz + Pz-Oz雙通道EEG信號3種情況時的睡眠分期效果進行了對比。當分別使用SC4001E0、SC4002E0記錄數據作為訓練集與測試集,使用RF分類器(參數n_estimators設置為100,其他參數默認)時,3種情況實驗結果如表1所示。其中SC4001E0數據集中共有2 650個30 s片段,W、N1、N2、N3、REM各期的樣本量分別為1 997個、58個、250個、220個、125個;SC4002E0數據集中共有2 829個30 s片段,W、N1、N2、N3、REM各期的樣本量分別為1 885個、59個、373個、297個、215個。

從結果可見,3種情況差距不大,分類效果較穩定,ACC達87.13%以上,當采用Pz-Oz通道EEG信號時性能最優,ACC、MF1、Kappa系數分別達91.94%、73.2%和0.845。因此,為減少計算復雜度,只選用Pz-Oz單通道EEG信號作為輸入。
2.3.2 不同分類器效果對比
為觀察不同分類器對分類效果的影響,在其他條件不變的情況下(即采用Pz-Oz單通道EEG信號,分別使用SC4001E0、SC4002E0數據作為訓練集與測試集),將方法中的RF分類器替換成其他常用分類器:自適應增強(adaptive boosting,AdaBoost)分類器、梯度提升(GradientBoosting)分類器、高斯樸素貝葉斯(GaussianNB)分類器、決策樹分類器、K近鄰(K-nearest neighbor,KNN)分類器,分類效果如表2所示。為便于觀察,繪制各分類器睡眠分期結果混淆矩陣熱力圖如圖4所示。


從表2與圖4的對比結果可見,雖然用其他分類器也能達到一定效果,但使用RF分類器時整體效果最優,ACC、MF1、Kappa系數比其他分類器有明顯提升。此外,從圖4中可觀察到,每種分類器對N1階段的識別效果都不理想,GradientBoosting 最好但識別準確率也只有30.51%,AdaBoost甚至無法區分該階段,主要原因在于N1階段的樣本數量太少,與其他階段樣本數量差距太大,導致無法區分。
2.3.3 不同數據集劃分方法效果對比
為進一步驗證本文所提方法的有效性,當采用Pz-Oz單通道EEG信號作為輸入、使用RF分類器時,對使用不同數據量訓練集與測試集的分類效果進行了對比。使用SC*組39個整晚睡眠記錄(20位受試者兩晚的記錄,其中損壞的一個不采用),以個體為單位,對比分別采用2折、5折、10折交叉驗證方法時的分類效果,并與只采用單個記錄數據SC4001E0為訓練集、SC4002E0為測試集時的效果進行對比,結果如表3所示。

從表中結果可見,無論使用怎樣的訓練集與測試集,分類準確率都能達到90.79%以上,說明本文所提出的基于PSD與RF的自動睡眠分期方法對數據不敏感,適用于不同數據量的數據集,分類效果穩定,具有較好的泛化能力。
用訓練好的模型對訓練集以外的一個受試者整晚睡眠分期進行預測,真實與預測的睡眠時序圖如圖5所示,可見本方法得到的睡眠分期與專家手動判別的結果基本一致,只在某些相鄰階段有一定混淆,原因主要是相鄰階段間的特征較為相似。該方法可有效用于輔助臨床睡眠分期判別。

2.3.4 與其他研究比較
將本文方法與近年同樣使用Sleep-EDF數據集中EEG信號作為研究對象的相關方法進行比較,結果如表4所示。可見,相較于文獻[6]的傳統機器學習方法,本文的效果更佳,且方法更簡單,只需提取PSD一種特征,無需復雜的特征工程操作。相較于文獻[7,9,19-20]的深度學習方法,本文方法無需依賴大規模的訓練數據,雖然需要提取PSD特征并構建RF分類器,但與構建并訓練各種復雜的深度神經網絡模型相比,本方法更簡單、高效,并且準確率更高。

3 結論
采用傳統機器學習的方法,往往需要提取多種特征,經過繁瑣的特征工程操作。采用深度學習的方法構建深度神經網絡模型過程復雜,訓練時需要大量數據支撐,計算復雜度也較高。本文提出一種基于PSD和RF的自動睡眠分期方法,提取睡眠EEG信號6種特征波的PSD作為特征,利用RF分類器實現睡眠5種狀態(W、N1、N2、N3、REM)的自動識別。使用Sleep-EDF數據集中健康受試者的EEG數據對該方法進行了驗證,分別對比了采用不同輸入通道腦電信號、不同分類器、不同訓練集與測試集劃分對分類效果的影響。實驗結果表明,本文所提方法是有效的,當采用Pz-Oz單通道EEG信號和RF分類器時,分類效果最好,無論怎樣變換訓練集與測試集,ACC都達到90.79%以上,證明該方法較穩定,不易受數據量影響,具有較好的泛化能力,ACC、MF1、Kappa系數最高分別可達91.94%、73.2%和0.845。與已有研究相比,本睡眠自動分期方法更加簡單、高效、準確,可用于自動化實現來輔助臨床睡眠分期判別工作,具有較好的應用前景。
目前對N1階段的識別效果還較差,未來將進一步研究如何提高N1階段的識別準確率,并采用其他數據庫或實時采集到的數據來驗證和優化該方法,增強適用性。
重要聲明
利益沖突聲明:本文全體作者均聲明不存在利益沖突。
作者貢獻聲明:高群霞是本研究的實驗設計者和執行人,負責資料收集、數據分析、算法程序設計、文章撰寫及修改;吳凱對文章框架和主題提供了指導性的意見,并負責文章審閱修訂。
0 引言
睡眠是人體的重要生理活動,但目前越來越多的人存在失眠、睡眠呼吸暫停等睡眠障礙問題。睡眠分期是睡眠質量評估的前提,是睡眠相關疾病診斷和研究的關鍵步驟[1]。睡眠分期臨床上一般通過專家結合多導睡眠監測(polysomnography,PSG)的數據手動判別實現,極耗時間,且非常依賴專家的經驗程度[2]。因此,研究能夠高效、準確地實現睡眠自動分期的方法具有重要意義。
與睡眠最相關的生理信號是腦電圖(electroencephalogram,EEG),根據EEG可有效檢測睡眠時相[3]。目前,已有許多采用單通道或多通道EEG信號實現睡眠分期的研究,大致可分為兩個方向。一是采用傳統機器學習的方法,先提取出EEG信號中的各種特征,然后設計機器學習分類器來實現自動睡眠分期。郭艷平等[4]用集合經驗模態(ensemble empirical mode decomposition,EEMD)分解方法分解單通道EEG信號,提取出線性和非線性動力學特征,使用極端梯度提升(eXtreme Gradient Boosting,XGBoost)算法實現睡眠5期分類,在SHHS數據集上準確率為79.7%。葉仙等[5]提取EEG信號與眼動信號的精細復合多尺度熵為特征,利用3層支持向量機(support vector machine,SVM)實現睡眠5期分類,準確率達到85.3%。da Silveira等[6]先利用離散小波變換分解Pz-Oz通道EEG信號,然后提取出峰度、偏差、方差3種時域特征,最后利用隨機森林(random forest,RF)分類器對2至6階段睡眠狀態進行分類,準確度和kappa系數分別高于90%和0.8。二是采用深度學習技術,將提取的特征送入自行設計的深度神經網絡實現分類,或直接利用深度學習模型實現端到端自動睡眠分期。Supratak等[7]提出一種自動睡眠分期模型DeepSleepNet,先用卷積神經網絡(convolutional neural networks,CNN)提取特征,然后用雙向長短期記憶網絡(bi-directional long short-term memory,Bi-LSTM)實現分類,在Fpz-Cz通道和Pz-Oz通道EEG信號上測試準確率分別達到82%和79.8%。柏浩冉等[8]提出一種多尺度深度網絡模型的自動睡眠分期方法,采用單通道睡眠EEG信號時準確率達83%。金歡歡等[9]提出一種加入了雙向門限循環單元的深度混合神經網絡模型實現睡眠自動分期,對Fpz-Cz通道的原始EEG數據進行交叉驗證,平均準確率達到86.85%。Sors等[10]提出一種作用于單通道睡眠EEG信號的CNN模型實現睡眠5期分類,在SHHS數據集上準確率達到87%。王天宇等[11]提出一種基于小波變換和Bi-LSTM的睡眠分期方法,先用連續小波變換提取睡眠EEG的時頻圖,然后用VGG網絡提取特征,最后用Bi-LSTM實現分類,在 SHHS 數據集上測試的準確率為85.82%。
總體而言,采用傳統機器學習的方法,近年效果較好的研究都是提取多種特征,經過繁瑣的特征工程后實現,過程較復雜,且準確率不理想。采用深度學習的方法雖然可以直接利用深度神經網絡模型實現特征提取與分類,能在一定程度上改善分類效果,但需大量數據支撐,計算復雜度也較高。基于上述原因,本文提出一種基于功率譜密度(power spectral density,PSD)和RF的自動睡眠分期方法,先提取EEG信號各波段的PSD特征,然后利用RF算法實現分類,與已有研究相比,該方法更加簡單有效。
1 方法與原理
1.1 自動睡眠分期流程
研究中采用美國睡眠醫學會(American Academy of Sleep Medicine,AASM)修正過的睡眠劃分標準 [12],將睡眠劃分為5期:W(覺醒期)、N1(淺睡1期)、N2(淺睡2期)、N3(深睡期)、REM(快速眼動睡眠期)。先獲取EEG信號并進行預處理,得到信號與睡眠事件的映射,然后提取EEG信號各特征波的PSD值,以此作為特征,接著構建并訓練RF分類器,最后輸出分期結果。
1.2 EEG信號的PSD特征
PSD指信號在一定頻率范圍內的功率,不同頻帶EEG信號的PSD存在較大差異,利用Welch算法[13]可計算出EEG信號不同頻率段的PSD值。以SC4001E0、SC4002E0兩個記錄為例,不同睡眠階段的PSD值隨頻率的變化情況如圖1所示,可觀察到不同睡眠階段EEG信號具有不同的PSD值,并且這種變化在不同記錄中保持相似,可見PSD能很好地反映睡眠各階段之間的差異,由此可提取EEG特定頻帶中的PSD特征來預測睡眠階段。

1.3 隨機森林分類器
RF是一種由多棵決策樹作為基學習器構建Bagging集成分類器的方法,其中每棵決策樹都采用有放回隨機抽取訓練集樣本并隨機選擇部分屬性的形式生成,采用投票法產生輸出,可并行訓練,具有實現簡單、速度快、泛化能力強等特點[14],可較好地用于多分類問題。RF構建流程如圖2所示。

1.4 分類評價指標
睡眠分期屬于分類問題,本文將睡眠分為5期,除了用混淆矩陣、Kappa系數、總體準確率(accuracy,Acc)、宏觀平均F1值(Micro-F1,MF1)外,還采用每類精度(Precision,P)、每類召回率(Recall,R)、每類F1值(F1-score,F1)來評估模型性能,計算公式如式(1)~(3)所示[11]:
![]() |
![]() |
![]() |
其中,TP代表分類正確的正例數目,TN代表分類正確的負類數目,FP代表分類錯誤的正例數目,FN表分類錯誤的負類數目[11]。
2 實驗
本文所有實驗使用Python3.7完成,采用Matplotlib、Pandas等工具包實現EEG數據獲取、預處理、繪圖等操作,采用Scikit-learn工具包實現分類模型的搭建、訓練、評估、預測等操作。
2.1 數據來源
使用PhysioNet[15]中的Sleep-EDF(2013)數據集[16]作為實驗數據,選用健康受試者SC*組記錄,共包含39個整晚睡眠PSG記錄(20個受試者兩晚的記錄,其中一個損壞)。只選用其中的Fpz-Cz和Pz-Oz 兩個通道的EEG數據,采樣率均為100 Hz。此外,數據庫中還提供了由專家根據R&K睡眠分期準則[17]手動標記的每30 s一段睡眠信號所對應的睡眠狀態。實驗中采用AASM規則將睡眠分為5期[12],對獲取到的數據將標注文件中的Sleep stage 3、Sleep stage 4期合并為N3期。
2.2 數據預處理及PSD特征提取
睡眠EEG信號的有效波段主要集中在0.5~30 Hz,不同睡眠階段有不同特征波出現[12]。先對獲取到的EEG數據進行濾波去噪等預處理,然后將數據分成30 s的時間片段(epoch)并與標記的睡眠狀態進行映射。接著提取出睡眠EEG信號中的6種特征波,分別為K復合波(0.5~2 Hz)、δ波(2~4 Hz)、θ波(4~8 Hz)、α波(8~12 Hz)、紡錘波(12~14 Hz)以及高頻段的β波(14~30 Hz)[18],由于紡錘波、K復合波是N2、N3階段的標志性波,所以也將它們單獨提取出來。最后便可計算出6種EEG特征波的PSD值,以此作為分類特征。不同睡眠階段EEG各特征波的PSD累積和如圖3所示。

2.3 實驗結果與討論
2.3.1 單通道與多通道EEG信號效果對比
為觀察不同通道EEG信號對分類效果的影響,對分別采用Fpz-Cz單通道EEG信號、Pz-Oz單通道EEG信號和Fpz-Cz + Pz-Oz雙通道EEG信號3種情況時的睡眠分期效果進行了對比。當分別使用SC4001E0、SC4002E0記錄數據作為訓練集與測試集,使用RF分類器(參數n_estimators設置為100,其他參數默認)時,3種情況實驗結果如表1所示。其中SC4001E0數據集中共有2 650個30 s片段,W、N1、N2、N3、REM各期的樣本量分別為1 997個、58個、250個、220個、125個;SC4002E0數據集中共有2 829個30 s片段,W、N1、N2、N3、REM各期的樣本量分別為1 885個、59個、373個、297個、215個。

從結果可見,3種情況差距不大,分類效果較穩定,ACC達87.13%以上,當采用Pz-Oz通道EEG信號時性能最優,ACC、MF1、Kappa系數分別達91.94%、73.2%和0.845。因此,為減少計算復雜度,只選用Pz-Oz單通道EEG信號作為輸入。
2.3.2 不同分類器效果對比
為觀察不同分類器對分類效果的影響,在其他條件不變的情況下(即采用Pz-Oz單通道EEG信號,分別使用SC4001E0、SC4002E0數據作為訓練集與測試集),將方法中的RF分類器替換成其他常用分類器:自適應增強(adaptive boosting,AdaBoost)分類器、梯度提升(GradientBoosting)分類器、高斯樸素貝葉斯(GaussianNB)分類器、決策樹分類器、K近鄰(K-nearest neighbor,KNN)分類器,分類效果如表2所示。為便于觀察,繪制各分類器睡眠分期結果混淆矩陣熱力圖如圖4所示。


從表2與圖4的對比結果可見,雖然用其他分類器也能達到一定效果,但使用RF分類器時整體效果最優,ACC、MF1、Kappa系數比其他分類器有明顯提升。此外,從圖4中可觀察到,每種分類器對N1階段的識別效果都不理想,GradientBoosting 最好但識別準確率也只有30.51%,AdaBoost甚至無法區分該階段,主要原因在于N1階段的樣本數量太少,與其他階段樣本數量差距太大,導致無法區分。
2.3.3 不同數據集劃分方法效果對比
為進一步驗證本文所提方法的有效性,當采用Pz-Oz單通道EEG信號作為輸入、使用RF分類器時,對使用不同數據量訓練集與測試集的分類效果進行了對比。使用SC*組39個整晚睡眠記錄(20位受試者兩晚的記錄,其中損壞的一個不采用),以個體為單位,對比分別采用2折、5折、10折交叉驗證方法時的分類效果,并與只采用單個記錄數據SC4001E0為訓練集、SC4002E0為測試集時的效果進行對比,結果如表3所示。

從表中結果可見,無論使用怎樣的訓練集與測試集,分類準確率都能達到90.79%以上,說明本文所提出的基于PSD與RF的自動睡眠分期方法對數據不敏感,適用于不同數據量的數據集,分類效果穩定,具有較好的泛化能力。
用訓練好的模型對訓練集以外的一個受試者整晚睡眠分期進行預測,真實與預測的睡眠時序圖如圖5所示,可見本方法得到的睡眠分期與專家手動判別的結果基本一致,只在某些相鄰階段有一定混淆,原因主要是相鄰階段間的特征較為相似。該方法可有效用于輔助臨床睡眠分期判別。

2.3.4 與其他研究比較
將本文方法與近年同樣使用Sleep-EDF數據集中EEG信號作為研究對象的相關方法進行比較,結果如表4所示。可見,相較于文獻[6]的傳統機器學習方法,本文的效果更佳,且方法更簡單,只需提取PSD一種特征,無需復雜的特征工程操作。相較于文獻[7,9,19-20]的深度學習方法,本文方法無需依賴大規模的訓練數據,雖然需要提取PSD特征并構建RF分類器,但與構建并訓練各種復雜的深度神經網絡模型相比,本方法更簡單、高效,并且準確率更高。

3 結論
采用傳統機器學習的方法,往往需要提取多種特征,經過繁瑣的特征工程操作。采用深度學習的方法構建深度神經網絡模型過程復雜,訓練時需要大量數據支撐,計算復雜度也較高。本文提出一種基于PSD和RF的自動睡眠分期方法,提取睡眠EEG信號6種特征波的PSD作為特征,利用RF分類器實現睡眠5種狀態(W、N1、N2、N3、REM)的自動識別。使用Sleep-EDF數據集中健康受試者的EEG數據對該方法進行了驗證,分別對比了采用不同輸入通道腦電信號、不同分類器、不同訓練集與測試集劃分對分類效果的影響。實驗結果表明,本文所提方法是有效的,當采用Pz-Oz單通道EEG信號和RF分類器時,分類效果最好,無論怎樣變換訓練集與測試集,ACC都達到90.79%以上,證明該方法較穩定,不易受數據量影響,具有較好的泛化能力,ACC、MF1、Kappa系數最高分別可達91.94%、73.2%和0.845。與已有研究相比,本睡眠自動分期方法更加簡單、高效、準確,可用于自動化實現來輔助臨床睡眠分期判別工作,具有較好的應用前景。
目前對N1階段的識別效果還較差,未來將進一步研究如何提高N1階段的識別準確率,并采用其他數據庫或實時采集到的數據來驗證和優化該方法,增強適用性。
重要聲明
利益沖突聲明:本文全體作者均聲明不存在利益沖突。
作者貢獻聲明:高群霞是本研究的實驗設計者和執行人,負責資料收集、數據分析、算法程序設計、文章撰寫及修改;吳凱對文章框架和主題提供了指導性的意見,并負責文章審閱修訂。