睡眠分期是醫學、神經信息領域的研究熱點。人工標記睡眠數據是一項費時且費力的工作。自動睡眠分期方法能夠減少人工分期的工作負荷,但在復雜多變的臨床數據的應用上仍存在局限性。本文提出了一種改進的K均值聚類算法,主要目的是從實際睡眠數據的特點出發,研究睡眠自動分期方法。針對原始K均值聚類算法對初始聚類中心和離群點敏感的問題,本文結合密度的思想,選擇周圍數據密集的點作為初始中心,并根據“3σ法則”更新中心。改進算法在健康被試和接受持續正壓通氣(CPAP)治療的睡眠障礙者的睡眠數據上進行了測試,平均分類精確度達到76%,同時結合實際睡眠數據的形態多樣性驗證討論了該方法在臨床數據上的可行性和有效性。
引用本文: 肖姝源, 王蓓, 張見, 張群峰, 鄒俊忠. 基于改進的K均值聚類算法的睡眠自動分期研究. 生物醫學工程學雜志, 2016, 33(5): 847-854. doi: 10.7507/1001-5515.20160137 復制
引言
睡眠是人體所必須的生理活動,是機體復原、整合等的重要環節。在現代社會,各方面的壓力和不健康的生活習慣嚴重影響著人們的睡眠。據世界衛生組織調查,世界范圍內約有三分之一的人有睡眠問題,由睡眠障礙引起的疾病達80余種。據不完全統計,我國各類睡眠障礙者占人群的38%。對睡眠的研究已經成為神經科學領域的熱點。其中,研究睡眠分期能有效地評估睡眠質量,用于治療睡眠相關疾病,因而得到了廣泛的關注。
觀察發現,整晚睡眠并不是一個單一的過程,其有著復雜的結構和多種生理變化。睡眠常常伴隨著閉眼、做夢、肌肉活動,甚至出現夢游、磨牙等生理活動。1968年,Rechtschaffen和Kales召開了一個專家組會議,此次會議討論通過了睡眠分期的人工判讀標準,即為國際上常用的睡眠分期R & K規則[1]。除了清醒期(awake, W)外,此規則將睡眠分為快速眼動期(rapid eye movement, REM)和非快速眼動期(non-rapid eye movement, NREM)。其中,NREM又可以根據睡眠深淺分為4個分期(S1、S2、S3和S4)。S1期覺醒閾值最低,S4期最高。REM期最明顯的現象是眼球的突發性快速運動。2007年,美國睡眠醫學學會推出了最新的睡眠分期標準[2],其中將S3、S4期合并為一個慢波睡眠期(slow-wave sleep, SS)。研究睡眠分期能更好地了解睡眠結構和周期,從而挖掘出潛在的有用信息。對睡眠分期的研究有以下三點先驗規定[3]:①將睡眠過程分為30 s一段進行評判;②每一段對應一個睡眠階段;③如果有兩個階段發生在同一段數據里,則將占半數以上時間的階段作為這一段數據所代表的睡眠分期。
人的整夜睡眠為7~8 h,通常由有資質的醫師進行睡眠分期,但人工標記是一項費時費力的工作。為解決這一問題,國內外已有學者對自動睡眠分期進行了研究。一般來說,都是根據從腦電圖(electroencephalography, EEG)、肌電圖(electromyography, EMG)、眼電圖(electrooculography, EOG)信號中提取的特征,選擇一種合適的分類方法將數據段分類到某一個睡眠分期,盡量使結果與專家判讀的結果一致[4]。從EEG等人體生物電信號中提取的非線性和頻域特征[5]多被用于區分不同的睡眠階段。非線性特征包括最大Lyapunov指數、近似熵[6]、相關維等,頻域特征包括功率、譜邊界等。在Koley等[7]的研究中,提取了39個與整晚睡眠有關的特征,利用支持向量機和k重交叉驗證找到睡眠分期最優的特征。Fell等[8]對頻域和非線性方法進行對比研究,將睡眠過程分為S1、S2、SS和REM這四個分期,提取的頻域特征有功率、頻譜邊緣等,非線性特征有關聯維D2、最大Lyapunov參數L1和近似Kolmogorov熵K2。Ronzhina等[9]詳細介紹了人工神經網絡在睡眠分期上的應用,并以反向傳播多層神經網絡為例,結合δ波、θ波、α波和β波的功率譜密度特征,將睡眠數據分為W期、REM期和NREM期的S1、S2、S3和S4期。焦東來等[10]研究W期和S1期EEG的平均能量耗散的差別,對這兩個睡眠分期的相對熵進行統計分析及多樣本驗證。彭振等[11]提出了一種基于奇異值的第一主成分的睡眠EEG分期方法,提取奇異值第一主成分作為特征,結合支持向量機進行分期。此外,現代信號處理技術如同步壓縮變換[12]、圖域變換[13]等,在睡眠分期上也有相關研究報道。
盡管有很多分類方法被應用于睡眠分期,但是在臨床上仍然主要依靠有資質有經驗的醫師進行人工分期。對于不同的人來說,睡眠數據通常在幅值、分布上有較大差別。即使是同一個人,睡眠模式也會因為環境和生理狀況的改變而不同。對監督算法來說,其性能與訓練樣本和訓練過程有很大的關系,并且對特定的測試樣本才有比較高的分類精度,難以適應實際應用中具有各種不同特性的睡眠數據。有監督分類器需要事先提供大量的有標簽的睡眠數據來學習,而人工標記整晚睡眠是一項相當耗時的工作。標記一段8 h的睡眠數據需要2~4 h,且標記準確與否與專家的經驗有很大的關系。因此,如何適應復雜多變的實際睡眠數據仍是睡眠自動分期中值得研究的問題。
聚類算法作為無監督學習過程,是數據挖掘、模式識別等領域的重要研究內容之一。它直接根據數據的內在結構進行識別,不需要帶標簽的數據以供學習。因此,聚類算法用在睡眠分期上的前景十分廣闊。K均值聚類是一種典型的聚類算法,其處理速度快,算法簡單[14]。Koupparis等[15]結合短時傅里葉變換和K均值聚類作為半自動睡眠分期方法,能有效地區分出W、REM和S1期。Lima等[16]利用K均值聚類算法分離出了EEG信號偽跡。K均值聚類算法能與其他方法結合以提高其性能,例如粗糙集[17]、模糊理論[18]、支持向量機[19]、神經網絡模型[20]等。
本文結合聚類算法的優勢,提出一種改進的K均值聚類算法,對實際應用中的臨床睡眠數據進行分期。針對實際睡眠分期問題,考慮到原始K均值聚類算法的不穩定性和易受離群點的影響,從初始聚類中心的選擇和更新聚類中心的角度出發對其進行改進。首先,結合密度的思想,選擇數據密集的點作為初始中心。所選的中心能適應數據的分布,從而得到合理的分類結果。其次,在算法迭代過程中,根據“3σ法則”更新中心,以減小離群點的影響。本文分別選用了健康被試和接受持續正壓通氣(continuous positive airway pressure, CPAP)治療的睡眠障礙者的臨床數據進行測試。結合EEG等人體生物電信號的時域、頻域特征,將整晚睡眠分為W、S1、S2、SS和REM期5個階段,同時結合實際睡眠數據的形態多樣性討論了該方法在臨床數據上的可行性和有效性。
1 數據和方法
1.1 睡眠數據
本研究中的睡眠數據來自日本東京Toranomon醫院。受試者為1名正常成年人(28歲,男性)和2名經CPAP治療后的睡眠障礙患者(36歲和52歲,均為男性)。依據臨床數據采集的規定,已獲得受試者的知情同意書。采集設備為日本光電EEG1100K,按照通用的多導睡眠圖(polysomnograph, PSG)監測方式同步采集了受試者整晚睡眠EEG、EOG和EMG信號。PSG監測方式詳見圖 1,EEG信號的采集按照國際10-20電極安放標準,采集中部區域(C3和C4)和枕部區域(O1和O2),并以異側的耳垂(A1和A2)為參考電位;EOG信號的采集位置位于左右眼瞼處(LOC和ROC),并以左側耳垂(A1)作為參考電位;EMG信號主要記錄下頜部位的肌肉活動產生的電活動(CHIN)。EEG和EOG信號的采樣頻率為100 Hz,EMG信號的采樣頻率為200 Hz,時間常數為0.3 s,靈敏度是0.5 cm/50 μV。

