龙空技术网

基于LM算法的脑电信号分类研究

电子技术应用ChinaAET 430

前言:

现时姐妹们对“lm算法训练神经网络”都比较重视,朋友们都想要了解一些“lm算法训练神经网络”的相关文章。那么小编同时在网摘上网罗了一些关于“lm算法训练神经网络””的相关文章,希望朋友们能喜欢,我们快快来学习一下吧!

脑机接口(Brain Computer Interface,BCI)是一种不依赖于外部神经和肌肉,直接将脑电信号(Electroencephalogram,EEG)转化为控制指令控制外部设备运行的通信系统。世界上由于各种事故导致身体失去运动能力的人很多,大多数残疾人活动空间有限,通常只能在病床和轮椅上活动,BCI的诞生为他们实现与外部的交流提供了可替代手段。此外,BCI在军事、娱乐等领域应用广泛,取得了较大的成就[1]。2014年召开的腾讯WE大会上众多著名专家学者提出了BCI与人工智能等将成为未来最具前沿性的科研项目,当前已成为研究的热点,具有广阔的市场范围和极大的社会价值。

目前国内外脑机接口主流研究方向有稳态视觉诱发电位、P300电位、慢皮层电位、等方式,其中前三种是通过外界刺激产生脑电信号。诸如视觉刺激、体感刺激等诱发电脑产生一定规律的信号,然后对诱发信号进行处理和分类。运动想象则是人体自发产生有关动作意向的信号,具有实际意义。

BCI由信号采集、信号预处理、特征值提取、信号分类、控制应用五部分构成。其中的核心关键在于信号分类。目前脑电信号分类方法主要有线性判别分析、隐马尔可夫模型、卡尔曼滤波器等[2],线性判别分析使用简单,容易实现。但脑电信号比较复杂,具有非线性特性,采集的信号线性可分性较弱且识别效率比较低。卡尔曼滤波器对于先验知识依赖性较大,由于当前脑科学认知有限,很难从信号中获取先验知识,在信号分类中效果较差。而BP神经网络具有较强的非线性映射能力,在解决非线性问题中取得了不错的效果,在脑电信号分类识别方面效果较好。

虽然标准BP神经网路具有很强的非线性、并行性等特点,但其也存在收敛速度慢、易陷入局部最优等局限性[3]。针对此不足,本文提出使用其优化算法中的LM算法设计分类器对信号进行分类识别。利用主成分分析提取信号特征值,运用MATLAB 2014B软件对其进行仿真试验,结果证明LM算法对比BP神经网络减少了训练时间,降低了误差,提高了分类精度,具有良好的识别效果。

1 试验材料及信号采集

1.1 仪器设备

本次实验信号采集设备使用的是Emotive Epoc+,该设备是美国Emotive公司针对脑电信号设计的一款非侵入式信号采集设备。Emotive Epoc+包含16个传感器(含两个参考电极),配置了蓝牙模块,不需要连线即可将采集的信号传输到PC,使用方便、便携,导联如图1所示。

本文算法验证平台所用硬件为基于Arduino的智能小车,核心为最新版本的开发板Arduino UNO R3。它包含蓝牙模块、WiFi模块、四驱PCB车盘、车轮、电压表、打印线等。其资料开源,可用于二次开发。

1.2 信号采集

本文重点是基于运动想象模式下的脑电信号分类,信号采集模式采用2008年BCI竞赛的实验采集方式[4-5]。实验前,在一个相对安静的条件下,安排四位同学保持安静放松的状态下坐在椅子上,按照电脑屏幕出现的箭头方向做相应的思维任务。每次实验时间为7 s,在0~2 s内,四位同学保持安静放松状态;第2秒,PC会发出响声,同时屏幕出现“+”,提示实验人员集中注意力,信号采集任务即将开始;第3秒时,PC屏幕会出现左右上下类型的箭头,同时实验人员根据箭头方向想象左手、右手、舌、脚的运动,直到第7秒结束,图2所示为单次信号采集过程。因为本课题最后是要将离线数据导入交互界面,然后控制Arduino小车左右前后方向运动来做算法验证,所以实验过程中根据箭头左右上下想象动作所采集的数据标记为左右前后四个方向数据,以便于后续信号分类。根据大脑自发脑电的特点以及产生原理,数据采集好后选择O1、O2、AF3、F4、F7、P7、FC5、P8共8个通道的数据作为数据研究样本。本次实验采集500组数据,其中400组数据为训练样本,100组数据作为测试样本。

2 信号预处理

因为脑电信号中夹杂着眼电信号、肌电信号等干扰信号,不便于下一步对信号的处理和分类,需要对信号进行滤波处理,得到符合运动想象特点的脑电信号。通过分析脑电信号所对应的功率谱可以得知,8~25 Hz频带的脑电信号增幅明显,能够鲜明反映出脑电活动,所以选择8~25 Hz频带作为研究课题的最佳范围频带对原始脑电数据进行滤波处理。

3 特征值提取

3.1 主成分分析基本原理

