39、基于EEG和机器学习的压力检测系统研究

基于EEG和机器学习的压力检测系统研究

在当今社会,压力对人们的身心健康产生着广泛影响,准确检测人类的压力水平变得至关重要。本文将介绍一种基于脑电图(EEG)和机器学习技术的压力检测系统,该系统通过数据采集、特征提取、特征选择和分类等步骤,实现对人类心理状态的有效分类。

1. 系统概述

该压力检测系统的工作流程主要包括以下几个关键步骤:
1. 数据采集 :使用脑电图(EEG)设备收集人类大脑信号。
2. 特征提取 :采用离散小波变换(DWT)从EEG信号中提取特征。
3. 特征选择 :运用主成分分析(PCA)进行特征选择和降维。
4. 分类 :使用支持向量机(SVM)对心理状态进行分类,识别出压力和非压力状态。

以下是系统工作流程的mermaid流程图:

graph LR
    A[数据采集(EEG)] --> B[特征提取(DWT)]
    B --> C[特征选择(PCA)]
    C --> D[分类(SVM)]
    D --> E[心理状态识别]

2. EEG数据采集

脑电图(EEG)是一种用于记录大脑电活动的技术,在本系统中作为数据采集设备。EEG电极的放置基于国际10 - 20系统,不同区域的电极对应着大脑的不同部位。例如,字母F、P、O、C和T分别代表额叶、顶叶、枕叶、中央和颞叶区域,数字的奇偶性则表示左右半球。

2.1 EEG电极布局

以下是用于采集数据的部分EEG电极:AF3、AF4、T8、T7、P8、P7、O2、O1、FC6、F8、F7、F4、F3和FC5。

2.2 数据采集实验

使用公开可用的GAMEEMO数据集,让28名不同的受试者分别玩四款不同类型的安卓游戏,包括恐怖、有趣、酷炫和无聊的游戏,每款游戏时长为5分钟,总时长20分钟。通过这些实验收集EEG信号,用于后续的分析和处理。

3. 特征提取:离散小波变换(DWT)

小波变换是一种用于表示或近似函数或信号的方法,具有尺度和位置两个基本属性。在小波变换技术中,连续小波变换(CWT)考虑了无限数量的尺度和位置上的所有可能小波,而离散小波变换(DWT)则使用有限的小波集合。

3.1 DWT与CWT的区别

由于EEG信号是离散的,因此本系统采用DWT进行特征提取。与CWT相比,DWT将小波基函数的尺度和位置限制在离散点上,实现了尺度离散化和位移。

3.2 DWT的数学定义

信号s(t)的DWT定义如下:
[
T_d(t) = \frac{1}{\sqrt{m}} \sum_{k} W_x(p_0, q) x_{p_0,q}(t) + \frac{1}{\sqrt{m}} \sum_{p = p_0}^{\infty} \sum_{k} W_y(p, q) y_{p,q}(t)
]
其中,近似或缩放系数为:
[
W_x(p_0, q) = \frac{1}{\sqrt{m}} \sum_{t = 0}^{m - 1} T_d(t) \tilde{x} {p_0,q}(t)
]
详细系数为:
[
W_y(p, q) = \frac{1}{\sqrt{m}} \sum
{t = 0}^{m - 1} T_d(t) \tilde{y}_{p,q}(t)
]
$p_0$为任意初始尺度。

3.3 小波分解示例

以三层小波分解为例,信号s(t)的小波分解机制如下:
Three-layer wavelet decomposition

3.4 小波基函数选择

在本系统中,考虑了Haar、sym5、db1和coiflet等小波基函数。实验结果表明,Haar小波函数在EEG特征提取方面表现优于其他函数,因此被选为小波基函数。

4. 特征选择:主成分分析(PCA)

主成分分析(PCA)是一种常用的机器学习降维方法,在本系统中用于去除EEG信号中的眨眼伪影噪声。

4.1 PCA的工作原理

PCA是一种正交线性变换,将数据转换到新的坐标系中,使得数据的最大方差投影到第一个坐标轴(PC1)上,第二大方差投影到第二个坐标轴(PC2)上,依此类推。

4.2 PCA的操作步骤

