陳小杰+曹國華
摘要:該方法獨創(chuàng)性地在將機器學習用于心率數(shù)據(jù)挖掘,根據(jù)長時間采集的心率大數(shù)據(jù)建立該用戶的心律狀況評價函數(shù),同時實時進行動態(tài)反饋和修正,解決了從采集到的心率大數(shù)據(jù)中到心律狀況動態(tài)函數(shù)這一復雜多變量、強耦合、動態(tài)實時變化的偽隨機擬合問題。
【關(guān)鍵詞】心率 信號處理 機器學習 可穿戴預警系統(tǒng)
1 算法流程
首先給出本產(chǎn)品總的算法流程圖如圖1所示。
在本節(jié)中將詳細討論機器學習算法設(shè)計。當數(shù)據(jù)由NRF51822芯片傳給APP時,首先APP需要采集大量的基礎(chǔ)數(shù)據(jù),以便刻劃出該用戶的心律狀況圖譜即解算出該用戶的心律狀況函數(shù),然后根據(jù)藍牙芯片傳輸?shù)臄?shù)據(jù)對該函數(shù)進行實時反饋修正,從而當用戶出現(xiàn)心律異常征兆時,能夠及時給出預警信息。接下來便詳細論述基于機器學習的心律狀況函數(shù)以及動態(tài)實時反饋修正算法的推導過程。
2 卷積神經(jīng)網(wǎng)絡的機器學習
在作品難點與創(chuàng)新一節(jié)中己詳細論述了心率曲線數(shù)據(jù)的本質(zhì)是偽隨機數(shù)據(jù),而心率曲線數(shù)據(jù)和刻劃心律健康狀況指標的心律狀況函數(shù)可以看做是一個多變量、強耦合的動態(tài)非線性映射。本文采取基于卷積神經(jīng)網(wǎng)絡的機器學習解決該問題。
假設(shè)數(shù)據(jù)采集頻率為N/S,則在一天之內(nèi)可以采集的數(shù)據(jù)為N*60*60*24=86400N個心率數(shù)據(jù)。假設(shè)N為0.5,3天之內(nèi)即可采集到百萬個數(shù)據(jù),可見數(shù)據(jù)量已經(jīng)足夠了。為了敘述的方便,將等待被訓練數(shù)據(jù)個體的長度設(shè)為M個,于是原問題簡化為從86400N/M個樣本中訓練出最常見、出現(xiàn)頻率最高的樣本特征,換言之即從86400N/M個樣本中提取出最大特征公約數(shù)。當采集到新的心率數(shù)據(jù)時,即可根據(jù)該算法判斷出該心率數(shù)據(jù)是否在最大特征公約數(shù)中,如果在,便說明心律并無異常,當采集到的心率數(shù)據(jù)樣本偏離太多,即可證明該時問段內(nèi)心律出現(xiàn)異常,從而給出預警信息。該算法的層級結(jié)構(gòu)如圖2所示。
首先需要對輸入的心率數(shù)據(jù)樣本進行前處理以去噪和得到更加有用的信息。本產(chǎn)品中所采取的預處理方法如圖3所示。
然后將心率輸入樣本進行CNN機器學習算法的第一步卷積運算。卷積運算的本質(zhì)其實是將輸入數(shù)據(jù)和濾波矩陣filter進行內(nèi)積。在CNN中,濾波器filter(帶著一組固定權(quán)重的神經(jīng)元)對局部輸入數(shù)據(jù)進行卷積計算。每計算完一個數(shù)據(jù)窗口內(nèi)的局部數(shù)據(jù)后,數(shù)據(jù)窗口不斷平移滑動,直到計算完所有數(shù)據(jù)。這個過程中,有如下參數(shù):
(1)深度depth:神經(jīng)元個數(shù),決定輸出的depth厚度。同時代表濾波器個數(shù):
(2)步長stride:決定滑動多少步可以到邊緣:
(3)填充值zero-padding:在外圍邊緣補充若干圈O,方便從初始位置以步長為單位可以剛好滑倒末尾位置,通俗地講就是為了總長能被步長整除。圖4便是其運算原理圖。
設(shè)輸入心率樣本數(shù)據(jù)為[a b;c d],設(shè)置的濾波器組為[d e;fg],則輸出為:
[yl y2;y3 y4]
其中:yl=ad+be+cf+dg
y2=bd+df;
y3=cd+de;
y4=dd;
當數(shù)據(jù)經(jīng)過卷積層便進入激勵層。本激勵層選用sigmoid函數(shù),其功能是相當于把一個實數(shù)壓縮至O到1之問。當z是非常大的正數(shù)時,g(z)會趨近于1,而z是非常大的負數(shù)時,則g(z)會趨近于O。這樣一來便可以把激活函數(shù)看作一種“分類的概率”,比如激活函數(shù)的輸出為0.9的話便可以解釋為90%的概率為正樣本。
最后將這些數(shù)據(jù)經(jīng)過池化層,本池化層采取求最大值的方式。然后將該數(shù)據(jù)進行復合輸出。整個流程已經(jīng)走完,剩下的便是讓所有樣本心率數(shù)據(jù)進行迭代。建立該網(wǎng)絡神經(jīng)元,當下一個樣本數(shù)據(jù)來臨時,便可給出其輸出值,根據(jù)輸出值即可判斷該樣本心率數(shù)據(jù)是否屬于該用戶該段時問內(nèi)正常的心律范圍內(nèi)。endprint