1.2 特征計算
整晚睡眠一般是結合EEG、EOG和EMG三種生物電信號進行分期。其中,EEG主要分為α波(8~13 Hz)、β波(14~25 Hz)、θ波(4~8 Hz)和δ波(0.5~4 Hz)。根據美國睡眠醫學學會提出的最新分期標準,正常成年人的整晚睡眠可分為W、S1、S2、SS和REM期5個階段。在W期,安靜、閉目情況下,EEG為持續的α波活動,還會混有低幅的其他頻段的波形,常伴有高頻的EMG。睜眼時,α波減少,EOG可能表現為快速眼動和眨眼現象,這一現象被稱為α-阻斷[21]。S1期是人由清醒進入睡眠狀態的過渡階段,EEG中開始出現慢波,α波在整個EEG數據段中所占的比例減少,逐漸被θ波取代。S2期EEG上θ波增多,且還會出現少量中低波幅的δ波。并且,可以看到睡眠紡錘波和K-復合波[22-24]。紡錘波頻率在11~16 Hz之間,持續時間大于0.5 s,小于3 s[25]。K-復合波是頻率在1 Hz左右的低頻高幅(>75 mV)慢波,先負相后正相。在SS期,δ波是最明顯的特征。REM期,從大多數指標來看,人大腦的活動狀況與S1期十分相似。另外,此睡眠階段很重要的特點就是眼球快速運動,出現鋸齒狀的波形,EMG活動很弱。
合適的特征能反映出信號的潛在信息。本文針對上述睡眠各個分期的特點,在頻域上對EEG和EOG提取了4個特征,從EMG上提取了1個時域特征。對EEG,計算δ、θ、α波占全頻段的比例Rδ、Rθ、Rα。其中,Rδ、Rθ從EEG的C3/A2和C4/A1通道信號提取,并取左右對稱通道中的較大值,Rα從O2/A1和O1/A2通道計算得到,也是取左右對稱通道中的較大值作為特征值:
$ {R_\delta } = \max \left\{ {\frac{{{E_\delta }\left( {C3} \right)}}{{{E_{\rm{T}}}\left( {C3} \right)}},\frac{{{E_\delta }\left( {C4} \right)}}{{{E_{\rm{T}}}\left( {C4} \right)}}} \right\} $ |
$ {R_\theta } = \max \left\{ {\frac{{{E_\theta }\left( {C3} \right)}}{{{E_{\rm{T}}}\left( {C3} \right)}},\frac{{{E_\theta }\left( {C4} \right)}}{{{E_{\rm{T}}}\left( {C4} \right)}}} \right\} $ |
$ {R_\alpha } = \max \left\{ {\frac{{{E_\alpha }\left( {O1} \right)}}{{{E_{\rm{T}}}\left( {O1} \right)}},\frac{{{E_\alpha }\left( {O2} \right)}}{{{E_{\rm{T}}}\left( {O2} \right)}}} \right\} $ |
其中,Eδ、Eθ、Eα、ET分別表示δ、θ、α和全頻段的能量,即將時序列信號經過快速傅里葉變換到頻率域后,在頻域上計算各頻段幅度平方和。對EOG,計算LOC-ROC通道2~10 Hz這一頻段的能量ELR。對EMG,計算其過零點數ZC。
計算特征后,需要對特征進行標準化。本文采用z-score方法,即
$ {x^*} = \frac{{x - \mu }}{\sigma } $ |
其中,x*是標準化后的數據,μ是原始數據的均值,σ是標準差。
1.3 改進的K均值聚類算法
聚類是按照樣本的某些屬性,把一個數據集聚成多個類,使得類中的對象相似度大,而類之間的相異度大。K均值聚類算法:首先隨機選擇k個對象作為k個類的初始聚類中心;然后,對剩下的各個對象,分別計算其與各個類中心的距離,將它劃分到距離最近的類中;最后,重新計算各個類的平均值作為聚類中心。重復以上過程直到類中心不再變化或準則函數收斂。
K均值聚類算法是最典型的聚類算法,其算法簡單、速度快、易于實現,但是在應用中易受到限制。主要問題在于原始K均值聚類算法的初始聚類中心是隨機選擇的,不同的初始中心會導致不同的聚類結果,使得算法不穩定。并且,在算法迭代過程中,更新聚類中心時,計算類中所有點的平均值作為新的中心,這一過程易受離群點的影響。此外,K均值聚類算法中聚類個數k是需要預先給定的,通常根據先驗知識來確定。如果對數據的分布不是很了解,不能確定聚類數,在這種情況下不準確的k值會導致聚類質量下降。因此,在實際應用之前,需要對原始K均值聚類算法進行改進。
(1)?初始聚類中心的選擇。本文結合密度的思想選擇初始中心。對于某一樣本點,其密度定義為:一定數量的數據點分布在其周圍多大的范圍內。設數據集D={x(1), x(2), …, x(N)},x(i)的密度為分布在其周圍最近的M個點中,離它最遠的點到它的距離。即:
$ \rho \left( i \right) = \max \left\{ {d\left[ {x\left( i \right),\left( j \right)} \right]} \right\} $ |
其中,ρ(i)表示點x(i)的密度,x(j)屬于離x(i)最近的M個點所組成的集合P(i)。ρ越小,表明對象周圍的數據越密集。第一個聚類中心即為ρ最小的點。在確定下一個中心時,從數據集D中去掉第一個聚類中心對應的集合P得到新的數據集,再在新的數據集中計算密度,選擇ρ最小的點作為第二個聚類中心。以此類推,直到選出k-1個初始中心。然后在剩余數據樣本中選擇ρ最小的點作為第k個聚類中心。本文中的距離均采用歐氏距離。由此,得到了k個周圍樣本最密集的對象作為初始聚類中心。
(2)?更新聚類中心。確定好初始中心后,原始K均值聚類在更新聚類中心時,計算類中所有點的平均值作為新的中心。在本文中,選擇距離中心一定范圍內的點計算均值。根據“3σ法則”,這一范圍可取為(μ-3σ, μ+3σ)。其中,μ為類內點到中心距離的均值,σ為類內點到中心距離的標準差。這樣,新的類中心既可以包含類內絕大多數的數據點的信息,又可以減小離群點的影響。
綜上,改進的K均值聚類算法步驟如下:
(a)?計算兩兩數據點之間的距離d[x(i), x(j)];
(b)?按照公式(5)計算每個點的密度ρ,同時得到集合P;
(c)?比較所有的ρ,選擇最小的ρ所對應的數據點x(k)作為第一個初始聚類中心,并從集合D中去掉P(k),得到新的數據集D1;
(d)?重復(a)~(c),直到選出k個點作為初始聚類中心;
(e)?對D中除去k個聚類中心的剩余樣本根據其與各個聚類中心的距離,分別分配給距離最近的類;
(f)?計算簇中每個點到中心的距離,計算μj和σj,選擇距離在(μj-3σj,μj+3σj)內所對應的點計算平均值作為新的聚類中心;
(g)?按照步驟(e)重新分配各個樣本對象,直到準則函數收斂或者聚類中心不再變化。
2 結果
2.1 人工判別
從睡眠分期的應用目的來說,主要是作為輔助臨床診斷的重要工具。因此,本研究中采用了來自于臨床的睡眠數據作為分析對象。1例正常人的整晚睡眠數據和2例睡眠障礙患者的睡眠數據均由日本Toranomon醫院提供,在同樣的采集環境下獲取,人工判別的結果也由該醫院的專業醫師完成。其中,睡眠障礙患者是在接受CPAP治療后對其睡眠數據進行了采集和分期處理,用于幫助醫生判斷CPAP治療的效果,以及后續治療方案的修訂。
依據臨床上的睡眠分期要求,將記錄獲得的整夜睡眠數據均分為30 s一段。對每30 s一段的睡眠數據均進行了人工判別。根據專家的人工判別,分別對本文主要分析的3名受試者睡眠各分期的數據段數進行了統計。被試1睡眠數據屬于W期的有197段,S1期有51段,S2期有489段,SS期有139段,REM期有108段。被試2睡眠數據屬于W期的有171段,S1期有156段,S2期有342段,SS期有113段,REM期有158段。被試3睡眠數據屬于W期的有254段,S1期有59段,S2期有360段,SS期有178段,REM期有178段。
與正常人的睡眠相比,睡眠障礙患者的睡眠分期分布較分散,每次出現的睡眠分期持續時間不長,睡眠易被中斷。同時,睡眠障礙患者的睡眠量與正常人相比有所不同。例如,一般正常成年人S2期的持續時間占總睡眠時間的44%~55%,本文中正常被試1的S2期數據段約占整晚睡眠的50%,而患有睡眠障礙的被試2、3的S2期比例分別約為36%、35%。此外,睡眠障礙患者在睡眠中常出現一些異常情況,影響數據的變化模式、幅值等,從而使得特征值與正常人的數據有較大差異。
2.2 自動分期結果比較
本文采用與人工判別相同的數據段分段方式,對每30 s數據計算1.2小節中的EEG、EOG和EMG的5個特征參數Rδ、Rθ、Rα、ELR和ZC,用于睡眠自動分期。按照1.3小節中的改進后的K均值聚類算法,對3名被試者的數據進行自動判別處理。將k設定為5,也就是將整夜睡眠數據分為5個類別,分別表示W、S1、S2、SS和REM。
以每個數據段對應的特征向量作為樣本點,計算每個點的密度。然后,從中選擇5個周圍分布最密集的樣本點作為初始聚類中心,分配樣本。根據“3σ法則”更新聚類中心,迭代,直到聚類中心不再變化。這樣,每次運行算法時,初始中心都是相同的,從而使得最終聚類結果不變,算法穩定。此外,根據“3σ法則”更新中心,可以減小離群點對迭代過程的影響。
改進K均值聚類算法確定的初始中心如表 1所示。從表中可以看出,對三名被試來說,EEG中α波比例在W期達到最大值,EOG和EMG活動在W期也比較活躍。進入NREM睡眠后,EOG和EMG信號活躍程度降低。S1期,α波比例較W期低,θ波開始變得活躍,比例升高,逐漸取代EEG中α波成分;S2期,θ波和δ波是EEG波形的主要組成頻段,比例逐漸增大;SS期,EEG波形變得更慢,此階段δ波比例在整晚睡眠中最高,占主導地位。而REM期,EEG表現為α波和θ波的混合狀態,EOG活動較為顯著,EMG活動微弱。由此可見,改進K均值聚類算法所確定的5個初始聚類中心能較好地表現出5個不同睡分期的特點,對健康成年人和睡眠障礙患者的睡眠數據均具有有效性。

