Bootstrap

脑机接口--BP神经网络预测

BP神经网络的原理见下文,这里主要讲两种方式(代码形式和工具箱形式)
                        

1. BP神经网络的简介和结构参数
神经网络是机器学习中一种常见的数学模型,通过构建类似于大脑神经突触联接的结构,来进行信息处理。在应用神经网络的过程中,处理信息的单元一般分为三类:输入单元、输出单元和隐含单元。 顾名思义:输入单元接受外部给的信号与数据;输出单元实现系统处理结果的输出;隐含单元处在输入和输出单元之间,从网络系统外部是无法观测到隐含单元的结构的。除了上述三个处理信息的单元之外,神经元间的连接强度大小由权值等参数来决定。

1.1 BP神经网络的结构组成
下图是训练神经网络时经常出现的一个界面,从这部分我们可以看到,这是一个2输入1输出,5个隐含层的BP网络,称为2-5-1网络结构


1.2 BP神经网络训练界面的参数解读
需要注意的是:
1. 泛化性: 表示BP神经网络在训练过程中,如果均方误差(MSE)连续6次不降反升,则网络停止训练
2. 误差精度: 关于mu参数含义的一种理解是,mu是误差精度参数,用于给神经网络的权重再加一个调制,这样可以避免在BP网络训练的过程中陷入局部最小值,mu的范围为0到1。英文的释义如下:
Mu stands for momentum constant or momentum parameter which is included in weight update expression to avoid the problem of local minimum. Sometimes network may get stuck to local minimum and convergence does not occur. Range of mu is between 0 and 1.

大概的步骤就这下面这十步

1.准备工作

        这里我们使用的是Openbci软件采集的16通道的左手(3min)右手(3min)数据,数据已经通过预处理与特征提取,如下图

        可以看到左手与右手的数据均为16✖257,这里需要把两个数据导入进一个数值矩阵中,数据格式变为16✖514如下图

然后需要做一个目标数的设置(target),如图:

2.读取数据

3.设置训练数据和预测数据

由导入数据可知,数据长度为257✖2=514,其中前257为左手想象运动处理后数据,后257为右手想象运动处理后数据,这里设置训练数据为前180个数据和257后180个数据,剩下的数据用来训练.

3.训练样本数据归一化

4.构建BP神经网络

5.网络参数配置(训练次数,学习速率,训练目标最小误差.等)

6.BP神经网络训练

7.测试样本归一化

8.BP神经网络预测

9.预测结果反归一化与误差计算

10. 输出测试的脑电真实类别和预测类别对比结果

;