范 瑋,羅思吟,鄧軼赫,王 煒,李圓媛
武漢工程大學數(shù)理學院,湖北 武漢430205
腦電信號是大腦細胞器進行生命活動所產生的一種電活動,其產生的方式主要分為誘發(fā)腦電信號以及自發(fā)腦電信號兩種方式。誘發(fā)腦電信號是指因外界某種刺激使大腦電位產生變化從而形成的一種腦電活動。腦電信號由人體皮層內的大量神經元突觸后電位同步總和而形成[1],是許多神經元共同活動的結果,包含了大量與人體生理和疾病有關的信息,為康復治療提供了有效的幫助。在臨床醫(yī)學領域中,腦電信號不僅作為某些腦疾病的臨床診斷依據(jù),同時還作為一種輔助治療手段幫助一些腦疾病進行康復治療。在工程應用中,利用腦電信號實現(xiàn)的腦機接口,為癱瘓病人的某些功能重建提供了一種有效的方法。因此在康復醫(yī)療領域的實際運用中,對腦電信號的深入研究具有重要意義。
基于事件相關電位的腦機接口通常使用的是P300信號,P300信號是由人腦在受到小概率刺激后300 ms左右出現(xiàn)的一個正向波峰[2]。P300電位作為一種內源性成分,通常與刺激物理特性無關,而與知覺或認知心理活動有關,并與記憶、智能、注意等加工過程密切相關。基于P300的腦機接口優(yōu)點在于它具有穩(wěn)定的鎖時性和高時間精度特性,研究人員無需復雜訓練就能夠獲得較高的識別準確率。對腦機接口所獲得的電信號進行P300電位的自動化識別也成為了腦電信號研究領域的關鍵研究之一[3]。
本文針對腦機接口所獲得的電位波形進行了P300電位的分類識別研究,采用了多樣本融合的支持向量機(support vector machine,SVM)算法對腦電信號進行分類識別并與單樣本的SVM算法進行了比較。
P300信號無需對受試者進行預先訓練,只需要通過視覺刺激的方式使其自發(fā)產生。實驗設計如表1所示,該實驗可設計為一個6行6列的字符矩陣。首先,提示受試者注視屏幕上的“目標字符”,假設出現(xiàn)的“目標字符”為“A”,在受試者注視“目標字符”的過程中,當給定的“目標字符”所在行或列閃爍時,P300電位就會在受試者的腦電信號中出現(xiàn);相反當其他行或列閃爍時,P300電位則不會出現(xiàn)在受試者的腦電信號中。其次,字符矩陣每次將以隨機的順序閃爍字符矩陣的一行或一列,每次閃爍80 ms,兩次閃爍之間間隔80 ms。如若所有行和列均閃爍過1次,則本輪實驗結束,并開始下一輪試驗,該實驗共重復5輪。腦電信號在采集過程中使用了20個通道,采集頻率為250 Hz。
表1 行/列的標識符Τab.1 Row/column identifier
P300電位分類識別的目的即為判斷某行或列閃爍后,腦電信號中是否出現(xiàn)了P300電位。該實驗本質上是一個二分類問題,因此非常適合使用SVM算法解決。
研究數(shù)據(jù)來自于5名健康成年被試者,平均年齡為20歲,均采用前述的實驗方法,每個字符都進行5輪矩陣閃爍實驗,因此每個字符閃爍實驗都含有60次閃爍數(shù)據(jù)。本研究共收集了12個已給出目標字符的訓練用數(shù)據(jù),以及10個未給出目標字符的待識別目標字符數(shù)據(jù)用于測試,每個字符閃爍實驗的數(shù)據(jù)為:
表2 通道與數(shù)據(jù)特征對應關系Τab.2 Correspondence between channelsand features
圖1 腦機接口采集設備中各通道位置示意圖Fig.1 Position of each channel in brain-computer interface acquisition device
數(shù)據(jù)中的噪聲和其他質量因素都會直接影響算法的識別效率,有必要對原始數(shù)據(jù)進項預處理操作,主要過程如圖2所示。首先采用8階的切比雪夫低通濾波器對每個腦電信號采集通道的信號都進行閾值為10 Hz的低通濾波處理,僅保留頻率低于10 Hz的部分。
圖2 數(shù)據(jù)預處理流程Fig.2 Flowchart of data preprocessing
接著考慮到P300電位一般在刺激之后的300 ms左右產生[4],為了盡可能地包含P300電位的產生時間段,本研究從數(shù)據(jù)中提取出持續(xù)時間800 ms的單次試驗數(shù)據(jù)段,對應200個采樣點,根據(jù)每次試驗對應的字符,將該字符對應的行列的試驗數(shù)據(jù)段標記為含有P300信號的正類數(shù)據(jù)(類別標記為+1),其他實驗數(shù)據(jù)段標記為不含P300信號的負類數(shù)據(jù)(類別標記為-1)。
數(shù)據(jù)通過切比雪夫濾波后需要進行降采樣,對每條實驗數(shù)據(jù)段進行間隔為5個的降采樣,這樣單次實驗的采樣點數(shù)降為了40個。同時由于每輪實驗含有對應字符和行列數(shù)僅占總行列數(shù)的1/5,即正類數(shù)據(jù)與負類數(shù)據(jù)樣本數(shù)量比值為1∶5,類別數(shù)量的不平衡會極大地影響到分類模型的訓練和誤差計算[5],因此要對含有P300信號的數(shù)據(jù)樣本進行數(shù)量上擴充,具體擴充方法利用了降采樣過程針對含有P300信號的正類進行起始索引的不同的5次間隔降采樣,這樣就得到5條含有P300數(shù)據(jù)的原樣本的過采樣數(shù)據(jù)。上述過程能夠獲得類別比例為1∶1的兩類數(shù)據(jù),避免了類別不平衡的問題。
然后針對每個試驗數(shù)據(jù)段所包含的采樣數(shù)據(jù),按最大最小歸一化處理,使用線性化的方法將原始數(shù)據(jù)轉換到[0,1]的范圍內。
最后為了有效地突出P300信號和提高分類性能,針對每個待確定字符的5輪測試數(shù)據(jù),按照行列序號對每個行列對應的5輪采樣數(shù)據(jù)分別進行了疊加求平均的操作,獲得每個待確定字符測試數(shù)據(jù)中12個不同行列對應腦電波平均波形,并且也進行了可視化展示,如圖3所示。從圖3中可以發(fā)現(xiàn)有P300信號的平均波形在300~500 ms之間,有明顯的正向波峰,符合P300信號的特征。
圖3 有P300信號和無P300信號的平均波形對比Fig.3 Comparison of average waveforms with P300 signal and without P300 signal
經過上述操作后,單個字符測試試驗中的60條有效數(shù)據(jù)合并為12條,12個目標字符的實驗數(shù)據(jù)最終對應144條訓練數(shù)據(jù),10個目標字符的檢測數(shù)據(jù)對應120條檢測數(shù)據(jù)。
SVM作為監(jiān)督學習方法的一種,通常用于對數(shù)據(jù)進行二元分類[6]。其基本思想是利用訓練集,在樣本空間中找到能夠分開不同樣本集的劃分超平面[7]。但在實際問題中所遇到的樣本通常是線性不可分的,對于該問題通常的解決方法為將樣本的原始空間映射到更高維的空間中,使樣本集在高維空間內實現(xiàn)線性可分[8]。在線性不可分的問題中,找到合適的核函數(shù)對樣本分類準確性起到決定性的作用[9]。
選擇α的一個正分量0<αj<C,計算
構造決策函數(shù)
即為支持向量機的決策模型,其中sign(·)為符號函數(shù)。
使用Python的scikit-learn庫來實現(xiàn)上述支持向量機算法,并選取了多種不同的核函數(shù),分別進行訓練和10折交叉驗證,并根據(jù)交叉驗證的結果,比較他們的交叉驗證準確率,最終選擇線性核函數(shù)。而對于懲罰系數(shù),也使用類似的方法進行分別訓練和驗證,選擇C=1。最終使用擇優(yōu)后的各種參數(shù)訓練得到的模型對測試數(shù)據(jù)進行預測,核函數(shù)和懲罰系數(shù)的交叉驗證結果如表3和表4所示,所選擇的最佳參數(shù)為:核函數(shù)kernel=linear,懲罰系數(shù)C=1。
表3 核函數(shù)選擇結果Τab.3 Selection results of Kernel function
表4 懲罰系數(shù)選擇結果Τab.4 Selection results of penalty coefficient
針對P300信號的分類問題,利用來源于5位被試者的相同實驗條件的樣本,采用多樣本融合思想,分別用5位被試者的實驗樣本訓練支持向量機模型,對不同樣本的分類結果進行融合,融合規(guī)則[11]為
其中Mode(·)為取眾數(shù)操作,S1至S5為5位被試者樣本所分別訓練的支持向量機模型給出的分類結果,即采用出現(xiàn)次數(shù)最多的分類結果作為該實驗最終的分類結果。
使用前述的支持向量機模型對5位被試者(表示為S1-S5)的檢測數(shù)據(jù)進行預測,獲得其行列刺激對應數(shù)據(jù)樣本的分類標簽,然后定位出待測字符,總共得出對char13-char22共10個待測字符的結果。
與訓練數(shù)據(jù)保持一致,對單次試驗中不同輪次內相同行/列的標識符對應的數(shù)據(jù)進行疊加求平均的處理,同時為了討論盡可能使用較少輪次的效果[12],對5輪試驗的數(shù)據(jù)進行逐次剔除最后一輪的操作,分別使用5、4、3、2輪數(shù)據(jù),將5個被試者得出的行列預測結果分別利用多樣本融合得到最終的行列結果從而得出預測字符,如圖4所示,對比了對每個被試者樣本單獨使用支持向量機分類和采用多樣本融合的支持向量機分類準確率指標。
圖4 使用不同輪次測試數(shù)據(jù)的分類準確率對比Fig.4 Comparison of classification accuracy using different rounds of test data
準確率以行列預測正確率計算[13]。對于每一個字符的12條數(shù)據(jù),都有2條為正類,其他10條為負類,支持向量機模型給出每條數(shù)據(jù)的正負類預測結果,從而計算準確率,但由于數(shù)據(jù)正負類數(shù)量嚴重不平衡,因此對正負類數(shù)據(jù)的準確率進行了加權平衡[14]:
其中t為真正類(true positive)數(shù)目,表示模型對真實類別為正類的樣本識別正確。f為假負類(false negative)數(shù)目,表示模型把真實類別是正類的樣本錯誤的識別成為負類。n為真負類(true negative)數(shù)目,表示模型對真實類別為負類的樣本識別正確。p為假正類(false positive)數(shù)目,表示模型把真實類別是負類的樣本錯誤的識別成為正類[15]。由于正負類比例為1∶5因此式中取α=0.8,β=0.2。
從圖4中可以發(fā)現(xiàn),本研究所提出的多樣本融合的支持向量機分類模型相比單一的支持向量機算法在準確率上有了顯著的提高。另外在逐步減少檢測數(shù)據(jù)輪次的過程中,模型預測結果逐漸變差。針對本研究所涉及到的數(shù)據(jù),在保證模型預測效果的前提下,為了盡可能減少數(shù)據(jù)量,可以僅使用4輪實驗數(shù)據(jù)來進行分析。
針對P300電位對應字符的預測,本質是二分類問題,在考慮多種分類方法之后,選擇了基于線性核函數(shù)的支持向量機模型進行P300電位的分類識別。本文提出的模型優(yōu)點在于對數(shù)據(jù)做了充分的預處理,使用過采樣解決了P300電位分類識別中的類別不平衡導致模型過擬合的問題,并結合了多名受試者的預測結果進行多樣本融合來獲得最終一致性結果,其預測字符的準確率很高,并且有較高的擴展性和通用性,應用前景廣泛。