趙 翔涂 娟*黃紫娟
(1.福州大學,電氣工程與自動化學院,福建 福州350108;2.福建省醫(yī)療器械與醫(yī)藥技術重點實驗室,福建 福州350108)
表面肌電信號(Surface Electromyography,sEMG)是一種易受實驗環(huán)境影響的微弱生物電信號[1],是由運動時肌肉興奮所產(chǎn)生的動作電位序列在皮膚疊加而成,它一般比肢體運動超前30 ms ~150 ms[2],易獲取,主要依賴于驅(qū)動運動的肌肉,并不依賴于執(zhí)行運動的肢體,廣泛應用于人機交互技術[3]。 目前肌電信號特征提取方法有時域分析法、頻域分析法和非線性分析法[4-7]。 下肢肌肉存在于皮膚深處,且彼此之間存在明顯的重疊,與上肢肌肉相比,下肢肌肉表面肌電信號的分類更加困難[8]。采用多域特征融合進行動作分類,可以有效提高分類準確率。 文獻[9]將時域特征和頻域特征組合成多特征組合,用于步態(tài)識別,獲得95%的平均識別率。 特征融合能夠增加特征的多樣性,但是增加了計算復雜度,并導致分類性能的下降。 文獻[10]使用有監(jiān)督降維方法局部Fisher 差別分析(Local Fisher Discriminant Analysis,LFDA)和無監(jiān)督降維方法局部保持投影(Locality Preserving Projections,LPP)來處理冗余特征,提高了分類性能。
反向傳播(Back Propagation,BP)神經(jīng)網(wǎng)絡通過實驗數(shù)據(jù)正向傳播、誤差反向傳播來訓練神經(jīng)網(wǎng)絡,進行運動分類時會出現(xiàn)權(quán)值參數(shù)設置繁瑣、且訓練速度慢等缺點[11]。 黃廣斌[12]提出了一種單隱層前饋神經(jīng)網(wǎng)絡算法,即極限學習機(Extreme Learning Machine,ELM),學習速度比BP 神經(jīng)網(wǎng)絡要快,準確率也較高,但ELM 權(quán)重參數(shù)和隱含層神經(jīng)元個數(shù)會對分類結(jié)果產(chǎn)生較大的影響。 核極限學習機(Kernel ELM,KELM)將正則化系數(shù)和核函數(shù)引入ELM,可以解決ELM 隨機選擇權(quán)重參數(shù)和隱含層神經(jīng)元個數(shù)所造成的分類結(jié)果穩(wěn)定性差的問題。 文獻[13]采用量子粒子群算法(Quantum Particle Swam Optimization,QPSO)優(yōu)化KELM 的正則化系數(shù)和核函數(shù),提高了KELM 的泛化性能。 文獻[14]使用模糊加權(quán)核極限學習機(KFWELM)來解決離散點和噪聲樣本對KELM 分類的影響,提高了分類性能,但處理數(shù)據(jù)的能力有待提高。
本文提出一種基于優(yōu)化KFWELM 的下肢運動分類方法。 該方法分別使用LPP 和LFDA 對提取的EMG 多域特征進行降維處理,采用改進高斯量子離子群算法(Gaussian Quantum Particle Swarm Optimization,GQPSO)優(yōu)化KFWELM 的正則化系數(shù)和核參數(shù),提高KFWELM 處理特征的能力,最后進行自適應融合得到分類結(jié)果。 實驗表明,該方法具有良好的分類精度,能夠用來實現(xiàn)下肢運動的準確分類。
為了更好地揭示下肢運動模式獲取的EMG 信號的內(nèi)在屬性,提取其時域、頻域、非線性特征,組成48 維多域特征。 如果將多域特征直接輸入神經(jīng)網(wǎng)絡中,會出現(xiàn)特征冗余等問題,從而造成分類性能的下降,需要對特征值進行降維處理。 目前降維分為有監(jiān)督降維和無監(jiān)督降維,有監(jiān)督降維主要考慮特征實現(xiàn)數(shù)據(jù)有效的分類,無監(jiān)督降維主要考慮低維特征有效地表示高維特征。 有監(jiān)督降維方法LFDA[10,15-16]通過選定一個較優(yōu)的投影方向,將高維問題降低到一維問題,變換后的一維數(shù)據(jù)既可以聚集每一類的數(shù)據(jù),又可以使不同類的數(shù)據(jù)盡可能分隔開。 因此在進行降維處理時,可以在實現(xiàn)最大區(qū)分類間可分性的同時保持類內(nèi)局部特性。 無監(jiān)督降維方法LPP 處理特征值時能夠保持其局部性[10,17]。 本文結(jié)合這兩種降維方式的優(yōu)點,同時使用有監(jiān)督LFDA 降維和無監(jiān)督LPP 降維,最后進行自適應融合,以提高分類性能,盡可能減少原特征的信息損失,更全面地分析數(shù)據(jù)特征。
ELM 是一種單隱含層前饋神經(jīng)網(wǎng)絡[12],隨機產(chǎn)生輸入層權(quán)重和偏差,并使用廣義逆矩陣求解出輸出權(quán)值,測試數(shù)據(jù)利用訓練好的輸出權(quán)值實現(xiàn)分類或回歸。 隱含層節(jié)點、輸入權(quán)重和偏差對模型性能會產(chǎn)生極大的影響,對此引入核函數(shù),構(gòu)建KELM,對輸入數(shù)據(jù)進行核映射,進而求出輸出權(quán)值。 為了進一步消除離散點和噪聲樣本對KELM分類的影響,處理不平衡數(shù)據(jù),采用模糊加權(quán)核極限學習機(KFWELM)。
給定N個任意樣本組成的數(shù)據(jù)集(xj,tj),其中tj=[tj1,…,tjm]T∈Rm,xj=[xj1,…,xjn]∈Rn,第j個輸入樣本xj是n×1 個特征向量,第j個輸出樣本tj是m×1 個編碼后的目標輸出向量,KFWELM 表示為[14]:
式中:W為權(quán)重矩陣,S為模糊隸屬度,sjj為S的對角元素,h(·)為隱含層輸出向量,C為正則化系數(shù),tj為輸出向量,xj為輸入向量,β為輸出權(quán)值,ξj為訓練誤差。
權(quán)重W表示如下:
式中:W是對角矩陣,wjj為W的對角元素,N(tj)是tj類中的樣本數(shù),N是樣本總數(shù)。
模糊隸屬度S的計算:
①考慮訓練樣本和樣本中心距離的模糊隸屬度定義為:
式中:xj是第j個輸入樣本,Nk是第k類輸入樣本數(shù),c是類別數(shù),δ是任意小的正數(shù),S1為對角矩陣,s1jj為S1的對角元素,
從式(3)中可以看出,賦予噪聲樣本等最小的模糊隸屬度,以減少對分類的影響。
②使用K近鄰(K Nearest Neighbor,KNN)分類方法來度量訓練集周圍的關聯(lián)性,第k類的樣本xj周圍的關聯(lián)性定義為:
從(5)中可以看到離散值和噪聲樣本的關聯(lián)性是稀疏的,因此離散值和噪聲樣本也將被賦予最小模糊隸屬度。
將S1和S2相結(jié)合的模糊隸屬度S定義為:
式中:S是對角矩陣,sjj是S的對角元素。
運用KKT[12,18]原理求解(1),輸出權(quán)值β定義為:
式中:H為隱含層輸出矩陣,H= [h(x1),…,h(xN)]T,W為權(quán)重矩陣,S為模糊隸屬度,C為正則化系數(shù),T為輸出矩陣。
KFWELM 的輸出函數(shù)矩陣為:
式中:ΩELM=HHT,h(xi)×h(xj)=K(xi,xj)=ΩELMi,j,小波核函數(shù)K(xi,xj)為:
式中:ψ和λ為核參數(shù),適當選擇可提高算法性能。
KFWELM 的正則化系數(shù)和核參數(shù)需要人為設定,為提高KFWELM 的泛化性能和穩(wěn)定性,使用優(yōu)化算法對這兩種參數(shù)進行優(yōu)化。 GQPSO 在進行參數(shù)尋優(yōu)時,采用高斯變異算子替代隨機序列,可以防止其過早收斂,提高尋優(yōu)的能力,但還是有陷入局部最優(yōu)值的可能[19]。 為此提出一種擾動式的動態(tài)慣性權(quán)重來改進GQPSO,對KFWELM 的正則化系數(shù)(C)和核參數(shù)(γ和ψ)進行優(yōu)化,并使用混沌映射產(chǎn)生初始化參數(shù),提高算法的全局尋優(yōu)能力。
GQPSO 的基本公式為:
式中:利用具有零均值和單位方差的高斯概率分布的絕對值來產(chǎn)生隨機數(shù)G和q,即為abs(N(0,1)),Mbest(?)是個體最優(yōu)值的平均值,φ為慣性權(quán)重,?為當前迭代次數(shù),yi(?)為粒子當前位置,pbesti(?)為當前粒子的最優(yōu)位置,gbest(?)為當前所有粒子的最優(yōu)位置,η1和η2為學習因子。
使用混沌映射初始化粒子位置,可以提高粒子的整體性和多樣性,取得比偽隨機數(shù)更好的結(jié)果,本文使用Logistic 映射進行粒子種群初始化:
式中:zk是第k個混沌數(shù),范圍為0 到1 之間,z0∈rand(0,1)且z0?(0,0.25,0.5,0.75,1)。
初始化粒子群位置(y(start))為:
式中:ymax和ymin分別為粒子位置最大值和最小值。z為Logistic 映射后的初始矩陣,范圍為0 到1之間。
為避免算法陷入局部最優(yōu),采用一種擾動式的動態(tài)慣性權(quán)重來更新粒子的位置,使得權(quán)重雖然整體呈減少趨勢但是在一定范圍內(nèi)波動,提高算法全局搜索能力:
式中:φmax和φmin分別為慣性權(quán)重的最大值和最小值,?max為最大迭代數(shù)。
改進GQPSO-KFWELM 基本步驟如下:
①改進GQPSO 的最大進化代數(shù)為?max=400,粒子群種群規(guī)模為M=100,慣性權(quán)值的最大值φmax和最小值φmin分別取0.9 和0.4,學習因子分別為η1=1.49 和η2= 1.49,粒子位置設定為yi(?)=[Ci(?)γi(?)ψi(?)]T,粒子位置最大值和最小值分別為ymax=600 和ymin=0.01,并采用混沌序列進行粒子種群初始化。
②使用五折交叉驗證產(chǎn)生訓練集和驗證集,將其平均分類準確值作為適應度。 將當前計算的適應度值與該粒子最優(yōu)位置的適應度值進行比較,選擇適應度值較大粒子的位置作為新的。 將當前計算的適應度值與所有粒子最優(yōu)位置gbest(?)的適應度值進行比較,選擇適應度值較大粒子的位置作為新的gbest(?)。
③根據(jù)式(10)和式(11)來更新每個粒子的位置。
④判斷yi(?)中的數(shù)據(jù)是否超出了范圍,若yi(?)中的數(shù)據(jù)大于ymax,取ymax,若yi(?)中的數(shù)據(jù)小于ymin,取ymin。 對最大迭代次數(shù)進行檢驗,檢查當前迭代次數(shù)大于等于?max時,得到最優(yōu)參數(shù)gbest=[Cbestγbestψbest]T,反之則令?=?+1,繼續(xù)執(zhí)行步驟②~步驟④。
為防止單一降維造成信號特征的缺失,同時使用有監(jiān)督LFDA 和無監(jiān)督LPP 對特征進行降維,并在決策級對最終處理后的數(shù)據(jù)進行自適應融合。 根據(jù)參考文獻[20],首先將運用這兩種降維方式組成的輸出矩陣f(x)轉(zhuǎn)換成概率輸出矩陣,記為PI(x)
式中:c為類別數(shù)
融合權(quán)值計算方式為:
將每組分類器中的概率進行加權(quán)處理,加權(quán)結(jié)果最大標簽作為融合結(jié)果的輸出,即為:
本文使用UCI 數(shù)據(jù)庫(http:/ /archive.ics.uci.edu/ml/datasets/EMG+dataset+in+Lower+Limb),該數(shù)據(jù)庫提供了22 名18 歲以下的男性參與者下肢的4 通道EMG 數(shù)據(jù)和1 通道測角儀數(shù)據(jù),參與者中11人健康,11 人有膝關節(jié)病變(6 人前交叉韌帶損傷,4 人半月板損傷,1 人坐骨神經(jīng)損傷)。 采集股內(nèi)側(cè)肌、半腱肌、股二頭肌和股直肌的表面肌電信號,并將測角器保持在膝關節(jié)外側(cè)。 分別記錄坐著伸膝、站立屈膝、平地行走3 種三種運行方式的EMG 和膝關節(jié)角度。 最后把4 通道EMG 數(shù)據(jù)分成具有64 ms重疊的256 ms 窗口。
將預處理后的表面肌電信號提取時域、頻域、非線性特征,組成48 維特征,采用本文方法進行下肢運動分類,其中正則化系數(shù)與核參數(shù)的范圍為0.01~600,最后使用三折交叉驗證算法分類的準確率,算法流程如圖1 所示。
圖1 算法流程圖
使用BP、KNN、ELM、KELM、KFWELM、GQPSOKFWELM 和本文方法對UCI 數(shù)據(jù)庫中的數(shù)據(jù)集進行下肢運動識別,健康人群和患病人群的算法分類性能如表1 所示。 將多域特征直接輸入BP、KNN、ELM、KELM、KFWELM 和GQPSO-KFWELM 進行訓練測試;本文方法使用LFDA 和LPP 對48 維特征降維處理。
從表1 看出,在對健康人群和患病人群進行坐著伸膝、站立屈膝、平地行走三種下肢運動識別中,相較于傳統(tǒng)的分類算法,KFWELM 的分類準確性更高,說明構(gòu)建權(quán)重和模糊隸屬度可以提高KELM 處理特征值的能力,從而提高分類準確率。 本文提出使用GQPSO 優(yōu)化KFWELM 的正則化系數(shù)和核參數(shù),實驗結(jié)果表明,對健康人群和患病人群的三種下肢運動識別率與KFWELM 相比較,分別提高了0.022、0.008、0.011 和0.011、0.014、0.009,采用GQPSO-KFWELM 方法可以有效解決隨機選擇KFWELM的正則化系數(shù)和核參數(shù)所帶來的魯棒性差、分類準確率降低等問題,提高了KFWELM 的泛化性能和分類準確率。 本文方法的運動識別準確率是最高的。 在GQPSO-KFWELM 的基礎上采用有監(jiān)督和無監(jiān)督降維、決策級融合的分類方法,有效地解決了多域特征的冗余性會造成GQPSO-KFWELM 分類性能下降的問題。
表1 本文方法與傳統(tǒng)方法的分類準確率對比
表2 為本文方法與已發(fā)表且采用相同數(shù)據(jù)集驗證的改進算法性能對比。 本文提出的改進算法可以有效提高坐著伸膝、站立屈膝、平地行走三種下肢運動識別準確率。
表2 本文方法與已發(fā)表論文方法的分類準確率對比
針對不同情況下獲取的表面肌電信號存在差異性等問題,本文提出了一種優(yōu)化KFWELM 的分類算法,以實現(xiàn)人體下肢運動分類。 為了消除肌電特征冗余及不相關的特征,同時避免單個降維造成特征信號的缺失,分別采用LFDA 有監(jiān)督降維和LPP 無監(jiān)督降維,使用改進的GQPSO-KFWELM 對降維后的特征值進行處理,避免正則化系數(shù)和核參數(shù)對KFWELM 的影響,最后使用決策級融合得到分類結(jié)果。 本文方法準確度高,適合用于下肢運動分類。