第17届研究生数学建模竞赛C题——面向康复工程的脑电信号分析和判别模型(4)

摘 要:

本文主要研究了诱发脑电信号(P300 机接口) 和自发脑电信号建模分类的问题。
主要创新点在于, 针对诱发脑电信号(
P300 信号) 识别分类模型构建问题, 结合卷积神经
网络和
PCA 主成分分析对模型进行改进, 优化 P300 信号通道选择, 最后构建出基于 CNN
的字符识别模型; 针对自发脑电信号, 结合数据特征分析和 K-Means 算法, 提出基于
K-Means 的睡眠阶段分类模型。

问题一: 我们首先对原始采集的数据进行预处理, 由于该数据来源于实验测得, 数据
存在较多的噪声, 直接进行分析干扰多且难度大, 我们首先对数据用带通滤波器作预处理,
并采用时域降采样法提取特征。 对问题进行剖析, 虽然是
36 字符分类问题, 但是 P300
号对于不同字符的刺激都是相同的, 所以该问题本质上就是一个二分类问题, 即在识别过
程中得出目标字符所在的行和列。 结合
P300 信号特性, 本文截取时间窗 150-650ms 的实
验数据作为特征数据。 由于数据量比较庞大, 为了提高训练的速度, 在时域上采用降采样
的方法, 即每
4 个采样点选取 1 个, 将采样点的数量由 225 个减少到 32 个, 故数据样本
简化为
32×20 的矩阵。 同时考虑到一轮闪烁当中目标行或者列只出现 2 次, 非目标行或者
列出现
10 次, 也就是正样本和负样本的数量是 15。 如果用这个比例的样本进行训练,
会导致模型直接把所有样本判断为负样本, 这样的训练结果是不准确的, 故考虑把正样本
直接扩大
5 倍, 使正负样本的比列达到 11。 模型选取基于 SVM、 基于朴素贝叶斯算法、
以及基于
CNN 网络结构, 经过对比, 最终 CNN 网络取得了更好的效果。 模型训练采用批
归一化(
BN) 的方法, 这样可以有效的解决梯度易消失的问题。 最后对含有 10 个待预测
字符的测试集进行预测, 我们规定对于任一待预测字符, 当某一轮次的预测值与之前某轮
次的预测结果一致, 即为预测成功, 最终模型可以在
3 轮测试下成功找出 10 个待识别字
符。 对
S1 预测结果为: [M” 、 “F” 、 “5” 、 “2” 、 “I” 、 “T” 、 “K” 、 “X” 、
A” 、 “0]S2 预测结果为: [M” 、 “F” 、 “5” 、 “2” 、 “I” 、 “T” 、 “K” 、
X” 、 “A]S3 预测结果为: [M” 、 “F” 、 “5” 、 “2” 、 “I” 、 “T” 、 “K”、
X” 、 “A]S4 预测结果为: [M” 、 “F” 、 “5” 、 “2” 、 “I” 、 “T” 、 “K”、
X” 、 “A” 、 “0]S5 预测结果为: [M” 、 “F” 、 “5” 、 “2” 、 “I” 、 “T” 、
K” 、 “X” 、 “A” 、 “0]。 所以, 我们预测的最终结果为: [M” 、 “F” 、 “5” 、
2” 、 “I” 、 “T” 、 “K” 、 “X” 、 “A” 、 “0]

问题二: 针对通道选择优化问题, 我们采用 PCA 主成分分析进行降维操作, 对各个通
道进行权重排序。 然后选择问题一中基于
CNN 的字符识别模型进行测试, 基于测试集给
出的前五个标签字符, 改变通道数目, 通过比较预测准确率高低, 确定一个数目适量的最
优通道。 对于
S1 通道数为 16, 最优通道组合为: [13456789101213
1416181920]。 同理可得出 S2S3S4S5 的最优通道组合。 最后通过对各个被
试者的通道加权平均, 确定一个适用于 5 个被试者平均加权的通道排名。 对五个被试者的
最优通道选择
16 个通道: [1345689101112131416181920]

问题三: 根据问题二结果, 选取 20 个通道中的 16 个通道(FzF4CzC3C4T8
CP3CP4CP5CP6PzP3P7OzO1O2)作为最优通道组合。 对于附件 1 中所
给数据, 选取部分为有标签数据, 部分为无标签数据, 设计基于
SVM 的半监督分类模型。
基于半监督分类的特征提取, 在传统的判别分析方法上进行改进, 通过有标签数据与无标
签数据之间的欧式距离来获得二者之间的关系, 进而来优化目标函数, 求解投影向量, 提
取特征, 然后通过投票分类的方法来进行最终的识别。 在采用
16 个通道作为最优组合通
道的条件下, 半监督
SVM 算法在含有 10 个待预测字符的测试数据下预测结果分别为:
M” 、 “F” 、 “5” 、 “2” 、 “I” 、 “T” 、 “K” 、 “X” 、 “M” 和“0” 。

问题四: 针对睡眠分期预测, 我们设计了一种基于改进 K-Means 聚类的睡眠分期预测
模型。 首先, 我们在原来
K-Means 算法的基础上, 采用小批量数据子集减小计算时间,
并同时尝试优化目标函数, 其寻找质心的方法依然与
K-Means 一致, 但是采用小批量数据
进行迭代, 可以更快得到收敛结果, 该改进算法可以对附件中的数据进行更高效地处理。
模型识别过程主要为根据数据中的各个特征相似度进行样本分组, 根据各个特征类的相似
性将数据中的集合划分成若干聚类或分组, 从实现对数据的
K 分类。 其次, 我们通过分析
模型在二维特征和三维特征下的聚类结果, 得出的结论是处于“快速眼动期” 和“睡眠Ⅰ
期” 的数据很难与其余类别的数据区分开。 随后, 我们通过比较迭代次数与模型预测准确
率的关系, 得出模型最优迭代次数为
30 次。 之后我们比较了模型在选取不同比例训练数
据下的准确率, 发现模型可以在
40%-50%训练数据下取得较好的效果(测试集准确率
72.4%) 。 最后, 我们给出了模型预测的混淆矩阵, 通过计算模型在各个类别下的准确率
与召回率, 得出的结论是: 模型在“深睡眠期” 与“清醒期” 两个类别上分类效果最好,
而在“睡眠Ⅰ期” 类别下的分类效果较差。

最后, 对针对各问题设计的模型, 进一步对各性能指标进行分析, 从模型预测准确率,
训练次数等方面分析, 我们设计的模型在一定程度上有着良好的预测性能, 为后续脑机融
合研究落地化提供方向和思路。

关键词: CNN SVM PCA 半监督 K-Means

链接:https://pan.baidu.com/s/15rHsaN57PkMgP13hHwMb8g
提取码:7rk2

为您推荐

发表评论

电子邮件地址不会被公开。 必填项已用*标注