誤差平方和(square sum of error, SSE)是K均值聚類算法常用的準則函數,可以用來評價聚類的質量。SSE越小,說明各類樣本與中心的誤差和越小,聚類效果越緊密。對三名被試的睡眠數據分別采用原始K均值聚類方法和改進K均值聚類算法迭代一次后,計算聚類結果的SSE,如表 2所示。可見,三名被試的數據采用改進K均值聚類算法聚類一次后的SSE均小于原始K均值聚類的結果。由此說明,在迭代過程中,改進K均值聚類算法根據“3σ法則”更新聚類中心的方式能使類中聚類效果更緊密,各類中樣本相似度更大。

確定好初始聚類中心后,改進K均值聚類算法按照“3σ法則”更新聚類中心,迭代,直到聚類中心不再變化。將改進后的K均值聚類算法的分期結果與原始K均值聚類算法對比,如表 3所示。原始K均值聚類算法由于隨機選擇初始中心,導致分期結果不穩定。因此,本文中對每個被試的睡眠數據運行20次,選擇分類效果最好的結果與改進后的K均值聚類算法的分期結果進行比較。從表 3中可知,采用改進K均值聚類算法的分期效果明顯比原始算法的效果好,驗證了本文所提改進K均值聚類算法在整晚睡眠分期中的有效性。

