信号处理--卷积残差网络实现单通道脑电的睡眠分期监测

目录

背景

亮点

环境配置

数据

方法

结果

代码获取

参考文献


背景

人类大约花三分之一的时间睡觉,这使得监视睡眠成为幸福感的组成部分。 在本文中,提出了用于端到端睡眠阶段的34层深残留的Convnet架构

亮点

使用深度1D CNN残差架构,用于端到端分类, 可以解决训练更深的CNN模型引起的消失梯度问题。 

环境配置

python; tensorflow

数据

Sleep-EDF

方法

使用三十层卷积神经残差网络,实现睡眠分期检测。

主要代码:

 

def res_first(input_tensor, filters=(64,64), kernel_size=16, dropout_rate=0.2, bias=False, maxnorm=4., **kwargs):eps = 1.1e-5nb_filter1, nb_filter2 = filtersx = Conv1D(filters=nb_filter1, kernel_initializer=initializers.he_normal(seed=1), kernel_size=kernel_size,padding='same', use_bias=bias, kernel_constraint=max_norm(maxnorm))(input_tensor)  ##x = BatchNormalization(epsilon=eps, axis=-1)(x)x = Scale(axis=-1)(x)x = Activation('relu')(x)x = Dropout(rate=dropout_rate, seed=1)(x)x = Conv1D(filters=nb_filter2, kernel_initializer=initializers.he_normal(seed=1), kernel_size=kernel_size,padding='same', use_bias=bias, kernel_constraint=max_norm(maxnorm))(x)  ##x = add([x, input_tensor])return xdef MyModel(eeg_length=3000, kernel_size=16, bias=False, maxnorm=4., **kwargs):'''Top model for the CNNAdd details of module in docstring'''eps = 1.1e-5#inputs = K.placeholder(shape=(batch_size, eeg_length,1))#x = Input(dtype= 'float32', shape=(eeg_length,1))EEG_input = Input(shape=(eeg_length,1))x = Conv1D(filters=64, kernel_size=kernel_size, kernel_initializer=initializers.he_normal(seed=1), padding='same',use_bias=bias, kernel_constraint=max_norm(maxnorm))(EEG_input)  ##x = BatchNormalization(epsilon=eps, axis=-1)(x)x = Scale(axis=-1)(x)x = Activation('relu')(x)  #  x = res_first(x, filters=[64, 64], kernel_size=kernel_size)x = res_subsam(x, filters=[64, 64], kernel_size=kernel_size, subsam=2)x = res_nosub(x, filters=[64, 64], kernel_size=kernel_size)x = res_subsam(x, filters=[64, 128], kernel_size=kernel_size, subsam=2)x = res_nosub(x, filters=[128, 128], kernel_size=kernel_size)x = res_subsam(x, filters=[128, 128], kernel_size=kernel_size, subsam=2)x = res_nosub(x, filters=[128, 128], kernel_size=kernel_size)x = res_subsam(x, filters=[128, 192], kernel_size=kernel_size, subsam=2)x = res_nosub(x, filters=[192, 192], kernel_size=kernel_size)x = res_subsam(x, filters=[192, 192], kernel_size=kernel_size, subsam=2)x = res_nosub(x, filters=[192, 192], kernel_size=kernel_size)x = res_subsam(x, filters=[192, 256], kernel_size=kernel_size, subsam=2)x = res_nosub(x, filters=[256, 256], kernel_size=kernel_size)x = res_subsam(x, filters=[256, 256], kernel_size=kernel_size, subsam=2)x = res_nosub(x, filters=[256, 256], kernel_size=kernel_size)x = res_subsam(x, filters=[256, 512], kernel_size=kernel_size, subsam=2)x = BatchNormalization(epsilon=eps, axis=-1)(x)x = Scale(axis=-1)(x)x = Activation('relu')(x)x = Model(EEG_input,x)# tf.keras.backend.eval(x)return x

 

结果

所有被试数据按照7:3的比例划分为训练和测试集数据,在单个被试在5分类的任务上,准确率达到91.4%,在6分类任务上,准确率达到90.1%。

代码获取

私信后台 S2

参考文献

L. Cen, Z. L. Yu, Y. Tang, W. Shi, T. Kluge, and W. Ser, “Deep learning method for sleep stage classification,” inInt. Conf. Neural Information Processing, 2017, pp. 796–802

M. Mourtazaev, B. Kemp, A. Zwinderman, and H. Kamphuisen, “Age and gender affect different characteristics of slow waves in the sleep eeg,”Sleep, vol. 18, no. 7, pp. 557–564, 1995.

K. He, X. Zhang, S. Ren, and J. Sun, “Identity mappings in deep residual networks,” inProc. ECCV, 2016, pp. 630–645.

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

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

相关文章

Python数据处理实战(4)-上万行log数据提取并作图进阶版

系列文章: 0、基本常用功能及其操作 1,20G文件,分类,放入不同文件,每个单独处理 2,数据的归类并处理 3,txt文件指定的数据处理并可视化作图 4,上万行log数据提取并作图进阶版&a…

一款非常适合老中医用的《书剑中医电子处方软件简明版》

上了年纪的老中医,虽然经验丰富,但是电脑的基础都比较差,而开处方的软件通常又设计的太复杂,想用电脑开处方就非常困难,所以只好坚持手写开处方。最近,小编找到了一款非常简单的《书剑中医电子处方软件简明…

网络模型(OSI ——TCP/IP)

OSI七层模型 应用层 负责处理不同应用程序之间的通信,需要满足提供协议,确保数据发送方和接收方的正确 应用层提供的协议: HTTP:超文本传输协议,由于Web浏览器于Web服务器之间的通信 FTP:文本传输协议,用于文件的上传…

