摘 要:
本文主要研究了诱发脑电信号(P300 脑–机接口) 和自发脑电信号建模分类的问题。
主要创新点在于, 针对诱发脑电信号(P300 信号) 识别分类模型构建问题, 结合卷积神经
网络和 PCA 主成分分析对模型进行改进, 优化 P300 信号通道选择, 最后构建出基于 CNN
的字符识别模型; 针对自发脑电信号, 结合数据特征分析和 K-Means 算法, 提出基于
K-Means 的睡眠阶段分类模型。
问题一: 我们首先对原始采集的数据进行预处理, 由于该数据来源于实验测得, 数据
存在较多的噪声, 直接进行分析干扰多且难度大, 我们首先对数据用带通滤波器作预处理,
并采用时域降采样法提取特征。 对问题进行剖析, 虽然是 36 字符分类问题, 但是 P300 信
号对于不同字符的刺激都是相同的, 所以该问题本质上就是一个二分类问题, 即在识别过
程中得出目标字符所在的行和列。 结合 P300 信号特性, 本文截取时间窗 150-650ms 的实
验数据作为特征数据。 由于数据量比较庞大, 为了提高训练的速度, 在时域上采用降采样
的方法, 即每 4 个采样点选取 1 个, 将采样点的数量由 225 个减少到 32 个, 故数据样本
简化为 32×20 的矩阵。 同时考虑到一轮闪烁当中目标行或者列只出现 2 次, 非目标行或者
列出现 10 次, 也就是正样本和负样本的数量是 1: 5。 如果用这个比例的样本进行训练,
会导致模型直接把所有样本判断为负样本, 这样的训练结果是不准确的, 故考虑把正样本
直接扩大 5 倍, 使正负样本的比列达到 1: 1。 模型选取基于 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, 最优通道组合为: [1, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13,
14, 16, 18, 19, 20]。 同理可得出 S2、 S3、 S4、 S5 的最优通道组合。 最后通过对各个被
试者的通道加权平均, 确定一个适用于 5 个被试者平均加权的通道排名。 对五个被试者的
最优通道选择 16 个通道: [1, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 16, 18, 19, 20]。
问题三: 根据问题二结果, 选取 20 个通道中的 16 个通道(Fz, F4, Cz, C3, C4, T8,
CP3, CP4, CP5, CP6, Pz, P3, P7, Oz, O1, O2)作为最优通道组合。 对于附件 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