以下是在D维数据矩阵M上执行PCA以获得降维d(d ≤ D)的具体步骤:
1. 计算均值 :计算数据矩阵M中所有样本的均值$\tilde{m}$。
- 公式:$\tilde{m} = \frac{1}{N} \sum_{j = 1}^{N} m_j$
2. 计算协方差矩阵 :计算数据矩阵M的协方差矩阵Cov(m)。
- 公式:$Cov(m) = \frac{1}{N} \sum_{j = 1}^{N} (m_j - \tilde{m})(m_j - \tilde{m})^T$
3. 特征分解 :对协方差矩阵Cov(m)进行特征分解,得到特征向量$V_1, V_2, \cdots, V_D$和对应的特征值$E_1, E_2, \cdots, E_D$,并按降序排列。
- 公式:$E_1 \geq E_2 \geq \cdots \geq E_D \geq 0$
4. 降维输出 :对于任意样本$m \in R^D$,降维后的输出为:
- 公式:$Y = [V_1^T(m - \tilde{m}), V_2^T(m - \tilde{m}), \cdots, V_d^T(m - \tilde{m})]^T \in R^d$
- 原始样本m的近似值为:$m \approx \tilde{m} + V_1^T(m - \tilde{m})V_1 + V_2^T(m - \tilde{m})V_2 + \cdots + V_d^T(m - \tilde{m})V_d$

4.3 PCA降维效果

在本系统中,考虑了七个主成分,将特征空间从38252×10×28×4维降低到38252×7×28×4维,有效减少了特征数量,提高了系统性能。

5. 分类:支持向量机(SVM)

支持向量机(SVM)是一种常用的分类方法,在情感分类、人类情绪状态分类等领域有广泛应用。在本系统中,SVM用于对心理状态进行分类,识别出压力和非压力状态。

5.1 SVM的工作原理

SVM在多维空间中创建一个决策边界,将不同类别的数据点分开。最佳决策边界称为超平面,通过选择一些极端数据点作为支持向量来设计超平面。SVM是一种二元分类器,可以将数据点分为两类。对于多类分类问题,SVM采用一对多或一对一的方法,将多类分类问题分解为多个二元分类问题。

5.2 SVM的类型

SVM可以分为线性SVM和非线性SVM,分别适用于线性可分和非线性可分的数据。对于非线性数据,需要添加一个额外的维度z,例如$z = x^2 + y^2$。

5.3 SVM的工作机制示例

以下是SVM作为分类器的工作机制示例:
The general working mechanism of support vector machine

5.4 SVM在本系统中的应用

在本系统中,使用SVM进行压力检测。训练分类器时,将五个EEG周期的瞬时频率值作为特征向量。根据游戏类型,将数据点分为压力和非压力两类:玩酷炫和有趣游戏的玩家标记为非压力,玩恐怖和无聊游戏的玩家标记为压力。

6. 实验结果与讨论

6.1 数据集准备

使用GAMEEMO数据集,通过让受试者玩四款不同类型的游戏收集EEG数据。考虑了14个电极通道进行数据采集。

6.2 激活脑区选择

使用sLORETA 2.0平台评估游戏过程中EEG信号的皮层内循环电活动,确定前额叶、枕叶、顶叶和颞叶皮质在压力和非压力两种心理状态下具有峰值激活。

6.3 DWT特征提取结果

基于sLORETA激活结果,使用10个电极通道(AF3、AF4、O1、O2、P7、P8、FC5、FC6、T7和T8)通过DWT从大脑的前额叶、额叶和颞叶区域提取特征,得到38252×10×28×4维的特征空间。实验结果表明,Haar小波函数在特征提取方面表现最佳。

6.4 PCA降维结果

使用PCA进行降维,考虑七个主成分,将特征空间降低到38252×7×28×4维。虽然无法在二维空间中展示七维PCA结果,但通过考虑两个最相关的主成分,可以直观地看到降维效果。

6.5 SVM分类结果

使用SVM对心理状态进行分类,用户无关分类使用所有参与者的数据进行训练。选择SVM的原因是它具有良好的泛化能力和准确性,并且在现实世界的应用中表现可靠。实验结果表明,SVM能够有效地将数据点分为压力和非压力两类。

6.6 性能指标

使用以下性能指标评估分类性能:
- 准确率(Accuracy) :正确分类的实例数与总实例数的比率。
- 精确率(Precision) :正确预测的正例数与总预测正例数的比率。
- 召回率(Recall) :正确预测的正例数与实际正例数的比率。
- 错误率(Error Rate) :错误分类的实例数与总实例数的比率。
- F1分数(F1 Score) :精确率和召回率的加权平均值。
- 假阳性率(False Positive Rate) :错误分类为正例的样本数与所有负例样本数的比率。
- 真阳性率(True Positive Rate) :正确分类为正例的样本数与所有正例样本数的比率。