【设计数据密集型应用】复制

👏作者简介:大家好,我是爱敲代码的小黄,阿里淘天Java开发工程师,CSDN博客专家📕系列专栏:Spring源码、Netty源码、Kafka源码、JUC源码、dubbo源码系列🔥如果感觉博主的文章还不错的话…

Java 静态变量

静态变量的定义 在 Java 中,静态变量(也称为类变量)是指被声明为 static 关键字的变量,它们属于类而不是实例。静态变量在类加载时被初始化,且所有实例共享同一份静态变量副本。静态变量可以通过类名直接访问&#xff…

echart的使用及注意事项

echart的使用 https://echarts.apache.org/handbook/zh/basics/download 一:安装 npm install echarts 二:引入 import * as echarts from echarts 三:初始化 注意: 当图表数据来源是异步获取赋值的时候,需要将初始化函数放在数据获取的异步中执行。

Liinux——(网络)socket编程

预备知识 源IP地址和目的IP地址 在IP数据包头部中, 有两个IP地址, 分别叫做源IP地址, 和目的IP地址 认识端口号 端口号(port)是传输层协议的内容. 端口号是一个2字节16位的整数;端口号用来标识一个进程, 告诉操作系统, 当前的这个数据要交给哪个进程来处理;IP地址 端口号能…

tomcat搭建个人博客 实现动静分离

jar包相关 .war:WebApp打包,类zip格式文件,通常包括一个应用的所有资源,比如jsp,html,配置文件等 .jar:EJB类文件的打包压缩类zip格式文件,,包括很多的class文件, 网景公司发明 .rar:资源适配器类打包文件,目前已不常…

[数据结构]OJ用队列实现栈

225. 用队列实现栈 - 力扣(LeetCode) 官方题解:https://leetcode.cn/problems/implement-stack-using-queues/solutions/432204/yong-dui-lie-shi-xian-zhan-by-leetcode-solution/ 首先我们要知道 栈是一种后进先出的数据结构&#xff0c…

python环境搭建(Python 3.11.8)

文章目录 1 安装Python2 使用虚拟环境3 Python程序打包为二进制 1 安装Python 按照linux安装python3文档安装python3,只是在编译python3时添加一个选项:--enable-shared,该选项是为了后续可以将程序打包为二进制,如果不需要该功能…

C++后端技术:编译 静态链接和动态连接

静态连接 在编译时间完成,所有相关的目标文件与牵涉到的函数库被链接合成一个可执行文件,通常为“libxxx.a”的形式 粉丝福利, 免费领取C/C 开发学习资料包、技术视频/项目代码,1000道大厂面试题,内容包括&#xff08…

艺术与科技的结合,AI绘画图生图怎么样?

AI绘画图生图是指通过人工智能技术生成的具有艺术价值的图像。它可以根据用户提供的参考图像或描述,自动生成具有艺术风格的新图像。这些图像可以是风景、人物、抽象画等各种形式。那么ai绘画图生图到底怎么样? AI绘画图生图的优点在于它可以快速、高效地…

基于springboot+vue的高校教师电子名片系统

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作 ​主要内容:毕业设计(Javaweb项目|小程序|Pyt…

Jenkins Error 403 No valid crumb was included in the request

WARNING hudson.security.csrf.CrumbFilter#doFilter: No valid crumb was included in request for /pluginManager/installPlugins by admin. Returning 403. 找到Jenkins安装目录,我的是centos yum方式安装的,在 /var/lib/jenkins 修改该目录下的co…

ANTLR4规则解析生成器(三):遍历语法分析树

文章目录 1 词法分析2 语法分析3 遍历语法分析树3.1 Listener3.2 Visitor 4 总结 1 词法分析 词法分析就是对给定的字符串进行分割,提取出其中的单词。 在antlr4中,词法规则的名称的首字母需要大写,右侧必须是终结符,通常将词法…

力扣经典题目解析--反转链表

原题地址: . - 力扣(LeetCode) 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例 1: 输入:head [1,2,3,4,5] 输出:[5,4,3,2,1] 题目解析 链表(Linked List&…

仓储管理系统(WMS) 的研发历程-PRD撰写

题外话:PRD的展现形式有多种,有的人喜欢在axure上直接做产品描述,觉得word较为过时,有的人认为axure不专业,任何展现形式都无可厚非,重要的达到PRD的目的,PRD的目标是让团队知道需求实现细节&am…

启动Docker镜像时候,ENTRYPOINT 和CMD这两者指令的写法有什么不同和区别?

ENTRYPOINT和CMD在Dockerfile中都用于指定容器启动时执行的命令,但它们之间存在一些关键的区别和不同的用途: 1. 基本用途和行为差异 ENTRYPOINT 定义了容器启动时执行的基础命令,使得容器像一个可执行程序。ENTRYPOINT让你能够指定容器启动…

抖店类目报白什么意思?什么类目需要报白?这次给你讲明白!

我是电商珠珠 不少新手在选择类目的时候,有些类目却无法选择,系统显示需要报白才可以。那什么是报白?怎么报白?今天我就一次性给你们讲清楚。 抖店类目报白什么意思? 根据官方的说法,报白就是针对一些比…

经验分享:水牛社怎么做?

本人也就是通过他慢慢学习成长起来的。还是一个网友推荐的,现在他对我来说算是大佬了,已经单飞了,好久都没有联系了,呵呵,真是人往高处走,水往低处流啊。 做网赚会经常和一些网络小白聊天,聊着…