2.3 睡眠狀態多樣性分析
在對實際數據的特征參數進行分析時,我們發現W期的α節律成分呈現出兩種不同的狀態。圖 2中分別給出了兩組原始時序列波形,左邊為閉眼時的W期,右邊為睜眼時的W期。觀察O1/A2和O2/A1通道,可以發現在閉眼的狀態下α波活動非常強烈;而在睜眼狀態下,α波很微弱,并存在明顯的眨眼現象。由于這兩種狀態下的睡眠特征十分不同,睜眼的W期很容易被錯判為其他睡眠分期。

在K均值聚類算法中,聚類數k的值不僅會影響聚類的質量,而且決定了聚類結果是否有意義。通常,k被設定為一個確定的值。然而,對實際應用中的睡眠分期來說,會有不同于理想情況的狀態出現。通常在入睡的過程中,會伴隨出現睜眼等眼動現象,在專家的人工判別中較易確認為W期,而對自動判別方法來說,上述特征的差異性會影響到W期與其它睡眠期的準確判別。針對W期在閉眼和睜眼情況下所呈現的不同特征,將k的值設定為6,采用改進后的K均值聚類算法進行了測試和分析。
表 4是采用改進K均值聚類算法得到的睡眠分期與人工判讀的對比結果,表中的數值表示了睡眠分期的分類準確率。首先,以30 s為一個數據段,根據人工判讀分期結果,統計得到各睡眠分期的數據段總數;然后,分別計算睡眠分期的自動判別結果與人工判讀相一致的數據段數量;最后,將對比一致的數據段數量除以該睡眠分期數據段總數,得到各分期的分類準確率,詳見表 4中第二列至第六列。表 4中最右邊一列為整晚睡眠的總體分類準確率,即各睡眠分期判別一致的數據段數總和占整晚睡眠數據段總數的比例。

