P300 電位的個體差異導致基于該電位的腦-機交互系統需要每位被試的大量訓練數據來構建模式識別模型,引起被試的訓練疲勞,并可能由此導致系統性能降低。TrAdaBoost 是一種把源領域的知識遷移到目標領域,進而使目標領域能獲得更好的學習效果的遷移學習方法。本研究針對 P300 電位的跨腦辨識問題,提出基于 TrAdaBoost 的線性判別分類算法和支持向量機,將同被試的少量數據訓練的分類器與不同被試的大量數據訓練的分類器按權重組成融合分類器。與只采用少量同被試數據或者混合不同被試數據來直接進行訓練的傳統學習方式相比,本文算法在少量樣本情況下將準確率分別提高了 19.56% 和 22.25%,信息傳輸率分別提高了 14.69 bits/min 和 15.76 bits/min,有望提高腦-機交互系統對被試個體差異的泛化能力。
引用本文: 徐桂芝, 林放, 宮銘鴻, 李夢凡, 于洪麗. 基于 TrAdaBoost 的跨腦辨識 P300 電位研究. 生物醫學工程學雜志, 2019, 36(4): 531-540. doi: 10.7507/1001-5515.201811025 復制
引言
腦-機接口(brain-computer interface,BCI)是通過計算機等設備為人腦與外界設備之間建立的一條不依賴于外周神經的信息交流通路[1]。它通過解碼腦電信號獲取被試的控制意圖,并將其轉換為外部設備的控制指令,從而實現大腦與機器的交互。P300 電位是大腦在接收刺激后的 280~800 ms 時間段內產生的一個正電位,主要出現在頭皮枕區中線等位置[2]。基于 P300 電位的 BCI 具有分類準確率高、實驗訓練較少、誘發波形穩定、指令較多的特點,可以應對復雜情況[3-5]。基于 P300 電位的 BCI 常用于疾病檢測、腦疲勞評價、控制外設設備等方面[6-7]。范曉麗等[8]利用 P300 電位研究 2-back 任務下長時間的工作記憶所誘發的腦力疲勞的腦電特征變化。鄒可等[9]利用 P300 電位對阻塞性睡眠呼吸暫停低通氣綜合征患者早期認知功能損害進行研究。Farwell 等[10]設計了基于 P300 電位的虛擬打字機,被試可以通過 P300 電位連續發出 36 個字母。Tang 等[11]利用 P300 電位采取智能控制模式控制智能輪椅,該模式可以通過被試選擇的目標由計算機規劃預期解決方案以預測被試意圖。Zhang 等[12]利用 P300 電位控制多關節機械臂,通過被試意圖抓取對應物體將其自動送到用戶口中,以應用于殘疾人喝水等生活輔助。王金甲等[13-14]通過 P300 電位進行遠程控制,實現智能小車的避障和智能家居控制。
基于 P300 電位的 BCI 主要包括信號采集、特征提取、分類器和外設等。分類是指通過學習訓練數據的特征構造分類器,并利用該分類器預測其他數據的類別[15],其性能決定了 BCI 系統輸出被試控制意圖的準確率。常見于 P300 電位的分類方法包括基于 Fisher 準則的線性判別式分類器(Fisher linear discriminant analysis,FLDA)、支持向量機(support vector machine,SVM)和多層感知器(multilayer perceptron,MLP)等[16]。雖然當前的分類器具有較好的辨識效果,但是傳統分類器要求訓練數據與測試數據的分布具有一致性。腦電信號的個體差異導致在以不同被試的腦電數據作為學習樣本的情況下,傳統分類器較難獲得理想的分類效果[17-18],因此要求每位被試進行大量實驗以獲取足夠的學習樣本。這不僅可能會導致被試疲勞,降低系統性能,而且增加了系統的訓練成本。遷移學習是一種將一個經過學習的分類模型遷移至另一個分類模型的方法,根據數據的相關性利用相似分類模型的參數來優化新模型[19-20]。TrAdaBoost 是一種遷移學習方法,利用與測試數據同分布的數據和與測試數據不同分布但相似的數據分別訓練分類器,并按一定權重融合分類器。它將已有數據充分利用于當前模型,并進一步優化當前分類模型[21]。胡偉等[22]采用改進加權多源 TrAdaBoost 算法根據其他圖像質量評價標準評價當前圖片。謝星宇等[23]采用改進 TrAdaBoost 方法利用其他班級學生成績排名規律和該班學生上一次成績排名預測學生今后考試成績排名。Wei 等[24]采用遷移學習方法利用特定被試的少量運動想象腦電數據和其他被試的腦電分類模型構建特定被試的腦電分類模型。
本文針對 BCI 系統中常見的被試因大量訓練導致疲勞的問題展開研究。借鑒上述研究,本文構造基于 TrAdaBoost 的跨腦辨識算法,以測試被試的少量樣本和其他被試的樣本為訓練數據來形成多個對應每位被試的分類器,根據每位被試與測試被試的樣本相似性計算分類器權重,并最終構造融合的分類器,實現不同被試之間的分類器遷移,從而降低對每個被試的大量訓練需求,提高訓練速度,降低訓練疲勞。本文分別采用基于 TrAdaBoost 的 FLDA(Tr-FLDA)和基于 TrAdaBoost 的 SVM(Tr-SVM)來辨識 P300 電位,并與傳統的 LDA 和 SVM 進行比較。
1 方法
1.1 P300 誘發界面
圖 1 為 P300 誘發界面,由 12 張圖片以 3 行 4 列排列的方式構成。圖片內容分別為機械臂整體復原、直立、向上、向下、順時針旋轉、逆時針旋轉、向前、向后,機械手順時針旋轉、逆時針旋轉、張開、閉合。屏蔽圖片由黑色背景與中心白色圓形構成。