6.7 性能评估

将SVM与其他分类器(如kNN、DT、随机森林和朴素贝叶斯)进行比较,结果表明SVM在检测受试者玩四款不同游戏时的压力方面表现更优。同时,考虑了不同的核参数值(线性、sigmoid、RBF和多项式),其中RBF核在超参数调整阶段表现最佳。

以下是SVM分类结果的性能指标表:
| 心理状态 | 精确率 | 召回率 | 错误率 | F1分数 |
| ---- | ---- | ---- | ---- | ---- |
| 非压力 | 0.88 | 0.63 | 0.08 | 0.69 |
| 压力 | 0.78 | 0.87 | 0.07 | 0.74 |
| 平均 | 0.83 | 0.795 | 0.075 | 1.43 |

此外,还考虑了接收器操作特性(ROC)曲线和曲线下面积(AUC)值,以评估分类器的性能。实验结果表明,RBF核且gamma值为0.01的SVM是当前研究工作的最佳选择。

6.8 统计显著性

通过运行五种不同算法25次,记录每个性能指标的均值和标准差。使用配对t检验比较最佳和次佳算法的均值差异,结果显示在统计上具有显著性。

7. 结论与展望

本研究提出的基于EEG和机器学习的压力检测系统,通过数据采集、特征提取、特征选择和分类等步骤,实现了对人类心理状态的有效分类,分类准确率达到92.79%。同时,生成了大脑地图以检测大脑活跃区域的压力水平。

未来的工作可以考虑使用不同的刺激源,如观看电影、听音乐、社交媒体帖子等,进一步扩展系统的应用范围。此外,还可以探索更多的机器学习算法和特征提取方法,以提高系统的性能和准确性。在疫情期间,该系统可以为人们的心理健康监测和康复提供有效的支持。

8. 性能指标详解

在评估分类器性能时,各项性能指标都有其独特的意义和计算方式。下面对这些指标进行详细解释:
- 准确率(Accuracy) :它反映了分类器整体的分类正确性,计算公式为正确分类的实例数与总实例数的比值。准确率越高,说明分类器在整体上的表现越好。
- 精确率(Precision) :精确率衡量的是分类器预测为正例的样本中,真正为正例的比例。其计算方式是正确预测的正例数与总预测正例数的比率。精确率高意味着分类器在预测正例时的可靠性较高。
- 召回率(Recall) :也称为敏感性,它表示分类器能够正确识别出实际正例的能力。计算公式是正确预测的正例数与实际正例数的比率。召回率高说明分类器能够较好地捕捉到正例样本。
- 错误率(Error Rate) :错误率体现了分类器分类错误的程度,计算方法是错误分类的实例数与总实例数的比率。错误率越低,分类器的性能越好。
- F1分数(F1 Score) :F1分数是精确率和召回率的加权平均值,它综合考虑了精确率和召回率两个方面。当需要同时平衡精确率和召回率时,F1分数是一个很好的评估指标。
- 假阳性率(False Positive Rate) :指的是错误分类为正例的样本数与所有负例样本数的比率。假阳性率越低,说明分类器将负例误判为正例的情况越少。
- 真阳性率(True Positive Rate) :即正确分类为正例的样本数与所有正例样本数的比率。真阳性率越高,表明分类器对正例的识别能力越强。

9. 不同分类器的比较

为了更全面地评估SVM的性能,将其与其他常见的分类器进行了比较,包括k - 近邻(kNN)、决策树(DT)、随机森林(RF)和朴素贝叶斯(NB)。比较的主要指标是准确率,结果如下表所示:
| 分类器 | 准确率 |
| ---- | ---- |
| kNN | 90.71% |
| DT | 87.58% |
| RF | 80.36% |
| NB | 74.02% |
| SVM | 92.79% |

从表格中可以明显看出,SVM在准确率方面表现最优。这表明在本压力检测系统中,SVM具有更好的分类能力,能够更准确地将心理状态分为压力和非压力两类。

10. SVM核参数的影响