主成分分析是将原有变量重新组合成一组新的线性无关的几个综合指标,然后根据实际需求选取较少的综合指标反映原有变量的信息。从数学方面看,它是一种降维处理方法[6]。利用主成分研究复杂问题过程中,在不损失太多原有变量信息的情况下可只考虑少数几个主成分,这样可以抓住重点部分,提高分析效率。实际应用中,主成分分析在数据分析、人工智能、智慧农业等领域得到极大的应用。综上所述,主成分分析有以下几个优点:

(1)消除原有变量之间的相关性。主成分分析将原有变量组合为新的线性无关的主成分,消除了原有变量对分析问题的复杂性。实践表明原有变量相关性越高,该方法分析效果越好。

(2)减少选择指标的工作量。往常情况下,很多变量之间具有一定相关性,利用主成分分析可以消除原有变量之间的相关性,所以在选择研究指标上相对简单容易。

(3)降低计算工作量。该方法中各个主成分是根据方差大小来排列的,在研究问题时,可以根据实际需要选择方差较大的几个主成分,舍弃一些主成分,从而降低分析问题时的计算工作量。

计算步骤如下:

(1)原始数据标准化,目的在于消除不同量纲以及正逆指标的影响。

将原始矩阵X:

(5)选取前k个累计贡献率超过85%的主成分。

3.2 基于主城分分析特征值提取

将滤波之后的信号数据进行标准化处理后,对其进行主成分分析。表1为经分析后得出的各个主成分的特征值、方差贡献率、累计贡献。

主成分原理中,贡献率代表所提取主成分包含原始变量的信息量,累计贡献率代表相应几个主成分累积包含原始变量的信息量。通过表1可知第一主成分包含原始变量53.5%的信息量,第二主成分包含原始变量37.8%的信息量,第三主成分包含原始变量3.9%的信息量,第四主成分包含原始变量2.1%的信息量。按照累积贡献率超过85%为原则选取主成分,为避免输入变量过少引起分类准确度降低,选取前4个主成分作为新的研究变量。

4 LM算法信号识别仿真分析

4.1 BP神经网络

BP神经网络于1986年由以McCelland和Rumelhart为首的科研小组提出,它是一种误差反向传播算法,是实际应用中最为广泛的神经网络之一。其基本原理是通过输出后误差估计输出层直接前导层误差,然后利用此误差估计更前一层误差,以此模式反传获得所有层的误差不断调整网络的权值和阈值,使网络输出值接近期望值。BP神经网络由输入层、隐含层、输出层构成[7]。其中输入层神经元负责接收外部数据并传递给隐含层神经元。隐含层负责信息变换,是神经网络的内部信息处理层,其层次设计可以根据实际问题需要设计为单隐含层或多隐含层结构。输出层负责网络输出。在该网络模型训练过程中,若实际输出与期望相差较大,训练将进入误差反向传播阶段,误差会通过输出层逐一反传到输入层并不断调整各层权值和阈值,直至输出最佳实际值[8]。

虽然标准BP神经网络有一定优点,但在生活应用中仍存在一些缺陷。首先,网络训练对样本依赖性强,若样本存在冗余、代表性差、矛盾性强,则该网络很难达到预期效果。其次,权值和阈值敏感性强,需要多次调参,浪费大量时间。再者,应用中可能会陷入局部最优。针对该神经网络的种种权限,本文提出基于LM算法的BP神经网络创建分类器对脑电信号进行分类。

4.2 LM算法

基于BP神经网络的一些不足和缺陷,出现很多改进的算法。改进方式主要包括采用更加有效的优化算法和启发式学习算法。启发式学习算法主要通过对表现函数进行分析而改进BP算法。目前该类型算法主要有自适应lr的梯度法、有动量梯度下降法、有动量和自适应lr的梯度下降法等。另一种优化算法是基于数值最优化理论的改进方法,主要有共轭梯度法、高斯-牛顿法等[9]。

LM算法是介于高斯-牛顿法与梯度下降法之间的一种非线性优化方法,可以说是两者相结合的一种改进方法,既包含高斯-牛顿法的局部收敛性,又包含梯度下降法的全局性特点,能够有效抑制神经网络陷入局部最优[10]。基于LM算法的BP神经网络原理如下。

设wk为网络训练中第k次迭代的权值和阈值所组成的向量,w(k+1)表示为新的权值和阈值所组成的向量,按照下面公式可得[11]:

4.3 基于LM算法仿真识别

本次运动想象四类方向为Arduino智能小车左右前后4种动作方向,训练样本为400组,测试样本为100组。特征值分别定义为[1 0 0 0]、[0 1 0 0 ]、[0 0 1 0]、[0 0 0 1]。经过多次训练,当输入层、隐含层、输出层神经元节点数目设置为4、10、4,各网络层传递函数分别设置为tansig、tansig、purelin,学习步数epoch为1 000,学习速率lr为0.2,误差为0.000 01时,其训练效果最好,图3为其训练误差图示。最后利用标准BP神经网络训练识别并进行比较,如图4所示。

由图可知,LM算法训练误差比标准BP神经网络误差小。经计算,前者平均误差为5.630 6×10-7,分类准确率为86%,后者平均误差为0.001 4,分类准确率为56%。实验证明LM算法分类效果切实可行。