P300 誘發界面采取圖片單閃方式:12 張圖片隨機地逐一閃爍,當某個視覺刺激由屏蔽圖片轉換為機器人圖片時,其他圖片保持為屏蔽圖片,該視覺刺激在保持機器人圖片一定時長后轉換為屏蔽圖片。視覺刺激保持為機器人圖片的時間為 175 ms,相鄰兩次閃爍之間的時間間隔為 50 ms。本文定義“實驗周期”是指所有圖片均完成一次閃爍的過程,“實驗單元”是指由若干個實驗周期組成的過程[25]。在每個實驗單元中,被試應注視同一個視覺刺激以輸出圖片所表達的控制意圖。被試所注視的刺激定義為靶刺激(Target),其他未被注視的刺激定義為非靶刺激(Non-target)。對每位被試共采集 36 個實驗單元,每個實驗單元包含 10 個實驗周期。
1.2 實驗數據采集
本研究數據來自于 25 名被試,被試年齡在 24~28 歲,其中男生 15 名,女生 10 名,均為右利手,無吸煙習慣和精神疾病,視力正常或矯正正常,無臨床視力病史。本實驗通過倫理委員會審查,采取自愿原則,被試于實驗前均知曉實驗內容、步驟和研究目標等,并于實驗前簽署實驗知情書。本實驗采用腦電采集儀(SynAmps2,Neuroscan,澳大利亞)以 1 000 Hz 為采樣率,電極阻抗均保持在 5 kΩ 以下[26]進行數據采集。參考電極為雙側乳突。顯示器的尺寸為 19 英寸,分辨率為 1 600 像素 × 900 像素。在實驗中,被試坐在距離屏幕 70 cm 處的舒適座椅上[27],并保持視線與屏幕中心位置水平平齊。被試每一個實驗單元注視一張圖片并心中默數該圖片閃爍次數,并盡量保持身體沒有其他動作。
1.3 特征提取
本實驗截取刺激后 700 ms 的腦電數據進行特征提取。首先采用 3 階巴特沃斯濾波器(0.5~20 Hz)對數據段進行濾波,以減少工頻干擾和其他噪聲;其次,以激勵前 50 ms 的數據作為基線進行基線校正;再次,將數據段降頻至 40 Hz,最終在每個通道提取出 28 維的特征向量。本實驗采用 28 個通道作為特征通道。
1.4 TrAdaBoost 算法
遷移學習是把已有的模型參數遷移至新的模型,從而輔助新模型的訓練。定義遷移學習的模型如下:訓練數據由三部分成,定義 Ds 為源域,Dt 為目標域,S 為校驗數據;測試數據為 Ts。Ds 與 Ts 為不同分布的樣本空間,Dt、S 和 Ts 為同分布的樣本空間。遷移學習目標是給定少量的 Dt 和大量 Ds,在該情況下訓練出一個在 S 上的分類誤差最小的分類器。TrAdaBoost 算法如下所示[28]。
(1)利用 Ds 訓練 n 個分類器 C1~Cn,根據 Dt 訓練分類器 Cn + 1;并賦予 n + 1 個分類器相同權重 w1~wn + 1,同時給 S 中的全部 m 個樣本賦予相同權重 ws1~wsm,分類器權重總和與樣本權重總和均為 1。
(2)分別利用 C1~Cn + 1 辨識 S 從而獲得準確率 A1~An + 1,如果準確率不足 50%,則忽略這個分類器,在剩余的準確率中找出最高值 Ai。其中分類準確率表示為:
![]() |
其中 Sk 為 S 中被正確分類的樣本,由此可知分類器 Ci 在 S 上的準確率 Ai 為 S 中正確分類的樣本權值之和。
(3)根據 Ai 調整該分類器 Ci 的權重 wi。
![]() |
(4)根據 Ai 調整 S 中各個樣本的權重 ws1~wsm,如果樣本被 Ci 錯誤分類,則增加該樣本的權重;如果被正確分類,則降低權重。
![]() |
![]() |
式(3)中 t 為 S 中樣本權重的迭代次數,yj 為第 j 個樣本的分類正誤,如果分類正確 yj = 1,分類錯誤則 yj = ? 1,Zt 為歸一化常數。
(5)將新的樣本權重代入 C1~Cn+ 1 并挑選未調整權重分類器中準確率最高的分類器。
(6)當所有分類器權重均被調整,將所有分類器的權重組合為融合分類器 Cfinal,并計算最終輸出的類 yfinal。
![]() |
TrAdaBoost 算法流程如圖 2 所示。

1.5 對照法
本文列舉三種傳統訓練方法作為對照方法,從而驗證 TrAdaBoost 的遷移性能。
(1)基于目標域數據訓練法(target training,TT)。該方法是指以少量 Dt 做訓練集,進而測試 Ts 分類效果。
(2)基于源域數據訓練法(source training,ST)。該方法是指以大量 Ds 做訓練集,進而測試 Ts 分類效果。
(3)基于目標域源域數據等權重融合訓練法(target and source training,TST)。該方法是指將 Ds、Dt 按等權重進行分類器融合,進而測試 Ts 分類效果。
本文利用 Ds 訓練 14 個分類器,每個分類器訓練集包含 720 個樣本(360 個 Target,360 個 Non-target);利用 Dt 訓練 1 個分類器,其訓練集包含 240 個樣本(120 個 Target,120 個 Non-target);S 包含 60 個樣本(30 個 Target,30 個 Non-target);Ts 包含 24 個實驗單元。經 TrAdaBoost 生成融合分類器后,測試 Ts 所得到的準確率和信息傳輸率定義為本文的準確率和信息傳輸率。
1.6 分類器算法
(1)FLDA:本文選用 FLDA 分類器進行識別。它的基本思想是選擇一個投影方向(線性變換、線性組合),將高維問題降低到一維問題來識別;變換后的一維數據滿足每一類的內部的樣本盡可能聚集在一起,而不同類的樣本盡量地分離遠[29-30]。
線性判別函數的一般形式可表示成:
![]() |
其中W為投影方向,ω0 為閾值。
(2)SVM:SVM 在特征空間中構建最優超平面,使得學習器得到全局最優化,并且在整個樣本空間的期望以某個概率滿足一定上界[31]。
![]() |
其中 與
見參考文獻[32],K(.)表示 Xi 和 X 的乘積,yi 為樣本的標簽
。
1.7 信息傳輸率
信息傳輸率(information transfer rate,ITR)是單位時間內傳輸的信息量,計算公式為[33]:
![]() |
![]() |
其中 B 為信息傳輸率,單位為 bits/min,N 為可發出的指令數,設為 12。P 為分類準確率,M 為一分鐘輸出的指令數量,n 為一個實驗單元中的重復數,TT 為一個實驗周期的時間,設為 1 700 ms,t 為切換視角的時間,設為 500 ms。
2 結果
2.1 誘發電位
本文所誘發的電位如圖 3 所示。黑色實線是 25 名被試的平均電位波形,其他三條較細的曲線分別來源于 3 名被試。

