基于交叉运算的人工蜂群优化BP神经网络的脑电信号分类 下载: 1133次
1 引言
脑机接口(BCI)[1]不依赖于外周神经和肌肉便可以直接实现对肢体和外部设备的控制,其将大脑发出的脑电波(EEG)信号通过特定的传感器进行采集和分析处理来控制相应的设备,在信号处理的过程中,对于EEG的分类是至关重要的一步。
目前,国内外研究者提出了很多关于脑电信号分类的方法,其中基于反向传播(BP)神经网络的分类方法在脑电信号的分类方面一直占据较为重要的地位。彭基伟等[2]对遗传算法中的编码方式和适应度函数进行改进,实现了对BP神经网络中结构和参数的优化,该方法的收敛速度快,但是训练时间较长。Yang等[3]设计了一种基于遗传算法优化BP(GA-BP)神经网络的混合算法,该算法克服了原始BP算法对初始值的依赖,但其收敛时间比BP神经网络长。张小栋等[4]提出了一种基于小波变换和人工神经网络模型映射的脑电信号分类方法,其分类的准确率最高可以达到85%。
针对BP神经网络在分类过程中存在全局搜索能力差、收敛速度慢和对初始权值敏感极易陷入局部最优的问题,多位学者采用了群体智能算法来优化BP神经网络,但是还存在许多缺点。其中GA[5]易早期收敛,迭代后期出现收敛速度慢以及效率低等现象;蚁群算法(AOC)[6]寻优比较盲目,收敛速度慢,容易出现早熟停滞的现象,寻优过程中算法过分集中,所以容易陷入局部最优;基于人工蜂群(ABC)算法没有全局最优值记忆的功能,致使该算法因全局搜索能力不足而陷入局部最优。
针对上述不足,本文提出一种基于交叉运算和全局搜索因子的ABC优化BP神经网络分类方法,即CGABC-BP(Cross Global Artificial Bee Colony-BP)。首先,雇佣蜂在邻域中进行全局搜索以提高算法的开发能力;其次,将相邻邻域和整个局域中寻找的最优值进行交叉融合以提高算法的全局寻优能力;最后,采用基于交叉运算和全局搜索因子的ABC优化神经网络的初始权重,避免BP神经网络陷入局部最优[7]。采用所提方法对脑电信号进行分类,可以有效提高分类的正确率,使得脑电信号对外部设备的控制更为精准,在康复医疗等领域中起到至关重要的作用。
2 改进的ABC算法
2.1 ABC算法
ABC算法是由土耳其学者Karaboga等在2005年提出的,其是一种可以高效解决多变量函数优化问题的群体智能算法[8-9]。ABC算法的适应性较强,能够利用蜜蜂之间寻优的正反馈机制有效加快全局寻优的速度,尤其适用于求解诸如脑电信号等非线性、非平稳性且复杂的优化问题[10]。
ABC算法中最优蜜源所在的位置可以看作优化问题的最优解,ABC采蜜的过程就是该算法寻找全局最优解的过程[11]。ABC算法中将蜜蜂分为雇佣蜂、观察蜂和侦察蜂三种,每个蜂种根据不同的分工来完成在不同环境下的各阶段工作。蜂群中雇佣蜂和观察蜂的数量相同,各占蜂群总数的1/2,但是每个蜜源只有一个雇佣蜂。当某个蜜源被雇佣蜂和观察蜂丢弃时,该蜜源对应的雇佣蜂就会变成侦察蜂[12]。蜜源的含蜜量是ABC算法中优化的适应度值,算法的本质就是不断进行迭代的过程,具体步骤如下。
1)初始化:设ABC算法可以随机产生N个初始解,即N个蜜源和雇佣蜂,每个解
式中:xij∈(xmin,xmax),其中xmin和xmax分别表示搜索空间的最小值和最大值,j∈(1,2,…,D);rand(·)表示随机函数。
2)雇佣蜂全局搜寻新解:初始化之后,雇佣蜂开始对蜜源位置或函数的解进行循环搜寻,并根据记忆在限定区域内随机选择蜜源xi以产生新的位置,表达式为
式中:xk表示随机选取的D维向量蜜源,k∈(1,2,…,N),且k≠i;φ表示控制搜索步长的随机数,φ∈[-1,1]。产生新的蜜源x'ij后,使用适应度函数分别求出初始解和新解的适应度值,如果新解的适应度值大于初始解,则使用新解替代初始解,否则将不可替代[13]。
3)观察蜂局部搜索:所有雇佣蜂完成搜索后,会与观察蜂分享蜜源和蜜源花蜜(适应度值),而观察蜂估计蜜源花蜜量的信息,以一定的概率选择蜜源位置并在其附近搜索新蜜源,并根据贪婪原则进行选择。概率表达式为
式中:f(xi)表示蜜源i的适应度,其是ABC优化的目标函数;abs(·)表示求绝对值的函数。
4)侦察蜂出现:若达到最大且不更新的次数(limit)后,则雇佣蜂变成侦察蜂,通过(1)式得到一个新解并计算适应度值,然后再去寻找新的蜜源。
5)迭代结束:如果每次迭代的次数达到limit,则算法结束得到最优解;否则需要对算法继续进行迭代。
2.2 改进的ABC算法
ABC算法当接近全局最优时会存在搜索速度慢和过早收敛的问题,以致陷入局部最优。(2)式中φ∈[-1,1]为随机数且xkj为随机选取的一个分量,所以该搜索方程具有较好的探索能力,但忽略算法的开发能力,因此需要更有效的全局搜索策略。Zhu等[14]根据粒子群算法提出了全局最优解引导的ABC算法(GABC),该算法可以很好地提高开发能力。每一次循环的过程中,根据搜索方程
进行邻域搜索。式中:α表示邻域搜索系数,值为在-1~1之间的任意数;
基于CGABC算法是结合遗传算法与ABC算法,其中遗传算法是一种具有自适应和自组织能力的搜索算法,包括选择、交叉和变异三种操作,广泛应用于解决复杂的优化问题。
交叉运算是将选择出的两个个体作为父个体,将二者的部分码值按位进行交换。实验设有两个8位个体P1和P2,如
现随机产生一个在1~7之间的数4,采用交叉操作可将P1和P2的后4位进行交换,可以得到一个新的个体.其交换过程如
常见的交叉运算包括指数交叉运算和二项交叉运算,而实验采用二项交叉运算并与人工蜂算法相结合,这可以提高ABC算法的全局寻优能力和开发能力。运算过程中,每一个分量都随机产生一个随机数l,取值范围为0~1。若l<c,则接受该目标分量,否则保留当前个体的分量[15],其中c为交叉系数,其是二项式交叉运算中的重要参数。雇佣蜂搜索邻域后,与全局最优值进行交叉操作,搜索过程可以表示为
从理论上来讲,当c取较大值时,算法的进化速度加快,这有利于提高算法的开发能力,但是会降低其探索能力;c值越小越有利于提高算法的探索能力,但是会降低算法的开发能力,经过多次反复实验,c一般取值为0.3~0.6。与GABC算法相比,所提算法既能够保留ABC算法的搜索和开发能力,又可以提高算法的全局寻优能力。
3 BP神经网络
BP神经网络包含输入层、隐含层以及输出层,其中隐含层可以有一层或多层,存在于输入层和输出层之间[16-17]。BP神经网络是一个包含多层感知器的反向传播网络,传播过程由输入层的正向传播与输出层的误差反向传播两个过程组成,其中三层感知器的拓扑结构应用最为广泛,结构如
网络结构中输入层有n个神经元,隐含层有p个神经元,输出层有q个神经元,则BP神经网络的输入变量为
式中:m表示样本数据的个数。隐含层的输入变量为
式中:bh表示隐含层中第h个神经元的阈值;h=1,2,…,p。
输出层各神经元之间的输入变量为
式中:ωho表示隐含层与输出层的连接权值;bo表示输出层各神经元的阈值;o=1,2,…,q。
BP算法优化的目标函数值是输出层所有神经元的误差平方和,表达式为
式中:do(m)表示输出层的期望输出变量;zo(m)表示输出层的输入变量。
输出层各神经元的误差函数为
输出层中各神经元的权值和阈值分别为
式中:η表示学习率,用来反映训练学习的速度,取值范围为[0, 1];yoh(m)表示隐含层的输出变量。
BP神经网络的δ学习规则是通过反向传播不断改变初始权值和阈值,使误差平方和最小[18]。
4 CGABC-BP算法
CGABC-BP算法优化的目的是不断调整神经网络的权值和阈值,使得网络中输出层的输出值与期望值之间的差值达到最小。ABC优化的评价标准是样本的预测值与实际值的均方差(MSE)的大小,而MSE与蜜源的适应度值成反比。采用蜜源适应度最大的权值和阈值来初始化神经网络,再根据BP神经网络的δ学习规则来训练样本,最后对其进行识别和分类。改进的全局ABC优化BP神经的流程如
1)设置CGABC算法初始化的参数,即N组BP神经网络的初始权值和阈值。
2)采用BP算法来计算CGABC算法的适应度函数。雇佣蜂对新的蜜源使用δ学习规则计算目标函数值,并使用计算出来的目标函数值与迭代最优值进行交叉操作以计算新的适应度,并根据贪婪准则选择新蜜源[19]。
3)计算观察蜂的跟随概率。观察蜂对搜索到的新蜜源使用δ学习规则计算目标函数值,将其与迭代最优值进行交叉运算,然后计算蜜源的适应度值,并根据贪婪准则选择新蜜源以保留全局最优值。
4)如果实际值的MSE小于γ(定值),则进入步骤8)。
5)侦查蜂出现后,随机寻找新蜜源代替失败的蜜源,并计算适应度值。
6)如果每次迭代的次数达到limit,则跳转到步骤8),否则跳转到步骤2)。
7)采用最优蜜源来初始化BP神经网络,根据δ学习规则来训练BP神经网络。
8)将测试部分的数据集进行分类,计算分类的准确率。
图 4. 改进的全局ABC优化BP神经网络的流程
Fig. 4. Improved global ABC to optimize process of BP neural network
5 实验结果与分析
5.1 测试函数
为了验证改进的全局ABC算法的寻优能力,实验对Griewank、Rastrigin、Sphere和Rosenbrock常用函数进行验证,具体情况如
5.2 测试结果
将4个基本函数与基于ABC(SABC)算法、全局最优引导的ABC(GABC)算法和CGABC算法进行比较。实验参数设置:总循环次数为3000,蜂群总数为50,limit设置为300,D为30。
从
5.3 CGABC-BP神经网络的结果与分析
为了验证CGABC算法优化BP神经网络(CGABC-BP)的有效性,将BP、ABC优化BP神经网络(ABC-BP)和CGABC-BP采用非线性函数f(u,v)=u2+v2(-5≤u,v≤5)进行拟合,从而验证改进的ABC算法(CGABC)优化BP神经网络的有效性,测试过程如下。
1)样本选取:在[-5,5]之间随机获得1000组数据,任意选择其中的900组数据作为训练样本,剩下的数据作为测试样本。
2)参数设置:设置神经网络的结构为2-5-1,其中输入层为两层,隐含层为5层,输出层为1层,ABC的种群数量设置为800,最大循环次数为100。
表 1. 标准测试函数
Table 1. Standard test functions
|
表 2. 三种算法的性能比较
Table 2. Performance comparison of three algorithms
|
采用三种ABC来优化BP神经网络,选择最优个体的适应度值作为优化的训练误差,三种神经网络的平均适应度值如
从
将最优的初始权值和阈值分别送入三种神经网络中,得到的误差曲线如
从
5.4 CGABC-BP网络对脑电信号的识别
5.4.1 数据集介绍
数据集为2008年BCI Competition Dataset1,其中包括7名受试者的脑电数据,每一名受试者均执行右手和左脚的动作,采集通道数为59个,选取C3和C4通道的数据进行实验,其中随机选择数据的40%、40%和20%分别作为训练样本、测试样本和验证样本,验证的目的是防止过拟合。
5.4.2 算法初始化
使用神经网络对脑电信号进行初始的分类,特征个数是整个网络输入层的节点数,网络输出层的节点数是根据分类所需的个数决定,分类的种类不同则输出的个数也不同[21]。实验参数:蜂群数量为200, 雇佣蜂和跟随蜂的数量均为100,即limit为100,最大循环次数(MCN)为50,神经网络的最大训练次数为500,学习率为0.3,神经网络的结构为2-7-2,Sigmoid作为激活函数。当MSE值或者两次MSE的差值均小于10-4时,则跳出循环。
实验是对7名受试者进行脑电信号的分类。7名受试者分别为P1、P2、P3、P4、P5、P6和P7,对7名受试者的实验数据进行分类,分别使用BP神经网络、GABC-BP神经网络和CGABC-BP神经网络对采集的样本数据进行10次独立测试。实验训练100次,误差曲线如
从
表 3. 不同BP神经网络的训练结果
Table 3. Training results of different BP neural networks
|
从
采用BP、GABC-BP和CGABC-BP神经网络分别对脑电信号进行分类,CGABC-BP神经网络的平均分类准确率为91.5%,比BP神经网络提高8.1个百分点,比GABC-BP神经网络提高4.9个百分点,表明CGABC-BP神经网络的寻优速度有所提高,而且鲁棒性更强,可以很快跳出局部最优得到全局最优值。
表 4. 不同 BP神经网络的特征分类准确率结果
Table 4. Accuracy results of feature classification of different BP neural networks unit:%
|
为了对比基于交叉运算的全局ABC优化BP神经网络的分类方法与其他分类方法,将CGABC-BP神经网络与CGABC-SVM(Support Vector Machine)和GABC-BP神经网络的实验结果进行比较,同样选取P1、P2、P3、P4、P5、P6和P7 7名受试者的数据进行实验,为了更直观地观察分类结果,以柱状图的形式给出几种方法的分类结果,如
图 8. CGABC-BP与其他分类方法的准确率对比
Fig. 8. Comparison of accuracy between CGABC-BP and other classification methods
从
6 结论
采用一种基于交叉运算的全局ABC算法,该算法不仅能够提高ABC算法的探索和开发能力,而且可以提高全局寻优能力。采用基于交叉运算的全局ABC算法初始化BP神经网络的初始权值和阈值,可以有效防止目标函数陷入局部最优,使基于交叉运算的全局ABC算法对于运动想象的脑电信号分类具有较好的效果,同时可以提高鲁棒性。
[1] Wolpaw J R, Birbaumer N, Heetderks W J, et al. Brain-computer interface technology: a review of the first international meeting[J]. IEEE Transactions on Rehabilitation Engineering, 2000, 8(2): 164-173.
[2] 彭基伟, 吕文华, 行鸿彦, 等. 基于改进GA-BP神经网络的湿度传感器的温度补偿[J]. 仪器仪表学报, 2013, 34(1): 153-160.
[4] 张小栋, 郭晋, 李睿, 等. 表情驱动下脑电信号的建模仿真及分类识别[J]. 西安交通大学学报, 2016, 50(6): 1-8.
[5] 王琦, 朴燕. 基于改进遗传算法的深度图像获取技术[J]. 激光与光电子学进展, 2018, 55(2): 021003.
[6] 杨智群, 梁继然, 毛陆虹. 蚁群算法优化室内可见光通信功率均匀性的研究[J]. 激光与光电子学进展, 2019, 56(22): 220601.
[7] 韦鹏宇, 潘福成, 李帅. 改进人工蜂群优化BP神经网络的分类研究[J]. 计算机工程与应用, 2018, 54(10): 158-163.
[8] 侯占伟. 高效可信的Web服务动态优化组合方法研究[D]. 焦作: 河南理工大学, 2018: 27- 28.
Hou ZW. Research on efficient and trusted dynamic Web services optimization composition[D]. Jiaozuo: Henan Polytechnic University, 2018: 27- 28.
[9] 陈静, 周清旭, 林雅婷, 等. 基于人工蜂群算法的多抽运拉曼光纤放大器优化设计[J]. 光学学报, 2018, 38(6): 0606002.
[10] 苏彩红, 向娜, 林梅金. 基于ABC优化算法的神经网络水溶解氧预测[J]. 计算机仿真, 2013, 30(11): 325-329.
Su C H, Xiang N, Lin M J. Dissolved oxygen prediction based on artificial bee colony optimization algorithm and BP neural network[J]. Computer Simulation, 2013, 30(11): 325-329.
[11] 符晓. 云计算中基于共享机制和群体智能优化算法的任务调度研究[D]. 成都: 西南石油大学, 2018: 22- 23.
FuX. Research on task scheduling based on sharing mechanism and swarm intelligence optimization algorithm in cloud computing[D]. Chengdu: Southwest Petroleum University, 2018: 22- 23.
[12] 陈凯凯. 多容水箱液位控制系统的设计与算法研究[D]. 西安: 西安工程大学, 2018: 22- 23.
Chen KK. Research on liquid level control system design and algorithm of multi-capacity water tank[D]. Xi’an: Xi’an Polytechnic University, 2018: 22- 23.
[13] 梁显丽, 杨海波. 基于人工蜂群优化算法的激光传感云数据挖掘系统设计[J]. 激光杂志, 2019, 40(8): 94-97.
Liang X L, Yang H B. Design of laser sensing cloud data mining system based on artificialbee colony optimization algorithm[J]. Laser Journal, 2019, 40(8): 94-97.
[15] 火久元, 张政, 孟凡明. 一种劣解突变策略引导的混合人工蜂群算法[J]. 计算机应用与软件, 2018, 35(2): 267-272, 293.
Huo J Y, Zhang Z, Meng F M. A hybrid artificial bee colony algorithm based on mutation of inferior solutions[J]. Computer Applications and Software, 2018, 35(2): 267-272, 293.
[16] 张松志. 基于脑机接口的护理床脑控方法研究[D]. 西安: 西安科技大学, 2019: 39- 52.
Zhang SZ. Research on nursing bed brain control methods based on brain-computer interface[D]. Xi’an: Xi’an University of Science and Technology, 2019: 39- 52.
[17] 宓保宏, 洪文学, 宋佳霖, 等. 基于红外热成像技术与BP神经网络的心肌缺血预诊断方法研究[J]. 激光与光电子学进展, 2019, 56(1): 011101.
[18] 易正明, 邵慧君. 基于过程参数控制的烧结矿质量预测模型[J]. 矿冶工程, 2018, 38(6): 92-96.
Yi Z M, Shao H J. A prediction model for sintering quality based on control of process parameters[J]. Mining and Metallurgical Engineering, 2018, 38(6): 92-96.
[19] 张平华, 李敬明, 胡贤德, 等. 基于交叉的全局人工蜂群算法的研究[J]. 山东理工大学学报(自然科学版), 2017, 31(5): 6-11, 17.
Zhang P H, Li J M, Hu X D, et al. Research on global artificial bee colony algorithm based on crossover[J]. Journal of Shandong University of Technology (Natural Science Edition), 2017, 31(5): 6-11, 17.
[20] 王振杰. 脑机接口中的运动想象脑电信号分析与处理方法研究[D]. 杭州: 杭州电子科技大学, 2017: 35- 36.
Wang ZJ. Analysis and processing of motor imagery EEG in brain computer interface[D]. Hangzhou: Hangzhou Dianzi University, 2017: 35- 36.
[21] 刘毓, 杨柳, 刘陆. 基于遗传神经网络的学生成绩预测[J]. 西安邮电大学学报, 2019, 24(1): 79-84.
Liu Y, Yang L, Liu L. Student scores prediction based on genetic neural network[J]. Journal of Xi’an University of Posts and Telecommunications, 2019, 24(1): 79-84.
Article Outline
徐健, 陈倩倩, 刘秀平. 基于交叉运算的人工蜂群优化BP神经网络的脑电信号分类[J]. 激光与光电子学进展, 2020, 57(21): 212001. Xu Jian, Chen Qianqian, Liu Xiuping. Classification of Electroencephalography Based on BP Neural Network Optimized By Crossover Operation of Artificial Bee Colonies[J]. Laser & Optoelectronics Progress, 2020, 57(21): 212001.