柳長源,李文強,畢曉君
(1.哈爾濱理工大學電氣與電子工程學院,哈爾濱 150080;2.哈爾濱工程大學信息與通信工程學院,哈爾濱 150009)
情緒是指人內心的一些想法和心理傾向,在人類的理性和智能行為中起著至關重要的作用。在醫(yī)學上我們可以去窺探一些自閉癥和抑郁癥患者的心理,還可以為一些遭受到校園霸凌事件的兒童提供心理疏導,讓他們可以健康的成長。它不僅有助于人和人之間的溝通,在人機交互的應用中也有重要的意義,這是一項涵蓋醫(yī)學、心理學、計算機科學和人工智能等很多學科的交叉學科研究[1]。
情緒識別的研究方法有很多方向,常見的研究方法是通過一些生理特征來進行情緒的識別分類,這些生理特征包括人的面部表情、行為動作和語音語調等。這些外部生理特征雖然容易獲取,但是在生理上的表現(xiàn)容易受到人的意識控制,導致情緒識別的結果有所偏差[2]。與這些信號相比,腦電信號具有實時差異性并存在于中樞神經(jīng)系統(tǒng),與情緒的關聯(lián)遠遠超過其他信號。情緒識別的問題在人機交互和人工智能領域受到廣泛的關注和研究。Duan等人利用能量頻譜特征對正向情緒和和負向情緒做了二分類,分類結果為76.56%[3];Krisnandhka等人利用小波能量相對利用率作為特征進行情感識別,準確度達到了76%[4]。Murugappan提取了腦電熵特征,比較了六種情緒狀態(tài),如驚奇、恐懼、高興等,發(fā)現(xiàn)利用腦電熵特征比利用時域特征對情緒分類的準確率高,反映了腦電熵這一特征可以有效的區(qū)分不同情緒狀態(tài)[5]。黃檸檬提取了腦電信號的六種時域特征,利用CSP算法進行特征選擇與降維,得到了80.5%情感識別率[6]。許多專家學者在情感識別方面做出研究分析并取得了一定進展,但是如何提取有效的腦電特征來充分挖掘腦電信號的情感信息,目前的研究還不太多?;谏鲜鰡栴},本文根據(jù)左右腦的腦電信號具有不對稱性的特點,提取了腦電信號的不對稱熵特征進行情感識別,通過對實驗結果的分析與比較,證明了該特征提取和分類算法的有效性。
Deap[7](Database for Emotion Analysis using Physiological Signals)數(shù)據(jù)庫采集了32名健康參與者的腦電數(shù)據(jù),包括16名男性和16名女性。參加實驗的人身體和心理都是健康狀態(tài),分別在他們大腦的額葉、頂葉、枕葉和顳葉四個區(qū)域用32個傳感器采集實驗者分別看40段視頻時的腦電信號,每個視頻時間為60 s。本文所選的實驗數(shù)據(jù)是經(jīng)過預處理(降采樣,去除眼電等噪聲)之后的數(shù)據(jù),采樣頻率為128 Hz。根據(jù)相關的已有研究表明大腦的前額區(qū)參與人的情緒處理[8],本文選取采集大腦前額區(qū)腦電信號的FP1、FP2、F3、F4、F7、F8六個導聯(lián)作為研究對象[9]。
根據(jù)腦神經(jīng)科學和心理學的研究,腦電的δ(1 Hz~3 Hz)、θ(4 Hz~7 Hz)、α(8 Hz~12 Hz)、β(13 Hz~30 Hz)四個節(jié)律與人的生理活動有著密切的聯(lián)系[10],并且發(fā)現(xiàn)在β頻帶內包含大量的情緒特征[11],本文將利用小波分解與重構算法對原始EGG信號進行預處理,在β頻段進行分析和特征提取。
小波分析是一種時間和尺度上的局部分析方法,它對信號具有自適應性,其頻率窗和時間窗都可以移動但窗口的長度不變,小波分析之后,情緒腦電信號的低頻部分表現(xiàn)出頻率分辨率高,高頻部分則時間分辨率高。這樣通過分析我們可以得到不同尺度的高低頻信息,進行不同頻率的分析實驗。小波變換就是把原始信號分成不同的頻段提取出來,對于連續(xù)情況,小波序列為:
(1)
式中:為a為尺度因子,b為伸縮因子。
小波分解[12]是將原始EGG信號分解在不同的頻帶上,把原始信號分解為低頻分量和高頻分量,我們可以將原始信號x(t)通過下面公式進行分解。
(2)
上式中CN,k是第N層的第k個低頻分量,Dj,k是第j層的第k個高頻分量,ψ(t)為小波函數(shù),φ(t)為伸縮函數(shù)。我們采用db4基函數(shù)把原始信號分成四個頻段,每次分層后低頻分量和高頻分量的長度變?yōu)樯弦粚有盘栭L度的一半,通過將原始信號的高頻分量部分用零代替的方法把低頻分量長度重構到原始EGG信號的長度。圖1是選取的第一個樣本中的FP1導聯(lián)上的后60 s的實驗數(shù)據(jù),利用小波分解得到的四種節(jié)律的波形。
圖1 小波分解后各個節(jié)律波的信號
在情緒腦電信號研究中,頻帶能量一般作為分類特征,人在壓力情緒下的能量值一般大于平靜情緒下的能量值。從生理角度來[13]看,當人處于壓力情緒狀態(tài)時,大腦處于高負荷的緊張狀態(tài),提高了大腦神經(jīng)元之間的交互活動,因此在壓力情緒狀態(tài)下的腦電信號的能量較高。相反人處于平靜情緒狀態(tài)時,大腦處于低負荷的閑散狀態(tài),大腦活動無目的性,使腦電信號變化緩慢,從而平靜狀態(tài)下腦電信號的頻帶能量較低。
圖2是計算了所有導聯(lián)在兩種情緒狀態(tài)下的能量的平均值,可以看出在不同的情緒狀態(tài)下各個導聯(lián)有著不同的頻帶能量,β頻帶下FP2、F4導聯(lián)的頻帶能量最高,對于不同的導聯(lián)在壓力態(tài)下的能量值都要大于平靜態(tài)下的能量值,由此可知我們可以把頻帶能量作為特征參數(shù)來進行情緒識別。
圖2 β節(jié)律的頻帶能量圖
平均信息量表示一個信源Xi的信息量,香農熵表達了一個離散信號所包含的平均信息量,對于一個連續(xù)的信號,則無法直接使用。而微分熵可以對連續(xù)隨機變量的取值進行離散化,將取值的范圍大致劃分成寬度為Δ的小部分,由均值定理可知,每部分總存在一個xi使下面的等式成立。
(3)
從而,把每個在i部分的點賦予值xi,然后套用離散變量的香農公式:
(4)
(5)
式中:f(x)是信號xi的概率密度函數(shù)。我們假設信號源腦電數(shù)據(jù)服從正態(tài)分布N(μ,σ2),然后求解微分熵為:
(6)
從上式可知,我們只需要知道σ2就能得到Xi的微分熵,正態(tài)分布N(μ,σ2)的方差計算公式為
(7)
(8)
由此可知在i相同的情況下,腦電信號在各個頻帶上的微分熵等于在該頻帶上頻帶能量的對數(shù)的pi/N2倍。采用微分熵特征可以減小頻帶能量值在計算時過大而產(chǎn)生的誤差,提高了特征的精確度。
著名的諾貝爾醫(yī)學獎得主斯佩里博士,通過割裂腦實驗得出了“左右分工理論”,證實了大腦左、右半球存在不對稱性[14],左半腦主要負責人的邏輯思維,例如記憶、排列、分類、五感(視、聽、嗅、觸、味)等,而右半腦主要負責人的形象思維,例如直覺、情感、想象、靈感等。近幾年很多研究表明,人在不同的情緒狀態(tài)下,左右腦的腦電信號具有不對稱性,利用此特性我們提出了不對稱熵特征,對腦電信號進行分類。
計算不對稱熵特征基本步驟如下:
①分別計算左腦三個導聯(lián)(FP1、F3、F7)在β頻帶的微分熵和右腦三個導聯(lián)(FP2、F4、F8)在β頻帶的微分熵。
②計算右側導聯(lián)的微分熵除以左、右對稱導聯(lián)的微分熵之差的值與右側導聯(lián)的微分熵除以左、右對稱導聯(lián)的微分熵之和的值,如式(9)和式(10)所示:
(9)
(10)
DEL表示左側導聯(lián)的微分熵,DER表示右側導聯(lián)的微分熵。
③將計算得到的index1和index2拼合在一起作為不對稱熵特征DisEn(Dissymmetry Entropy),用式(11)來表示:
DisEn=[index1,index2]
(11)
支持向量機作為一種廣泛使用的分類器,但其參數(shù)選擇問題困擾著很多研究者,傳統(tǒng)的參數(shù)選擇方法,計算成本大、耗時長,需要做大量的實驗,因此選擇合適的優(yōu)化算法,優(yōu)化其參數(shù)顯得十分重要。
支持向量機SVM(Support Vector Machine)[15]是90年代中期發(fā)展起來的基于統(tǒng)計學習的一種機器學習算法,在這個算法中我們將所有數(shù)據(jù)在N(N為特征總數(shù))維空間中用點標出,尋找一個可以將訓練樣本點分割開的超平面,在線性可分的情況下,訓練樣本完全被分開的超平面有一個或多個,SVM的目標就是找到一個與數(shù)據(jù)點有最大間隔的最優(yōu)的超平面,保證分類準確率最高。
假設訓練數(shù)據(jù)集為{x,y}={(x1,y1),(x2,y2),…,(xn,yn)},xi∈Rd,yi∈{-1,1}分隔超平面方程可以寫成:
wTx+b=0
(12)
常數(shù)b相當于Logistic回歸中的截距w0,向量w和常數(shù)b共同描述了所給特征的分隔線,點到分隔面的函數(shù)間隔為:
(13)
幾何間隔為:
(14)
找到間隔最小的數(shù)據(jù)點,然后最大化該間隔:
(15)
該公式約束條件為yi(wTx+b)≥1.0。為了求此方程,引入拉格朗日乘子,使得目標函數(shù)可以寫成:
(16)
y·(wx+b)≥1-ξ
(17)
此時求最優(yōu)超平面問題變?yōu)?
(18)
對于非線性情況,SVM將原始數(shù)據(jù)通過核函數(shù)K(x,y)映射到高維空間中去,在高維空間中數(shù)據(jù)變得容易線性分離,然后在高維空間尋找最優(yōu)面。核函數(shù)就是這種映射方法,而且可以證明,數(shù)據(jù)集總是可以被一種核函數(shù)映射成可分離的高維數(shù)據(jù)。假設低維到高維映射的線性關系為f:Rd→H,由式(16)可知在低維空間的樣本內積為〈xi,xj〉,當映射到高維空間時內積變?yōu)?
K(xi,yi)=f(xi)f(yi)
(19)
決策函數(shù)為:
(20)
常用的核函數(shù)有
①多項式核函數(shù)
K(x,y)=(x·y+c)q
(21)
②徑向基(RBF)核函數(shù)
(22)
③Sigmoid核函數(shù)
K(x,y)=tanh[υ(x·y)+c]
(23)
訓練SVM的重要因素是要選擇合適的核函數(shù)以及參數(shù)c[16]。RBF核函數(shù)主要用于線性不可分情況,分類性能一般由兩個參數(shù)決定,一個是懲罰因子c,一個是RBF核函數(shù)的參數(shù)g,分類結果非常依賴于這兩個參數(shù)。在許多情況下,要通過訓練數(shù)據(jù)的交叉驗證以找到合適的參數(shù),RBF核函數(shù)參數(shù)較少,模型選擇時參數(shù)對系統(tǒng)復雜性的影響也比較小,所以本文選擇RBF核函數(shù)。在實驗中當使用libsvm的默認參數(shù)時,RBF核函數(shù)的分類效果較差,找到合適的參數(shù)一般需要大量的嘗試。為了解決參數(shù)選擇的問題,我們使用遺傳算法對兩個參數(shù)進行優(yōu)化。
①染色體編碼
遺傳算法GA(Genetic Algorithm)[17]首先解決的問題是基因設計和編碼問題,本文采用十進制編碼方式,決策變量為懲罰因子c和核函數(shù)參數(shù)g[18]。染色體由這兩個決策變量組成,用十進制串表示,考慮決策變量的取值范圍,本文決策變量取值精確到小數(shù)點后一位,每條染色體由兩個四位十進制串構成,每一位在0到9之間的隨機數(shù)中取值。隨機生成n個染色體構成初始種群,根據(jù)遺傳算法的實踐研究與本文的研究對象,選取染色體數(shù)目為20作為初始種群。
②適應度函數(shù)的確定
適應度是選擇個體留下或淘汰的決定因素,適應度函數(shù)決定著整個種群的進化方向。本文將腦電信號樣本分為兩部分,一部分是訓練樣本,一部分是測試樣本,將測試樣本的分類精度作為適應度函數(shù),如公式:
Fit=Rtest
(24)
③選擇算子
本文選擇的選擇算子方法為比例選擇法也叫輪盤賭選擇法,利用個體的適應值計算每個個體在子代中的生存概率,通過生存概率隨機選擇個體是否被選擇構成子代種群。對于規(guī)模為n的種群P={X1,X2…Xn},個體Xi的適應值為g(Xi),那么其生存概率為:
(25)
然后用累積概率制作輪盤,生成一個隨機數(shù)ζ∈(0,1),從第一個個體開始累加生存概率,直到滿足下面公式時,將第m個個體拿出來放入下一代種群。
(26)
④交叉與變異
交叉操作是遺傳算法的一個獨有特性,隨機選擇兩個個體,隨機確定交叉位,對兩個染色體進行交換,從而得到兩個新的個體,交叉算子又叫重組算子。
變異操作是指一個染色體上某位基因在進化過程中的突變,根據(jù)變異概率隨機選擇染色體中的某位,改變該位置的值來進行突變操作,本文變異位的值r變?yōu)?9-r),來完成變異過程。本文選取的交叉概率和變異概率分別為0.6和0.1。
⑤停止準則
循環(huán)執(zhí)行計算適應度、選擇、交叉、變異的過程,直到迭代數(shù)達到預定值時,以結束時那一代的個體中適應度最高的作為最優(yōu)解輸出。本文設置的最大迭代數(shù)是200。
本文所使用的研究數(shù)據(jù)均來自Deap(Database for Emotion Analysis using Physiological Signals)公開數(shù)據(jù)庫,在網(wǎng)上可以公開免費獲取。本文將實驗分為兩部分,一部分是特征導聯(lián)選取,另一部分是分類效果對比。
在選取特征之前我們對所選的導聯(lián)FP1、FP2、F3、F4、F7、F8求不對稱熵特征進行對比。
由圖2我們可以看出腦電信號在壓力狀況下的頻帶能量大于平靜狀態(tài)下的頻帶能量。本文以β節(jié)律下的頻帶能量為基礎,分別對FP1、FP2、F3、F4、F7、F8六個導聯(lián)的頻帶能量取對數(shù),求取FP1、FP2、F3、F4、F7、F8六個導聯(lián)的微分熵,將右側導聯(lián)的微分熵除以左右導聯(lián)的微分熵之差,計為index1,如圖4所示。將右側導聯(lián)的微分熵除以左右導聯(lián)的微分熵之和,記為index2,如圖5所示。將index1與index2拼合在一起作為不對稱熵特征(DisEn),用式(11)來表示。
圖5 所選導聯(lián)的index2的值
由圖4和圖5可以看出,β節(jié)律下壓力狀態(tài)下的index1和index2均大于平靜狀態(tài)下的值。由此可見我們可以選擇不對稱熵特征作為情感特征,用支持向量機SVM和遺傳算法優(yōu)化參數(shù)后的支持向量機Ga-Svm分別進行10次分類實驗,得到表1的實驗結果。在心理效價(valence)和喚醒度(arousal)的二維平面中,壓力狀態(tài)的分類標準為(Arousal>5)∩(Valence<3),平靜狀態(tài)的分類標準為(Arousal<4)∩(4 表1 兩種方法的分類識別率 圖6是利用Ga-Svm分類得到的實驗1的結果,由圖可以看出平靜狀態(tài)下分錯6個樣本,壓力狀態(tài)下分錯2個樣本,分類準確率達到了90%。 圖6 Ga-Svm下情緒分類結果 圖7是分類器尋優(yōu)時的適應度曲線,上面的紅色線是最優(yōu)適應度曲線,下面的藍色圓線是過程中的平均適應度曲線,得到的最優(yōu)的懲罰參數(shù)c=45.747 9,核參數(shù)g=0.401 02。 相比較文獻[19]中Teodiano Freire等人與文獻[20]中蘇建新基于Deap數(shù)據(jù)庫研究對壓力與平靜情感的已有研究成果,本文提取的不對稱熵特征和分類算法能夠達到更好的分類識別效果,如表2所示。 表2 基于DEAP的已有研究成果與本文的對比 本文采用了多模態(tài)DEAP音樂情感數(shù)據(jù)庫中的數(shù)據(jù),提取出壓力和平靜2種情感腦電信號。每種情感選擇了代表額區(qū)的6個通道數(shù)據(jù)。先用小波分解提取了腦電信號中與情緒關聯(lián)較大的β節(jié)律,以頻帶能量和微分熵為基礎對大腦產(chǎn)生的情緒腦電信號進行特征提取,根據(jù)人產(chǎn)生情緒時左右腦腦電不對稱性的特點提出了新的不對稱熵特征,將遺傳算法與支持向量機相融合對不同的情緒進行分類,準確率最高可達到93.75%,結果表明該方法可以幫助人們有效地區(qū)分腦電情感信號。但是,情緒在一般情況下反映在腦電、肌電和其他的生理信號,本文不足之處在于只利用腦電信號進行情感分類,在以后的研究中希望加入其他的生理信號進行研究以提高情感分類準確率。5 結論