(1)本文所設計的界面在 185 ms 和 250 ms 分別誘發出 N200 和 P300 電位,該電位在 OZ 通道較為明顯,幅值分別可達到 ? 2.8 μV 和 10.7 μV。該結果表明本文所設計的界面可誘發出較為明顯的 N200 和 P300 波形,為電位的辨識提供較為良好的基礎。
(2)三名被試的電位波形表明 N200 和 P300 存在較大的個體差異。在幅值方面,S3 被誘發出明顯的 N200 與 P300,其幅值最高可達到 ? 13.6 μV 和 18.2 μV;然而 S1 的電位則相對較為不明顯,幅值僅為 ? 1.6 μV 和 4.7 μV。在腦區方面,S3 在 PO3 通道具有最大電位,而 S2 的最大電位出現在 OZ 通道。上述結果表明被試的腦電信號具有一定的差異性,導致傳統分類器在使用多個被試的數據做訓練集的情況下難以取得較好的分類效果。
(3)被試的 N200 與 P300 具有一定的相似性。雖然被試在幅值、潛伏期、腦區上存在一定的差異,但是仍然具有相近的波動趨勢,都與 25 名被試的總誘發電位具有相似性,這滿足了遷移學習對數據具有相似性的要求。
對比文獻[34-35]的 P300 電位波形分析,本實驗 P300 電位波形與該文獻相似,雖在幅值和潛伏時間等方面存在差異,但基本符合 P300 電位特征。
2.2 準確率
圖 4 為在四種訓練方式下,分別采用 FLDA 和 SVM 作為分類器所獲得的準確率。

(1)TrAdaBoost 和 TT 相比較,應用 FLDA 分類器,TrAdaBoost 在單次下的準確率為 73.30%,七次疊加為 89.51%,十次疊加為 91.85%。TT 在相同次數下的準確率分別為 53.74%、80.45% 和 85.19%。TrAdaBoost 的準確率分別提高了 19.56%、9.06% 和 6.66%。應用 SVM,TrAdaBoost 在單次下的準確率為 69.37%,七次疊加為 87.50%,十次疊加為 90.70%。TT 在相同次數下的準確率分別為 53.74%、80.45% 和 74.59%。TrAdaBoost 的準確率分別提高了 22.25%、17.52% 和 26.11%。
(2)TrAdaBoost 和 TST 相比較,應用 FLDA 分類器,TST 在單次下的準確率為 53.53%,七次疊加為 84.83%,十次疊加為 85.96%。TrAdaBoost 的準確率分別提高了 19.77%、4.68% 和 5.89%。應用 SVM,TST 在單次下的準確率為 29.64%,七次疊加為 55.75%,十次疊加為 59.00%。TrAdaBoost 的準確率分別提高了 39.73%、31.75% 和 31.70%。
(3)TrAdaBoost 和 ST 相比較,應用 FLDA 分類器,ST 在單次下的準確率為 31.20%,七次疊加為 61.96%,十次疊加為 62.66%。TrAdaBoost 的準確率分別提高了 40.10%、27.55% 和 29.19%。應用 SVM,ST 在單次下的準確率為 19.64%,七次疊加為 26.50%,10 次疊加為 27.66%。TrAdaBoost 的準確率分別提高了 49.73%、61.00% 和 61.51%。
采用 FLDA 和 SVM 作為分類器的情況下,TrAdaBoost 方法的準確率均高于 TT、TST、ST 三種訓練方式,說明 TrAdaBoost 方法對比傳統訓練方法能夠提高分類效果。在同被試訓練樣本量較少的情況下,TrAdaBoost 使用 FLDA 和 SVM 分類器分別比 TT 提高了 19.56% 和 22.25% 的分類準確率(見表 1),達到較高的分類效果。

2.3 信息傳輸率
圖 5 為在四種訓練方式下,分別采用 FLDA 和 SVM 作為分類器所獲得的信息傳輸率。隨著疊加次數的增多,信息傳輸率在四種方式下都呈現下降趨勢。在四種方式下,ST 的信息傳輸率最低,TrAdaBoost 的信息傳輸率最高。基于 FLDA 分類器和 SVM,TrAdaBoost 在單次下的信息傳輸率分別為 35.05 bits/min 和 31.35 bits/min,與 TT 相比,分別提高了 14.69 bits/min 和 15.76 bits/min;與 TST 相比,分別提高了 14.14 bits/min 和 23.89 bits/min;與 ST 相比,分別提高了 29.04 bits/min 和 29.57 bits/min。結果表明:TrAdaBoost 的信息傳輸率高于其他三種訓練方法,TrAdaBoost 能夠提高單位時間內的信息傳輸速度。在同被試訓練樣本量較少的情況下,TrAdaBoost 使用 FLDA 和 SVM 分類器分別比 TT 提高了 14.69 bits/min 和 15.76 bits/min 的信息傳輸率(見表 1),達到較好的效果。

