基于HMM和BP神经网络的睡眠分期算法
基于HMM和BP神經網絡的睡眠分期算法
由于在做睡眠監測設備,最近研究了一下睡眠分期的相關…在知網上查到了很多的論文,對其中一篇論文做了一個復現并進行了些許的改進,弄了一個睡眠分期算法,將成果寫成博客方便日后查看。首先,在講述算法模型前,先科普一下睡眠分期的一個相關研究。
睡眠分期的相關研究
睡眠過程中,腦電圖發生各種不同變化,這些變化隨著睡眠的深度而不同。根據腦電圖的不同特征,又將睡眠分為兩種狀態:非眼球快速運動睡眠(又稱正相睡眠、慢波睡眠、同步睡眠、安靜睡眠、NREM睡眠)和眼球快速運動睡眠(又稱異相睡眠、快波睡眠、去同步化睡眠、活躍睡眠、REM睡眠,還稱雷姆期現象),二者以是否有眼球陣發性快速運動及不同的腦電波特征相區別。
圖為一個睡眠周期內大致的睡眠分期
在一個睡眠周期內,睡眠狀態的變化大致如下:
睡眠分期算法的訓練數據來自于在Google dataset中搜到的DREAMS主題數據庫中,關于20位健康人員的一晚上的睡眠數據,通過HRV(心率變異性)等原理來進行特征的篩選。
睡眠分期算法模型
數據類型
數據包含兩個部分,一部分為來自20名健康受試者的20個全夜多導睡眠圖文件,采樣的頻率為200HZ,也就是說每秒產生200個數據,另一部分為專家根據美國睡眠醫學會標準,以30秒為時間段切分,通過人工標注所處睡眠階段的注釋文件。
20名測試者的信息為4男16女,年齡層在20-65歲,有一定的代表性。經過對數據進行預處理、分類訓練,得到一個睡眠質量分析的模型,經過多次實驗,我們采用了HMM隱馬爾可夫模型與反饋神經網絡相結合的混合算法應用到了睡眠分期的分類計算中,經過交叉驗證,模型的準確率可以達到85%以上。
整體搭建流程:
整體思路
首先通過數據中的多導睡眠圖進行心率、呼吸率的提取,通過HMM隱馬爾可夫模型提取出心率變異的特征向量,訓練出各個睡眠時期相對應的隱馬爾可夫模型,,然后再將計算結果作為向量輸入到反饋神經網絡中進行第二次的分類,利用反饋神經網絡的強大的區分識別能理提高準確率。經過交叉驗證,對于識別的準確率可以達到85%左右。
接下來會分別介紹HMM和BP神經網絡
隱馬爾可夫模型(HMM)
統計模型的一種,用來描述一個含有隱含未知參數的馬爾可夫過程。
HMM基本模型可以用上圖來表示,其中y1,y2,y3表示可以觀察到的狀態,x1,x2,x3表示無法觀測到的狀態,b為隱藏狀態與各個觀測狀態之間的關系,a為各個隱藏狀態之間的相關概率。
HMM模型的建立主要由以下三個參數組成:
這樣,確定了參數之后,就可以通過使用x = [S,K,Π,A,B]來表示HMM模型
代碼部分截圖
BP神經網絡
? 人工神經網絡無需事先確定輸入輸出之間映射關系的數學方程,僅通過自身的訓練,學習某種規則,在給定輸入值時得到最接近期望輸出值的結果。作為一種智能信息處理系統,人工神經網絡實現其功能的核心是算法。BP神經網絡是一種按誤差反向傳播(簡稱誤差反傳)訓練的多層前饋網絡,其算法稱為BP算法,它的基本思想是梯度下降法,利用梯度搜索技術,以期使網絡的實際輸出值和期望輸出值的誤差均方差為最小。
? 基本BP算法包括信號的前向傳播和誤差的反向傳播兩個過程。即計算誤差輸出時按從輸入到輸出的方向進行,而調整權值和閾值則從輸出到輸入的方向進行。正向傳播時,輸入信號通過隱含層作用于輸出節點,經過非線性變換,產生輸出信號,若實際輸出與期望輸出不相符,則轉入誤差的反向傳播過程。誤差反傳是將輸出誤差通過隱含層向輸入層逐層反傳,并將誤差分攤給各層所有單元,以從各層獲得的誤差信號作為調整各單元權值的依據。通過調整輸入節點與隱層節點的聯接強度和隱層節點與輸出節點的聯接強度以及閾值,使誤差沿梯度方向下降,經過反復學習訓練,確定與最小誤差相對應的網絡參數(權值和閾值),訓練即告停止。此時經過訓練的神經網絡即能對類似樣本的輸入信息,自行處理輸出誤差最小的經過非線形轉換的信息。(百度百科)
流程
工作信號正向傳遞的子過程
誤差信號反響傳遞的子過程
在BP神經網絡的訓練過程中,輸入層為樣本訓練的輸入矩陣,輸入信號經過處理之后將結果傳遞給輸出層,只有相鄰的神經元之間才可以傳遞信號。輸出層將輸出結果和預期結果進行對比,如果兩個結果的誤差未達到預期大小,就會進入反響傳遞,根據預測誤差值的大小來調整整個網絡節點之間的權重,知道最后接近期望輸出。
混合模型的建立
在單一使用HMM模型進行訓練時,由于嵌入式硬件的條件限制,所以只能使用心率進行特征篩選,所以模型的準確率只有65%,在經過BP神經網絡的結合之后,準確率達到了85%以上,這也證明了BP神經網絡模型對HMM分期的結果進行再分類是有效的。
主要是由于HMM忽略了各個特征之間的不同之處,在進行模型參數計算和模型匹配的時候,都是通過收斂計算和概率計算的方式來進行模型參數和匹配模型,這樣再計算的過程中就很容易產生意想不到的計算誤差。而BP神經網絡可以將其糾正到正確的睡眠狀態之中,從而提高睡眠分期計算的準確率。
總結
以上是生活随笔為你收集整理的基于HMM和BP神经网络的睡眠分期算法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: API 接口签名
- 下一篇: 社交网络影响力最大化——线性阈值模型(L