基于睡眠声音评估睡眠质量

       随着健康意识的增强,人们越来越关注睡眠质量。确保获得充足的高质量睡眠对于维持身体健康和心理平衡至关重要。专业的睡眠状态测量主要通过多导睡眠图(PSG)进行。然而,PSG会给受试者带来显著的身体负担,并且在没有专业设施或医院的情况下很难进行测量。近年来,为了便于睡眠评估,开发了使用可穿戴设备的评估方法。但是,通过智能手表所能获得的信息是有限的,通常包括加速度和心率等数据。虽然基于脑电图(EEG)的睡眠监测提供高准确度,但需要佩戴头戴设备,即使是单通道EEG耳机,也带来了显著的负担。

     与EEG或压力传感器不同,基于声音的方法是非接触式的,并且容易收集。睡眠声音指的是睡眠期间与生物活动相关的声音,例如打鼾、身体移动、咳嗽以及环境噪音。使用睡眠声音的方法比传统方法有优势,例如非接触式,并且能够检测许多生物活动。传统上,基于睡眠声音的睡眠评估主要集中于睡眠呼吸暂停综合征的检测,而关于睡眠质量评估的研究仍然有限。在现有的基于深度学习的使用睡眠声音的睡眠质量估计中,评估的基础是一个黑箱。

      因此,我们提出一个基于机器学习使用睡眠声音的睡眠质量分类模型,该模型能够提供理由,例如“由于睡眠期间频繁翻身导致睡眠质量差”。通过提供理由,可能有助于提高用户的睡眠质量。

1 方法

     通过聚类睡眠声音事件,提出了一种高度准确和可解释的睡眠质量分类方法。聚类睡眠声音事件有助于解释每个事件,从而能够识别对睡眠质量分类重要的事件。通过聚类睡眠声音事件,可以更容易地为每个事件赋予意义,从而识别对睡眠质量分类至关重要的事件。

  • 睡眠声音事件提取: 从整夜连续录制的音频中提取睡眠声音事件例如打鼾、身体动作、咳嗽等。我们采用Kleinberg的突发提取方法来提取睡眠声音事件突发提取方法基于这样一个假设:波形的幅度遵循正态分布。它识别出那些被估计为由具有较大方差的正态分布持续生成的段落,与静止噪声相比。
  • 频域转换: 使用快速傅里叶变换 (FFT) 将提取的声音事件转换到频域,并计算功率谱作为变分自编码器(VAE)的输入向量。
  • 潜在表示提取: 使用变分自编码器 (VAE) 对功率谱进行学习,得到每个事件的潜在表示。我们对功率谱进行了归一化,使其总和等于一,将其视为概率分布,并使用Kullback-Leibler散度(KLD)作为VAE中的重建误差项。
  • 事件聚类: 使用高斯混合模型 (GMM) 对潜在表示进行聚类,将每个事件分配到不同的类别中,并计算每个事件属于每个类别的概率。
  • 数据增强: 通过对事件序列进行多次随机采样,生成不同的事件序列,模拟增加天数,从而扩充训练数据集。
  • 睡眠满意度分类: 使用长短期记忆网络 (LSTM) 对经过数据增强的事件序列进行训练,预测睡眠满意度。要估计的主观评估是“满意度”,这是一个在“满意”和“不满意”之间的二元分类,不包括“中性”。
  • 时间SHAP解释: 使用时间SHAP方法分析LSTM模型,解释睡眠质量分类中重要的事件类型和时间特征,例如身体动作、呼吸声、噪声等。

2 实验

2.1 数据集

  • 研究使用了来自不同年龄段的参与者在家录制的睡眠声音数据,持续一个月。
  • 使用智能手机 (Zenfone Live Android 7.0) 进行录音。
  • 参与者填写了问卷,包括睡前和醒后的睡眠满意度评分。睡前,他们提供了有关身体和心理疲劳、疾病或伤害的存在等问题的答案。醒来后,他们对睡眠满意度和睡眠期间的室内环境进行了评分。睡眠满意度按五点评分:“非常满意”、“满意”、“中性”、“不满意”和“非常不满意”。
  • 排除了使用空调设备或有感冒/受伤的参与者数据。
  • 选择了三位睡眠满意度差异较大的参与者进行分析。

2.2 实验方法

2.2.1 预处理

  • 使用 Kleinberg’s burst extraction 方法从音频中提取睡眠声音事件。
  • 将声音事件转换为频域,并使用功率谱作为 VAE 的输入。
  • 对连续的声音事件进行下采样,以确保 LSTM 输入序列长度适中。

2.2.2 睡眠声音事件聚类

使用 VAE 学习睡眠声音事件的潜在表示。

使用 GMM 对潜在表示进行聚类,并计算每个事件属于每个聚类的概率。

2.2.3 数据增强

  • 通过对事件序列进行多次随机采样,模拟增加天数,以增加训练数据量。

2.2.4 睡眠满意度分类

  • 使用 LSTM 对睡眠满意度进行分类,将每个事件属于每个聚类的概率作为输入。
  • LSTM 使用 sequence-to-one 方法,将一整晚的事件序列转换为二分类结果(满意或不满意)。