3 討論
分析四種方法分類準確率結果可知,隨著疊加次數的增多,準確率在四種方式下都呈現上升趨勢。在四種方式下,ST 的準確率最低,TrAdaBoost 方式的準確率最高。TrAdaBoost 方法在疊加七次以上時可以達到 89.51% 和 87.50% 的分類準確率,滿足控制機械臂對準確率的要求。對比 TrAdaBoost 與其他三種方法可得如下結論。
(1)與只利用少量樣本 Dt 做訓練的 TT 相比,應用 FLDA 分類器,TrAdaBoost 在單次、七次、十次疊加下準確率分別提高了 19.56%、9.06% 和 6.66%。應用 SVM,TrAdaBoost 在單次、七次、十次疊加下準確率分別提高了 22.25%、17.52% 和 26.11%。TT 與 TrAdaBoost 的差異是 TrAdaBoost 在 TT 基礎上引入大量其他被試的腦電數據 Ds,通過搜索與 S 相近的樣本從而增加訓練樣本,提高分類準確率。實驗結果表明運用 TrAdaBoost 引入不同分布數據 Ds 能提高分類準確率與信息傳輸率,并且部分 Ds 在分類 S 時準確率高于 50%,能夠達到輔助訓練效果,證明不同被試之間的腦電數據具有一定相似性。TT 由于減少訓練樣本量導致七次疊加下分類準確率降低至 80% 左右,難以滿足精度需求,因此需要繼續誘發被試更多次的電位,從而增加了被試的工作量,可能會導致被試疲勞。
(2)與利用 Dt、Ds 訓練分類器等權重組合的 TST 相比,應用 FLDA 分類器,TrAdaBoost 在單次、七次、十次疊加下準確率分別提高了 19.77%、4.68% 和 5.89%。應用 SVM,TrAdaBoost 在單次、七次、十次疊加下準確率分別提高了 39.73%、31.75% 和 31.70%。TST 與 TrAdaBoost 的差異是 TrAdaBoost 在 TST 基礎上通過校驗數據 S 調整優化了融合分類器中各個分類器的權重。實驗結果表明準確率的提高不是因為增加了訓練數據,而是 TrAdaBoost 權重調整可以提高分類準確率。最終調整的權值結果發現,TrAdaBoost 方法將分類準確率高的分類器權值加大,而分類準確率低的則權值降低。這使得在融合分類器中,準確率高的分類器更能影響分類結果。TST 雖然增加了訓練樣本數量,但是由于引入大量不同分布樣本,導致分類準確率沒有提升至理想效果。
(3)與只利用大量樣本 Ds 做訓練的 ST 相比,應用 FLDA 分類器,TrAdaBoost 在單次、七次、十次疊加下準確率分別提高了 40.10%、27.55% 和 29.19%。應用 SVM,TrAdaBoost 在單次、七次、十次疊加下準確率分別提高了 49.73%、61.00% 和 61.51%。ST 與 TrAdaBoost 的差異是 TrAdaBoost 在 ST 基礎上引入少量該被試的腦電數據 Dt 和校驗數據 S。準確率的提升說明 TrAdaBoost 通過搜索與 S 相近的樣本篩選 Ds,剔除個體差異大的樣本,保留差異小的樣本做輔助訓練能達到較好的分類效果。并且 ST 的分類準確率低證明 P300 電位確實存在差異。ST 方法雖然具有較多的訓練數據,但是準確率不滿足控制機械臂的要求。
FLDA 和 SVM 在 TrAdaBoost 下的信息傳輸率均高于 TT、ST、TST 三種方法。信息傳輸率的提升增加了每分鐘的指令數量,提高控制速度;此外可以在執行相同數量指令時減少腦-機交互系統的使用時間,降低被試疲勞,從而提高系統的實用性。
有研究表明,多種遷移學習算法或其他機器學習方法均可用于 P300 電位的跨腦辨識。Waytowich 等[36]提出了信息幾何的光譜遷移法識別 P300 電位,該方法對基于多個體訓練對象數據的信息幾何分類器集合中的未標記樣本進行排序和組合。單次疊加下分類準確率為 78%,三次疊加為 82%。Adair 等[37]構建集合學習通用信息模型,該方法優化來自大量被試的訓練數據并計算出模型的一般性以用于訓練分類器,該研究在單次疊加下準確率為 74.80%,三次疊加為 79.84%。本文單次疊加下的準確率為 73.30%,三次疊加下為 85.00%。本研究結果雖然在單次疊加下低于上述研究,但是在三次疊加下高于上述研究。當前還有應用遷移學習分類其他腦電范式信號的研究。Islam 等[38]對運動想象數據的遷移學習研究中將多通道腦電信號分解為多個頻段,然后在每個頻段上做特征提取,組合成特征空間進行訓練。袁鵬[39]在對穩態視覺誘發刺激腦電做遷移學習中,挖掘被試腦電之間的差異性和互補性以提高分類準確率。Wang 等[40]利用協同投票模式識別運動想象數據,融合了來自多個受試者的單次試驗腦電圖,并通過分布式模式與投票分類器相結合來提高 BCI 系統的整體性能。目前應用于 P300 電位的遷移學習較少,在未來工作中擬借鑒其他模式的遷移學習方法用于 P300 電位,進一步提高跨腦辨識準確率。
4 結論
本文將 TrAdaBoost 方法運用于 P300 電位的跨腦辨識。單次疊加下,Tr-FLDA 與 TST、ST 和 TT 三種訓練模式下的 FLDA 相比,準確率分別提高了 19.77%、40.10% 和 19.56%;信息傳輸率分別提高了 14.14、29.04、14.69 bits/min;Tr-SVM 與 TST、ST 和 TT 三種訓練模式下的 SVM 相比,準確率分別提高了 39.73%、49.73% 和 22.25%;信息傳輸率分別提高了 23.89、29.57、15.76 bits/min。在七次疊加下,Tr-FLDA 和 Tr-SVM 分別達到 89.51% 和 87.50% 的準確率,滿足機械臂的控制精度需求。上述結果表明 TrAdaBoost 方法不僅可以實現跨腦辨識,并且有效地保證了在少量數據樣本下的較高準確率,有助于減少被試的訓練時長,降低被試在使用前的大量訓練實驗所造成的疲勞度。
利益沖突聲明:本文全體作者均聲明不存在利益沖突。
引言
腦-機接口(brain-computer interface,BCI)是通過計算機等設備為人腦與外界設備之間建立的一條不依賴于外周神經的信息交流通路[1]。它通過解碼腦電信號獲取被試的控制意圖,并將其轉換為外部設備的控制指令,從而實現大腦與機器的交互。P300 電位是大腦在接收刺激后的 280~800 ms 時間段內產生的一個正電位,主要出現在頭皮枕區中線等位置[2]。基于 P300 電位的 BCI 具有分類準確率高、實驗訓練較少、誘發波形穩定、指令較多的特點,可以應對復雜情況[3-5]。基于 P300 電位的 BCI 常用于疾病檢測、腦疲勞評價、控制外設設備等方面[6-7]。范曉麗等[8]利用 P300 電位研究 2-back 任務下長時間的工作記憶所誘發的腦力疲勞的腦電特征變化。鄒可等[9]利用 P300 電位對阻塞性睡眠呼吸暫停低通氣綜合征患者早期認知功能損害進行研究。Farwell 等[10]設計了基于 P300 電位的虛擬打字機,被試可以通過 P300 電位連續發出 36 個字母。Tang 等[11]利用 P300 電位采取智能控制模式控制智能輪椅,該模式可以通過被試選擇的目標由計算機規劃預期解決方案以預測被試意圖。Zhang 等[12]利用 P300 電位控制多關節機械臂,通過被試意圖抓取對應物體將其自動送到用戶口中,以應用于殘疾人喝水等生活輔助。王金甲等[13-14]通過 P300 電位進行遠程控制,實現智能小車的避障和智能家居控制。
基于 P300 電位的 BCI 主要包括信號采集、特征提取、分類器和外設等。分類是指通過學習訓練數據的特征構造分類器,并利用該分類器預測其他數據的類別[15],其性能決定了 BCI 系統輸出被試控制意圖的準確率。常見于 P300 電位的分類方法包括基于 Fisher 準則的線性判別式分類器(Fisher linear discriminant analysis,FLDA)、支持向量機(support vector machine,SVM)和多層感知器(multilayer perceptron,MLP)等[16]。雖然當前的分類器具有較好的辨識效果,但是傳統分類器要求訓練數據與測試數據的分布具有一致性。腦電信號的個體差異導致在以不同被試的腦電數據作為學習樣本的情況下,傳統分類器較難獲得理想的分類效果[17-18],因此要求每位被試進行大量實驗以獲取足夠的學習樣本。這不僅可能會導致被試疲勞,降低系統性能,而且增加了系統的訓練成本。遷移學習是一種將一個經過學習的分類模型遷移至另一個分類模型的方法,根據數據的相關性利用相似分類模型的參數來優化新模型[19-20]。TrAdaBoost 是一種遷移學習方法,利用與測試數據同分布的數據和與測試數據不同分布但相似的數據分別訓練分類器,并按一定權重融合分類器。它將已有數據充分利用于當前模型,并進一步優化當前分類模型[21]。胡偉等[22]采用改進加權多源 TrAdaBoost 算法根據其他圖像質量評價標準評價當前圖片。謝星宇等[23]采用改進 TrAdaBoost 方法利用其他班級學生成績排名規律和該班學生上一次成績排名預測學生今后考試成績排名。Wei 等[24]采用遷移學習方法利用特定被試的少量運動想象腦電數據和其他被試的腦電分類模型構建特定被試的腦電分類模型。
本文針對 BCI 系統中常見的被試因大量訓練導致疲勞的問題展開研究。借鑒上述研究,本文構造基于 TrAdaBoost 的跨腦辨識算法,以測試被試的少量樣本和其他被試的樣本為訓練數據來形成多個對應每位被試的分類器,根據每位被試與測試被試的樣本相似性計算分類器權重,并最終構造融合的分類器,實現不同被試之間的分類器遷移,從而降低對每個被試的大量訓練需求,提高訓練速度,降低訓練疲勞。本文分別采用基于 TrAdaBoost 的 FLDA(Tr-FLDA)和基于 TrAdaBoost 的 SVM(Tr-SVM)來辨識 P300 電位,并與傳統的 LDA 和 SVM 進行比較。
1 方法
1.1 P300 誘發界面
圖 1 為 P300 誘發界面,由 12 張圖片以 3 行 4 列排列的方式構成。圖片內容分別為機械臂整體復原、直立、向上、向下、順時針旋轉、逆時針旋轉、向前、向后,機械手順時針旋轉、逆時針旋轉、張開、閉合。屏蔽圖片由黑色背景與中心白色圓形構成。

