摘 要:腦電信號(hào)(EEG)是研究腦活動(dòng)的一種重要的信息來源,基于腦電信號(hào)的人與計(jì)算機(jī)的通信已成為一種新的人機(jī)接口方式。在此主要通過時(shí)域回歸方法對BCI Ⅱ競賽數(shù)據(jù)進(jìn)行EEG信號(hào)去噪預(yù)處理,運(yùn)用6階AR參數(shù)提取腦電特征作為神經(jīng)網(wǎng)絡(luò)的輸入,最后用Matlab 7.0進(jìn)行仿真,得到分類正確率為90%。實(shí)驗(yàn)表明,該方法可以達(dá)到很好的分類效果。
關(guān)鍵詞: EEG信號(hào); AR參數(shù); 特征提取; BP算法
中圖分類號(hào):TP183 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1004-373X(2010)10-0027-03
EEG Signal Classification Methods of Cursor Up-and-Down Based on Neural Network
JIA Hua-ping
(Department of Computer Science, Shaanxi Weinan Teachers University, Weinan 714000, China)
Abstract: Electroencephalogram(EEG)signal is an important information source of investigating the brain action. The communication based on EEG between human brain and computer becomes a new modality of human-computer interaction. Through time-domain regression method for EEG denoising pretreatment of BCI Ⅱ match data, AR model coefficient is extracted as feature vector, and the mental tasks based on BP network is classified. The simulation was performed by means of Matlab 7.0. And the classification correctness of 90% was achieved. The experiments show that this method can get a good result of classification.
Keywords:EEG signal; AR parameter; feature extraction; BP algorithm
0 引 言
隨著科學(xué)技術(shù)的不斷進(jìn)步、人們對大腦功能認(rèn)識(shí)的不斷深入以及高性能PC的問世,近20年以來一個(gè)新的研究領(lǐng)域即“腦-機(jī)接口(BCI)”正在蓬勃發(fā)展。腦機(jī)接口是基于腦電信號(hào),不依賴于腦的正常輸出通路(即外周神經(jīng)和肌肉)的,通過對大腦思維過程EEG信號(hào)的監(jiān)控與分析,理解人的意圖,直接將大腦信息傳達(dá)到外部世界,可以實(shí)現(xiàn)多種形式的應(yīng)用。理論上只要大腦能夠正常思維的人,都可以通過腦機(jī)接口技術(shù)與外界交流,所以對那些高位截癱或腦干損傷的完全閉鎖患者,有非常廣闊的應(yīng)用前景[1-3]。
分析EEG信號(hào),理解人的思維機(jī)理,已成為腦-機(jī)接口(BCI)、生物反饋治療和神經(jīng)障礙康復(fù)等領(lǐng)域的重要研究手段[4]。目前EEG信號(hào)使用的分類方法主要有線性分類法[5]、卡爾曼濾波[6]、人工神經(jīng)網(wǎng)絡(luò)法[7]等。線性分類器簡單、容易實(shí)現(xiàn)、需要的計(jì)算量和存儲(chǔ)量小,但由于EEG的非線性,得到的特征向量很難具有線性可分性,必然會(huì)導(dǎo)致識(shí)別率低。卡爾曼濾波是一種基于概率意義上的分類方法,需要獲得先驗(yàn)知識(shí),但腦電是一種非常復(fù)雜的生理信號(hào),一般很難得到準(zhǔn)確的先驗(yàn)知識(shí)。人工神經(jīng)網(wǎng)絡(luò)是一種比較好的機(jī)器學(xué)習(xí)方法,它的一個(gè)重要特點(diǎn)是能夠較有效地解決很多非線性問題,而且在很多工程應(yīng)用中取得了成功。
1 數(shù)據(jù)來源
該實(shí)驗(yàn)的數(shù)據(jù)來自2002年國際BCI 競賽,由圖賓根大學(xué)提供。實(shí)驗(yàn)任務(wù)是一位健康的受試者根據(jù)電腦屏幕的指示將光標(biāo)進(jìn)行上下移動(dòng),從而得到其皮層慢電位的視覺反饋。皮層陽性導(dǎo)致光標(biāo)在屏幕中向下移動(dòng)。皮層陰性導(dǎo)致光標(biāo)向上移動(dòng)。每組實(shí)驗(yàn)持續(xù)6 s。視覺反饋從2~5.5 s呈現(xiàn)。3.5 s的時(shí)間間隔是每個(gè)實(shí)驗(yàn)提供的訓(xùn)練和測試時(shí)間。采樣頻率為256 Hz,數(shù)據(jù)記錄長度3.5 s。每通道每導(dǎo)聯(lián)采樣點(diǎn)數(shù)為896。
這組數(shù)據(jù)包含有3個(gè)文件,Traindata0.txt(135×5 377)和Traindata1.txt(133×5 377),分別為第0類的135組實(shí)驗(yàn)和第1類的133組實(shí)驗(yàn),其中第一列為類別0或1,其他的5 376列為6通道的采樣點(diǎn);Testdata.txt(293×5 376)為測試數(shù)據(jù),測試數(shù)據(jù)的矩陣結(jié)構(gòu)幾乎和訓(xùn)練數(shù)據(jù)一樣,只是測試數(shù)據(jù)沒有標(biāo)記類別,每行包括6~896個(gè)采樣點(diǎn)。表1是6個(gè)通道的位置。
圖1、圖2分別是采用Matlab 7.0繪制的光標(biāo)上、下移波形圖(CH1~CH6)。
表1 6個(gè)通道的位置 (10/20系統(tǒng))
通道位置
Channel1A1-Cz
Channel2A2-Cz
Channel32 cm frontal of C3
Channel42 cm parietal of C3
Channel52 cm frontal of C4
Channel62 cm parietal of C4
圖1 光標(biāo)上移波形圖
2 預(yù)處理及頻域特征提取
帶通濾波:選用2.5~25 Hz的帶通濾波器進(jìn)行濾波。消除肌動(dòng)和眼動(dòng)所帶來的噪聲影響。提取合適的信號(hào)特征是提高腦電分類準(zhǔn)確率的關(guān)鍵。特征既可取自頻域也可取自時(shí)域,目前存在有多種方法,如利用特定頻帶的功率譜、小波變換、雙譜估計(jì)等提取EEG信號(hào)特征。本文采用AR模型系數(shù)作為腦電信號(hào)的特征樣本。
基于AR模型的功率譜估計(jì)是現(xiàn)代譜估計(jì)中最常用的一種方法。在對于AR模型的階數(shù)進(jìn)行選擇時(shí),了解到AR模型的階數(shù)一般不是先知道的,需要事先選擇一個(gè)較大的值,在遞推的過程中確定。在使用Levinson算法時(shí),模型的最小誤差功率是遞減的,因此根據(jù)公式FPE(K)=ρKN+(K+1)N-(K-1)計(jì)算FPE(K)的值,當(dāng)FPE達(dá)到最小值時(shí),就得到合適的階次。本文中采用Burg算法對原始腦電信號(hào)進(jìn)行AR模型譜估計(jì)。經(jīng)過試驗(yàn),發(fā)現(xiàn)選取階次為6時(shí)能使得預(yù)測誤差功率FPE最小,得到的分類效果較為理想。本文2組訓(xùn)練數(shù)據(jù)每通道提取6個(gè)AR模型參數(shù),6個(gè)通道提取36個(gè)參數(shù)作為數(shù)據(jù)樣本,所以,本文訓(xùn)練樣本共有135+133=268個(gè),訓(xùn)練樣本為268×36個(gè)數(shù)據(jù),測試樣本和訓(xùn)練樣本的參數(shù)提取方法一樣,只是測試樣本數(shù)據(jù)的個(gè)數(shù)為293×36。
圖2 光標(biāo)下移波形圖
3 BP分類算法
BP(error back propagation network)神經(jīng)網(wǎng)絡(luò)是目前應(yīng)用最為廣泛和成功的神經(jīng)網(wǎng)絡(luò)之一,是1986年由Rumeihant和 McClelland提出的,是一種多層網(wǎng)絡(luò)的逆推學(xué)習(xí)算法。其基本思想[8]是:學(xué)習(xí)過程由信號(hào)的正向傳輸與誤差的反向傳播兩個(gè)過程組成。正向傳播時(shí),輸入樣本從輸入層傳入,經(jīng)隱層逐層處理后傳向輸出層。若輸出層的實(shí)際輸出與期望輸出不符,則轉(zhuǎn)向誤差的反向傳播階段。誤差的反向傳播是將輸出誤差以某種形式通過隱層向輸入層逐層反傳,并將誤差分?jǐn)偨o各層的所有單元,從而獲得各層單元的誤差信號(hào),該誤差信號(hào)作為修正各單元權(quán)值的依據(jù)。
3.1 Matlab中的BP神經(jīng)網(wǎng)絡(luò)輸入層、輸出層、隱層單元數(shù)目的確定
1989年,Robert Hecht-Nielsen證明了對于任何閉區(qū)間內(nèi)的一個(gè)連續(xù)函數(shù)都可以用一個(gè)隱層的BP網(wǎng)絡(luò)來逼近。因?yàn)橐粋€(gè)3層的BP網(wǎng)絡(luò)可以完成任意的n~m維的連續(xù)映射[9]。根據(jù)BP網(wǎng)絡(luò)的設(shè)計(jì)目標(biāo),選擇單隱層的BP網(wǎng)絡(luò)實(shí)現(xiàn)。由于輸入向量有36個(gè)元素,故網(wǎng)絡(luò)輸入層的神經(jīng)元有36個(gè),光標(biāo)上移或光標(biāo)下移屬于兩類情況,所以,BP網(wǎng)絡(luò)的輸出層神經(jīng)元有1個(gè)。輸出為0表示第0類,輸出為1表示第1類。根據(jù)Kolmogorov定理和單隱層的設(shè)計(jì)經(jīng)驗(yàn)公式,以及考慮本例的實(shí)際情況,解決該問題的網(wǎng)絡(luò)中間層(隱層)神經(jīng)元個(gè)數(shù)應(yīng)該在7~16之間。因此,設(shè)計(jì)一個(gè)隱含層神經(jīng)元數(shù)目可變的BP網(wǎng)絡(luò),程序如下,通過誤差對比,確定最佳的隱層神經(jīng)元個(gè)數(shù)為8,并檢驗(yàn)隱層神經(jīng)元個(gè)數(shù)對網(wǎng)絡(luò)性能的影響。
s=7:16;res=zeros(1,10);res2=zeros(1,10);
for i=1∶10
net=newff(minmax(p),[s(i),2],{′tansig′,′logsig′},′traingdx′);
net.trainParam.epochs=180;
net.trainParam.goal=0.001;
net=train(net,p,t);
y=sim(net,p);
error=y(1,:)-t(1,:); error2=y(2,:)-t(2,:);
res(i)=norm(error);
res2(i)=norm(error2);
i=i+1;
end
res;res2;
3.2 BP網(wǎng)絡(luò)的訓(xùn)練仿真
網(wǎng)絡(luò)經(jīng)過訓(xùn)練后才能進(jìn)行實(shí)際應(yīng)用。采用init.m函數(shù)對網(wǎng)絡(luò)進(jìn)行初始化,以消除前面訓(xùn)練的影響。網(wǎng)絡(luò)訓(xùn)練結(jié)束后,用仿真函數(shù)a=sim(net,p)對網(wǎng)絡(luò)進(jìn)行仿真。
4 網(wǎng)絡(luò)訓(xùn)練與測試
網(wǎng)絡(luò)訓(xùn)練是一個(gè)不斷修正權(quán)值和閾值的過程,通過調(diào)整,使網(wǎng)絡(luò)的輸出誤差達(dá)到最小,滿足實(shí)際應(yīng)用的要求。本文用Traindata0 和Traindata1對網(wǎng)絡(luò)進(jìn)行訓(xùn)練,訓(xùn)練好網(wǎng)絡(luò)后用Testdata對網(wǎng)絡(luò)進(jìn)行測試。訓(xùn)練結(jié)果如圖3所示。
圖3 訓(xùn)練結(jié)果
TRAINLM, Epoch 0/1000, MSE 0.29004/0.001, Gradient 4.21438/1e-010
TRAINLM, Epoch 25/1000, MSE 0.0332573/0.001, Gra-dient 1/2471/1e-010
TRAINLM, Epoch 50/1000, MSE 0.00171587/0.001, Gradient 0.817066/1e-010
TRAINLM, Epoch 51/1000, MSE 0.000211044/0.001, Gradient 0.131351/1e-010
TRAINLM Performance goal met
圖3中,經(jīng)過51次訓(xùn)練,網(wǎng)絡(luò)誤差為0.000 211 044,達(dá)到要求,對訓(xùn)練好的網(wǎng)絡(luò)進(jìn)行測試,得到分類正確率為90%。與國際BCI Ⅱ競賽數(shù)據(jù)參賽結(jié)果比較,比競賽結(jié)果平均正確率比較提高了12.35%。由此可見,用本文方法對EEG數(shù)據(jù)分類,達(dá)到了很好的分類效果。
5 結(jié) 語
由于其他一些因素,如多導(dǎo)電極信息間的相關(guān)性,受試者之間的個(gè)體差異等影響,會(huì)在一定程度上影響分類精度。因此,在后續(xù)研究工作中,考慮到用神經(jīng)網(wǎng)絡(luò)集成方法進(jìn)行EEG信號(hào)分類,來進(jìn)一步提高分類精度。
參考文獻(xiàn)
[1]MOORE M M, Real-world applications for brain-computer interface technology[J]. IEEE Transactions On Neural Systems Rehabilitation Engineering,2003,11(2):162~165
[2]SCHALK Gerwin, MCFARLAND Dennis J, HINTERBERGER Thilo. BCI2000: AGeneral-purpose brain-computer interface(BCI)system[J]. IEEE Trans. on Biomedical Engineering, 2004, 51(6): 1034-1043.
[3]LEEB Robert, PFURTSCHELLER Gert. Walking through a virtual city by thought[C]//Proceedings of the 26th Annual International Conference of the IEEE EMBS. San Francisco: IEEE, 2004(9):1-5.
[4]FUJITA S, HOSOKAWA N, SHIBUYA Y. Experimental investigation of high frequency voltage oscillations in transformer winding[J]. IEEE Trans. on Power Delivery, 1998, 13(4): 1201-1207.
[5]MATTHIAS K, PETER M, ULF G. BCI competition 2003-data set llb: Support vector machines for the P300 speller paradigm[J]. IEEE Trans. on Biomedical Engineering, 2004, 51(6): 696-701.
[6]MOHAMED D, AHMED A A. A new algorithm for EEG feature classification using mutual information[M]. [S.l.]: IEEE, 2001.
[7]THOMAS N I, MICHAEL S. THILO H. Support vectorchannel selection in BCI[J]. IEEE Trans. on Biomedi-cal Engineering, 2004, 51(6):696-701.
[8]朱大奇,史慧.人工神經(jīng)網(wǎng)絡(luò)原理及應(yīng)用[M].北京:科學(xué)出版社,2006.
[9]張敏,周旭東,劉相華,等.基于人工神經(jīng)網(wǎng)絡(luò)的熱軋帶鋼密度預(yù)測[J].鋼鐵研究學(xué)報(bào),2004,16(3):75-78.