在使用SVM进行分类时,核参数的选择对分类性能有重要影响。本研究考虑了四种不同的核参数值:线性、sigmoid、RBF和多项式。在超参数调整阶段,对不同核参数下的SVM性能进行了评估,具体结果如下表所示:
| 核参数 | Gamma值 | 假阳性率(FPR) | 真阳性率(TPR) | 曲线下面积(AUC) |
| ---- | ---- | ---- | ---- | ---- |
| 线性 | - | 0.512 | 0.616 | 0.569 |
| sigmoid | - | 0.498 | 0.543 | 0.501 |
| 径向基函数(RBF) | 1 | 0.342 | 0.578 | 0.657 |
| 径向基函数(RBF) | 0.1 | 0.231 | 0.763 | 0.564 |
| 径向基函数(RBF) | 0.01 | 0.152 | 0.912 | 0.89 |
| 径向基函数(RBF) | 0.001 | 0.165 | 0.769 | 0.745 |
| 多项式 | - | 0.340 | 0.712 | 0.672 |

从表格数据可以看出,RBF核在不同Gamma值下的表现有所不同。其中,当Gamma值为0.01时,SVM的真阳性率最高,曲线下面积(AUC)也最大,达到了0.89。这表明在本实验中,RBF核且Gamma值为0.01的SVM在分类性能上表现最佳。

11. 与现有相关工作的比较

为了验证本压力检测系统的有效性和适用性,将其与现有相关工作进行了比较,比较的指标为准确率。比较结果如下图所示:

graph LR
    A[现有相关工作1] --> C[准确率]
    B[现有相关工作2] --> C
    D[现有相关工作3] --> C
    E[SVM系统] --> C

从图中可以直观地看到,本系统的准确率高于现有相关工作。这说明本系统在压力检测方面具有更好的性能,能够更准确地识别出人类的压力状态。

12. 统计显著性分析

为了进一步验证不同算法之间的性能差异是否具有统计学意义,进行了统计显著性分析。具体做法是运行五种不同算法(SVM、kNN、DT、RF、NB)25次,记录每个性能指标的均值和标准差。然后使用配对t检验比较最佳和次佳算法的均值差异,结果如下表所示:
| 性能指标 | SVM | kNN | DT | RF | NB | 统计显著性 |
| ---- | ---- | ---- | ---- | ---- | ---- | ---- |
| 准确率 | 0.93(0.161) | 0.90(0.531) | 0.87(0.657) | 0.80(0.645) | 0.74(0.314) | + |
| 精确率 | 0.92(0.134) | 0.87(0.634) | 0.89(0.453) | 0.87(0.564) | 0.75(0.324) | + |
| 召回率 | 0.93(0.168) | 0.45(0.324) | 0.67(0.498) | 0.78(0.654) | 0.81(0.134) | + |
| F1分数 | 0.86(0.013) | 0.74(0.125) | 0.67(0.054) | 0.78(0.435) | 0.74(0.175) | + |
| 平均错误率 | 0.07(0.019) | 0.40(0.232) | 0.25(0.143) | 0.65(0.435) | 0.19(0.023) | + |

表中“+”表示在0.05的显著性水平下,通过两尾检验,最佳和次佳算法的均值差异具有统计学意义。这说明本系统所采用的SVM算法在性能上与其他算法存在显著差异,进一步证明了SVM算法在本压力检测系统中的优势。

13. 总结

本压力检测系统通过结合脑电图(EEG)技术和机器学习算法,实现了对人类心理状态的有效分类。具体步骤包括使用EEG设备进行数据采集,利用离散小波变换(DWT)提取特征,借助主成分分析(PCA)进行特征选择和降维,最后使用支持向量机(SVM)进行分类。实验结果表明,该系统在分类准确率上达到了92.79%,并且生成的大脑地图有助于检测大脑活跃区域的压力水平。

14. 未来展望

尽管本系统在压力检测方面取得了较好的效果,但仍有许多可以改进和扩展的地方。未来的研究可以从以下几个方面展开:
- 多样化的刺激源 :考虑使用不同的刺激源,如观看电影、听音乐、社交媒体帖子等,以更全面地检测人类在不同场景下的压力状态。这将有助于扩大系统的应用范围,使其能够更好地适应现实生活中的各种情况。
- 更多的机器学习算法和特征提取方法 :探索更多的机器学习算法和特征提取方法,以提高系统的性能和准确性。不同的算法和方法可能在不同的数据和场景下表现出更好的效果,通过不断尝试和优化,可以进一步提升系统的分类能力。
- 疫情期间的应用拓展 :在疫情期间,人们的心理健康问题更加凸显。可以进一步拓展系统的应用,为人们的心理健康监测和康复提供更有效的支持。例如,结合远程医疗技术,实现对患者的实时监测和干预。

总之,基于EEG和机器学习的压力检测系统具有广阔的发展前景。通过不断的研究和改进,有望为人类的心理健康提供更精准、更有效的检测和干预手段。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值