P300 誘發界面采取圖片單閃方式:12 張圖片隨機地逐一閃爍,當某個視覺刺激由屏蔽圖片轉換為機器人圖片時,其他圖片保持為屏蔽圖片,該視覺刺激在保持機器人圖片一定時長后轉換為屏蔽圖片。視覺刺激保持為機器人圖片的時間為 175 ms,相鄰兩次閃爍之間的時間間隔為 50 ms。本文定義“實驗周期”是指所有圖片均完成一次閃爍的過程,“實驗單元”是指由若干個實驗周期組成的過程[25]。在每個實驗單元中,被試應注視同一個視覺刺激以輸出圖片所表達的控制意圖。被試所注視的刺激定義為靶刺激(Target),其他未被注視的刺激定義為非靶刺激(Non-target)。對每位被試共采集 36 個實驗單元,每個實驗單元包含 10 個實驗周期。
1.2 實驗數據采集
本研究數據來自于 25 名被試,被試年齡在 24~28 歲,其中男生 15 名,女生 10 名,均為右利手,無吸煙習慣和精神疾病,視力正常或矯正正常,無臨床視力病史。本實驗通過倫理委員會審查,采取自愿原則,被試于實驗前均知曉實驗內容、步驟和研究目標等,并于實驗前簽署實驗知情書。本實驗采用腦電采集儀(SynAmps2,Neuroscan,澳大利亞)以 1 000 Hz 為采樣率,電極阻抗均保持在 5 kΩ 以下[26]進行數據采集。參考電極為雙側乳突。顯示器的尺寸為 19 英寸,分辨率為 1 600 像素 × 900 像素。在實驗中,被試坐在距離屏幕 70 cm 處的舒適座椅上[27],并保持視線與屏幕中心位置水平平齊。被試每一個實驗單元注視一張圖片并心中默數該圖片閃爍次數,并盡量保持身體沒有其他動作。
1.3 特征提取
本實驗截取刺激后 700 ms 的腦電數據進行特征提取。首先采用 3 階巴特沃斯濾波器(0.5~20 Hz)對數據段進行濾波,以減少工頻干擾和其他噪聲;其次,以激勵前 50 ms 的數據作為基線進行基線校正;再次,將數據段降頻至 40 Hz,最終在每個通道提取出 28 維的特征向量。本實驗采用 28 個通道作為特征通道。
1.4 TrAdaBoost 算法
遷移學習是把已有的模型參數遷移至新的模型,從而輔助新模型的訓練。定義遷移學習的模型如下:訓練數據由三部分成,定義 Ds 為源域,Dt 為目標域,S 為校驗數據;測試數據為 Ts。Ds 與 Ts 為不同分布的樣本空間,Dt、S 和 Ts 為同分布的樣本空間。遷移學習目標是給定少量的 Dt 和大量 Ds,在該情況下訓練出一個在 S 上的分類誤差最小的分類器。TrAdaBoost 算法如下所示[28]。
(1)利用 Ds 訓練 n 個分類器 C1~Cn,根據 Dt 訓練分類器 Cn + 1;并賦予 n + 1 個分類器相同權重 w1~wn + 1,同時給 S 中的全部 m 個樣本賦予相同權重 ws1~wsm,分類器權重總和與樣本權重總和均為 1。
(2)分別利用 C1~Cn + 1 辨識 S 從而獲得準確率 A1~An + 1,如果準確率不足 50%,則忽略這個分類器,在剩余的準確率中找出最高值 Ai。其中分類準確率表示為:
![]() |
其中 Sk 為 S 中被正確分類的樣本,由此可知分類器 Ci 在 S 上的準確率 Ai 為 S 中正確分類的樣本權值之和。
(3)根據 Ai 調整該分類器 Ci 的權重 wi。
![]() |
(4)根據 Ai 調整 S 中各個樣本的權重 ws1~wsm,如果樣本被 Ci 錯誤分類,則增加該樣本的權重;如果被正確分類,則降低權重。
![]() |
![]() |
式(3)中 t 為 S 中樣本權重的迭代次數,yj 為第 j 個樣本的分類正誤,如果分類正確 yj = 1,分類錯誤則 yj = ? 1,Zt 為歸一化常數。
(5)將新的樣本權重代入 C1~Cn+ 1 并挑選未調整權重分類器中準確率最高的分類器。
(6)當所有分類器權重均被調整,將所有分類器的權重組合為融合分類器 Cfinal,并計算最終輸出的類 yfinal。
![]() |
TrAdaBoost 算法流程如圖 2 所示。

