基于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)的小波分解机制如下:
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作为分类器的工作机制示例:
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和机器学习的压力检测系统具有广阔的发展前景。通过不断的研究和改进,有望为人类的心理健康提供更精准、更有效的检测和干预手段。
超级会员免费看
3589

被折叠的 条评论
为什么被折叠?



