文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.181383
中文引用格式: 趙東東,,宋洪軍,許玉虎,,等. 基于LM算法的腦電信號分類研究[J].電子技術(shù)應(yīng)用,,2018,44(12):20-24.
英文引用格式: Zhao Dongdong,,Song Hongjun,,Xu Yuhu,,et al. Research on the classification of EEG signals based on LM algorithm[J]. Application of Electronic Technique,,2018,44(12):20-24.
0 引言
腦機(jī)接口(Brain Computer Interface,BCI)是一種不依賴于外部神經(jīng)和肌肉,,直接將腦電信號(Electroencephalogram,,EEG)轉(zhuǎn)化為控制指令控制外部設(shè)備運(yùn)行的通信系統(tǒng)。世界上由于各種事故導(dǎo)致身體失去運(yùn)動能力的人很多,,大多數(shù)殘疾人活動空間有限,,通常只能在病床和輪椅上活動,BCI的誕生為他們實現(xiàn)與外部的交流提供了可替代手段,。此外,,BCI在軍事、娛樂等領(lǐng)域應(yīng)用廣泛,,取得了較大的成就[1],。2014年召開的騰訊WE大會上眾多著名專家學(xué)者提出了BCI與人工智能等將成為未來最具前沿性的科研項目,當(dāng)前已成為研究的熱點,,具有廣闊的市場范圍和極大的社會價值,。
目前國內(nèi)外腦機(jī)接口主流研究方向有穩(wěn)態(tài)視覺誘發(fā)電位、P300電位,、慢皮層電位,、運(yùn)動想象等方式,其中前三種是通過外界刺激產(chǎn)生腦電信號,。諸如視覺刺激,、體感刺激等誘發(fā)電腦產(chǎn)生一定規(guī)律的信號,然后對誘發(fā)信號進(jìn)行處理和分類,。運(yùn)動想象則是人體自發(fā)產(chǎn)生有關(guān)動作意向的信號,,具有實際意義。
BCI由信號采集,、信號預(yù)處理,、特征值提取、信號分類,、控制應(yīng)用五部分構(gòu)成,。其中的核心關(guān)鍵在于信號分類。目前腦電信號分類方法主要有線性判別分析,、隱馬爾可夫模型,、卡爾曼濾波器等[2],線性判別分析使用簡單,,容易實現(xiàn),。但腦電信號比較復(fù)雜,,具有非線性特性,采集的信號線性可分性較弱且識別效率比較低,??柭鼮V波器對于先驗知識依賴性較大,由于當(dāng)前腦科學(xué)認(rèn)知有限,,很難從信號中獲取先驗知識,,在信號分類中效果較差。而BP神經(jīng)網(wǎng)絡(luò)具有較強(qiáng)的非線性映射能力,,在解決非線性問題中取得了不錯的效果,,在腦電信號分類識別方面效果較好。
雖然標(biāo)準(zhǔn)BP神經(jīng)網(wǎng)路具有很強(qiáng)的非線性,、并行性等特點,,但其也存在收斂速度慢、易陷入局部最優(yōu)等局限性[3],。針對此不足,,本文提出使用其優(yōu)化算法中的LM算法設(shè)計分類器對信號進(jìn)行分類識別。利用主成分分析提取信號特征值,,運(yùn)用MATLAB 2014B軟件對其進(jìn)行仿真試驗,,結(jié)果證明LM算法對比BP神經(jīng)網(wǎng)絡(luò)減少了訓(xùn)練時間,降低了誤差,,提高了分類精度,,具有良好的識別效果。
1 試驗材料及信號采集
1.1 儀器設(shè)備
本次實驗信號采集設(shè)備使用的是Emotive Epoc+,,該設(shè)備是美國Emotive公司針對腦電信號設(shè)計的一款非侵入式信號采集設(shè)備,。Emotive Epoc+包含16個傳感器(含兩個參考電極),配置了藍(lán)牙模塊,,不需要連線即可將采集的信號傳輸?shù)絇C,,使用方便、便攜,,導(dǎo)聯(lián)如圖1所示,。
本文算法驗證平臺所用硬件為基于Arduino的智能小車,,核心為最新版本的開發(fā)板Arduino UNO R3,。它包含藍(lán)牙模塊、WiFi模塊,、四驅(qū)PCB車盤,、車輪、電壓表,、打印線等,。其資料開源,,可用于二次開發(fā)。
1.2 信號采集
本文重點是基于運(yùn)動想象模式下的腦電信號分類,,信號采集模式采用2008年BCI競賽的實驗采集方式[4-5],。實驗前,在一個相對安靜的條件下,,安排四位同學(xué)保持安靜放松的狀態(tài)下坐在椅子上,,按照電腦屏幕出現(xiàn)的箭頭方向做相應(yīng)的思維任務(wù)。每次實驗時間為7 s,,在0~2 s內(nèi),,四位同學(xué)保持安靜放松狀態(tài);第2秒,,PC會發(fā)出響聲,,同時屏幕出現(xiàn)“+”,提示實驗人員集中注意力,,信號采集任務(wù)即將開始,;第3秒時,PC屏幕會出現(xiàn)左右上下類型的箭頭,,同時實驗人員根據(jù)箭頭方向想象左手,、右手、舌,、腳的運(yùn)動,,直到第7秒結(jié)束,圖2所示為單次信號采集過程,。因為本課題最后是要將離線數(shù)據(jù)導(dǎo)入交互界面,,然后控制Arduino小車左右前后方向運(yùn)動來做算法驗證,所以實驗過程中根據(jù)箭頭左右上下想象動作所采集的數(shù)據(jù)標(biāo)記為左右前后四個方向數(shù)據(jù),,以便于后續(xù)信號分類,。根據(jù)大腦自發(fā)腦電的特點以及產(chǎn)生原理,數(shù)據(jù)采集好后選擇O1,、O2,、AF3、F4,、F7,、P7、FC5,、P8共8個通道的數(shù)據(jù)作為數(shù)據(jù)研究樣本,。本次實驗采集500組數(shù)據(jù),其中400組數(shù)據(jù)為訓(xùn)練樣本,,100組數(shù)據(jù)作為測試樣本,。
2 信號預(yù)處理
因為腦電信號中夾雜著眼電信號,、肌電信號等干擾信號,不便于下一步對信號的處理和分類,,需要對信號進(jìn)行濾波處理,,得到符合運(yùn)動想象特點的腦電信號。通過分析腦電信號所對應(yīng)的功率譜可以得知,,8~25 Hz頻帶的腦電信號增幅明顯,,能夠鮮明反映出腦電活動,所以選擇8~25 Hz頻帶作為研究課題的最佳范圍頻帶對原始腦電數(shù)據(jù)進(jìn)行濾波處理,。
3 特征值提取
3.1 主成分分析基本原理
主成分分析是將原有變量重新組合成一組新的線性無關(guān)的幾個綜合指標(biāo),,然后根據(jù)實際需求選取較少的綜合指標(biāo)反映原有變量的信息。從數(shù)學(xué)方面看,,它是一種降維處理方法[6],。利用主成分研究復(fù)雜問題過程中,在不損失太多原有變量信息的情況下可只考慮少數(shù)幾個主成分,,這樣可以抓住重點部分,,提高分析效率。實際應(yīng)用中,,主成分分析在數(shù)據(jù)分析,、人工智能、智慧農(nóng)業(yè)等領(lǐng)域得到極大的應(yīng)用,。綜上所述,,主成分分析有以下幾個優(yōu)點:
(1)消除原有變量之間的相關(guān)性。主成分分析將原有變量組合為新的線性無關(guān)的主成分,,消除了原有變量對分析問題的復(fù)雜性,。實踐表明原有變量相關(guān)性越高,該方法分析效果越好,。
(2)減少選擇指標(biāo)的工作量,。往常情況下,很多變量之間具有一定相關(guān)性,,利用主成分分析可以消除原有變量之間的相關(guān)性,,所以在選擇研究指標(biāo)上相對簡單容易。
(3)降低計算工作量,。該方法中各個主成分是根據(jù)方差大小來排列的,,在研究問題時,可以根據(jù)實際需要選擇方差較大的幾個主成分,,舍棄一些主成分,,從而降低分析問題時的計算工作量。
計算步驟如下:
(1)原始數(shù)據(jù)標(biāo)準(zhǔn)化,,目的在于消除不同量綱以及正逆指標(biāo)的影響,。
將原始矩陣X:
(5)選取前k個累計貢獻(xiàn)率超過85%的主成分。
3.2 基于主城分分析特征值提取
將濾波之后的信號數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理后,,對其進(jìn)行主成分分析,。表1為經(jīng)分析后得出的各個主成分的特征值、方差貢獻(xiàn)率,、累計貢獻(xiàn),。
主成分原理中,貢獻(xiàn)率代表所提取主成分包含原始變量的信息量,,累計貢獻(xiàn)率代表相應(yīng)幾個主成分累積包含原始變量的信息量,。通過表1可知第一主成分包含原始變量53.5%的信息量,第二主成分包含原始變量37.8%的信息量,,第三主成分包含原始變量3.9%的信息量,,第四主成分包含原始變量2.1%的信息量。按照累積貢獻(xiàn)率超過85%為原則選取主成分,,為避免輸入變量過少引起分類準(zhǔn)確度降低,,選取前4個主成分作為新的研究變量。
4 LM算法信號識別仿真分析
4.1 BP神經(jīng)網(wǎng)絡(luò)
BP神經(jīng)網(wǎng)絡(luò)于1986年由以McCelland和Rumelhart為首的科研小組提出,,它是一種誤差反向傳播算法,,是實際應(yīng)用中最為廣泛的神經(jīng)網(wǎng)絡(luò)之一。其基本原理是通過輸出后誤差估計輸出層直接前導(dǎo)層誤差,,然后利用此誤差估計更前一層誤差,,以此模式反傳獲得所有層的誤差不斷調(diào)整網(wǎng)絡(luò)的權(quán)值和閾值,使網(wǎng)絡(luò)輸出值接近期望值,。BP神經(jīng)網(wǎng)絡(luò)由輸入層,、隱含層、輸出層構(gòu)成[7],。其中輸入層神經(jīng)元負(fù)責(zé)接收外部數(shù)據(jù)并傳遞給隱含層神經(jīng)元,。隱含層負(fù)責(zé)信息變換,是神經(jīng)網(wǎng)絡(luò)的內(nèi)部信息處理層,,其層次設(shè)計可以根據(jù)實際問題需要設(shè)計為單隱含層或多隱含層結(jié)構(gòu),。輸出層負(fù)責(zé)網(wǎng)絡(luò)輸出。在該網(wǎng)絡(luò)模型訓(xùn)練過程中,,若實際輸出與期望相差較大,,訓(xùn)練將進(jìn)入誤差反向傳播階段,誤差會通過輸出層逐一反傳到輸入層并不斷調(diào)整各層權(quán)值和閾值,,直至輸出最佳實際值[8],。
雖然標(biāo)準(zhǔn)BP神經(jīng)網(wǎng)絡(luò)有一定優(yōu)點,但在生活應(yīng)用中仍存在一些缺陷。首先,,網(wǎng)絡(luò)訓(xùn)練對樣本依賴性強(qiáng),,若樣本存在冗余、代表性差,、矛盾性強(qiáng),,則該網(wǎng)絡(luò)很難達(dá)到預(yù)期效果。其次,,權(quán)值和閾值敏感性強(qiáng),,需要多次調(diào)參,浪費(fèi)大量時間,。再者,,應(yīng)用中可能會陷入局部最優(yōu)。針對該神經(jīng)網(wǎng)絡(luò)的種種權(quán)限,,本文提出基于LM算法的BP神經(jīng)網(wǎng)絡(luò)創(chuàng)建分類器對腦電信號進(jìn)行分類,。
4.2 LM算法
基于BP神經(jīng)網(wǎng)絡(luò)的一些不足和缺陷,出現(xiàn)很多改進(jìn)的算法,。改進(jìn)方式主要包括采用更加有效的優(yōu)化算法和啟發(fā)式學(xué)習(xí)算法,。啟發(fā)式學(xué)習(xí)算法主要通過對表現(xiàn)函數(shù)進(jìn)行分析而改進(jìn)BP算法。目前該類型算法主要有自適應(yīng)lr的梯度法,、有動量梯度下降法,、有動量和自適應(yīng)lr的梯度下降法等。另一種優(yōu)化算法是基于數(shù)值最優(yōu)化理論的改進(jìn)方法,,主要有共軛梯度法,、高斯-牛頓法等[9]。
LM算法是介于高斯-牛頓法與梯度下降法之間的一種非線性優(yōu)化方法,,可以說是兩者相結(jié)合的一種改進(jìn)方法,,既包含高斯-牛頓法的局部收斂性,又包含梯度下降法的全局性特點,,能夠有效抑制神經(jīng)網(wǎng)絡(luò)陷入局部最優(yōu)[10],。基于LM算法的BP神經(jīng)網(wǎng)絡(luò)原理如下,。
設(shè)wk為網(wǎng)絡(luò)訓(xùn)練中第k次迭代的權(quán)值和閾值所組成的向量,,w(k+1)表示為新的權(quán)值和閾值所組成的向量,按照下面公式可得[11]:
4.3 基于LM算法仿真識別
本次運(yùn)動想象四類方向為Arduino智能小車左右前后4種動作方向,,訓(xùn)練樣本為400組,,測試樣本為100組。特征值分別定義為[1 0 0 0],、[0 1 0 0 ],、[0 0 1 0]、[0 0 0 1]。經(jīng)過多次訓(xùn)練,,當(dāng)輸入層,、隱含層、輸出層神經(jīng)元節(jié)點數(shù)目設(shè)置為4,、10,、4,,各網(wǎng)絡(luò)層傳遞函數(shù)分別設(shè)置為tansig,、tansig、purelin,,學(xué)習(xí)步數(shù)epoch為1 000,,學(xué)習(xí)速率lr為0.2,誤差為0.000 01時,,其訓(xùn)練效果最好,,圖3為其訓(xùn)練誤差圖示。最后利用標(biāo)準(zhǔn)BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練識別并進(jìn)行比較,,如圖4所示,。
由圖可知,LM算法訓(xùn)練誤差比標(biāo)準(zhǔn)BP神經(jīng)網(wǎng)絡(luò)誤差小,。經(jīng)計算,前者平均誤差為5.630 6×10-7,,分類準(zhǔn)確率為86%,后者平均誤差為0.001 4,,分類準(zhǔn)確率為56%,。實驗證明LM算法分類效果切實可行。
5 串口通信界面設(shè)計
圖形用戶界面(Graphical User Interface,,GUI)是一種由菜單,、窗口、光標(biāo),、對話框,、文本、按鍵等圖形對象構(gòu)成的用戶界面,。MATLAB GUI編程與M文件程序編寫相對比,,不僅需要寫內(nèi)部程序,還需要編輯前臺界面[12],。MATLAB GUI前臺界面由眾多交互組件組成,,主要有文本標(biāo)簽、按鈕,、編輯文本框,、單選按鈕、復(fù)選框、框架,、下拉菜單,、滑動條和列表框等[13]。對組件屬性進(jìn)行設(shè)置,,并點擊或通過其他方式對其進(jìn)行激活后,,往往會發(fā)生一些變化。MATLAB GUI中包含鍵盤鍵按下時響應(yīng)函數(shù)KeyPressFcn,、關(guān)閉窗口時響應(yīng)函數(shù)CloseRequestFcn等,,GUI設(shè)計中,總體功能的實現(xiàn)關(guān)鍵在于回調(diào)函數(shù)的編寫,,所以設(shè)計中掌握回調(diào)函數(shù)至關(guān)重要,。
本文最終的目標(biāo)是實現(xiàn)腦電信號分類的控制應(yīng)用,總體思路為設(shè)計一個GUI界面,,界面應(yīng)實現(xiàn)數(shù)據(jù)的導(dǎo)入,、腦電信號顯示、主成分分析提取特征值,、LM算法信號分類,、文本框動態(tài)顯示分類方向以及藍(lán)牙串口傳遞控制指令等,圖5所示為設(shè)計的GUI交互界面,。
操作順序如下:
(1)點擊“打開訓(xùn)練數(shù)據(jù)”按鈕,,在計算機(jī)中選擇處理好的訓(xùn)練數(shù)據(jù)導(dǎo)入。
(2)點擊“BP分類器”按鈕,,開始應(yīng)用LM算法對訓(xùn)練數(shù)據(jù)進(jìn)行分類,,并將分類結(jié)果轉(zhuǎn)化為控制指令傳遞給Arduino智能車,為清晰觀察算法驗證效果,,每一個分類結(jié)果間隔1 s顯示到可編輯文本框中,,并觀察Arduino小車動作方向。
(3)點擊“打開測試數(shù)據(jù)”按鈕,,在計算機(jī)中選擇處理好的測試數(shù)據(jù)并將其導(dǎo)入,。
(4)點擊“BP分類器”按鈕,對測試數(shù)據(jù)進(jìn)行分類并觀察其結(jié)果和Arduino小車動作方向,。
經(jīng)實驗,,當(dāng)導(dǎo)入訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù)并對其進(jìn)行分類后,Arduino小車動作方向以及動作時間與文本框中分類結(jié)果和出現(xiàn)時間一致,,證明算法驗證成功,。
6 結(jié)論
信號分類是腦機(jī)接口中的關(guān)鍵和核心[14],本文針對其提出應(yīng)用LM算法創(chuàng)建分類器對腦電信號進(jìn)行分類識別,。利用主成分分析對預(yù)處理的信號進(jìn)行降維處理,,去除了不同導(dǎo)聯(lián)信號的相關(guān)性,,避免了變量過多導(dǎo)致訓(xùn)練效率降低的情況,然后分別將LM算法和BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練分類做對比,,實驗證明前者在誤差,、分類準(zhǔn)確度上優(yōu)于后者,具有較好的分類效果,。
參考文獻(xiàn)
[1] 陳豐,,吳裕斌,曹丹華.基于STM32和USB虛擬串口的EEG信號采集儀設(shè)計[J].儀表技術(shù)與傳感器,,2016(12):65-68.
[2] 許童羽,,馬藝銘,曹英麗,,等.基于主成分分析和遺傳優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的光伏輸出功率短期預(yù)測[J].電力系統(tǒng)保護(hù)與控制,,2016,,44(22):90-95.
[3] LI C,,DAI Y,ZHAO J,,et al.Remote sensing monitoring of volcanic ash clouds based on PCA method[J].ACTA Geophysica,,2015,63(2):1-19.
[4] SHIN J W,,KWON S B,,BAK Y,et al.BCI induces apoptosis via generation of reactive oxygen species and activation of intrinsic mitochondrial pathway in H1299 lung cancer cells[J].Science China Life Sciences,,2018:1-11.
[5] He Gaiyun,,Huang Can,Guo Longzhen,,et al.Identification and adjustment of guide rail geometric errors based on BP neural network[J].Measurement Science Review,,2017,17(3):135-144.
[6] 陳悅,,張少白.LM算法在神經(jīng)網(wǎng)絡(luò)腦電信號分類中的研究[J].計算機(jī)技術(shù)與發(fā)展,,2013(2):119-122.
[7] 馮思維,魏慶國.一種基于穩(wěn)態(tài)視覺誘發(fā)電位的腦-機(jī)接口閱讀系統(tǒng)[J].科學(xué)技術(shù)與工程,,2015,,15(35):204-207.
[8] 徐竹濤.基于MATLAB GUI的溫室滴灌系統(tǒng)優(yōu)化設(shè)計方法研究[D].楊凌:西北農(nóng)林科技大學(xué),2016.
[9] 徐佳琳,,左國坤.基于互信息與主成分分析的運(yùn)動想象腦電特征選擇算法[J].生物醫(yī)學(xué)工程學(xué)雜志,,2016(2):201-207.
[10] 鄭國正,陳李勝.共同空間模型及其在EEG分類中的應(yīng)用[J].上饒師范學(xué)院學(xué)報,,2015(6):10-13.
[11] 葉德文,,郁蕓,,李修寒.基于Visual Studio與Matlab集成的腦電數(shù)據(jù)庫管理和分析系統(tǒng)[J].生物醫(yī)學(xué)工程研究,2015,,34(4):238-242.
[12] 孫會文,,伏云發(fā),熊馨,,等.基于HHT運(yùn)動想象腦電模式識別研究[J].自動化學(xué)報,,2015,41(9):1686-1692.
[13] 梁致漢.基于EEG的腦機(jī)接口技術(shù)研究與實現(xiàn)[D].天津:天津理工大學(xué),,2015.
[14] XUE F,,YANG Y L,DONG F T.Real-time temperature monitoring system design based on MATLAB GUI[J].Journal of Computer Applications,,2014,,889-890(1):737-740.
作者信息:
趙東東1,宋洪軍2,,許玉虎1,,崔東云1,王 帥1,,丁筱玲1
(1.山東農(nóng)業(yè)大學(xué) 機(jī)械與電子工程學(xué)院,,山東 泰安271018;2.國投創(chuàng)新投資管理有限公司,,北京100000)