1.5 對照法
本文列舉三種傳統訓練方法作為對照方法,從而驗證 TrAdaBoost 的遷移性能。
(1)基于目標域數據訓練法(target training,TT)。該方法是指以少量 Dt 做訓練集,進而測試 Ts 分類效果。
(2)基于源域數據訓練法(source training,ST)。該方法是指以大量 Ds 做訓練集,進而測試 Ts 分類效果。
(3)基于目標域源域數據等權重融合訓練法(target and source training,TST)。該方法是指將 Ds、Dt 按等權重進行分類器融合,進而測試 Ts 分類效果。
本文利用 Ds 訓練 14 個分類器,每個分類器訓練集包含 720 個樣本(360 個 Target,360 個 Non-target);利用 Dt 訓練 1 個分類器,其訓練集包含 240 個樣本(120 個 Target,120 個 Non-target);S 包含 60 個樣本(30 個 Target,30 個 Non-target);Ts 包含 24 個實驗單元。經 TrAdaBoost 生成融合分類器后,測試 Ts 所得到的準確率和信息傳輸率定義為本文的準確率和信息傳輸率。
1.6 分類器算法
(1)FLDA:本文選用 FLDA 分類器進行識別。它的基本思想是選擇一個投影方向(線性變換、線性組合),將高維問題降低到一維問題來識別;變換后的一維數據滿足每一類的內部的樣本盡可能聚集在一起,而不同類的樣本盡量地分離遠[29-30]。
線性判別函數的一般形式可表示成:
![]() |
其中W為投影方向,ω0 為閾值。
(2)SVM:SVM 在特征空間中構建最優超平面,使得學習器得到全局最優化,并且在整個樣本空間的期望以某個概率滿足一定上界[31]。
![]() |
其中 與
見參考文獻[32],K(.)表示 Xi 和 X 的乘積,yi 為樣本的標簽
。
1.7 信息傳輸率
信息傳輸率(information transfer rate,ITR)是單位時間內傳輸的信息量,計算公式為[33]:
![]() |
![]() |
其中 B 為信息傳輸率,單位為 bits/min,N 為可發出的指令數,設為 12。P 為分類準確率,M 為一分鐘輸出的指令數量,n 為一個實驗單元中的重復數,TT 為一個實驗周期的時間,設為 1 700 ms,t 為切換視角的時間,設為 500 ms。
2 結果
2.1 誘發電位
本文所誘發的電位如圖 3 所示。黑色實線是 25 名被試的平均電位波形,其他三條較細的曲線分別來源于 3 名被試。