2.2.5解释

  • 使用 TimeSHAP 分析 LSTM 模型,解释每个聚类对睡眠满意度分类的影响。
  • 分析不同时间段 (早、中、晚) 的重要聚类和特征。

2.3 实验结果

2.3.1 分类结果

  • 提出的方法在所有参与者中都取得了较高的睡眠满意度分类准确率,最高达到 94.8%。
  • 与传统的 VAE+LSTM 方法相比,提出的方法的准确率更高或相当。

2.3.2 解释结果

  • 不同满意度下,重要聚类存在显著差异。
  • 个体之间存在睡眠特征差异,例如:

参与者 1:满意时,呼吸声更重要;不满意时,深呼吸声更重要,可能与睡眠呼吸暂停有关。

参与者 2 和 3:噪声在所有时间段都对睡眠产生负面影响。

3 结论

实验结果表明,所提出的方法能够在对夜间的睡眠满意度进行分类时实现高准确度。此外展示了基于睡眠满意度的聚类重要性存在显著差异,证明了所提出的方法能够分析个体的睡眠特征,并识别改进的领域。虽然在实验中获得高准确度,但未来还面临以挑战

  • 第一项挑战在于个体间最优VAE维度和聚类数量的显著变化。在部署使用所提出方法的睡眠评估应用时,将需要有效的调整方法。
  • 第二项挑战涉及睡眠声音事件的手动标记。由于即使是相同事件,不同个体之间的声音也存在差异,因此需要为每个个体标记睡眠声音事件。在大规模部署时,手动标记变得困难。因此,需要通过构建事件分类器和利用迁移学习等方法来简化标记过程。

4相关知识

4.1 多导睡眠图(Polysomnography, PSG)

PSG是监测睡眠情况的最重要的辅助诊断工具,能够同时监测人体在睡眠过程中的多种生理信号和生物电信号。具体来说,PSG可以监测脑电图(EEG)、眼动电图(EOG)、肌电图(EMG)、心电图(ECG)、呼吸动度、血压血氧饱和度以及腿动多项生理指标,并能对被检查者白天和夜间行为进行同步的视频记录。

4.2 基于脑电图(EEG)的睡眠监测

脑电图(EEG)是研究睡眠的一个非常重要的工具。脑电信号中包含了大量的生理与病理信息,现代EEG技术(结合其他神经科学工具)在理解非快速眼动(NREM)和快速眼动(REM)睡眠的复杂组织和功能方面具有重要作用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/694351.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Edge浏览器视频画中画可拉动进度条插件Separate Window

平时看一些视频的时候,一般需要编辑一些其他的东西,于是开启画中画,但是画中画没有进度条,需要大幅度的倒退前进得回到原视频,很麻烦。这里推荐插件Separate Window,可实现画中画进度条拉动和播放sudu的调节…

DS:堆的结构与实现

欢迎来到Harper.Lee的学习世界!博主主页传送门:Harper.Lee的博客主页想要一起进步的uu可以来后台找我哦! 一、堆的概念与结构 1.1 堆的概念 堆(Heap)是完全二叉树中的一种,分为大根堆和小根堆。 特点&#…

回归模型的算法性能评价

一、概述 在一般形式的回归问题中,会得到系列的预测值,它们与真实值(ground truth)的比较表征了模型的预测能力,为有效量化这种能力,常见的性能评价指标有平均绝对误差(MAE)、均方误…

【RAG入门教程02】Langchian的Embedding介绍与使用

Embedding介绍 词向量是 NLP 中的一种表示形式,其中词汇表中的单词或短语被映射到实数向量。它们用于捕获高维空间中单词之间的语义和句法相似性。 在词嵌入的背景下,我们可以将单词表示为高维空间中的向量,其中每个维度对应一个特定的特征…

Vatee万腾平台:数字经济时代的智能金融解决方案

在数字经济蓬勃发展的今天,金融行业的智能化、数字化已成为必然趋势。Vatee万腾平台凭借其前瞻性的战略眼光和强大的技术实力,正逐步成为数字经济时代的智能金融解决方案引领者。 Vatee万腾平台以其先进的科技实力为核心,集成了大数据、云计算…

联合体和枚举<C语言>

导言 在C语言中除了结构体外,联合体和枚举也是自定义类型,联合体主要用于节省空间,在同一块内存存储多种类型的数据,而枚举可以提高代码的可读性、可维护性。 联合体(union) 它还有个更容易理解的名字&…

【Java面试】十二、Kafka相关

文章目录 1、Kafka如何保证消息不丢失1.1 生产者发消息到Brocker丢失:设置异步发送1.2 消息在Broker存储时丢失:发送确认机制1.3 消费者从Brocker接收消息丢失1.4 同步 异步组合提交偏移量 2、Kafka如何保证消费的顺序性3、Kafka高可用机制3.1 集群模式…

HTML标签 label for 还是 htmlFor

