樊軻
(西安工程大學(xué)計算機科學(xué)學(xué)院,陜西西安 710600)
截止于2020 年,我國有超過了1 000 萬人群遭受癲癇疾病的困擾,而且每一年都會有50~60 萬新增病例[1]。臨床治療中常常使用抗癲癇藥物以抑制患者癲癇發(fā)作,但是藥物治療并不適合所有癲癇患者[2]。
腦電圖(Electroencephalogram,EEG)信號具有捕捉癲癇發(fā)作信號和決定癲癇發(fā)作狀態(tài)的能力[3]。腦電圖中蘊含有豐富的生理和疾病信息,臨床醫(yī)生通過分析病人的腦電圖不僅可以判斷該病人在某段時間內(nèi)是否處于癲癇發(fā)作時期,還可以迅速而精確的定位到癲癇的致病腦區(qū),可以幫助醫(yī)生以手術(shù)的方法切除致癇腦區(qū)[4]。
相關(guān)文獻表明,癲癇發(fā)作并不是突然性的,是存在一個時間過程,因此對癲癇發(fā)作的預(yù)測是可行的[5]。
2018 年,周夢妮等[6]使用非線性動力學(xué)中的排列熵提取腦電信號的特征,然后使用支持向量機識別癲癇發(fā)作時期的腦電信號,并使用投票機制完成癲癇發(fā)作的實時預(yù)測。
2020 年,Usman 等[7]提出一種基于深度學(xué)習(xí)算法中卷積神經(jīng)網(wǎng)絡(luò)的癲癇發(fā)作預(yù)警系統(tǒng)。該方法已應(yīng)用于波士頓兒童醫(yī)院頭皮腦電圖數(shù)據(jù)集的24 名受試者,成功地獲得了92.7%和90.8%的平均敏感性和特異性。
2016 年,Zhang[8]等提出了一種預(yù)測癲癇發(fā)作的具備良好特異性的算法。該算法使用SVM 作為分類器完成腦電信號的識別。由其實驗結(jié)果可知,該方法具有很好的準確率以及靈敏度。
然而,由于腦電信號在個體之間差異較大,傳統(tǒng)的機器學(xué)習(xí)很難適用于處理每一個患者的腦電記錄。而且深度學(xué)習(xí)自動提取數(shù)據(jù)特征的前提是數(shù)據(jù)規(guī)模足夠大,因為深度學(xué)習(xí)方法的學(xué)習(xí)能力是由可用于訓(xùn)練和測試的標注數(shù)據(jù)的數(shù)目決定的,所以深度學(xué)習(xí)算法常常存在一個弊端,即數(shù)據(jù)不足的問題。
為了解決上述問題,文中使用遷移學(xué)習(xí)方法完成了癲癇預(yù)測。與深度學(xué)習(xí)方法相比,遷移學(xué)習(xí)的一個顯著優(yōu)點是不需要足夠多的標注樣本也可以學(xué)習(xí)到可靠的分類模型。解決了癲癇信號因人而異的問題,極大地提高了模型處理腦電信號的效率。
文中使用了波士頓兒童醫(yī)院(Children Hospital Boston,CHB)[9]公開的數(shù)據(jù)集。該數(shù)據(jù)集包含22 名患者的23 組腦電記錄。每組腦電數(shù)據(jù)包含23 個通道的腦電記錄,采樣頻率為256 Hz。文中使用編號為1~18 的患者的腦電記錄作為實驗數(shù)據(jù)。每組腦電記錄中至少包含5 次癲癇發(fā)作時期的腦電信號。
圖1 對比了癲癇發(fā)作間期和癲癇發(fā)作時期的腦電信號。
圖1 癲癇發(fā)作間期和癲癇發(fā)作期腦電信號對比
為了實現(xiàn)癲癇發(fā)作預(yù)測,文中將腦電信號分為兩類,即癲癇發(fā)作期腦電信號和癲癇發(fā)作間期腦電信號。由于癲癇發(fā)作時間很短,因此,文中把每次癲癇發(fā)作前30 s 的腦電信號也標記為癲癇發(fā)作期。
腦電信號采集過程中容易受到干擾,如眼電信號干擾、肌電信號干擾、工頻干擾等。因此,腦電信號處理的第一步通常是數(shù)據(jù)預(yù)處理。數(shù)據(jù)預(yù)處理的作用主要是過濾其他干擾信號,并根據(jù)實際情況選擇頻率區(qū)間的腦電信號。
文中使用6組不同頻率區(qū)間的帶通濾波器對腦電信號作預(yù)處理。其頻率區(qū)間分別為0.5~4 Hz、4~8 Hz、8~13 Hz、13~30 Hz、30~80 Hz 和80~150 Hz。
為了更好地識別發(fā)作期和發(fā)作間期的腦電信號,文中使用樣本熵作為分類特征。
樣本熵是通過計算在目標信號序列中生成新碼型的可能性來測量目標時間序列的復(fù)雜度[10]。并且其復(fù)雜度與生成新碼型的概率成反比。具體而言,樣本熵越小,時間序列越穩(wěn)定,生成新模式的可能性越小,時間序列的復(fù)雜度也越低。相反,樣本熵越大,生成新模型的可能性就越大,時間序列的復(fù)雜性和易變性也就越大[11]。
計算N維時間序列x(1),x(2),…,x(N)樣本熵的方法如下:
1)按序號將時間序列組成m維向量,即:
序列:Xm(1),Xm(2),Xm(3),…,Xm(N-m+1)。
2)定義向量Xm(i)和Xm(j)之間的距離D為兩者對應(yīng)元素差值最大值的絕對值,即:
3)對于給定的閾值,統(tǒng)計Xm(i)和Xm(j)之間距離小于或等于閾值的數(shù)目,記為Bi,定義:
4)求(r)對所有i值的平均值:
5)將維數(shù)增加到m+1,重復(fù)步驟2)~4),得到Am(r)。則樣本熵定義為:
當N為有限值時,樣本熵可估計為:
腦電信號的一個特點就是因人而異,個體和個體之間差別很大,傳統(tǒng)的機器學(xué)習(xí)或者深度學(xué)習(xí)算法不能適用于每一個患者的實際情況。在實際臨床治療中,腦電信號是否處于實際癲癇發(fā)作時期都是依賴于臨床醫(yī)務(wù)人員或者專家的人工標注。而且由于腦電數(shù)據(jù)采集成本高、信噪比較差,并且每次癲癇發(fā)作的持續(xù)時間都很短。所以在實際臨床應(yīng)用中,對每一位患者建立足夠且?guī)俗⒌哪X電信號數(shù)據(jù)比較困難。
因此,使用遷移學(xué)習(xí)處理和分析腦電信號越來越受到國內(nèi)外研究學(xué)者的關(guān)注。
源領(lǐng)域和目標領(lǐng)域是遷移學(xué)習(xí)中的兩個基本概念[12]。通常情況下,目標領(lǐng)域存在的問題是可用于訓(xùn)練的數(shù)據(jù)太少或數(shù)據(jù)標注太困難,而源領(lǐng)域則有足夠數(shù)量的訓(xùn)練數(shù)據(jù)用于模型學(xué)習(xí)。因此,為了能在目標領(lǐng)域構(gòu)建一個效果可靠的分類器,通常需要把在源領(lǐng)域?qū)W到的知識應(yīng)用在目標領(lǐng)域中,這種知識的轉(zhuǎn)移就是遷移學(xué)習(xí)[13]。相比于經(jīng)典的機器學(xué)習(xí)方法,遷移學(xué)習(xí)的優(yōu)點是學(xué)習(xí)到的分類模型的好壞不再由可利用的訓(xùn)練樣本來決定;用來學(xué)習(xí)的源領(lǐng)域的訓(xùn)練數(shù)據(jù)與新測試數(shù)據(jù)的關(guān)系也不必屬于獨立且同分布的關(guān)系[14]。
文中使用基于模型的遷移學(xué)習(xí)[15]。實驗中使用VGG19 網(wǎng)絡(luò)訓(xùn)練和測試所選的數(shù)據(jù)。VGG19 網(wǎng)絡(luò)是Oxford 組在AlexNet 的基礎(chǔ)上改進后而得到的[16]。與AlexNet 中卷積核尺寸都比較大不同的是,VGG19網(wǎng)絡(luò)中使用的是尺寸小但連續(xù)的卷積核。在VGG19中卷積核的大小和最大池化的大小都是固定的。并且相比于AlexNet 中較大的卷積核,VGG19 中連續(xù)小卷積核的組合濾波效果更加明顯,這也證明了可以通過一直加深網(wǎng)絡(luò)層數(shù)來提升網(wǎng)絡(luò)的性能。由于腦電信號的特殊性,所以將該網(wǎng)絡(luò)中卷積核的尺寸設(shè)置為3×1。其結(jié)構(gòu)如圖2 所示。
提升初中歷史課堂教學(xué),應(yīng)當增加學(xué)生對歷史學(xué)習(xí)的興趣,將學(xué)生的感情與歷史聯(lián)系在一起。巧妙設(shè)計課前導(dǎo)學(xué),激起學(xué)生探索歷史的興趣,利用情境創(chuàng)設(shè)引導(dǎo)學(xué)生講感情帶入學(xué)習(xí)之中,同時通過多媒體使學(xué)生更加直觀地了解歷史,拓寬自己的歷史知識。使學(xué)生在輕松自主的課堂氛圍中掌握知識點,將被動學(xué)習(xí)變成主動記憶,促進學(xué)生歷史學(xué)習(xí)體系的建立。我希望通過本次的研究,可以為一線歷史教師提供一些幫助,有助于營造師生互動、自主探究的歷史課堂學(xué)習(xí)氛圍,提高歷史課堂教學(xué)效率,培養(yǎng)學(xué)生的綜合素質(zhì)。
圖2 1維卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
在經(jīng)過VGG19 網(wǎng)絡(luò)分類之后,需要用6 min 的非重疊時間窗來統(tǒng)計這段時間內(nèi)發(fā)作期信號的數(shù)量,以識別其是發(fā)作期還是發(fā)作間期。
具體做法:在經(jīng)過VGG19 網(wǎng)絡(luò)分類后,得到測試數(shù)據(jù)集的標簽,根據(jù)每一個病人的實際情況設(shè)置一個閾值,如果該段時間內(nèi)發(fā)作期信號大于該閾值,則判定該段時間處于發(fā)作期,反之則認為該段時間處于發(fā)作間期。
假設(shè)該病人實際癲癇發(fā)作時間點為T1,而模型預(yù)測病人癲癇發(fā)作的時間點為T2,則發(fā)作預(yù)測時間T的計算公式為:
基于遷移學(xué)習(xí)的癲癇發(fā)作預(yù)測算法的具體步驟為:
1)為了解決因?qū)嶒灁?shù)據(jù)維度太多而造成算法時間復(fù)雜度過高的問題,使用PCA 方法將原始23 導(dǎo)聯(lián)的腦電數(shù)據(jù)降維至3 導(dǎo)聯(lián)數(shù)據(jù);
2)為了濾除其他干擾信號數(shù)據(jù),便于分析研究不同頻率波段的腦電信號,使用6 組不同頻率波段的ButterWorth 帶通濾波器對降維處理之后的腦電信號數(shù)據(jù)進行分段處理;
3)為了避免多維度特征造成時間復(fù)雜度太高,而使用樣本熵作為唯一的分類特征;
4)使用遷移學(xué)習(xí)得到的VGG19 網(wǎng)絡(luò)學(xué)習(xí)預(yù)先劃分好的訓(xùn)練數(shù)據(jù)集中的知識,并在測試數(shù)據(jù)集中進行驗證;
5)統(tǒng)計規(guī)定時間段內(nèi)處于癲癇發(fā)作時期的腦電信號數(shù)量,并將其與預(yù)先設(shè)置的閾值進行比較。如果該段時間內(nèi)處于發(fā)作時期的腦電信號大于閾值,則判定該段時間處于發(fā)作期,反之則認為該段時間處于發(fā)作間期。
文中使用Matlab 的2020a 作為實驗平臺,運行環(huán)境為單GPU。實驗中為了VGG19 網(wǎng)絡(luò)具有更好的學(xué)習(xí)能力,將數(shù)據(jù)集的80%作為訓(xùn)練數(shù)據(jù),20%作為測試數(shù)據(jù),最大迭代次數(shù)為525 次。
為了更好地評估算法的預(yù)測能力,文中使用發(fā)作預(yù)測時間和誤報率作為算法的評價指標。
1)發(fā)作預(yù)測時間
發(fā)作預(yù)測時間是指從模型預(yù)測病人癲癇發(fā)作的時間點到病人實際癲癇發(fā)作的時間點。
2)誤報率
如果一個時間窗內(nèi)的發(fā)作期信號超過預(yù)先設(shè)定的閾值,則認為該段時間處于癲癇發(fā)作期。如果該時間段處于病人實際發(fā)作之前,則判定這次預(yù)測為正確預(yù)測,如果該時間段處于病人實際發(fā)作期內(nèi)或?qū)嶋H發(fā)作之后,則判定這次預(yù)測為誤報。
表1 給出了18 個參與實驗患者的評估結(jié)果。
表1 18個參與實驗患者的評估結(jié)果
從表1 可以看出,所有患者中最長的預(yù)測時間達到41.30 min(12號患者),最短的預(yù)測時間為6.47 min(5 號患者)。所有患者的平均預(yù)測時間為23.82 min。所有患者中最高的預(yù)測準確率為93%,最低的預(yù)測準確率為75%,而所有患者的平均預(yù)測準確率為86.4%。所有患者中最高誤報率為50%(15 號病人),最低誤報率為19%(6 號病人),而平均誤報率為34%。
文中提出一種基于遷移學(xué)習(xí)的癲癇發(fā)作預(yù)測方法,具體做法是以18 例癲癇患者的腦電信號記錄作為實驗數(shù)據(jù),根據(jù)巴特沃斯帶通濾波器將原始數(shù)據(jù)劃分為6 組不同頻率區(qū)間的數(shù)據(jù),用樣本熵作為分類特征。最后使用遷移學(xué)習(xí)后的VGG19 網(wǎng)絡(luò)作為分類器來識別發(fā)作期的癲癇腦電信號。該方法的最長預(yù)測時間為41.30 min,平均預(yù)測時間為23.82 min。最高預(yù)測準確率為93%,平均預(yù)測準確率為86.4%。最低誤報率為19%,平均誤報率為34%。實驗結(jié)果表明,該方法可很好地用于癲癇發(fā)作的預(yù)測。
文中方法的不足之處:使用單一特征提取方法不足以反映腦電信號的特點,導(dǎo)致發(fā)作預(yù)測準確率較低。為了解決這一問題,建議使用更多的特征提取方法。然而,在臨床治療中,預(yù)測的實時性是必須關(guān)注的問題。因此,如何解決特征提取維度和實時性預(yù)測是后期要解決的問題。