5 串口通信界面设计

图形用户界面(Graphical User Interface,GUI)是一种由菜单、窗口、光标、对话框、文本、按键等图形对象构成的用户界面。MATLAB GUI编程与M文件程序编写相对比,不仅需要写内部程序,还需要编辑前台界面[12]。MATLAB GUI前台界面由众多交互组件组成,主要有文本标签、按钮、编辑文本框、单选按钮、复选框、框架、下拉菜单、滑动条和列表框等[13]。对组件属性进行设置,并点击或通过其他方式对其进行激活后,往往会发生一些变化。MATLAB GUI中包含键盘键按下时响应函数KeyPressFcn、关闭窗口时响应函数CloseRequestFcn等,GUI设计中,总体功能的实现关键在于回调函数的编写,所以设计中掌握回调函数至关重要。

本文最终的目标是实现脑电信号分类的控制应用,总体思路为设计一个GUI界面,界面应实现数据的导入、脑电信号显示、主成分分析提取特征值、LM算法信号分类、文本框动态显示分类方向以及蓝牙串口传递控制指令等,图5所示为设计的GUI交互界面。

操作顺序如下:

(1)点击“打开训练数据”按钮,在计算机中选择处理好的训练数据导入。

(2)点击“BP分类器”按钮,开始应用LM算法对训练数据进行分类,并将分类结果转化为控制指令传递给Arduino智能车,为清晰观察算法验证效果,每一个分类结果间隔1 s显示到可编辑文本框中,并观察Arduino小车动作方向。

(3)点击“打开测试数据”按钮,在计算机中选择处理好的测试数据并将其导入。

(4)点击“BP分类器”按钮,对测试数据进行分类并观察其结果和Arduino小车动作方向。

经实验,当导入训练数据和测试数据并对其进行分类后,Arduino小车动作方向以及动作时间与文本框中分类结果和出现时间一致,证明算法验证成功。

6 结论

信号分类是脑机接口中的关键和核心[14],本文针对其提出应用LM算法创建分类器对脑电信号进行分类识别。利用主成分分析对预处理的信号进行降维处理,去除了不同导联信号的相关性,避免了变量过多导致训练效率降低的情况,然后分别将LM算法和BP神经网络训练分类做对比,实验证明前者在误差、分类准确度上优于后者,具有较好的分类效果。

参考文献

[1] 陈丰,吴裕斌,曹丹华.基于STM32和USB虚拟串口的EEG信号采集仪设计[J].仪表技术与传感器,2016(12):65-68.

[2] 许童羽,马艺铭,曹英丽,等.基于主成分分析和遗传优化BP神经网络的光伏输出功率短期预测[J].电力系统保护与控制,2016,44(22):90-95.

[3] LI C,DAI Y,ZHAO J,et al.Remote sensing monitoring of volcanic ash clouds based on PCA method[J].ACTA Geophysica,2015,63(2):1-19.

[4] SHIN J W,KWON S B,BAK Y,et al.BCI induces apoptosis via generation of reactive oxygen species and activation of intrinsic mitochondrial pathway in H1299 lung cancer cells[J].Science China Life Sciences,2018:1-11.

[5] He Gaiyun,Huang Can,Guo Longzhen,et al.Identification and adjustment of guide rail geometric errors based on BP neural network[J].Measurement Science Review,2017,17(3):135-144.

[6] 陈悦,张少白.LM算法在神经网络脑电信号分类中的研究[J].计算机技术与发展,2013(2):119-122.

[7] 冯思维,魏庆国.一种基于稳态视觉诱发电位的脑-机接口阅读系统[J].科学技术与工程,2015,15(35):204-207.

[8] 徐竹涛.基于MATLAB GUI的温室滴灌系统优化设计方法研究[D].杨凌:西北农林科技大学,2016.

[9] 徐佳琳,左国坤.基于互信息与主成分分析的运动想象脑电特征选择算法[J].生物医学工程学杂志,2016(2):201-207.

[10] 郑国正,陈李胜.共同空间模型及其在EEG分类中的应用[J].上饶师范学院学报,2015(6):10-13.

[11] 叶德文,郁芸,李修寒.基于Visual Studio与Matlab集成的脑电数据库管理和分析系统[J].生物医学工程研究,2015,34(4):238-242.

[12] 孙会文,伏云发,熊馨,等.基于HHT运动想象脑电模式识别研究[J].自动化学报,2015,41(9):1686-1692.

[13] 梁致汉.基于EEG的脑机接口技术研究与实现[D].天津:天津理工大学,2015.

[14] XUE F,YANG Y L,DONG F T.Real-time temperature monitoring system design based on MATLAB GUI[J].Journal of Computer Applications,2014,889-890(1):737-740.

作者信息:

赵东东1,宋洪军2,许玉虎1,崔东云1,王 帅1,丁筱玲1

(1.山东农业大学 机械与电子工程学院,山东 泰安271018;2.国投创新投资管理有限公司,北京100000)

标签: #lm算法训练神经网络