董寅冬,任福繼,李春彬
1 合肥工業(yè)大學(xué)計算機與信息學(xué)院,安徽 合肥 230601;
2 情感計算與先進智能機器安徽省重點實驗室,安徽 合肥 230601;
3 德島大學(xué)工學(xué)部,德島770-8509,日本
人機交互(Man-machine interface,MCI)在近年來影響著我們生活的方方面面,如人與人的交流與溝通、購物、求職、教育、醫(yī)療和娛樂等[1-2]。在交互的過程中機器可以理解人的情感狀態(tài)并加以應(yīng)用,我們把這種表達方式稱之為情感計算(affective computing,AC)[2-4]。情感計算可以讓機器具備一定的情感表達能力,并能夠在系統(tǒng)和智能設(shè)備之間識別、解釋和處理人類的情感。目前,情感識別已經(jīng)成為情感計算的重要研究熱點,人臉表情[5-6]、語音[7]、姿態(tài)[8]、文本[9-10]以及人類自發(fā)神經(jīng)系統(tǒng)產(chǎn)生的生理信號可以用來進行情感認知的表達[11-14]。腦電信號(Electroencephalogram,EEG)的采集直接來源于中樞神經(jīng)系統(tǒng),它作為一種有效的生理表達能夠真實地反應(yīng)大腦的情感變化。由于在連續(xù)音樂視頻激勵下產(chǎn)生的EEG 信號較為穩(wěn)定和持續(xù),本文使用DEAP 數(shù)據(jù)庫對腦電情感狀態(tài)進行識別和分析。
眾多學(xué)者對腦電情感識別的研究主要集中在特征層面和模型分類層面。在特征層面上,時域特征主要有事件相關(guān)電位EPR,統(tǒng)計特征(能量、均值、標準差、一、二階差分等)、Hjorth 參數(shù)、分形維度FD 以及高階交叉參數(shù)HOC 等;時頻特征主要包括頻帶能量、小波(包)能量、高階譜,希爾伯特黃譜HHS 和離散小波變換等;非線性特征包括一些基于熵的特征值(香濃熵、小波包熵、差分熵等)、C0 復(fù)雜度、相關(guān)維、李雅普諾夫指數(shù)等[15-16]。文獻[17]針對經(jīng)驗?zāi)B(tài)分解得到功率譜密度(power spectral density,PSD)特征,并采用高斯核的SVM 單獨對每個被試進行識別,取得平均68.3%的分類準確率。文獻[18]采用IMF 結(jié)合對應(yīng)的能量和幅值差使得在積極與消極情緒之間的識別率獲得了近10%的提升。文獻[19]使用非線性特征差分熵(differential entropy,DE)結(jié)合圖規(guī)則化極端學(xué)習(xí)機(graph regularized extreme learning machine,GELM)在情感的四分類上獲得了69.67%的準確率。文獻[20]提出了一種基于PCA 融合小波能量特征、近似熵和Hurst 指數(shù)的腦電特征提取算法,針對八種情感的兩兩分類取得了平均85%的準確率。但這些文獻在對腦電信號提取特征后沒有進行非線性核的變換,且識別性能會因一些相關(guān)性較弱的特征以及特征之間的冗余而下降。從模型層面上來說,文獻[21]使用自編碼神經(jīng)網(wǎng)絡(luò)和LSTM 相結(jié)合的方法在四分類情感上取得了最高76.23%的分類準確率。文獻[22]利用時頻特征結(jié)合深度卷積神經(jīng)網(wǎng)絡(luò)(deep CNN)使腦電特征相對于傳統(tǒng)BT 分類模型在valence 和dimension 維度上分別提高了3.58%和3.29%。文獻[23]使用granger 因果關(guān)系作為腦電特征,并結(jié)合 lasso 算法進行特征選擇,最后通過SVM 識別在二維情感維度上分別取得87.15%和86.60%的平均準確率。文獻[24-25]使用最小冗余度最大相關(guān)(minimum redundancy maximum relevance,mRMR)對PSD 進行特征選擇,在一定程度上提升了分類效果。但這些文獻中特征選擇過程和分類模型算法是相互孤立的,無法在算法上形成優(yōu)勢的互補。因此,一個合適的分類模型對腦電信號實現(xiàn)特征的選擇和情感狀態(tài)的識別尤為重要。
XGBoost 是在2014 年被Chen 提出[26]的一種集成學(xué)習(xí)算法,它具有運行速度快、計算復(fù)雜度低、易于調(diào)參、可控性強以及識別性能高等優(yōu)勢。一方面,該算法作為識別模型在工業(yè)、機器學(xué)習(xí)以及各種科研競賽中都具有優(yōu)異的表現(xiàn)[27];另一方面,此算法能夠在樣本訓(xùn)練的過程中統(tǒng)計各個特征的重要性度量,實現(xiàn)特征的選擇[28-29]。因此XGBoost 能夠被廣泛應(yīng)用于各種模式的識別和事件的預(yù)測任務(wù)等[30-32],但是針對生理信號的識別領(lǐng)域卻鮮有研究。本文提出了一種線性核(linear kernel)核主成分分析(KPCA)結(jié)合XGBoost 模型的分類識別算法。首先,對每位被試的腦電信號在32 個通道上提取了不同頻段的PSD 特征,然后使用XGBoost 對樣本進行訓(xùn)練,并在樹學(xué)習(xí)的過程中通過特征重要性指標weight 選出和情感相關(guān)的腦電特征后,經(jīng)linear 核的KPCA 進行特征處理,最后利用XGBoost 對處理后的特征進行分類識別。該算法不但使腦電情感樣本在高維空間變得更加線性可分,又充分利用了XGBoost 在特征選擇和模式識別上的優(yōu)勢,從而可以達到較好的情感識別效果。
集成學(xué)習(xí)是一種使用多個學(xué)習(xí)模型組成具有更強泛化能力的學(xué)習(xí)方法,對于大小規(guī)模數(shù)據(jù)的處理都會呈現(xiàn)出不錯的學(xué)習(xí)效果。XGBoost 是對boosting 算法進行改進的一種有監(jiān)督集成學(xué)習(xí)模型,它實際上是一個附加訓(xùn)練(additive training)的過程,通過迭代對預(yù)測函數(shù)增加一棵新的分類回歸樹f t(xi)去優(yōu)化目標函數(shù)
式(1)為模型的函數(shù)定義,k為樹的數(shù)目,F(xiàn)則為分類回歸樹(CART)的所有可能性集合,fk是F空間的子函數(shù)。q表示樹的結(jié)構(gòu)函數(shù),Ω(f)為定義為樹的復(fù)雜度,它是由樹的葉子結(jié)點數(shù)T以及每個葉子結(jié)點的得分w的L2 模平方?jīng)Q定的,用來作為正則化項的懲罰模型,γ和λ為需要調(diào)參的系數(shù)。
使用二階泰勒展開對目標函數(shù)進行近似定義:
式中Ij為第j個葉子結(jié)點的樣本集合。
在樹的生成過程中,通過在特征上枚舉所有可能性劃分,然后使用精確貪心算法(exact greedy algorithm)得到最佳切分點,從而尋找出一棵最優(yōu)結(jié)構(gòu)的樹,這樣可以通過計算結(jié)點分裂前后的增益值G作為是否進行分裂的依據(jù)。由下式(8),一個結(jié)點被分解得到左葉子結(jié)點分數(shù)和右葉子結(jié)點分數(shù)。對于某一特征,找到增益值最大的結(jié)點作為分裂結(jié)點。
根據(jù)特征在葉子結(jié)點的分割過程,可以看出每個特征在結(jié)點處的分裂次數(shù)weight 影響著整個樹模型的構(gòu)建,因此,本文選取weight 作為特征重要性度量。另外,和XGBoost 相關(guān)的特征重要指標還包括gain、cover、total gain 和total cover。Gain 表示的是特征在切割樹的結(jié)點過程中產(chǎn)生的平均增益。Cover 表示特征在樹中的平均覆蓋范圍。Total gain 表示特征在所有樹中每次分裂節(jié)點所產(chǎn)生的總增益,Total cover 則表示特征在所有樹中每次分裂節(jié)點所覆蓋的全部樣例的數(shù)目。
本文采用大多數(shù)研究中使用頻段能量特征提取方法對腦電信號提取功率譜密度(PSD),PSD 是單位頻域內(nèi)信號功率的分布。具體過程是在不同的子頻段采用短時傅里葉變換(STFT)并結(jié)合漢明(Hamming)窗口函數(shù)對信號進行分解。4 Hz~45 Hz 的頻段被分成了五個頻段,分別是theta:4 Hz~8 Hz,alpha:8 Hz~12 Hz,beta low:12 Hz~18 Hz,beta high:18 Hz~25 Hz 以及gamma:25 Hz~45 Hz,本文取各個子頻段的PSD 特征。
本文對PSD 特征進行正則化(normalization)處理,以便后面使用核來規(guī)范樣本間的相似性。Normalization 是先按照式(9)計算每個樣本的p-范數(shù),再從樣本中的每個元素除以此范數(shù),從而使得每個樣本縮放到單位范數(shù)。本文使用L2-norm 進行正則化。
當(dāng)樣本在特征空間中難以進行線性分割時,可以試圖通過選擇特定的核函數(shù)對特征進行升維,使之在高維空間變得線性可分,然后使用PCA 算法對高維空間的特征分量進行降維。本文通過實驗對比,選取線性核進行KPCA 處理可以達到最佳的識別效果。
本文使用兩種實施方案來驗證腦電情感識別效果。第一種方案是在每個被試內(nèi)部先進行3-Fold 交叉驗證,最后取所有被試情感識別的平均準確率。這種方案一般可以得到較高的準確率,但是僅僅是針對每個被試的內(nèi)部特征進行訓(xùn)練,模型無法學(xué)習(xí)到所有被試的共性特征,本文把這種方案稱為被試單獨依賴(subject single dependent,SSD)。第二種方案是對所有被試的腦電信號段樣本進行隨機打亂,然后使用XGBoost 進行5-Fold 的交叉驗證,這種處理方式使用多個被試樣本參與模型的訓(xùn)練和測試,更適用于情感腦機接口的分析和應(yīng)用,本文把這種實施方案稱為所有被試參與(subjects all participation,SAP)。
文中對腦點信號進行窗口大小為1 s 的PSD 特征提取,窗口之間非重疊,這樣做可以避免數(shù)據(jù)樣本的重復(fù)。本文在SAP 的情況下,由于樣本數(shù)目較多,使用5 折交叉運算;在SSD 的情況下,使用的是3 折交叉運算。在特征選擇方面,本文使用XGBoost 隨機選擇70%比例的樣本特征進行訓(xùn)練,并根據(jù)特征重要性指標weight 統(tǒng)計每個特征在每棵樹上的分裂次數(shù),把每棵樹在此特征上的分裂次數(shù)的總和作為特征的得分,當(dāng)閾值(threshold)被固定為某一數(shù)值,得分排名靠前的特征將會被選擇,然后利用線性核主成分分析(KPCA)方法在高維空間進行特征處理,最后使用XGBoost 模型對4 類情感狀態(tài)進行分類。訓(xùn)練過程中主要參數(shù)有:生成樹的最大數(shù)目(n_estimator),學(xué)習(xí)率(learning_rate),結(jié)點分裂需要最小損失函數(shù)的下降值(gamma),權(quán)重L2 的正則化項(reg_lambda)和樹的最大深度(max_depth),另外,使用softmax 做多分類,分類數(shù)目設(shè)置為 4。本文使用網(wǎng)格搜索法GridSearchCV 對XGBoost 進行調(diào)參,最終參數(shù)設(shè)為n_estimators:1080(SAP),n_estimators:500(SSD),learning_rate:0.05,gamma:0.1,reg_lambda:0.05,max_depth:9(SAP),max_depth:4(SSD),objective:'multi:softmax',num_class:4。圖1 為本文的算法流程圖。
圖1 算法整體流程圖Fig.1 Overall flow chart for the algorithm
本文在DEAP 數(shù)據(jù)庫[33]中對腦電情感信號進行研究。32 名身心健康的被試者(男女比例各占50%,平均年齡為26.9 歲)被邀請參與實驗數(shù)據(jù)的采集。一共有40 導(dǎo)的數(shù)據(jù)被記錄,其中腦電信號為32 導(dǎo),其余8導(dǎo)為外周生理信號。收集的信號以512 Hz 的采樣頻率被記錄,預(yù)處理后被降采樣到128 Hz,經(jīng)濾波到4 Hz到45 Hz 的頻段范圍內(nèi)。32 名被試被安排在40 段不同情感狀態(tài)的音樂視頻前進行生理信號的記錄,每段視頻時長為1 min。每段視頻開始前,被試會有3 s 的基線準備時間,這時被試者處于平和狀態(tài)。在每個視頻播放完畢后,被試將會有足夠的時間對剛播放的視頻在三維模型(效價、喚醒度、優(yōu)勢度)上進行1 到9的離散評估。本文選擇了效價和喚醒度兩個情感維度,并把情感維度評估分數(shù)大于等于5 的劃分為高(High),分數(shù)小于5 的情況指定為低(Low)。因此可以劃分四種情感類別,包括HVHA(high valence high arousal),LVHA(low valence high arousal),HVLA(high valence low arousal)和LVLA(low valence low arousal),分別對應(yīng)著歡樂/高興、生氣/厭惡、放松/平靜、抑郁/悲傷四種情感。
本文在對樣本進行訓(xùn)練的過程中,使用閾值(threshold) 對腦電特征維度進行選擇,當(dāng)threshold∈[0.004,0.011],所選擇的特征數(shù)則由160 逐漸減少到0。實驗中圖2 分別給出了SAP 下閾值的變化對識別效果的影響,當(dāng)特征數(shù)目選擇較少時,無法全面地表征情感的變化;當(dāng)特征數(shù)目選擇過多,特征之間將會出現(xiàn)過多的冗余,進而影響到模型的泛化性。當(dāng)threshold=0.0072 時,情感分類的準確率最高達到78.38%。圖3 給出了SAP 情況下特征重要程度排名前50 的特征,縱坐標如7_(25-45)是通道編號為7,頻率在25 Hz 到45 Hz 之間的PSD 特征表示,橫坐標則為特征的得分表示。從圖中可以看出,重要性度量靠前的特征在頻段上基本都集中在gamma 頻段,這說明gamma 頻段能量變化對腦電情感識別具有較大的區(qū)分度,這和文獻[19]的研究結(jié)果是一致的。同時,在gamma 頻段下基本所有的通道特征都在樹的模型學(xué)習(xí)過程中進行了多次的分裂,這說明gamma 頻段下每個通道對情感的識別都具有一定的貢獻。結(jié)合圖4 可以看出,gamma 頻段下(紅色數(shù)字)中央、頂葉以及右枕區(qū)在gamma 頻段的特征尤為重要,可以給腦電的情感分類提供更多的有效信息;另外,顳區(qū)(藍色圈)左右兩側(cè)、頂葉和中央左處的特征分別在alpha、beta、gamma 頻段和theta、beta、gamma 頻段保持活躍,這些特征不僅對分類很重要,同時每次在隨機選取的樣本進行訓(xùn)練中表現(xiàn)的較為穩(wěn)定,從而有利于在多人被試中借助模型進行共性學(xué)習(xí)。
圖2 SAP 下準確率在不同閾值下的趨勢Fig.2 Accuracy under different thresholds in SAP
圖3 SAP 情況下特征重要性排序Fig.3 Ranking of feature importance in SAP
圖4 腦電信號整體分布和特征重要性分布圖Fig.4 Overall distribution and feature importance distribution of EEG signals
圖5 和圖6 是在SSD 下分別選出被試中識別效果最好(01,23)和最差(04,22)的四個被試的部分重要特征排名和每個被試的識別結(jié)果,對應(yīng)的這四個被試的準確率分別是96.24%、94.62%和84.81%、86.07%。從圖5 中可以觀察到不同的被試所表現(xiàn)的特征重要性排序是不同的,這說明不同的被試所呈現(xiàn)的個性表達存在較大的差異性。分析發(fā)現(xiàn),01 號被試和23 號被試名靠前特征也都集中在gamma 頻段,這和SAP 情況下的分析相一致,從而進一步說明gamma 頻段的能量特征是腦電情感識別的一個很重要的指標。從通道空間上看,通道3、11 和32 能夠同時在識別性能最好的兩個被試和SAP 下的多人被試中呈現(xiàn)的特征重要程度保持基本一致,說明三個通道在情感特征的共性識別方面是穩(wěn)定的;編號04 和22 相對于其他被試得到的識別效果較差,從圖5 中可以看出,他們的頻率和通道重要性度量排序都較為混亂,可能是特征的無規(guī)則性對被試個體的識別效果產(chǎn)生了負影響,不同被試所具有的個性化通道和頻段特征在多人被試中不能有效的區(qū)分情感狀態(tài),因此很難被應(yīng)用針對腦機的情感系統(tǒng)中。
圖5 部分被試(01,04,22,23)特征重要性排序Fig.5 Features’ importance ranking for selected subjects(01,04,22,23)
圖6 32 名被試的識別準確度對比Fig.6 Comparison of recognition accuracy for 32 subjects
圖7 給出了各種組合算法在固定主成分數(shù)目(n_components)后的識別效果對比。圖中SVM(RBF,Linear)表示支持向量機分類模型采用徑向基核或者線性核。圖7(a)顯示的是SAP 情況下選擇的特征個數(shù)為30,可以看出,當(dāng)n_components 在100 到150 的范圍內(nèi),本文算法分類效果最佳且識別效果相對穩(wěn)定。圖7(b)是SSA 情況下各個算法識別情況,由于每個被試下樣本數(shù)目相對較少,這里統(tǒng)一把閾值設(shè)置為‘1.4×mean’,mean 為訓(xùn)練過程中有效閾值范圍的平均值,選擇的特征數(shù)目將會在14 到35 的范圍波動。從圖7(b)可以看出,當(dāng)n_components 在70 到160 的范圍內(nèi),算法的識別效果也會達到穩(wěn)定和最佳狀態(tài)。綜合發(fā)現(xiàn),無論是SAP還是SSD 情況下,n_components個數(shù)在70 以內(nèi),隨著n_components 的增加,識別準確率呈明顯上升的趨勢,然后逐漸趨于穩(wěn)定;另外,相對于PCA 和徑向基RBF 核KPCA 對特征的處理,線性Linear 核的KPCA 處理可以使識別性能得到較大的提升,這說明KPCA 處理以及核的選擇對識別效果影響較大。最后,可以看出要取得較好的識別效果,n_components 的數(shù)目應(yīng)大于所選擇的特征數(shù)目,這可能是因為腦電情感信號在低維度無法有效地表征非線性特征。
圖7 不同方法下主成分個數(shù)的識別性能對比Fig.7 Recognition performance comparison for different components
為了進一步證明本文算法的有效性,表1 給出了本文算法與其他模型及一些相關(guān)文獻的識別效果對比。從表中可以看出,本文提出的Linear 核KPCA 特征處理結(jié)合XGBoost 腦電情感識別方案在SAP 的情況下的準確率為78.376%,分別比文獻[19,21]提高了8.71%和1.56%,識別性能遠高于各單一模型的分類方案;同時在SSD 的情況下,文中算法獲得了92.583%的準確率,相對于文獻[17]提高了24.28%。文獻[23]分別是在Valence 和Arousal 進行二分類識別,本文在四分類識別也取得了相對更高的準確率。
表1 各種算法識別效果的比較Table 1 Comparison of recognition performance for various algorithms
本文對腦電信號情感的識別方法進行研究,針對腦電信號情感識別效果較低并且每個被試的情感表達差異性問題,設(shè)計了一種使用線性核主成分分析進行特征處理,并結(jié)合XGBoost 算法的情感分類識別模型。實驗結(jié)果證明,通過線性核的主成分分析可以在高維空間實現(xiàn)特征向量的非線性變換,進而更有利于腦電情感的分類,和XGBoost 的結(jié)合可以發(fā)掘出情感相關(guān)的共性特征。在SAP 和SSD 的情況下,與其他文獻相比,識別準確率得到了較大的提升。因此,本算法對于改善腦電情感識別系統(tǒng)的性能是有效的。另外,本文提取的腦電信號特征使用的是傳統(tǒng)的PSD,但這種特征僅僅反映了被試在大腦不同區(qū)域所呈現(xiàn)的能量變化,忽略了腦電信號在空間各個不同區(qū)域之間的非線性聯(lián)系,如何探究腦區(qū)之間的非線性關(guān)系并進一步改進情感分類模型的性能是本研究要關(guān)注的下一個方向。