文章目录 问题结论更多 问题 HTML标签: label 的属性 for 还是 htmlFor? MDN文档:https://developer.mozilla.org/en-US/docs/Web/HTML/Element/label 结论 for 和 htmlFor 都可以使用,都是对的。在部分情况中,只能…

atcoder abc357

A Sanitize Hands 问题&#xff1a; 思路&#xff1a;前缀和&#xff0c;暴力&#xff0c;你想咋做就咋做 代码&#xff1a; #include <iostream>using namespace std;const int N 2e5 10;int n, m; int a[N];int main() {cin >> n >> m;for(int i 1…

SpringBoot之Mybatis-plus实战

文章目录 MybatisPlus 介绍一、MyBatisPlus 集成步骤第一步、引入依赖第二步、定义mapper 二、注解TableNameTableldTableField 加解密实现步骤 在SpringBoot项目中使用Mybatis-plus&#xff0c;记录下来&#xff0c;方便备查。 MybatisPlus 介绍 为简化开发而生&#xff0c;官…

[数据集][图像分类]人种黄种人白人黑人等分类数据集56000张7类别

数据集类型&#xff1a;图像分类用&#xff0c;不可用于目标检测无标注文件 数据集格式&#xff1a;仅仅包含jpg图片&#xff0c;每个类别文件夹下面存放着对应图片 图片数量(jpg文件个数)&#xff1a;56000 分类类别数&#xff1a;7 类别名称:[“Black”,“East_Asian”,“Ind…

关于Redis中哨兵(Sentinel)

Redis Sentinel 相关名词解释 名词 逻辑结构 物理结构 主节点 Redis 主服务 一个独立的 redis-server 进程 从节点 Redis 从服务 一个独立的 redis-server 进程 Redis 数据节点 主从节点 主节点和从节点的进程 哨兵节点 监控 Redis 数据节点的节点 一个独立的 re…

Mysql学习(七)——约束

文章目录 四、约束4.1 概述4.2 约束演示4.3 外键约束 总结 四、约束 4.1 概述 概念&#xff1a;约束是作用于表中字段上的规则&#xff0c;用于限制存储在表中的数据。目的&#xff1a;保证数据库中数据的正确、有效性和完整性。分类&#xff1a; 4.2 约束演示 根据需求&…

发光二极管十大品牌

日常电路设计中&#xff0c;LED是必用的元器件之一&#xff0c;辅助判定电路异常。 十大发光二极管品牌-LED灯珠生产厂家哪家好-LED发光二极管厂家前十-Maigoo品牌榜

【python】OpenCV GUI——Trackbar(14.2)

学习来自 OpenCV基础&#xff08;12&#xff09;OpenCV GUI中的鼠标和滑动条 文章目录 GUI 滑条介绍cv2.createTrackbar 介绍牛刀小试 GUI 滑条介绍 GUI滑动条是一种直观且快速的调节控件&#xff0c;主要用于改变一个数值或相对值。以下是关于GUI滑动条的详细介绍&#xff1a…

[个人感悟] Java基础问题应该考察哪些问题?

前言 “一切代码无非是数据结构和算法流程的结合体.” 忘了最初是在何处看见这句话了, 这句话, 对于Java基础的考察也是一样. 正如这句话所说, 我们对于基础的考察主要考察, 数据结构, 集合类型结构, 异常类型, 已经代码的调用和语法关键字. 其中数据结构和集合类型结构是重点…

PowerDesigner遍历导出所有表结构到Excel

PowerDesigner遍历导出所有表到Excel 1.打开需要导出表结构到Excel的pdm文件 2.点击Tools|Execute Commands|Edit/Run Script菜单或按下快捷键Ctrl Shift X打开脚本窗口&#xff0c;输入示例VBScript脚本&#xff0c;修改其中的Excel模板路径及工作薄页签&#xff0c;点Run…

[数据集][图像分类]人种黄种人白人黑人分类数据集970张4类别

数据集类型&#xff1a;图像分类用&#xff0c;不可用于目标检测无标注文件 数据集格式&#xff1a;仅仅包含jpg图片&#xff0c;每个类别文件夹下面存放着对应图片 图片数量(jpg文件个数)&#xff1a;970 分类类别数&#xff1a;4 类别名称:[“Asian”,“Caucasian”,“Indian…

深度学习简单概述

概述 理论上来说&#xff0c;参数越多的模型复杂度越高、容量越大&#xff0c;这意味着它能完成更复杂的学习任务。但复杂模型的训练效率低&#xff0c;易陷入过拟合。随着云计算、大数据时代的到来&#xff0c;计算能力的大幅提高可以缓解训练的低效性&#xff0c;训练数据的…

Java核心: 类加载器

这一节我们来学习Java的类加载器&#xff0c;以及常用的类加载器实现URLClassLoader。 1. Java类加载器 类加载器用于将字节码读取并创建Class对象。我们知道JVM本身是用C写的&#xff0c;一开始执行的时候由C程序来加载并引导字节码的运行&#xff0c;这些由C编写的加载字节…