在表 4中,分別統計了三名被試在k取值為5和6的情況下睡眠分期的分類準確率。在k=5的情況下,即未考慮如圖 2所示的W期形態多樣性時,人工標記為W期的樣本容易被錯分為S1期,從而影響W期和S1期的準確判別。這是因為在睜眼狀態下,α波很微弱,特征與S1期相似,較難區分。考慮了W期的形態多樣性后,本文在改進的K均值聚類算法中取k=6,從表 4中可以看出三名被試W期的識別準確率均得到了提高。對被試1來說,S1期分布較分散,與S2較易混淆,但被試2和3的S1期準確率有顯著提高,分別從3%、2%提高到58%、75%。同時,改進K均值聚類算法對三名被試的S2、SS和REM期的分類效果非常好,證實了改進算法通過調整k的取值能更有效地實現臨床睡眠的自動分期。
3 討論
K均值聚類算法是一種簡單、易于實現的聚類算法,但是在實際應用中存在局限性。其對初始聚類中心十分敏感,初始中心選擇的隨機性會導致算法不穩定,分次運行算法會得到不同的聚類結果。本研究提出了一個密度的概念,選擇周圍樣本密集的k個對象為初始聚類中心。無論算法運行多少次,得到的初始中心始終不變。從表 1觀察可知,改進算法確定的初始中心符合各個睡眠分期的特征。所確定的初始中心不僅與睡眠分期的特征一致,并且能符合被試本身的睡眠特性。另外,為了減小迭代過程中離群點的影響,在更新聚類中心時,根據“3σ法則”選擇離中心近的樣本點進行處理。通過這樣的方式,新的中心能包含大多數樣本的信息而去掉了離群點的影響。表 2和表 3的結果顯示,相比原始算法,改進K均值聚類算法對整晚睡眠數據的分期效果更好,準確率更高,驗證了改進方法的有效性和合理性。
K均值聚類算法中,聚類數k通常被設定為一個特定的值。但是,對于實際應用中的睡眠分期,睡眠分期特征的分布情況往往存在不確定性和復雜性。本文在對3個被試的整夜睡眠數據進行分析時,未進行數據剔除而采用了連續的7~8 h的睡眠數據進行分析。觀察發現,在W期,除了通常定義下的閉目安靜的狀態,也會伴隨睜眼的現象。從圖 2可知,這兩種W期的波形有很大區別,閉眼狀態下的波形特點較符合W期的判斷規則,而眼動狀態下的波形尤其是EEG信號的特點則更接近于S1期,影響了自動分期算法的處理效果。因此,本研究討論了不同k值的情況下,睡眠分期效果的比較。設置k取6,在這種情況下,S1期的初始中心與W和S2期的類中心差異更大,之前易混淆的樣本能更容易地分到相應的類中。結果表明,W和S1期的分類準確率相比k=5時均得到了提高。同樣對臨床形態多變的睡眠數據來說,不同疾病或不同年齡以及受試者對治療的效果差異,都會影響到睡眠分期的分布情況,在較難獲得規律的睡眠狀態分布的情況下,改進后的算法能夠通過調整k的取值,更有效地發揮算法對樣本本身分布適應性較好的特點,為臨床睡眠分期輔助診斷提供可行的應用方式。
睡眠分期是輔助診斷疾病的一種有效途徑,從臨床應用目的來說,更側重于對睡眠障礙患者的睡眠分期。本文采用的2例睡眠障礙患者,在進行CPAP治療之前,睡眠過程中缺少深睡眠階段,其淺睡眠狀態也呈現出較為紊亂的變化過程;經過CPAP治療之后,睡眠有所改善,對治療后的睡眠數據進行分期能夠有助于醫生判斷治療的效果和修訂治療方案。實際上,睡眠障礙患者的睡眠模式、睡眠數據幅值等與正常成年人均有差異,睡眠疾病患者的睡眠狀態也互相存在較大的差異性,且各種因素綜合形成的個體差異是生物電信號分析中不可避免的問題。因此,尋找一種能適應臨床睡眠變化數據的分期方法尤為重要。本文提出的改進的K均值聚類算法不需要大量樣本數據進行學習和訓練,根據樣本本身的分布特點進行聚類。對睡眠分期的臨床應用來說,具有較好的靈活性和適應性,已有的數據分析結果顯示了改進后的算法在實際臨床數據上的應用效果。由于不同疾病、不同年齡段及受試者本身對治療的適應性等因素,會導致獲取的睡眠數據較難呈現出規律性的特點,往往會有其數據分布的特殊性。為了更好地應用于臨床數據,在本文給出的改進算法的基礎上可以進行有針對性的數據分析,有助于為臨床診斷提供有用的輔助判斷依據。
4 結論
本文從K均值聚類算法的初始中心選擇和減少離群點影響的角度出發,提出了一種改進的K均值聚類算法,應用到睡眠分期上,將整晚睡眠分為W、S1、S2、SS和REM期5個階段。基于密度的初始中心的選擇能避免K均值聚類算法的隨機性,根據“3σ法則”更新聚類中心能減小離群點對迭代過程的影響。針對睡眠狀態多樣性問題,本文分析并討論了調整聚類數對睡眠分期的應用效果。該算法在實際臨床睡眠數據上進行了測試,得到了較高的分類準確率,驗證了該方法運用在臨床數據上的可行性和有效性。
引言
睡眠是人體所必須的生理活動,是機體復原、整合等的重要環節。在現代社會,各方面的壓力和不健康的生活習慣嚴重影響著人們的睡眠。據世界衛生組織調查,世界范圍內約有三分之一的人有睡眠問題,由睡眠障礙引起的疾病達80余種。據不完全統計,我國各類睡眠障礙者占人群的38%。對睡眠的研究已經成為神經科學領域的熱點。其中,研究睡眠分期能有效地評估睡眠質量,用于治療睡眠相關疾病,因而得到了廣泛的關注。
觀察發現,整晚睡眠并不是一個單一的過程,其有著復雜的結構和多種生理變化。睡眠常常伴隨著閉眼、做夢、肌肉活動,甚至出現夢游、磨牙等生理活動。1968年,Rechtschaffen和Kales召開了一個專家組會議,此次會議討論通過了睡眠分期的人工判讀標準,即為國際上常用的睡眠分期R & K規則[1]。除了清醒期(awake, W)外,此規則將睡眠分為快速眼動期(rapid eye movement, REM)和非快速眼動期(non-rapid eye movement, NREM)。其中,NREM又可以根據睡眠深淺分為4個分期(S1、S2、S3和S4)。S1期覺醒閾值最低,S4期最高。REM期最明顯的現象是眼球的突發性快速運動。2007年,美國睡眠醫學學會推出了最新的睡眠分期標準[2],其中將S3、S4期合并為一個慢波睡眠期(slow-wave sleep, SS)。研究睡眠分期能更好地了解睡眠結構和周期,從而挖掘出潛在的有用信息。對睡眠分期的研究有以下三點先驗規定[3]:①將睡眠過程分為30 s一段進行評判;②每一段對應一個睡眠階段;③如果有兩個階段發生在同一段數據里,則將占半數以上時間的階段作為這一段數據所代表的睡眠分期。
人的整夜睡眠為7~8 h,通常由有資質的醫師進行睡眠分期,但人工標記是一項費時費力的工作。為解決這一問題,國內外已有學者對自動睡眠分期進行了研究。一般來說,都是根據從腦電圖(electroencephalography, EEG)、肌電圖(electromyography, EMG)、眼電圖(electrooculography, EOG)信號中提取的特征,選擇一種合適的分類方法將數據段分類到某一個睡眠分期,盡量使結果與專家判讀的結果一致[4]。從EEG等人體生物電信號中提取的非線性和頻域特征[5]多被用于區分不同的睡眠階段。非線性特征包括最大Lyapunov指數、近似熵[6]、相關維等,頻域特征包括功率、譜邊界等。在Koley等[7]的研究中,提取了39個與整晚睡眠有關的特征,利用支持向量機和k重交叉驗證找到睡眠分期最優的特征。Fell等[8]對頻域和非線性方法進行對比研究,將睡眠過程分為S1、S2、SS和REM這四個分期,提取的頻域特征有功率、頻譜邊緣等,非線性特征有關聯維D2、最大Lyapunov參數L1和近似Kolmogorov熵K2。Ronzhina等[9]詳細介紹了人工神經網絡在睡眠分期上的應用,并以反向傳播多層神經網絡為例,結合δ波、θ波、α波和β波的功率譜密度特征,將睡眠數據分為W期、REM期和NREM期的S1、S2、S3和S4期。焦東來等[10]研究W期和S1期EEG的平均能量耗散的差別,對這兩個睡眠分期的相對熵進行統計分析及多樣本驗證。彭振等[11]提出了一種基于奇異值的第一主成分的睡眠EEG分期方法,提取奇異值第一主成分作為特征,結合支持向量機進行分期。此外,現代信號處理技術如同步壓縮變換[12]、圖域變換[13]等,在睡眠分期上也有相關研究報道。
盡管有很多分類方法被應用于睡眠分期,但是在臨床上仍然主要依靠有資質有經驗的醫師進行人工分期。對于不同的人來說,睡眠數據通常在幅值、分布上有較大差別。即使是同一個人,睡眠模式也會因為環境和生理狀況的改變而不同。對監督算法來說,其性能與訓練樣本和訓練過程有很大的關系,并且對特定的測試樣本才有比較高的分類精度,難以適應實際應用中具有各種不同特性的睡眠數據。有監督分類器需要事先提供大量的有標簽的睡眠數據來學習,而人工標記整晚睡眠是一項相當耗時的工作。標記一段8 h的睡眠數據需要2~4 h,且標記準確與否與專家的經驗有很大的關系。因此,如何適應復雜多變的實際睡眠數據仍是睡眠自動分期中值得研究的問題。
聚類算法作為無監督學習過程,是數據挖掘、模式識別等領域的重要研究內容之一。它直接根據數據的內在結構進行識別,不需要帶標簽的數據以供學習。因此,聚類算法用在睡眠分期上的前景十分廣闊。K均值聚類是一種典型的聚類算法,其處理速度快,算法簡單[14]。Koupparis等[15]結合短時傅里葉變換和K均值聚類作為半自動睡眠分期方法,能有效地區分出W、REM和S1期。Lima等[16]利用K均值聚類算法分離出了EEG信號偽跡。K均值聚類算法能與其他方法結合以提高其性能,例如粗糙集[17]、模糊理論[18]、支持向量機[19]、神經網絡模型[20]等。
本文結合聚類算法的優勢,提出一種改進的K均值聚類算法,對實際應用中的臨床睡眠數據進行分期。針對實際睡眠分期問題,考慮到原始K均值聚類算法的不穩定性和易受離群點的影響,從初始聚類中心的選擇和更新聚類中心的角度出發對其進行改進。首先,結合密度的思想,選擇數據密集的點作為初始中心。所選的中心能適應數據的分布,從而得到合理的分類結果。其次,在算法迭代過程中,根據“3σ法則”更新中心,以減小離群點的影響。本文分別選用了健康被試和接受持續正壓通氣(continuous positive airway pressure, CPAP)治療的睡眠障礙者的臨床數據進行測試。結合EEG等人體生物電信號的時域、頻域特征,將整晚睡眠分為W、S1、S2、SS和REM期5個階段,同時結合實際睡眠數據的形態多樣性討論了該方法在臨床數據上的可行性和有效性。
1 數據和方法
1.1 睡眠數據
本研究中的睡眠數據來自日本東京Toranomon醫院。受試者為1名正常成年人(28歲,男性)和2名經CPAP治療后的睡眠障礙患者(36歲和52歲,均為男性)。依據臨床數據采集的規定,已獲得受試者的知情同意書。采集設備為日本光電EEG1100K,按照通用的多導睡眠圖(polysomnograph, PSG)監測方式同步采集了受試者整晚睡眠EEG、EOG和EMG信號。PSG監測方式詳見圖 1,EEG信號的采集按照國際10-20電極安放標準,采集中部區域(C3和C4)和枕部區域(O1和O2),并以異側的耳垂(A1和A2)為參考電位;EOG信號的采集位置位于左右眼瞼處(LOC和ROC),并以左側耳垂(A1)作為參考電位;EMG信號主要記錄下頜部位的肌肉活動產生的電活動(CHIN)。EEG和EOG信號的采樣頻率為100 Hz,EMG信號的采樣頻率為200 Hz,時間常數為0.3 s,靈敏度是0.5 cm/50 μV。

