机器学习课程设计--基于支持向量机的听觉注意脑电模式识别

1 研究背景

脑电图(EEG)是一种能够反映大脑活动的无创性技术,通过记录头皮上的电位变化,可以获取大脑在不同状态下的脑电信号。利用排列熵方法 ,可以将脑电信号分解为不同频率和时间的成分,从而揭示大脑在听觉注意过程中的动态变化。支持向量机(SVM)是一种在机器学习领域中常用的监督学习算法,用于分类和回归任务。SVM的基本思想是找到一个超平面,它在特征空间中最好地划分不同类别的样本点。听觉注意是指人类在面对多个声源时,能够有选择地关注某一个声源,而忽略其他声源的能力。这种能力对于人类的日常生活和社会交往非常重要。然而,目前对于听觉注意的测量和评估还存在一些困难和局限性,例如依赖于主观报告、易受外界干扰、缺乏实时性和灵敏性等。因此,开发一种基于客观生理信号的听觉注意检测方法具有重要的理论意义和应用价值。

基于排列熵与支持向量机的听觉注意脑电模式识别,就是利用排列熵方法提取脑电信号的时频特征,然后用支持向量机模型对这些特征进行分类,从而判断出受试者在听觉注意任务中关注的声源。这种方法可以为探索听觉注意的神经机制提供一种新的思路和工具。

2 实验数据集介绍

2.1 实验介绍

实验数据来自比利时鲁汶大学 KU Leuven的听觉注意力检测数据集,该数据集包含从16 名正常听力受试者收集的脑电图数据。脑电图记录是在隔音、电磁屏蔽的房间中进行的。系统以8196 Hz 采样率记录64通道EEG信号。通过一对插入式耳机以60dBA的音量向每个受试者提供经过4kHz低通滤波的音频信号。在演讲过程中,受试者被指示用一只耳朵听故事,而忽略另一只耳朵的故事。每次演讲结束后,受试者都会收到一组关于他们正在听的故事的多项选择题,以帮助他们保持专注于任务的动力。在下一个演讲中,向受试者展示了两个故事的下一部分。这一次受试者被指示专注于他们的另一只耳朵。

每个试验都经过高通滤波(0.5 Hz截止),并从记录的8192 Hz采样率降至128Hz。并进行必要的数据预处理,如干扰滤波,ICA剔除伪迹成分等。

2.2 样本制作方法

对于每个实验者的样本中,将预处理后完整的时间序列进行切片操作,使用滑 动窗口的概念。设定一个固定的窗口长度(在本文中为1s),通过滑动该窗口固定步长(在本文中,重叠部分为0s,即步长为1s),来截取取当前窗口内的时间序列为一片,由此将该实验者的原时间序列划分为2880长度为1秒的时间序列片。共16个实验者,每个实验者制作成了2880个样本,样本时长为1秒,采样率为128 Hz, 脑电采集的通道数为64. 因此,每个样本的维度为128x64。

3 研究方法

3.1 特征提取方法

排列熵:

排列熵是信息理论中的一个概念,它用于描述一组数据的无序程度或者不确定性。排列熵通常用于分析序列的随机性或规律性,尤其是在基因组学、密码学和时间序列分析等领域。

对于64通道脑电信号,可以用以下原理,方法和步骤进行排列熵特征提取分析:

原理:

排列熵的计算基于信号的排列。对于脑电信号的一段时间窗口,假设有N个时间点,每个通道的信号可以看作一个长度为N的序列。

在这里插入图片描述

其中,Pi是第i种排列的概率,N是总的排列数。排列熵越高,表示序列的无序程度越大,排列越多样化;排列熵越低,表示序列越有规律或有序。

以下是排列熵计算的基本原理:

1. 构建符号序列:将每个通道的信号分成若干个离散的符号。可以使用阈值将连续的信号离散化为两个符号,例如,大于阈值的为1,小于阈值的为0。

2. 形成排列:对于每个时间窗口,每个通道形成一个符号序列,然后生成该序列的所有可能排列。

3. 计算概率:统计每种排列在序列中出现的次数,并计算每种排列的概率。概率可以通过出现次数除以总的排列数来计算。

4. 计算排列熵:使用上述介绍的排列熵公式计算每个通道的排列熵。

5. 特征向量:将所有通道的排列熵作为特征向量,用于表示整个64通道脑电信号的特征。

步骤:

1. 数据预处理:获取64通道脑电信号的原始数据。确保数据是干净的,处理可能的噪音、运动伪迹等。

2. 信号分割:将连续的脑电信号分割成一系列的时间窗口,以便对每个窗口进行独立分析。选择合适的窗口大小取决于你的具体应用和信号特性。

3. 特征提取:对于每个时间窗口的每个通道,计算排列熵。将64通道的排列熵作为特征向量。排列熵的计算过程可以使用下面的原理。

在这里插入图片描述

图 1 第一个样本的每个时间窗口数据与每个通道数据可视化数据图

3.2 机器学习模型与训练策略

模型:

本实验所采用的模型为SVC(Support Vector Classification),是支持向量机(SVM)的分类器模型。SVC的主要思想是在特征空间中找到一个超平面,该超平面可以最好地将不同类别的数据点分开。