(1)本文所設計的界面在 185 ms 和 250 ms 分別誘發出 N200 和 P300 電位,該電位在 OZ 通道較為明顯,幅值分別可達到 ? 2.8 μV 和 10.7 μV。該結果表明本文所設計的界面可誘發出較為明顯的 N200 和 P300 波形,為電位的辨識提供較為良好的基礎。
(2)三名被試的電位波形表明 N200 和 P300 存在較大的個體差異。在幅值方面,S3 被誘發出明顯的 N200 與 P300,其幅值最高可達到 ? 13.6 μV 和 18.2 μV;然而 S1 的電位則相對較為不明顯,幅值僅為 ? 1.6 μV 和 4.7 μV。在腦區方面,S3 在 PO3 通道具有最大電位,而 S2 的最大電位出現在 OZ 通道。上述結果表明被試的腦電信號具有一定的差異性,導致傳統分類器在使用多個被試的數據做訓練集的情況下難以取得較好的分類效果。
(3)被試的 N200 與 P300 具有一定的相似性。雖然被試在幅值、潛伏期、腦區上存在一定的差異,但是仍然具有相近的波動趨勢,都與 25 名被試的總誘發電位具有相似性,這滿足了遷移學習對數據具有相似性的要求。
對比文獻[34-35]的 P300 電位波形分析,本實驗 P300 電位波形與該文獻相似,雖在幅值和潛伏時間等方面存在差異,但基本符合 P300 電位特征。
2.2 準確率
圖 4 為在四種訓練方式下,分別采用 FLDA 和 SVM 作為分類器所獲得的準確率。

(1)TrAdaBoost 和 TT 相比較,應用 FLDA 分類器,TrAdaBoost 在單次下的準確率為 73.30%,七次疊加為 89.51%,十次疊加為 91.85%。TT 在相同次數下的準確率分別為 53.74%、80.45% 和 85.19%。TrAdaBoost 的準確率分別提高了 19.56%、9.06% 和 6.66%。應用 SVM,TrAdaBoost 在單次下的準確率為 69.37%,七次疊加為 87.50%,十次疊加為 90.70%。TT 在相同次數下的準確率分別為 53.74%、80.45% 和 74.59%。TrAdaBoost 的準確率分別提高了 22.25%、17.52% 和 26.11%。
(2)TrAdaBoost 和 TST 相比較,應用 FLDA 分類器,TST 在單次下的準確率為 53.53%,七次疊加為 84.83%,十次疊加為 85.96%。TrAdaBoost 的準確率分別提高了 19.77%、4.68% 和 5.89%。應用 SVM,TST 在單次下的準確率為 29.64%,七次疊加為 55.75%,十次疊加為 59.00%。TrAdaBoost 的準確率分別提高了 39.73%、31.75% 和 31.70%。
(3)TrAdaBoost 和 ST 相比較,應用 FLDA 分類器,ST 在單次下的準確率為 31.20%,七次疊加為 61.96%,十次疊加為 62.66%。TrAdaBoost 的準確率分別提高了 40.10%、27.55% 和 29.19%。應用 SVM,ST 在單次下的準確率為 19.64%,七次疊加為 26.50%,10 次疊加為 27.66%。TrAdaBoost 的準確率分別提高了 49.73%、61.00% 和 61.51%。
采用 FLDA 和 SVM 作為分類器的情況下,TrAdaBoost 方法的準確率均高于 TT、TST、ST 三種訓練方式,說明 TrAdaBoost 方法對比傳統訓練方法能夠提高分類效果。在同被試訓練樣本量較少的情況下,TrAdaBoost 使用 FLDA 和 SVM 分類器分別比 TT 提高了 19.56% 和 22.25% 的分類準確率(見表 1),達到較高的分類效果。

2.3 信息傳輸率
圖 5 為在四種訓練方式下,分別采用 FLDA 和 SVM 作為分類器所獲得的信息傳輸率。隨著疊加次數的增多,信息傳輸率在四種方式下都呈現下降趨勢。在四種方式下,ST 的信息傳輸率最低,TrAdaBoost 的信息傳輸率最高。基于 FLDA 分類器和 SVM,TrAdaBoost 在單次下的信息傳輸率分別為 35.05 bits/min 和 31.35 bits/min,與 TT 相比,分別提高了 14.69 bits/min 和 15.76 bits/min;與 TST 相比,分別提高了 14.14 bits/min 和 23.89 bits/min;與 ST 相比,分別提高了 29.04 bits/min 和 29.57 bits/min。結果表明:TrAdaBoost 的信息傳輸率高于其他三種訓練方法,TrAdaBoost 能夠提高單位時間內的信息傳輸速度。在同被試訓練樣本量較少的情況下,TrAdaBoost 使用 FLDA 和 SVM 分類器分別比 TT 提高了 14.69 bits/min 和 15.76 bits/min 的信息傳輸率(見表 1),達到較好的效果。

