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

       随着健康意识的增强,人们越来越关注睡眠质量。确保获得充足的高质量睡眠对于维持身体健康和心理平衡至关重要。专业的睡眠状态测量主要通过多导睡眠图(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)睡眠的复杂组织和功能方面具有重要作用。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

十大人工智能企业

​​​​​​链接:​​​​​​人工智能品牌排行-人工智能十大公司-人工智能十大品牌-Maigoo品牌榜

C# WPF入门学习主线篇(二十一)—— 静态资源和动态资源

C# WPF入门学习主线篇(二十一)—— 静态资源和动态资源 欢迎来到C# WPF入门学习系列的第二十一篇。在上一章中,我们介绍了WPF中的资源和样式。本篇文章将深入探讨静态资源(StaticResource)和动态资源(Dynam…

数据挖掘--认识数据

数据挖掘--引论 数据挖掘--认识数据 数据挖掘--数据预处理 数据挖掘--数据仓库与联机分析处理 数据挖掘--挖掘频繁模式、关联和相关性:基本概念和方法 数据挖掘--分类 数据挖掘--聚类分析:基本概念和方法 数据对象与属性类型 属性:是一…

# log.info(“消息发送成功“); 红色报错 解决方案

log.info(“消息发送成功”); 红色报错 解决方案 一、错误描述: 在使用 idea 创建 maven 项目导入 lombok 依赖时,出现 log.info 报红错误,检查导入依赖正确,网络正常,错误依旧。 二、解决方案: 1、在 i…

【Java毕业设计】基于JavaWeb的洗衣店管理系统

文章目录 摘要ABSTRACT目 录1 概述1.1 研究背景及意义1.2 国内外研究现状1.3 拟研究内容1.4 系统开发技术1.4.1 SpringBoot框架1.4.2 MySQL数据库1.4.3 MVC模式 2 系统需求分析2.1 可行性分析2.2 功能需求分析 3 系统设计3.1 功能模块设计3.2 系统流程设计3.3 数据库设计3.3.1 …

嵌入式中C语言经典的面试题分享

#error的作用是什么? #error 指令让预处理器发出一条错误信息,并且会中断编译过程。下面我们从Linux代码中抽取出来一小段代码并做修改得到示例代码: 这段示例代码很简单,当RX_BUF_IDX宏的值不为0~3时,在预处理阶段就会通过 #error 指令输出一条错误提示信息: "…

GPT-4与GPT-4O的区别详解:面向小白用户

1. 模型介绍 在人工智能的语言模型领域,OpenAI的GPT-4和GPT-4O是最新的成员。这两个模型虽然来源于相同的基础技术,但在功能和应用上有着明显的区别。 GPT-4:这是一个通用型语言模型,可以理解和生成自然语言。无论是写作、对话还…

【Python】探索 One-Class SVM:异常检测的利器

我已经从你的 全世界路过 像一颗流星 划过命运 的天空 很多话忍住了 不能说出口 珍藏在 我的心中 只留下一些回忆 🎵 牛奶咖啡《从你的全世界路过》 在数据科学和机器学习领域,异常检测(Anomaly Detection)是…

Mysql学习(七)——约束

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

著名AI人工智能社会学家唐兴通谈数字社会学网络社会学主要矛盾与数字空间社会网络社会的基本议题与全球海外最新热点与关注社会结构社会分工数字财富数字游民数字经济

如果人工智能解决了一切,人类会做什么? 这个问题的背后是人工智能时代的社会主要矛盾会是什么?那么整个社会的大的分工体系就会围绕主要矛盾开展。 《人工智能社会主要矛盾》 在农业社会,主要矛盾是人口增长和土地资源之间的关…

【日常记录】【JS】中文转拼音的库 pinyin-pro

文章目录 1、介绍2、pinyin-pro 基本使用3、参考链接 1、介绍 pinyin-pro 是一个专业的 JavaScript 中文转拼音的库,具备多音字识别准确、体积轻量、性能优异、功能丰富等特点。 常用的案例 搜索功能增强:在输入框输入汉字时,可以转化为拼音输…

[CR]厚云填补_综述整理

SAR-to-Optical Image Translation and Cloud Removal Based on Conditional Generative Adversarial Networks: Literature Survey, Taxonomy, Evaluation Indicators, Limits and Future Directions Abstract 由于光学图像的局限性,其波段无法穿透云层&#xff0…

工业互联网数字中台建设方案(ppt原件)

工业互联网数字中台解决方案旨在为企业提供全面、高效的数据驱动能力。该方案主要包括以下几个核心部分: 数据中台:作为核心,数据中台负责汇聚、整合、提纯和加工各类工业数据,实现数据资产的标准化、模型化和模块化。通过提供API…

电阻十大品牌供应商

选型时选择热门的电阻品牌,主要是产品丰富,需求基本都能满足。 所所有的电路中,基本没有不用电阻的,电阻的选型需要参考阻值、精度、封装、温度范围,贴片/插件等参数,优秀的供应商如下: 十大电…

深度学习复盘与论文复现C

文章目录 4、Distributed training4.1 GPU architecture 5、Recurrent neural network5.1 The basic structure of RNN5.2 Neural networks without hidden states5.3 Recurrent neural networks with hidden states5.4 summary 6、Language Model Dataset (lyrics from Jay Ch…

Java 泛型类,泛型方法,泛型接口和通配符(用来限定类和方法的使用范围)

测试类 package Genericity;import java.util.ArrayList;public class test {public static void main(String[] args) {// 使用泛型方法添加元素ArrayList<String> list new ArrayList<>();MyToolClass.ListAdd(list,"fdsf","dsfa");System…

未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序。.net 读取excel的时候报错(实测有效)

1. 下载AccessDatabaseEngine.exe 下载链接 添加链接描述 2. office excel是64为的需要安装【AccessDatabaseEngine.exe】、32位的【AccessDatabaseEngine_X64.exe】 3. 我的是64为&#xff0c;跳过32位安装检测 1. 找到下载的安装包 2.输入安装包文件全称并在后面加上/pas…

golang的函数为什么能有多个返回值?

在golang1.17之前&#xff0c;函数的参数和返回值都是放在函数栈里面的&#xff0c;比如函数A调用函数B&#xff0c;那么B的实参和返回值都是存放在函数A的栈里面&#xff0c;所以可以轻松的返回多个值。 其他的编程语言大都使用某个寄存器来存储函数的返回值。 但是从golang…

使用亚马逊 Bedrock:Serverless LLM apps with Amazon Bedrock

Serverless LLM apps with Amazon Bedrock 本文是学习 https://www.deeplearning.ai/short-courses/serverless-llm-apps-amazon-bedrock/ 这门课的学习笔记。 What you’ll learn in this course In this course, you’ll learn how to deploy a large language model-based…

MySQL之多表查询—列子查询

一、引言 标量子查询上篇博客已学习。接下来这篇博客学习子查询的第二种形式——列子查询 列子查询 子查询返回的结果是一列&#xff08;当然也可以是多行)&#xff0c;这种子查询称为列子查询。 列子查询可以使用的操作符 IN、NOT IN 、ANY&#xff08;any&#xff09;、SOME…