SVC 的模型结构包括:支持向量、决策边界、决策函数。支持向量是训练数据中最接近超平面的样本点,它们对于模型的决策边界起到关键作用。决策边界是超平面,它将特征空间划分成两个区域,对应于不同的类别。决策函数基于支持向量和其对应的权重,用于对新样本进行分类。(如图2所示)

训练策略:

支持向量分类器(SVC)的训练策略旨在通过选择合适的核函数将训练数据映射到高维空间,在该空间中找到一个最优的超平面,以最大化支持向量到超平面的间隔,并确保训练数据点被正确分类。这过程将训练问题转化为一个凸优化问题,通过求解该问题找到超平面的参数,确定支持向量,并建立决策函数,最终通过评估测试数据集来验证模型的性能,同时可以通过调整超参数进一步优化模型。

最后,我们将16个个体数据中的15个作为训练集,1个作为测试集,基于SVC模型进行训练。

在这里插入图片描述

图 2 支持向量机SVC模型图示

3.3 性能评估方法

本实验中采用的指标包括:准确率Accuracy、混淆矩阵Confusion Matrix。在引入以下指标前,先说明基础概念。因为本机器学习预测目标是二分类任务:左耳听和右耳听,故二分类中存在正例(左耳)和反例(右耳)。那么,相关概念如下:

TP(真正例):模型正确地将正类预测为正类的数量。

TN(真负例):模型正确地将负类预测为负类的数量。

FP(假正例):模型错误地将负类预测为正类的数量。

FN(假负例):模型错误地将正类预测为负类的数量。

Accuracy(准确率):表示模型正确预测的样本数占总样本数的比例。计算公式为 Accuracy = (TP + TN) / (TP + TN + FP + FN),其中 TP 是真正例,TN 是真反例,FP 是假正例,FN 是假反例。

混淆矩阵(Confusion Matrix)是用于评估分类模型性能的一种表格,它展示了模型在不同类别上的预测结果与真实标签的对应关系。

正例负例
预测为正例TPFP
预测为负例FMTN

表 1 混淆矩阵示意图

4 听觉注意模型识别

实验所设计的支持向量分类器(SVC)模型如图3所示:

在这里插入图片描述

图 3 本次实验使用的SVC模型图示

本实验使用了支持向量机(SVM)中的SVC(Support Vector Classification)模型,其中C参数被设置为8,表示对分类错误的惩罚较为严厉,强调正确分类的重要性。kernel参数设置为’rbf’,即径向基函数核,用于处理非线性关系。gamma参数被设为5,它是RBF核的一个参数,控制了模型对于训练数据的拟合程度,较大的值会导致模型更加关注局部数据点。此外,probability参数被启用,允许模型输出分类的概率估计,而非仅提供类别标签。

我们的策略是将16个个体数据中的15个作为训练集,1个作为测试集,基于SVC模型进行训练,一共训练16次,生成16组数据。

在这里插入图片描述

图 4 测试样本所得Accuracy

在这里插入图片描述

图 5 测试样本混淆矩阵图示

Subject

1

Subject

2

Subject

3

Subject

4

Subject

5

Subject

6

Subject

7

Subject

8

[[816 624]

[452 988]]

[[1309 131]

[ 558 882]]

[[1412 28]

[ 919 521]]

[[1150 290]

[ 775 665]]

[[ 709 731]

[ 45 1395]]

[[717 723]

[879 561]]

[[ 614 826]

[ 399 1041]]

[[1165 275]

[ 694 746]]

Subject

9

Subject

10

Subject

11

Subject

12

Subject

13

Subject

14

Subject

15

Subject

16

[[1197 243]

[ 740 700]]

[[ 657 783]

[ 288 1152]]

[[1069 371]

[ 971 469]]

[[579 861]

[466 974]]

[[1259 181]

[ 620 820]]

[[ 736 704]

[ 228 1212]]

[[1185 255]

[ 798 642]]

[[1132 308]

[ 44 1396]]

表 2 测试样本混淆矩阵

由上面数据不难看出,对16个实验对象(Subject)每个对象分别制作一个数据集,并针对每个实验对象进行数据集分割,训练与测试,性能最好的为Subject 16,性能最差的为Subject 6。

5 总结

排列熵是一种基于序列模式的方法,用于测量时间序列的复杂性和规律性。它通过计算时间序列中不同排列的相对频率来评估该序列的复杂性。排列熵的值越大,表示时间序列越复杂,反之则越简单。在医学和生物学领域,排列熵被用于分析心电图、脑电图等生理信号,以检测疾病或异常情况。

支持向量机(SVM)是一种二分类模型,它将数据点映射到高维空间中,并寻找一个超平面,将不同类别的数据点分隔开。SVM的SVC(Support Vector Classification)分类器是一种软间隔分类器,它允许少数跨越间隔的错误分类数据点。SVC使用核函数来计算数据点之间的非线性关系,从而解决一些线性SVM无法解决的问题。

本文利用SVC模型进行左右耳听觉注意模式识别分类,首先将脑电信号通过排列熵提取特征,之后将其作为SVM中SVC分类器的输入数据,通过训练得出最终模型。
间隔的错误分类数据点。SVC使用核函数来计算数据点之间的非线性关系,从而解决一些线性SVM无法解决的问题。

本文利用SVC模型进行左右耳听觉注意模式识别分类,首先将脑电信号通过排列熵提取特征,之后将其作为SVM中SVC分类器的输入数据,通过训练得出最终模型。

  • 20
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

神秘牢大

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值