3 討論
分析四種方法分類準確率結果可知,隨著疊加次數的增多,準確率在四種方式下都呈現上升趨勢。在四種方式下,ST 的準確率最低,TrAdaBoost 方式的準確率最高。TrAdaBoost 方法在疊加七次以上時可以達到 89.51% 和 87.50% 的分類準確率,滿足控制機械臂對準確率的要求。對比 TrAdaBoost 與其他三種方法可得如下結論。
(1)與只利用少量樣本 Dt 做訓練的 TT 相比,應用 FLDA 分類器,TrAdaBoost 在單次、七次、十次疊加下準確率分別提高了 19.56%、9.06% 和 6.66%。應用 SVM,TrAdaBoost 在單次、七次、十次疊加下準確率分別提高了 22.25%、17.52% 和 26.11%。TT 與 TrAdaBoost 的差異是 TrAdaBoost 在 TT 基礎上引入大量其他被試的腦電數據 Ds,通過搜索與 S 相近的樣本從而增加訓練樣本,提高分類準確率。實驗結果表明運用 TrAdaBoost 引入不同分布數據 Ds 能提高分類準確率與信息傳輸率,并且部分 Ds 在分類 S 時準確率高于 50%,能夠達到輔助訓練效果,證明不同被試之間的腦電數據具有一定相似性。TT 由于減少訓練樣本量導致七次疊加下分類準確率降低至 80% 左右,難以滿足精度需求,因此需要繼續誘發被試更多次的電位,從而增加了被試的工作量,可能會導致被試疲勞。
(2)與利用 Dt、Ds 訓練分類器等權重組合的 TST 相比,應用 FLDA 分類器,TrAdaBoost 在單次、七次、十次疊加下準確率分別提高了 19.77%、4.68% 和 5.89%。應用 SVM,TrAdaBoost 在單次、七次、十次疊加下準確率分別提高了 39.73%、31.75% 和 31.70%。TST 與 TrAdaBoost 的差異是 TrAdaBoost 在 TST 基礎上通過校驗數據 S 調整優化了融合分類器中各個分類器的權重。實驗結果表明準確率的提高不是因為增加了訓練數據,而是 TrAdaBoost 權重調整可以提高分類準確率。最終調整的權值結果發現,TrAdaBoost 方法將分類準確率高的分類器權值加大,而分類準確率低的則權值降低。這使得在融合分類器中,準確率高的分類器更能影響分類結果。TST 雖然增加了訓練樣本數量,但是由于引入大量不同分布樣本,導致分類準確率沒有提升至理想效果。
(3)與只利用大量樣本 Ds 做訓練的 ST 相比,應用 FLDA 分類器,TrAdaBoost 在單次、七次、十次疊加下準確率分別提高了 40.10%、27.55% 和 29.19%。應用 SVM,TrAdaBoost 在單次、七次、十次疊加下準確率分別提高了 49.73%、61.00% 和 61.51%。ST 與 TrAdaBoost 的差異是 TrAdaBoost 在 ST 基礎上引入少量該被試的腦電數據 Dt 和校驗數據 S。準確率的提升說明 TrAdaBoost 通過搜索與 S 相近的樣本篩選 Ds,剔除個體差異大的樣本,保留差異小的樣本做輔助訓練能達到較好的分類效果。并且 ST 的分類準確率低證明 P300 電位確實存在差異。ST 方法雖然具有較多的訓練數據,但是準確率不滿足控制機械臂的要求。
FLDA 和 SVM 在 TrAdaBoost 下的信息傳輸率均高于 TT、ST、TST 三種方法。信息傳輸率的提升增加了每分鐘的指令數量,提高控制速度;此外可以在執行相同數量指令時減少腦-機交互系統的使用時間,降低被試疲勞,從而提高系統的實用性。
有研究表明,多種遷移學習算法或其他機器學習方法均可用于 P300 電位的跨腦辨識。Waytowich 等[36]提出了信息幾何的光譜遷移法識別 P300 電位,該方法對基于多個體訓練對象數據的信息幾何分類器集合中的未標記樣本進行排序和組合。單次疊加下分類準確率為 78%,三次疊加為 82%。Adair 等[37]構建集合學習通用信息模型,該方法優化來自大量被試的訓練數據并計算出模型的一般性以用于訓練分類器,該研究在單次疊加下準確率為 74.80%,三次疊加為 79.84%。本文單次疊加下的準確率為 73.30%,三次疊加下為 85.00%。本研究結果雖然在單次疊加下低于上述研究,但是在三次疊加下高于上述研究。當前還有應用遷移學習分類其他腦電范式信號的研究。Islam 等[38]對運動想象數據的遷移學習研究中將多通道腦電信號分解為多個頻段,然后在每個頻段上做特征提取,組合成特征空間進行訓練。袁鵬[39]在對穩態視覺誘發刺激腦電做遷移學習中,挖掘被試腦電之間的差異性和互補性以提高分類準確率。Wang 等[40]利用協同投票模式識別運動想象數據,融合了來自多個受試者的單次試驗腦電圖,并通過分布式模式與投票分類器相結合來提高 BCI 系統的整體性能。目前應用于 P300 電位的遷移學習較少,在未來工作中擬借鑒其他模式的遷移學習方法用于 P300 電位,進一步提高跨腦辨識準確率。
4 結論
本文將 TrAdaBoost 方法運用于 P300 電位的跨腦辨識。單次疊加下,Tr-FLDA 與 TST、ST 和 TT 三種訓練模式下的 FLDA 相比,準確率分別提高了 19.77%、40.10% 和 19.56%;信息傳輸率分別提高了 14.14、29.04、14.69 bits/min;Tr-SVM 與 TST、ST 和 TT 三種訓練模式下的 SVM 相比,準確率分別提高了 39.73%、49.73% 和 22.25%;信息傳輸率分別提高了 23.89、29.57、15.76 bits/min。在七次疊加下,Tr-FLDA 和 Tr-SVM 分別達到 89.51% 和 87.50% 的準確率,滿足機械臂的控制精度需求。上述結果表明 TrAdaBoost 方法不僅可以實現跨腦辨識,并且有效地保證了在少量數據樣本下的較高準確率,有助于減少被試的訓練時長,降低被試在使用前的大量訓練實驗所造成的疲勞度。
利益沖突聲明:本文全體作者均聲明不存在利益沖突。