1.2 特征計算
整晚睡眠一般是結合EEG、EOG和EMG三種生物電信號進行分期。其中,EEG主要分為α波(8~13 Hz)、β波(14~25 Hz)、θ波(4~8 Hz)和δ波(0.5~4 Hz)。根據美國睡眠醫學學會提出的最新分期標準,正常成年人的整晚睡眠可分為W、S1、S2、SS和REM期5個階段。在W期,安靜、閉目情況下,EEG為持續的α波活動,還會混有低幅的其他頻段的波形,常伴有高頻的EMG。睜眼時,α波減少,EOG可能表現為快速眼動和眨眼現象,這一現象被稱為α-阻斷[21]。S1期是人由清醒進入睡眠狀態的過渡階段,EEG中開始出現慢波,α波在整個EEG數據段中所占的比例減少,逐漸被θ波取代。S2期EEG上θ波增多,且還會出現少量中低波幅的δ波。并且,可以看到睡眠紡錘波和K-復合波[22-24]。紡錘波頻率在11~16 Hz之間,持續時間大于0.5 s,小于3 s[25]。K-復合波是頻率在1 Hz左右的低頻高幅(>75 mV)慢波,先負相后正相。在SS期,δ波是最明顯的特征。REM期,從大多數指標來看,人大腦的活動狀況與S1期十分相似。另外,此睡眠階段很重要的特點就是眼球快速運動,出現鋸齒狀的波形,EMG活動很弱。
合適的特征能反映出信號的潛在信息。本文針對上述睡眠各個分期的特點,在頻域上對EEG和EOG提取了4個特征,從EMG上提取了1個時域特征。對EEG,計算δ、θ、α波占全頻段的比例Rδ、Rθ、Rα。其中,Rδ、Rθ從EEG的C3/A2和C4/A1通道信號提取,并取左右對稱通道中的較大值,Rα從O2/A1和O1/A2通道計算得到,也是取左右對稱通道中的較大值作為特征值:
$ {R_\delta } = \max \left\{ {\frac{{{E_\delta }\left( {C3} \right)}}{{{E_{\rm{T}}}\left( {C3} \right)}},\frac{{{E_\delta }\left( {C4} \right)}}{{{E_{\rm{T}}}\left( {C4} \right)}}} \right\} $ |
$ {R_\theta } = \max \left\{ {\frac{{{E_\theta }\left( {C3} \right)}}{{{E_{\rm{T}}}\left( {C3} \right)}},\frac{{{E_\theta }\left( {C4} \right)}}{{{E_{\rm{T}}}\left( {C4} \right)}}} \right\} $ |
$ {R_\alpha } = \max \left\{ {\frac{{{E_\alpha }\left( {O1} \right)}}{{{E_{\rm{T}}}\left( {O1} \right)}},\frac{{{E_\alpha }\left( {O2} \right)}}{{{E_{\rm{T}}}\left( {O2} \right)}}} \right\} $ |
其中,Eδ、Eθ、Eα、ET分別表示δ、θ、α和全頻段的能量,即將時序列信號經過快速傅里葉變換到頻率域后,在頻域上計算各頻段幅度平方和。對EOG,計算LOC-ROC通道2~10 Hz這一頻段的能量ELR。對EMG,計算其過零點數ZC。
計算特征后,需要對特征進行標準化。本文采用z-score方法,即
$ {x^*} = \frac{{x - \mu }}{\sigma } $ |
其中,x*是標準化后的數據,μ是原始數據的均值,σ是標準差。
1.3 改進的K均值聚類算法
聚類是按照樣本的某些屬性,把一個數據集聚成多個類,使得類中的對象相似度大,而類之間的相異度大。K均值聚類算法:首先隨機選擇k個對象作為k個類的初始聚類中心;然后,對剩下的各個對象,分別計算其與各個類中心的距離,將它劃分到距離最近的類中;最后,重新計算各個類的平均值作為聚類中心。重復以上過程直到類中心不再變化或準則函數收斂。
K均值聚類算法是最典型的聚類算法,其算法簡單、速度快、易于實現,但是在應用中易受到限制。主要問題在于原始K均值聚類算法的初始聚類中心是隨機選擇的,不同的初始中心會導致不同的聚類結果,使得算法不穩定。并且,在算法迭代過程中,更新聚類中心時,計算類中所有點的平均值作為新的中心,這一過程易受離群點的影響。此外,K均值聚類算法中聚類個數k是需要預先給定的,通常根據先驗知識來確定。如果對數據的分布不是很了解,不能確定聚類數,在這種情況下不準確的k值會導致聚類質量下降。因此,在實際應用之前,需要對原始K均值聚類算法進行改進。
(1)?初始聚類中心的選擇。本文結合密度的思想選擇初始中心。對于某一樣本點,其密度定義為:一定數量的數據點分布在其周圍多大的范圍內。設數據集D={x(1), x(2), …, x(N)},x(i)的密度為分布在其周圍最近的M個點中,離它最遠的點到它的距離。即:
$ \rho \left( i \right) = \max \left\{ {d\left[ {x\left( i \right),\left( j \right)} \right]} \right\} $ |
其中,ρ(i)表示點x(i)的密度,x(j)屬于離x(i)最近的M個點所組成的集合P(i)。ρ越小,表明對象周圍的數據越密集。第一個聚類中心即為ρ最小的點。在確定下一個中心時,從數據集D中去掉第一個聚類中心對應的集合P得到新的數據集,再在新的數據集中計算密度,選擇ρ最小的點作為第二個聚類中心。以此類推,直到選出k-1個初始中心。然后在剩余數據樣本中選擇ρ最小的點作為第k個聚類中心。本文中的距離均采用歐氏距離。由此,得到了k個周圍樣本最密集的對象作為初始聚類中心。
(2)?更新聚類中心。確定好初始中心后,原始K均值聚類在更新聚類中心時,計算類中所有點的平均值作為新的中心。在本文中,選擇距離中心一定范圍內的點計算均值。根據“3σ法則”,這一范圍可取為(μ-3σ, μ+3σ)。其中,μ為類內點到中心距離的均值,σ為類內點到中心距離的標準差。這樣,新的類中心既可以包含類內絕大多數的數據點的信息,又可以減小離群點的影響。
綜上,改進的K均值聚類算法步驟如下:
(a)?計算兩兩數據點之間的距離d[x(i), x(j)];
(b)?按照公式(5)計算每個點的密度ρ,同時得到集合P;
(c)?比較所有的ρ,選擇最小的ρ所對應的數據點x(k)作為第一個初始聚類中心,并從集合D中去掉P(k),得到新的數據集D1;
(d)?重復(a)~(c),直到選出k個點作為初始聚類中心;
(e)?對D中除去k個聚類中心的剩余樣本根據其與各個聚類中心的距離,分別分配給距離最近的類;
(f)?計算簇中每個點到中心的距離,計算μj和σj,選擇距離在(μj-3σj,μj+3σj)內所對應的點計算平均值作為新的聚類中心;
(g)?按照步驟(e)重新分配各個樣本對象,直到準則函數收斂或者聚類中心不再變化。
2 結果
2.1 人工判別
從睡眠分期的應用目的來說,主要是作為輔助臨床診斷的重要工具。因此,本研究中采用了來自于臨床的睡眠數據作為分析對象。1例正常人的整晚睡眠數據和2例睡眠障礙患者的睡眠數據均由日本Toranomon醫院提供,在同樣的采集環境下獲取,人工判別的結果也由該醫院的專業醫師完成。其中,睡眠障礙患者是在接受CPAP治療后對其睡眠數據進行了采集和分期處理,用于幫助醫生判斷CPAP治療的效果,以及后續治療方案的修訂。
依據臨床上的睡眠分期要求,將記錄獲得的整夜睡眠數據均分為30 s一段。對每30 s一段的睡眠數據均進行了人工判別。根據專家的人工判別,分別對本文主要分析的3名受試者睡眠各分期的數據段數進行了統計。被試1睡眠數據屬于W期的有197段,S1期有51段,S2期有489段,SS期有139段,REM期有108段。被試2睡眠數據屬于W期的有171段,S1期有156段,S2期有342段,SS期有113段,REM期有158段。被試3睡眠數據屬于W期的有254段,S1期有59段,S2期有360段,SS期有178段,REM期有178段。
與正常人的睡眠相比,睡眠障礙患者的睡眠分期分布較分散,每次出現的睡眠分期持續時間不長,睡眠易被中斷。同時,睡眠障礙患者的睡眠量與正常人相比有所不同。例如,一般正常成年人S2期的持續時間占總睡眠時間的44%~55%,本文中正常被試1的S2期數據段約占整晚睡眠的50%,而患有睡眠障礙的被試2、3的S2期比例分別約為36%、35%。此外,睡眠障礙患者在睡眠中常出現一些異常情況,影響數據的變化模式、幅值等,從而使得特征值與正常人的數據有較大差異。
2.2 自動分期結果比較
本文采用與人工判別相同的數據段分段方式,對每30 s數據計算1.2小節中的EEG、EOG和EMG的5個特征參數Rδ、Rθ、Rα、ELR和ZC,用于睡眠自動分期。按照1.3小節中的改進后的K均值聚類算法,對3名被試者的數據進行自動判別處理。將k設定為5,也就是將整夜睡眠數據分為5個類別,分別表示W、S1、S2、SS和REM。
以每個數據段對應的特征向量作為樣本點,計算每個點的密度。然后,從中選擇5個周圍分布最密集的樣本點作為初始聚類中心,分配樣本。根據“3σ法則”更新聚類中心,迭代,直到聚類中心不再變化。這樣,每次運行算法時,初始中心都是相同的,從而使得最終聚類結果不變,算法穩定。此外,根據“3σ法則”更新中心,可以減小離群點對迭代過程的影響。
改進K均值聚類算法確定的初始中心如表 1所示。從表中可以看出,對三名被試來說,EEG中α波比例在W期達到最大值,EOG和EMG活動在W期也比較活躍。進入NREM睡眠后,EOG和EMG信號活躍程度降低。S1期,α波比例較W期低,θ波開始變得活躍,比例升高,逐漸取代EEG中α波成分;S2期,θ波和δ波是EEG波形的主要組成頻段,比例逐漸增大;SS期,EEG波形變得更慢,此階段δ波比例在整晚睡眠中最高,占主導地位。而REM期,EEG表現為α波和θ波的混合狀態,EOG活動較為顯著,EMG活動微弱。由此可見,改進K均值聚類算法所確定的5個初始聚類中心能較好地表現出5個不同睡分期的特點,對健康成年人和睡眠障礙患者的睡眠數據均具有有效性。

