2009年5月
文章编号:1001-9081(2009)05-1423-03
计算机应用
JournalofComputerApplications
Vol.29No.5May2009
双重结构粒子群和KNN在生理信号情感识别中的应用
程德福,刘光远,邱玉辉
(chendf83@swu.edu.cn)
1
1
2
(1.西南大学电子信息工程学院,重庆400715; 2.西南大学计算机与信息科学学院,重庆400715)
摘 要:将双重结构的粒子群(DSPSO)应用到生理情感特征的选择中,提高了特征选择效果和情感识别的正确率。提出了增量K多类KNN分类器解决KNN在分多类时出现的不可分现象并改善了多类识别的效果。通过4种生理信号(EMG、SC、ECG、RSP)来识别4种情感(joy、anger、sadness、pleasure),同传统的SFFS算法以及BPSO算法相比,识别率有了较大的提高。仿真结果表明,DSPSO能较好地完成生理情感特征的选择任务。
关键词:生理信号;粒子群优化;K近邻;特征选择;情感识别中图分类号:TP18 文献标志码:A
Applyingdual2structureparticleswarmoptimizationandKNNtoidentifyaffectivestatesgroundonphysiologicalsignals
CHENGDe2fu,LIUGuang2yuan,QIUYu2hui
1
1
2
(1.CollegeofElectronicandInformationEngineering,SouthwestUniversity,Chongqing400715,China;
2.CollegeofComputerandInformationScience,SouthwestUniversity,Chongqing400715,China)
Abstract:Dual2StructureParticleSwarmOptimization(DSPSO)wasappliedtoselectemotionfeaturesofphysiologicalsignals,whichimprovedtheeffectoffeatureselectionandthecorrectrateofaffectiveclassification.IncrementalKalgorithmwasproposedtoavoidindivisibilityformulti2classification,whichalsoadvancedmulti2identificationeffect.ComparedwiththeresultsoftraditionalSFFSandBPSOalgorithms,theproposedmethodobtainedbettereffectinrecognizingfouraffectivestates(joy,anger,sadness,pleasure)fromfourphysiologicalsignals(EMG,SC,ECG,RSP).Simulationresultsshow,basedonphysiologicalsignals,DSPSOcanselectfeaturewell.
Keywords:physiologicalsignal;ParticleSwarmOptimization(PSO);K2nearestneighbors;featureselection;emotionrecognition
0 引言
情感识别是今后人机情感交流必不可少的环节,也是当
今计算机科学界研究的热点,主要有面部识别、语音识别、姿态识别、生理信号识别等,其中前几种方法的样本采集比较方便,但是样本伪造也很容易。而生理信号识别的样本基本不受被试的主观控制,这就在很大程度上增加了样本与内在情感的一致性,也使得识别结果更具说服力。基于生理信号的情感识别需要获得一组最佳特征子集,使得识别率最高,这是生理信号情感识别中的重要环节,也是最难的部分。目前用于生理信号特征选择的算法主要有Fisher[1]、SFS、SBS、
[1-2]
SFFS、SFBS、ANOVA等。
[3]
特征选择算法是从原始的特征集(D维)中选出最佳
从本质上讲,特征选择就是组合优的特征子集(d维,d 在智能算法中,粒子群算法(ParticleSwarmOptimization,[4] PSO)是模拟鸟群捕食的仿生算法,用来解决连续优化问题,后来文献[5]又提出了离散二进制的粒子群算法(Binary ParticleWarmOptimization,BPSO),用于组合优化问题。粒子群优化算法需要进行频繁的适应度评价,而KNN(K2NearestNeighbors)分类算法则简单且高效。 本文将双重结构粒子群算法和KNN分类算法相结合用于生理信号情感识别的特征选择。在原始特征集较大时比传统的SFFS等非智能优化算法效率更高,并且得到了更好的识别率,和BPSO相比也有较大的优势。在多类识别时,本文提出的K增量多类KNN分类器完全避免了传统KNN识别时出现的不可分现象,并且得到了更好的分类效果。 1 双重结构粒子群的特征选择算法 1.1 基本粒子群算法 粒子群算法是模拟鸟群觅食的仿生算法,由一定数量个体组成的种群,在各自速度参量和位置参量的控制下进行寻优。假设特征总数为D个,种群个体有m个,则第i个粒子的速度为Vi=(vi1,vi2,…,viD)T,位置为Xi=(xi1,xi2,xi3,…,xiD),而位置的值就是问题的一个解,将第i个粒子的位置值Xi代入适应度函数可以得到第i个粒子的适应度值,根据适 T 应度值大小的比较可以得到目前为止第i个粒子所经历的最优位置Pbesti=(pbesti1,pbesti2,pbesti3,…,pbestiD)T,通过比较所有粒子所经历的最优位置可以得到整个种群的最优位置 T Gbest=(gbest1,gbest2,gbest3,…,gbestD),这样就可以通过 收稿日期:2008-11-14;修回日期:2009-02-21。 基金项目:国家自然科学基金资助项目(60873143);西南大学国家重点学科基础心理学科研基金项目(NKSF07003)。 作者简介:程德福(1983-),男,四川都江堰人,硕士研究生,主要研究方向:智能信息处理; 刘光远(1961-),男,重庆人,教授,博士,主要研究方向:计算智能、情感计算; 邱玉辉(1938-),男,重庆人,教授,博士生导师,博士,主要研究方向:分布式人工智能、计算智能。 1424 计算机应用 X=X・(1-R)+Pc・R 第29卷 以下两个公式得到下一代的粒子,如此反复,最终得到一个满意的解Gbest。 Vi=w・Vi+C1・rand1・(Pbesti-Xi)+ (1)C2・rand2・(Gbest-Xi) (2)Xi=Xi+Vi 其中w是惯性权重因子,C1、C2是学习因子,rand1、rand2是(0,1)内的随机向量。为了防止粒子飞出搜索空间,设Vi∈[-Vmax,Vmax],Xi∈[-Xmax,Xmax],Vmax和Xmax为常量,根据具体解决的问题而定。1.2 双重结构粒子群算法(DSPSO) DSPSO的迭代过程与连续的PSO一样使用式(1)和式(2)。计算适应度值之前先将位置向量Xi映射为0、1序列Yi,此时有两个相应的解Xi和Yi,Xi为PSO迭代过程中的解,即实数表示的粒子位置,Yi用于计算适应度,即二进制序列[6]。Xi到Yi之间有单向映射关系: 0, Xi<0 Yi=其中: Pc=Xmin+β・(Xmax-Xmin)R=1-((C-1)/C)・m 其中:R是收缩因子,决定了变异空间大小;C为迭代次数,可以看出随着迭代次数的增加收缩因子变小,也就是随着迭代的增加慢慢缩小搜索范围;Pc是变异尺度;X为待变异的样本;m为控制收敛速度的常数因子;β为混沌序列,由混沌映射 βLogistic迭代方程4・(1-β)产生,此序列遍历性好,可以在 局部搜索时更容易获得更优解。 以上就是对DSPSO的改进方案,即基于混沌变异的小生境多种群DSPSO算法。 1, Xi≥0 可以看出,DSPSO将整个迭代过程的解空间扩展到实数领域,同样是解决组合优化问题,却比BPSO更具多样性。DSPSO和KNN进行特征选择的算法流程如下: 步骤1 初始化DSPSO种群的个体数量PopSize,最大迭代次数T,惯性权重w,学习因子C1、C2,并随机初始化PopSize个粒子;初始化KNN的邻域个数K。 步骤2 将位置Xi映射为0、1序列Yi,以Yi标识的特征进行KNN分类,并得到分类结果和相应的适应度值。 步骤3 根据适应度值得到个体经历的最佳位置Pbesti。步骤4 更新全局的最佳位置Gbest。 步骤5 根据式(1)和式(2)更新粒子的速度Vi和位置Xi。 步骤6 判断是否满足停止准则,若满足则停止并输出结果,否则返回步骤2。1.3 改进的DSPSO算法 为了提高DSPSO算法的鲁棒性,采用多种群同时搜索的策略。而多种群同时搜索会出现多个种群搜索到同一个区域,为了避免这种现象,采用小生境的思想,即两个种群搜索到同一个区域时,视为它们发生了小生境冲突,对之进行仲裁,让效果较差的种群转移到另一个区域重新搜索。图1是多种群DSPSO算法流程,图2是小生境冲突仲裁流程。 图2 小生境冲突仲裁流程 2 增量K多类KNN分类器 传统的KNN在分类多类时经常出现不可分的现象,如图 3。 图3 用传统的KNN时出现的不可分现象(K=3) 出现这种情况时通常的处理方法有两种:一种是视此次 分类错误;另一种是预先有一个优先级别的排序,然后将这个样本分到优先级高的类别。而这两种方法都有各自的不足,第一种方法直接导致了识别率的降低,并且这种损失大多数情况下是由分类方法直接导致的,而不是样本确实不可分。第二种方法在原理上就是错误的,因为不知道哪种情感是高概率发生的,所以对情感来说没有优先的概念。基于以上现象,本文提出了增量K多类KNN分类器,该算法步骤如下: 步骤1 给定一个初值K,并给定K允许的最大取值 Kmax; 图1 改进的DSPSO算法流程 对每个种群的最优位置进行混沌变异,提高DSPSO算法 的局部搜索能力[7]。 混沌变异公式为: 步骤2 进行KNN分类;步骤3 如果出现不可分现象,则当K=Kmax时,转到步骤4,否则令K=K+1,转到步骤2;如果可分,则转到步骤5; 步骤4 令K=1,进行最后一次KNN分类,得到结果并输出; 步骤5 分类结束,并输出结果。 实验表明这样即保证了所有样本都可分,又提高了分类正确率。比如基于图3的情况,如果将K增加到7,如图4,只有Sadness类得到的相邻样本最多,这时就将待识别样本A成功地分到Sadness类。 第5期程德福等:双重结构粒子群和KNN在生理信号情感识别中的应用1425 取67个特征,总共提取了193个特征。四种情感对应4个类 别,每个类别有25个样本,共有100个样本。 以下粒子群的仿真结果都是改进后的DSPSO运行20次的统计。参数的具体取值如下:KNN的邻近个数K为3(识别4类时,K的初始值为3,最大允许值为96),DSPSO的最大迭代次数为1000,种群粒子个数根据待选特征维数而改变,特征较少时(EMG,SC)取20,特征较多时(ECG,RSP以及所有四种信号)取40,C1=C2=1.494,w=0.5+rand/2。 图4 当K=7时样本A能被正确分到Sadness类 如表1所示,改进后的DSPSO在原始特征数较多时比改进前有更高的识别率;与传统的SFFS方法相比,用SC、ECG 和RSP信号识别时都能得到更好的解,特别是ECG识别四种情感时,DSPSO最好识别率达到73%,而SFFS只有68%;与文献[9]中BPSO得到的结果相比,所有的识别率都得到了较大的提高。总体来看,EMG识别四种情感的效果是最好的, SC是最差的。当四种生理信号用来识别四种情感时,识别率 3 实验仿真结果 3.1 生理情感特征选择结果 本文所使用的数据来自德国奥森堡大学多媒体与信号处理实验室[8,10],采自一个人在四种情感状态(高兴(joy)、愤怒(anger)、悲伤(sadness)和愉悦(pleasure))下的四种生理信号(肌电(Electromyography,EMG)、皮电(SC)、心电(ECG)和呼吸信号(RSP)),一共测试了25天的数据。计算出每种生理信号的统计值作为原始特征集供本文的特征选择,统计方法有均值、中值、方差、一阶差分、二阶差分、最小值、最大值、最小值比率、最大值比率等。其中肌电信号提取21个特征,皮电信号提取21个特征,心电信号提取84个特征,呼吸信号提 为93%,最优子集有12个特征,分别为:呼吸信号0.1~0.2Hz的功率谱,呼吸信号二阶差分的最大值比率,呼吸信号脉冲的中值,呼吸信号脉冲一阶差分的平均值,肌电信号的最大值,肌电信号的最小值比率,肌电信号一阶差分的中值,肌电信号二阶差分的最大率,心电Q波的最小值,心电S波的最大值,心电T波的波动范围以及皮电信号一阶差分的中值。 表1 识别四种情感状态 本文方法 生理信号 EMGSCECGRSP EMG,SC,ECG,RSP 原始最优子集 特征数特征数 21218467193 74121112 最好识别率/% 8351738193 最差识别率/% 8251677691 平均识别率/% 82.85169.878.391.8 改进前最好SFFS识别率/%识别率/% 8351.0697990 8350687693 文献[9]最好识别率/% 6847677385 由表2得知唤起度比效价容易识别,这样的结果和MIT以及Augsburg的相一致。唤起度的平均识别率达到99.1%,效价为95.5%,识别效果好于文献[8],特别是在识别效价时,平均识别率提高了6.86%。 表2 四种生理信号对唤起度和效价的识别率 本文方法 情感唤起度效价 最好识别率 10097 % 10%和10.6%。 表3 识别单一情感的正确率 本文方法 识别率 9384939397 % 生理信号 文献[8]平均识别率 96.5988.64 EMGSCECGRSPEMG,SC,ECG,RSP 文献[9] 平均 的平均值 JoyAngerSadnessPleasure识别率 9490979199 978589100100 9279888896 94.084.589.593.098.0 7355787888% 最差识别率 9893 平均识别率 99.195.5 如表3,改进后的DSPSO识别单一情感的平均正确率比文献[9]中的结果高10%~29.5%。EMG识别单一情感时识别率都达到了90%以上。识别Joy时使用ECG效果最好,可以达到97%;识别Anger时使用RSP效果最好,可以达到 100%;识别Sadness时除了SC外其余信号效果都比较好,达 生理信号 EMGSCECGRSPEMG,SC,ECG,RSP 表4 识别四种情感的正确率传统方法13 79.442.261.071.086.4 传统方法23 80.048.060.670.484.4 3 增量K方法 (K=3) 8351738193 到了93%;识别Pleasure时使用EMG效果最好,达到了 92%。四种信号中SC是识别效果最差的。3.2 增量K多类KNN分类器仿真结果 从表4可以看出,第一种传统方法和第二种传统方法的分类正确率相差不大。K增量多类KNN分类器和传统方法相比分类正确率有了较大的提高,分别使用单一生理信号ECG和RSP进行四类情感的识别时,识别率较第一种传统方法分别提高了11.4%和12.4%,较第二种传统方法分别提高了 注:3表示出现不可分时认为此次分类失败;33表示分类时每个类别有优先级之分(此处优先级由高到低依次为:Joy,Anger, Sadness,Pleasure)。 (下转第1429页) 第5期侯胜利等:基于自组织免疫网络的传感器故障检测模型1429 平,因此该方法对噪声具有较强的容忍性。 3)免疫网络对传感器故障具有较高的灵敏性,同时对噪声干扰也具有很强的适应能力。 为提高免疫网络对多传感器同时出现故障的检测能力,可以通过增加入网传感器的数量和建立更多的连接关系来解决,但同时会增加系统的复杂性,使系统的实时性变差,这需要在性能与效率上进行权衡。参考文献: [1] 许秀玲,郭迎清,王镛根,等.某型涡扇发动机控制系统传感器 故障诊断研究[J].航空动力学报,2004,19(1):164-68. 图6 两种方法下各传感器的故障检测门限值表1 在不同噪声水平下的检测结果(√表示可检测)传感器 N1N2T1T2T3P1P2P3 [2] KOBAYASHIT,SIMONDL.Evaluationofanenhancedbankof Kalmanfiltersforin2flightaircraftenginesensorfaultdiagnostics,NASA 0.16 2004. [3] DECASTROLN.Comparingimmuneandneuralnetworks[C]// ProceedingsoftheVIIBrazilianSymposiumonNeuralNetworks:SBRN2002.Washington,DC:IEEEPress,2002:250-255.[4] JAWLC.RecentadvancementsinaircraftEngineHealthManage2 ment(EHM)technologiesandrecommendationsforthenextstep:GT2005268625[C]//ProceedingsofTurboExpo2005:50thASMEInternationalGasTurbineandAeroengineTechnicalCongress.NewYork:ASME,2005:1-13. [5] 侯胜利,李应红,尉询楷.基于主元核相似度免疫机制的故障 TM220042213203/ARL2TR23252/GT2004253640 [R]. Washington,DC:NationalAeronauticsandSpaceAdministration, 不同噪声水平(SNR)(1:) 0.02 0.04 0.06 0.08 0.10 0.12 0.14 √ √√√√√√√√√√√√√√√√√√√√√√√ √√√√√√ √ √√ 4 结语 本文研究了一种基于自组织免疫网络的传感器故障检测模型,通过航空发动机传感器故障的仿真实验得到以下几个主要结论。 1)故障传感器的识别是通过各个网络节点的相互识别在系统水平上进行,不依靠发动机的数学模型。 2)与神经网络的对比实验表明,神经网络结构参数的选取存在困难,用于训练的样本需要精心挑选,以覆盖各种故障模式;而免疫网络检测机理清楚,结构实现简单,用于训练的样本仅为传感器正常工作时的数据,训练样本相对容易获得。 (上接第1425页) 诊断方法及应用[J].推进技术,2006,27(2):154-157. [6] 肖人彬,王磊.人工免疫系统:原理、模型、分析及展望[J].计 算机学报,2002,25(12):1281-1293. [7] KIVILUOTOK.Topologypreservationinselforganizingmaps[C]// IEEEInternationalConferenceonNeuralNetworks.Washington,DC:IEEEPress,1996,1:294-299. [8] MARTINSJF,COSTABRANCOPJ,PIRESAJ,etal.Faultde2 tectionusingimmune2basedsystemsandformallanguagealgorithms[C]//Proceedingsofthe39thIEEEConferenceonDecisionandControl.Washington,DC:IEEEPress,2000:2633-2638. 4 结语 将改进的双重结构的粒子群应用于生理信号情感识别的特征选择中,与传统的非智能优化算法SFFS以及BPSO相比得到了更好的识别效果。使用K近邻法进行分类评价,并在 识别多类别时提出了一种增量K多类KNN分类器,既解决了不可分问题,又提高了分类正确率。用尽量少的特征来反映某种情感是计算机实时地识别人类情感的基本条件。基于这一需求,下一步研究的主要目标是在识别率可接受的前提下进一步降低特征维数,并统计分析对特定情感最有效的特征组合。参考文献: [1] PICARDRW,VYZASE,HEALEYJ.Towardmachineemotional intelligence:Analysisofaffectivephysiologicalstate[J].(10):1175-1191. [2] PUDILP,NOVOVICOVAJ,KITTLERJ.Floatingsearchmethods infeatureselection[J].PatternRecognitionLetters,1994,15(11):1119-1125. [3] LIUHUAN,YULEI.Towardintegratingfeatureselectionalgo2 rithmsforclassificationandclustering[J]. IEEETransactionson IEEE TransactionsonPatternAnalysisandMachineIntelligence,2001,23 KnowledgeandDataEngineering,2005,17(4):491-502.[4] 窦全胜,周春光,马铭.粒子群优化的两种改进策略[J].计算机 研究与发展,2005,42(5):879-904. [5] KENNEDYJ,EBERHARTRC.Adiscretebinaryversionofthe particleswarmalgorithm[C]//Proceedingsofthe1997ConferenceonSystems,Man,andCybernetics.Washington,DC:IEEEPress,1997:4104-4108. [6] 贺朝毅,王彦祺,刘建芹.一种适于求解离散问题的二进制粒子 群优化算法[J].计算机应用与软件,2007,24(1):157-159. [7] 刘军民,高岳林.混沌粒子群优化算法[J].计算机应用,2008, 28(2):322-325. [8] WAGNERJ,KIMJ,ANDREE.Fromphysiologicalsignalstoemo2 tions:Implementingandcomparingselectedmethodsforfeatureex2tractionandclassification[C]//IEEEInternationalConferenceonMultimedia&Expo:ICME2005.Washington,DC:IEEEPress,2005:940-943. [9] 杨瑞请,刘光远.基于BPSO的四种生理信号的情感状态识别 [J].计算机科学,2008,35(3):137-138. [10] AugsburgBiosignalToolbox[EB/OL].(2007-06-05/2007-11-18)[2008-08-02].http://mm2werkstatt.informatik.uni2augsburg.de/project_details.php?id=33. 因篇幅问题不能全部显示,请点此查看更多更全内容