滕凱迪,趙 倩,譚浩然,鄭金和,董宜先,單洪芳
(曲阜師范大學(xué) 工學(xué)院,日照 276826)
情緒作為人的一種生理與心理狀態(tài),蘊(yùn)藏著性格喜好、身心狀態(tài)等諸多有價(jià)值的信息[1].情緒識別與日常生活的諸多領(lǐng)域都有很大聯(lián)系,例如在醫(yī)療護(hù)理方面,通過情緒識別可以獲取表達(dá)障礙患者的情緒狀態(tài),為深入探究抑郁癥、焦慮癥等的生理、病理機(jī)制提供了指南,有助于醫(yī)生對患者進(jìn)行相應(yīng)的治療使患者情緒向正性情緒和積極情感調(diào)節(jié)轉(zhuǎn)化[2].白芷嫣等人[3]研究發(fā)現(xiàn)部分時(shí)間段的腦電信號的Alpha、Beta 頻段具有可識別抑郁情緒傾向的特征值.在交通出行方面,情緒識別可用于實(shí)時(shí)監(jiān)測司機(jī)或者飛行員的情緒變化信息,當(dāng)駕駛?cè)藛T處于憤怒、焦慮、極度興奮等不穩(wěn)定情緒狀態(tài)時(shí),系統(tǒng)可以及時(shí)預(yù)警從而防止交通事故的發(fā)生,有利于出行安全,同時(shí)也可以播放調(diào)節(jié)駕駛員情緒的音樂,提升駕駛體驗(yàn)[4].在教育教學(xué)方面,通過實(shí)時(shí)監(jiān)測并分析學(xué)生的情緒狀態(tài)可以判斷其學(xué)習(xí)時(shí)的興趣程度及疲勞程度,從而適當(dāng)?shù)恼{(diào)整教學(xué)內(nèi)容和進(jìn)度,達(dá)到更好的學(xué)習(xí)效果.
傳統(tǒng)的情緒識別大多基于易于獲取的人體面部表情、語音信號等身體表現(xiàn)[5].情緒的面部表情表現(xiàn)是指人們將情緒的內(nèi)在心理狀態(tài)通過面部表情外在表現(xiàn)出來,例如人在情緒愉悅時(shí)嘴角會朝外朝上擴(kuò)展,憤怒時(shí)會皺眉、眼睛變狹窄等.Shan 等人[6]采用局部二進(jìn)制模式(local binary pattern,LBP)提取了面部表情圖像的紋理特征,然后采用SVM 分類器進(jìn)行情緒識別.情緒的語音表現(xiàn)是指人們根據(jù)情緒的變化展現(xiàn)出不同的語言、語調(diào)表達(dá)形式,例如人在高興狀態(tài)時(shí)語調(diào)會比較輕松歡快,悲傷時(shí)語調(diào)會低沉壓抑.紀(jì)正飚等人[7]提取了語音信號的基音頻率、短時(shí)能量、短時(shí)幅度和短時(shí)過零率4 個(gè)特征參數(shù)后訓(xùn)練了KNN 分類模型進(jìn)行情緒識別.朱藝偉等人[8]提出了一種基于軌跡的時(shí)空特征的語音情緒識別方法.然而這些非生理信號的有效性和準(zhǔn)確識別性在實(shí)際應(yīng)用中有時(shí)難以保證[9],因?yàn)槿说拿娌勘砬榭梢詡窝b,例如人在悲傷時(shí)也能微笑等,另外對于情緒表達(dá)障礙者來說,獲取他們的非生理信號往往難以實(shí)現(xiàn).腦電信號(electroencephalogram,EEG)反映了大腦神經(jīng)元細(xì)胞的活動節(jié)律,不易受個(gè)體主觀意識控制,能夠客觀綜合地反映人體生理活動信息與心理認(rèn)知狀態(tài)信息[10],對研究情緒狀態(tài)分類具有重要意義.Khalil 等人[11]在研究中證實(shí)了腦電信號在情緒識別中的表現(xiàn)優(yōu)于其他生理信號.
近年來,隨著機(jī)器學(xué)習(xí)的廣泛應(yīng)用,腦電信號研究已經(jīng)獲得了前所未有的技術(shù)進(jìn)步,許多學(xué)者提出了基于統(tǒng)計(jì)機(jī)器學(xué)習(xí)方法的分類模型,具有較好的非線性逼近能力,主要有支持向量機(jī)、K 近鄰、人工神經(jīng)網(wǎng)絡(luò)(artificial neural networks,ANN)和隨機(jī)森林(random forest,RF)等算法.在情緒識別方面,Liu 等人[12]提取了DEAP 數(shù)據(jù)集的時(shí)域、頻域、時(shí)頻域和多電極的特征,選用K 近鄰作為二分類器,最后得到愉悅度(valence)和喚醒度(arousal)平均準(zhǔn)確率分別為66.3%和68.4%.王鳳等人[13]在自采集的腦電數(shù)據(jù)集中提取了誘發(fā)腦電中晚期正電位特征,使用SVM 分類器進(jìn)行腦電情緒三分類實(shí)驗(yàn),平均識別率超過60%.Arnau-Gonzalez 等人[14]在對DEAP 數(shù)據(jù)集上提取了每個(gè)通道各頻段的相對能量、對數(shù)相對能量、功率譜以及互信息等特征,經(jīng)過降維后使用Sigmoid 核函數(shù)的SVM 進(jìn)行分類,愉悅度和喚醒度平均準(zhǔn)確率分別可達(dá)66.7%和69.6%.李娟等人[15]利用共空間模式算法對自采集的EEG 進(jìn)行特征提取并用SVM 分類,得到視頻刺激的識別率為88.97%,高于圖像刺激79.24%的識別率.Li 等人[16]在腦電情緒識別實(shí)驗(yàn)中,提取了峰-峰平均值、均方值、排列熵、Hjorth 參數(shù)等18 種特征,使用SVM 分類器對SEED 數(shù)據(jù)集做了分類實(shí)驗(yàn),平均識別率可達(dá)83.3%.張俊曉等人[17]運(yùn)用卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)在輸出層對自采集的16 個(gè)通道的腦電數(shù)據(jù)實(shí)現(xiàn)正面和負(fù)面情緒的分類,最后FP2 通道(右額葉區(qū))的平均識別率為83.0%,FP1 通道(左額葉區(qū))的平均識別率為74.6%.Chen 等人[18]在DEAP 數(shù)據(jù)集上計(jì)算每段alpha和beta的能量、能量比率、Hjorth 參數(shù)等9 個(gè)特征,采用RF 作為分類器,最終平均正確識別率為70.04%.目前來看,使用以上單一算法對腦電情緒進(jìn)行識別的準(zhǔn)確率不夠理想,因?yàn)閱我凰惴ㄈ菀状嬖谧陨黼y以克服的缺陷,如SVM 對超平面附近點(diǎn)易錯(cuò)分,K 近鄰對樣本的分布是否平衡較敏感且數(shù)據(jù)集較大時(shí)訓(xùn)練時(shí)間復(fù)雜度高,ANN的網(wǎng)絡(luò)結(jié)構(gòu)難以確定,RF的計(jì)算成本和時(shí)間復(fù)雜度高等.為此,本文基于組合理論,充分結(jié)合SVM 分類器對距離超平面較遠(yuǎn)的樣本識別率高和KNN 分類器對可能含有類域交疊的較近樣本識別率高的優(yōu)點(diǎn),將SVM和KNN分類器進(jìn)行優(yōu)勢互補(bǔ),提出一種基于SVM-KNN融合算法的腦電信號分類方法,用于情緒類型識別,通過在SEED 情感數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)測試,以驗(yàn)證其有效性.
根據(jù)統(tǒng)計(jì)學(xué)習(xí)理論中的結(jié)構(gòu)風(fēng)險(xiǎn)最小化原則,Cortes 等人[19]于1995年提出了一種新的監(jiān)督式機(jī)器學(xué)習(xí)方法—支持向量機(jī),其對于新鮮樣本有較強(qiáng)的適應(yīng)能力,能較好的解決高維度與非線性的分類問題.
對于線性問題,二維情況下線性可分的超平面如圖1所示,wTx+b=0為實(shí)數(shù)空間的一個(gè)最優(yōu)分類超平面,wTx+b=1和wTx+b=?1兩虛線間的距離(稱為分類間距)為2 /∥w∥.對于非線性問題,可以將樣本從低維空間映射到高維空間,即用核函數(shù) κ(xi,yi)代替點(diǎn)積〈xi,yi〉,使得樣本在高維屬性空間線性可分,繼而求出最優(yōu)分類超平面.
圖1 最優(yōu)分類超平面
徑向基函數(shù)(radial basis function,RBF)具有較好的高維數(shù)據(jù)分析能力[20],本文選擇RBF 函數(shù)作為核函數(shù),如式(1):
其中,拉格朗日乘子αi≥0.
K 近鄰法是由Cover和Hart 于1967年提出的[21],該算法的基本思路是將測試集數(shù)據(jù)的屬性特征與訓(xùn)練集中對應(yīng)的屬性特征進(jìn)行比較,在訓(xùn)練集中找到與之最近的k個(gè)“鄰居”,看這k個(gè)近鄰多數(shù)屬于哪一類即可推出測試集樣本的類別[22].
在這里,KNN 模型使用歐式距離來找到最近的“鄰居”,通常采用空間兩向量的歐式距離表示:
SVM 分類器對于距離超平面較遠(yuǎn)的樣本能準(zhǔn)確地分類,但是對于距離超平面較近的樣本(基本上是支持向量SVs),分類出錯(cuò)率較高;KNN 算法在分類決策上只與k個(gè)近鄰的類別有關(guān),對于那些含有類域交疊樣本的數(shù)據(jù)集其分類效果良好,但它是一種懶惰學(xué)習(xí)算法,當(dāng)訓(xùn)練的數(shù)據(jù)集較大時(shí),其產(chǎn)生的巨大的計(jì)算空間會導(dǎo)致算法運(yùn)行時(shí)間復(fù)雜度很高.結(jié)合兩者優(yōu)勢,本文采用 SVM和KNN 融合算法來提高情緒分類的準(zhǔn)確率.其基本思想是對距離分類超平面較遠(yuǎn)的樣本點(diǎn)選用SVM 算法進(jìn)行分類,較近的則選用KNN 算法進(jìn)行分類,具體遠(yuǎn)近通過設(shè)定的閾值ε 來判斷.閾值ε 越小,則表明SVM的貢獻(xiàn)率越大,當(dāng) ε小到0,SVM-KNN 算法就是SVM 算法;反之,閾值 ε越大,則表明KNN的貢獻(xiàn)率越大,當(dāng) ε大到無窮大時(shí),SVM-KNN 算法就是KNN 算法.因此,閾值ε的選取直接影響到識別準(zhǔn)確率的高低,應(yīng)對照實(shí)際情況靈活調(diào)整.根據(jù) SVM的反饋參數(shù)經(jīng)驗(yàn)值,ε一般設(shè)置在[0.4,0.8].
具體來說,計(jì)算空間中待識別樣本x與兩類支持向量代表點(diǎn)x+和x?的距離差g(x),如果g(x)大于設(shè)定的閾值ε,即樣本點(diǎn)在圖2中所示的區(qū)域I和II,說明x離分類超平面較遠(yuǎn),則采用SVM 算法對其進(jìn)行分類;如果g(x) 小于設(shè)定的閾值ε,即樣本點(diǎn)在圖2中區(qū)域III,說明x離分類超平面較近,則把SVs 集作為測試集的近鄰樣本,采用KNN 分類器對其進(jìn)行分類.
圖2 SVM-KNN 結(jié)合示意圖
由上述的原理,可以將SVM-KNN 算法的分類訓(xùn)練實(shí)現(xiàn)步驟表示如算法1.
算法1.SVM-KNN 分類訓(xùn)練算法輸入:訓(xùn)練集Train,測試集Test.輸出:測試集Test的分類結(jié)果,取值為{?1,0,1},?1 表示消極情緒,0 表示中性情緒,1 表示積極情緒.
1)對Train 中的樣本用svmtrain 函數(shù)進(jìn)行訓(xùn)練,得到model的參數(shù),包括SVs、SVs 對應(yīng)的系數(shù)sv_ceof 及常數(shù)rho 等.x 2)從測試集Test 中取一個(gè)待識別樣本,若Test為空集,則分類步驟結(jié)束.x x+ x?g(x)=∑yiαiκ(x,xi)+b 3)計(jì)算空間中待識別樣本 與兩類支持向量代表點(diǎn)和的距離差,即svmpredict 函數(shù)的輸出項(xiàng)dec_values,其中,.g(x) ε |g(x)|>ε|g(x)|<ε yiαi=model.sv_ceofb=?model.rho 4)將 與設(shè)定的閾值 比較,若,則直接輸出SVM 識別結(jié)果;若,則調(diào)用KNN 分類算法,過程如下:計(jì)算待識別樣本 與所有SVs的距離,將得到的距離依據(jù)從小到大的順序排列,從中選出前 個(gè)小的距離,統(tǒng)計(jì)這 個(gè)近鄰對應(yīng)SVs的所屬類別,最后依據(jù)多數(shù)表決規(guī)則輸出的識別類別.5)更新測試集,返回步驟2.x k k x
實(shí)驗(yàn)在PC 上進(jìn)行,環(huán)境為Windows 10 操作系統(tǒng),編程語言是Matlab,同時(shí)基于Libsvm-mat-3.24 工具箱[23].
本文實(shí)驗(yàn)數(shù)據(jù)選自由上海交通大學(xué)計(jì)算機(jī)科學(xué)與工程系類腦計(jì)算與機(jī)器智能中心建立的情感數(shù)據(jù)庫(SJTUE emotion EEG dataset,SEED)[24].實(shí)驗(yàn)過程中,由從電影庫中選出的喜劇、悲劇及中性電影片段各5 個(gè)作為誘發(fā)情緒的刺激材料,分別對應(yīng)需誘發(fā)產(chǎn)生的3 種目標(biāo)情緒—積極情緒、中性情緒和消極情緒.該實(shí)驗(yàn)在安靜環(huán)境下進(jìn)行測試,采用NeuroScan ESI-128系統(tǒng)采集被試者在觀看影片片段時(shí)間段內(nèi)的EEG,該系統(tǒng)主要由刺激系統(tǒng)、濕電極帽、腦電信號放大系統(tǒng)和Scan 軟件組成.被試者由刺激系統(tǒng)誘發(fā)出相應(yīng)的情緒,經(jīng)涂有液態(tài)導(dǎo)電介質(zhì)的濕電極帽采集對應(yīng)情緒的EEG,并將其發(fā)送到腦電信號放大系統(tǒng)進(jìn)行EEG的放大和初步降噪,然后將其發(fā)送到Scan 軟件,實(shí)時(shí)監(jiān)測各電極當(dāng)前的阻抗值和所獲取的腦電數(shù)據(jù).實(shí)時(shí)監(jiān)測為實(shí)驗(yàn)數(shù)據(jù)的獲取提供了很大的可靠性和準(zhǔn)確性.本實(shí)驗(yàn)選用64 導(dǎo)的濕電極帽,其中有效電極數(shù)為62 導(dǎo),電極放置位置采用國際統(tǒng)一標(biāo)準(zhǔn)的10-20 系統(tǒng)如圖3所示,采樣頻率為1 000 Hz.為了保證實(shí)驗(yàn)結(jié)果的穩(wěn)定性,每位被試者參加3 次實(shí)驗(yàn),每次實(shí)驗(yàn)與上次實(shí)驗(yàn)時(shí)間間隔一周,因此每位被試者需要觀看45 段影片片段.以該數(shù)據(jù)庫提供者的研究數(shù)據(jù)為依據(jù),本文實(shí)驗(yàn)僅選取10 位健康被試者(男女各半)的腦電數(shù)據(jù),樣本數(shù)量總和為450,對情緒腦電進(jìn)行三分類.
圖3 62 導(dǎo)10-20 系統(tǒng)電極分布圖
實(shí)驗(yàn)總體流程如圖4所示.
圖4 基于SVM-KNN 算法的情緒腦電分類總體流程
具體操作步驟如下所示:
(1)SEED 數(shù)據(jù)集中的EEG 數(shù)據(jù)已經(jīng)經(jīng)過濾波、降噪等預(yù)處理,因此可以直接進(jìn)行特征提取.首先通過窗長為1 s的256 點(diǎn)短時(shí)傅里葉變換(short time Fourier transform,STFT)將腦電數(shù)據(jù)轉(zhuǎn)換到頻域,然后將頻域劃分為5 個(gè)頻段(Delta:1–4 Hz;Theta:4–8 Hz;Alpha:8–14 Hz;Beta:14–31 Hz;Gamma:31–50 Hz)并提取微分熵特征(differential entropy,DE).DE 作為情緒特征分類效果良好,2010年,Murugappan等人[25]通過腦電信號識別高興、恐懼、厭惡等6 種情緒,發(fā)現(xiàn)熵作為一種非線性特征量可以很好的表征不同情緒狀態(tài)的腦電波.2013年,Duan 等人[26]提取了腦電信號5 個(gè)頻段的DE 特征,對情緒進(jìn)行二分類,最后識別率為84.22%,說明DE 具有很好的情緒識別能力.DE 等于其在特定頻段上的能量譜的對數(shù)[27].
其中,[a,b]表示特征信息取值的區(qū)間,p(x)表示連續(xù)特征信息的概率密度函數(shù).
SEED 數(shù)據(jù)采集實(shí)驗(yàn)中有效電極數(shù)為62 導(dǎo),所以每次實(shí)驗(yàn)的特征向量包含62×5 維數(shù)據(jù).這310 維特征序列中,可能會摻雜其他大腦活動產(chǎn)生的偽跡和與情緒識別無關(guān)的信息,因此本實(shí)驗(yàn)通過滑動平均平滑算法(moving average,MA)降低無關(guān)成分對目標(biāo)特征造成的誤差,提高之后的情緒分類準(zhǔn)確率.
(2)為避免有某些項(xiàng)的屬性值太大而吞掉了屬性值小的數(shù)據(jù)項(xiàng),需要對其進(jìn)行歸一化處理.這里利用Matlab 自帶的mapminmax 函數(shù)將訓(xùn)練集和測試集的樣本進(jìn)行歸一化處理,有助于提高后續(xù)情緒分類準(zhǔn)確度,其公式為:
其中,[lower,upper]是歸一化范圍,xmax、xmin分別為特征值集最大值和最小值,x為原始的特征值,x′為歸一化后的特征值.這里設(shè)置歸一化范圍為[0,1].
(3)由于腦電極帽排布緊密,相鄰電極采集到的EEG 信號相關(guān)性可能較高,為了提取到冗余度小且代表性強(qiáng)的情緒特征向量,本文利用最大相關(guān)最小冗余(max-relevance and min-redundancy,mRMR) 算法降低數(shù)據(jù)維度,有助于后續(xù)訓(xùn)練模型的準(zhǔn)確建立.
(4)采用網(wǎng)格搜索算法(grid search,GS)獲取最佳的SVM 參數(shù).C參數(shù)的搜索范圍設(shè)置為g參數(shù)的搜索范圍為經(jīng)過不斷交叉測試驗(yàn)證,綜合考慮最高分類準(zhǔn)確率和最大化分類間隔,GS-SVM 分類器參數(shù)優(yōu)化結(jié)果如圖5和圖6所示,得出SVM的最佳參數(shù)值為C=4,g=0.659 75.
圖5 網(wǎng)格搜索參數(shù)結(jié)果圖
圖6 網(wǎng)格搜索參數(shù)等高圖
(5)從降維后的特征集中隨機(jī)選取總樣本的80%作為Train,20%作為Test,建立訓(xùn)練模型.由于本實(shí)驗(yàn)要解決情緒三分類問題,而SVM 分類器是一個(gè)二分類器,因此本文采用基于SVM的“一對多”的方式構(gòu)建3 個(gè)SVM 分類器[28,29],可實(shí)現(xiàn)對3 種情緒類型的分類,如圖7所示.
圖7 基于SVM的“一對多” 多類分類器
(6)依據(jù)第2.2 節(jié)中SVM-KNN 分類訓(xùn)練算法對腦電-情緒特征集進(jìn)行訓(xùn)練,輸出情緒三分類結(jié)果.
將Train 樣本分別輸入SVM,KNN,SVM-KNN 分類器做對比實(shí)驗(yàn),建立相應(yīng)的情緒分類模型,然后在Test 樣本上測試,得到的情緒識別性能結(jié)果如表1所示.
表1 3 種分類器的情緒識別正確率對比(%)
對表1中實(shí)驗(yàn)數(shù)據(jù)結(jié)果進(jìn)行對比分析,SVM-KNN分類器平均識別正確率為88.84%,分別超過KNN和SVM 分類器 10.00%和5.56%,可以看出相對于單一的SVM和KNN 分類器,SVM 與KNN 融合算法的分類器獲得了更好的情緒分類效果.SVM-KNN 分類器克服了SVM 對分類面附近的情緒特征向量識別易出錯(cuò)以及KNN 計(jì)算時(shí)間復(fù)雜度高的缺陷,較好地結(jié)合了SVM和KNN 分類器的優(yōu)勢,對于基于EEG的情緒識別獲得了更優(yōu)的效果.
情緒識別是基于監(jiān)測和分析人類各種身體的外在表現(xiàn)及生理信號的模式識別任務(wù).本文將通過Neuro-Scan ESI-128 系統(tǒng)采集的SEED 情緒腦電數(shù)據(jù)集進(jìn)行特征量提取和降維后,建立了基于SVM 與KNN 融合算法的情緒腦電識別模型,實(shí)驗(yàn)結(jié)果表明,相對于單一的分類學(xué)習(xí)算法,SVM 與KNN 融合算法的分類方法識別效果更優(yōu),能更加準(zhǔn)確地輸出情緒類別.在醫(yī)療護(hù)理、交通出行、教育教學(xué)等方面,實(shí)時(shí)監(jiān)測被試者的腦電數(shù)據(jù),從中分離出情緒任務(wù)相關(guān)的成分,通過分析與處理這些成分可以持續(xù)辨識他們的情緒狀態(tài)變化,從而根據(jù)情緒反饋適當(dāng)?shù)恼{(diào)整方案和改進(jìn)措施.
除此之外,在腦電信號監(jiān)測方面,本文的EEG 數(shù)據(jù)集采集過程選用了濕電極技術(shù).目前新興的干電極技術(shù)無需涂抹液態(tài)導(dǎo)電介質(zhì),更加便捷、舒適,例如可穿戴設(shè)備Emotiv EPOC+[30].但是目前干電極技術(shù)還不夠成熟,且EEG 是一種非平穩(wěn)信號,采集過程中容易受到頭皮毛發(fā)的干擾而使獲得的信號不夠純凈穩(wěn)定.隨著技術(shù)的不斷完善和發(fā)展,相信干電極技術(shù)將日漸成熟完備,會為情緒識別應(yīng)用提供更便捷、可靠的腦電信號采集途徑.