誤差平方和(square sum of error, SSE)是K均值聚類算法常用的準則函數,可以用來評價聚類的質量。SSE越小,說明各類樣本與中心的誤差和越小,聚類效果越緊密。對三名被試的睡眠數據分別采用原始K均值聚類方法和改進K均值聚類算法迭代一次后,計算聚類結果的SSE,如表 2所示。可見,三名被試的數據采用改進K均值聚類算法聚類一次后的SSE均小于原始K均值聚類的結果。由此說明,在迭代過程中,改進K均值聚類算法根據“3σ法則”更新聚類中心的方式能使類中聚類效果更緊密,各類中樣本相似度更大。

確定好初始聚類中心后,改進K均值聚類算法按照“3σ法則”更新聚類中心,迭代,直到聚類中心不再變化。將改進后的K均值聚類算法的分期結果與原始K均值聚類算法對比,如表 3所示。原始K均值聚類算法由于隨機選擇初始中心,導致分期結果不穩定。因此,本文中對每個被試的睡眠數據運行20次,選擇分類效果最好的結果與改進后的K均值聚類算法的分期結果進行比較。從表 3中可知,采用改進K均值聚類算法的分期效果明顯比原始算法的效果好,驗證了本文所提改進K均值聚類算法在整晚睡眠分期中的有效性。

2.3 睡眠狀態多樣性分析
在對實際數據的特征參數進行分析時,我們發現W期的α節律成分呈現出兩種不同的狀態。圖 2中分別給出了兩組原始時序列波形,左邊為閉眼時的W期,右邊為睜眼時的W期。觀察O1/A2和O2/A1通道,可以發現在閉眼的狀態下α波活動非常強烈;而在睜眼狀態下,α波很微弱,并存在明顯的眨眼現象。由于這兩種狀態下的睡眠特征十分不同,睜眼的W期很容易被錯判為其他睡眠分期。

在K均值聚類算法中,聚類數k的值不僅會影響聚類的質量,而且決定了聚類結果是否有意義。通常,k被設定為一個確定的值。然而,對實際應用中的睡眠分期來說,會有不同于理想情況的狀態出現。通常在入睡的過程中,會伴隨出現睜眼等眼動現象,在專家的人工判別中較易確認為W期,而對自動判別方法來說,上述特征的差異性會影響到W期與其它睡眠期的準確判別。針對W期在閉眼和睜眼情況下所呈現的不同特征,將k的值設定為6,采用改進后的K均值聚類算法進行了測試和分析。
表 4是采用改進K均值聚類算法得到的睡眠分期與人工判讀的對比結果,表中的數值表示了睡眠分期的分類準確率。首先,以30 s為一個數據段,根據人工判讀分期結果,統計得到各睡眠分期的數據段總數;然后,分別計算睡眠分期的自動判別結果與人工判讀相一致的數據段數量;最后,將對比一致的數據段數量除以該睡眠分期數據段總數,得到各分期的分類準確率,詳見表 4中第二列至第六列。表 4中最右邊一列為整晚睡眠的總體分類準確率,即各睡眠分期判別一致的數據段數總和占整晚睡眠數據段總數的比例。

在表 4中,分別統計了三名被試在k取值為5和6的情況下睡眠分期的分類準確率。在k=5的情況下,即未考慮如圖 2所示的W期形態多樣性時,人工標記為W期的樣本容易被錯分為S1期,從而影響W期和S1期的準確判別。這是因為在睜眼狀態下,α波很微弱,特征與S1期相似,較難區分。考慮了W期的形態多樣性后,本文在改進的K均值聚類算法中取k=6,從表 4中可以看出三名被試W期的識別準確率均得到了提高。對被試1來說,S1期分布較分散,與S2較易混淆,但被試2和3的S1期準確率有顯著提高,分別從3%、2%提高到58%、75%。同時,改進K均值聚類算法對三名被試的S2、SS和REM期的分類效果非常好,證實了改進算法通過調整k的取值能更有效地實現臨床睡眠的自動分期。
3 討論
K均值聚類算法是一種簡單、易于實現的聚類算法,但是在實際應用中存在局限性。其對初始聚類中心十分敏感,初始中心選擇的隨機性會導致算法不穩定,分次運行算法會得到不同的聚類結果。本研究提出了一個密度的概念,選擇周圍樣本密集的k個對象為初始聚類中心。無論算法運行多少次,得到的初始中心始終不變。從表 1觀察可知,改進算法確定的初始中心符合各個睡眠分期的特征。所確定的初始中心不僅與睡眠分期的特征一致,并且能符合被試本身的睡眠特性。另外,為了減小迭代過程中離群點的影響,在更新聚類中心時,根據“3σ法則”選擇離中心近的樣本點進行處理。通過這樣的方式,新的中心能包含大多數樣本的信息而去掉了離群點的影響。表 2和表 3的結果顯示,相比原始算法,改進K均值聚類算法對整晚睡眠數據的分期效果更好,準確率更高,驗證了改進方法的有效性和合理性。
K均值聚類算法中,聚類數k通常被設定為一個特定的值。但是,對于實際應用中的睡眠分期,睡眠分期特征的分布情況往往存在不確定性和復雜性。本文在對3個被試的整夜睡眠數據進行分析時,未進行數據剔除而采用了連續的7~8 h的睡眠數據進行分析。觀察發現,在W期,除了通常定義下的閉目安靜的狀態,也會伴隨睜眼的現象。從圖 2可知,這兩種W期的波形有很大區別,閉眼狀態下的波形特點較符合W期的判斷規則,而眼動狀態下的波形尤其是EEG信號的特點則更接近于S1期,影響了自動分期算法的處理效果。因此,本研究討論了不同k值的情況下,睡眠分期效果的比較。設置k取6,在這種情況下,S1期的初始中心與W和S2期的類中心差異更大,之前易混淆的樣本能更容易地分到相應的類中。結果表明,W和S1期的分類準確率相比k=5時均得到了提高。同樣對臨床形態多變的睡眠數據來說,不同疾病或不同年齡以及受試者對治療的效果差異,都會影響到睡眠分期的分布情況,在較難獲得規律的睡眠狀態分布的情況下,改進后的算法能夠通過調整k的取值,更有效地發揮算法對樣本本身分布適應性較好的特點,為臨床睡眠分期輔助診斷提供可行的應用方式。
睡眠分期是輔助診斷疾病的一種有效途徑,從臨床應用目的來說,更側重于對睡眠障礙患者的睡眠分期。本文采用的2例睡眠障礙患者,在進行CPAP治療之前,睡眠過程中缺少深睡眠階段,其淺睡眠狀態也呈現出較為紊亂的變化過程;經過CPAP治療之后,睡眠有所改善,對治療后的睡眠數據進行分期能夠有助于醫生判斷治療的效果和修訂治療方案。實際上,睡眠障礙患者的睡眠模式、睡眠數據幅值等與正常成年人均有差異,睡眠疾病患者的睡眠狀態也互相存在較大的差異性,且各種因素綜合形成的個體差異是生物電信號分析中不可避免的問題。因此,尋找一種能適應臨床睡眠變化數據的分期方法尤為重要。本文提出的改進的K均值聚類算法不需要大量樣本數據進行學習和訓練,根據樣本本身的分布特點進行聚類。對睡眠分期的臨床應用來說,具有較好的靈活性和適應性,已有的數據分析結果顯示了改進后的算法在實際臨床數據上的應用效果。由于不同疾病、不同年齡段及受試者本身對治療的適應性等因素,會導致獲取的睡眠數據較難呈現出規律性的特點,往往會有其數據分布的特殊性。為了更好地應用于臨床數據,在本文給出的改進算法的基礎上可以進行有針對性的數據分析,有助于為臨床診斷提供有用的輔助判斷依據。
4 結論
本文從K均值聚類算法的初始中心選擇和減少離群點影響的角度出發,提出了一種改進的K均值聚類算法,應用到睡眠分期上,將整晚睡眠分為W、S1、S2、SS和REM期5個階段。基于密度的初始中心的選擇能避免K均值聚類算法的隨機性,根據“3σ法則”更新聚類中心能減小離群點對迭代過程的影響。針對睡眠狀態多樣性問題,本文分析并討論了調整聚類數對睡眠分期的應用效果。該算法在實際臨床睡眠數據上進行了測試,得到了較高的分類準確率,驗證了該方法運用在臨床數據上的可行性和有效性。