脑电数据(EEG/SEEG)处理-特征可视化

2024-04-17 13:58

本文主要是介绍脑电数据(EEG/SEEG)处理-特征可视化,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

       在之前的文章中,我已经介绍了利用CNN神经网络来进行脑电特征的提取及识别。我的课题是有关癫痫的脑电特征分析,在实际的实验中你会发现,你的神经网络很容易过拟合,可以将实验抽象为分类任务,可以分为两个方向来进行训练:

  1. 将所有的数据划按照一定的比例划分为两个部分(eg.7:3),一部分用于训练,一部分用于测试。
  2. 将数据按照人来进行划分,假设有n个人,n-k个人作为训练街,但是后面的k个人作为验证集。

在实验中你会发现用一种方法模型的准确率都是很高的,但是当你使用第二种的方法你模型的效果就很差,特别是在少样本的情况之下。在博主的实验中,用一般的CNN神经网络,第一种方法准确率达到了99.85%, 但是用第二种方式进行训练,准确率只有:52%左右。因此这就会引人深思:为什么会出现这种情况? 以及第一种方法学习到的和第二种方法学习到的特征到底是什么?

因此可视化其中的特征,以及根据特征进行分析是十分有必要的。首先可以看看相关的脑电的能量谱图:

正常睡眠的能量谱图
癫痫发作前的能量谱图
癫痫发作前睡眠能量谱图​​
​​​

 

以上的能量谱图的纵坐标是对应特定的信道,横坐标是取得时间窗口。这是一个整体的均值。

我们可以简单的划分为这个两个部分,input神经网络进行训练。

神经网路的最后一层全连接层会学习到抽象的特征信息,并且这些信息是和特征所在的位置有关系的。将学习到的特征进行拼接,可以得到时序的热力图。因此可以得到特征的位置。因此可以对此特征进行分析。

 

经过一层的特征

 

经过两层的特征

 

可视化的特征

特征抽取能够有助于研究模型可解释相关工作。

之后我还会整理关于特征分析的相关工作。

这篇关于脑电数据(EEG/SEEG)处理-特征可视化的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/911988

相关文章

Git可视化管理工具(SourceTree)使用操作大全经典

《Git可视化管理工具(SourceTree)使用操作大全经典》本文详细介绍了SourceTree作为Git可视化管理工具的常用操作,包括连接远程仓库、添加SSH密钥、克隆仓库、设置默认项目目录、代码... 目录前言:连接Gitee or github,获取代码:在SourceTree中添加SSH密钥:Cl

Java注解之超越Javadoc的元数据利器详解

《Java注解之超越Javadoc的元数据利器详解》本文将深入探讨Java注解的定义、类型、内置注解、自定义注解、保留策略、实际应用场景及最佳实践,无论是初学者还是资深开发者,都能通过本文了解如何利用... 目录什么是注解?注解的类型内置注编程解自定义注解注解的保留策略实际用例最佳实践总结在 Java 编程

Pandas中统计汇总可视化函数plot()的使用

《Pandas中统计汇总可视化函数plot()的使用》Pandas提供了许多强大的数据处理和分析功能,其中plot()函数就是其可视化功能的一个重要组成部分,本文主要介绍了Pandas中统计汇总可视化... 目录一、plot()函数简介二、plot()函数的基本用法三、plot()函数的参数详解四、使用pl

一文教你Python如何快速精准抓取网页数据

《一文教你Python如何快速精准抓取网页数据》这篇文章主要为大家详细介绍了如何利用Python实现快速精准抓取网页数据,文中的示例代码简洁易懂,具有一定的借鉴价值,有需要的小伙伴可以了解下... 目录1. 准备工作2. 基础爬虫实现3. 高级功能扩展3.1 抓取文章详情3.2 保存数据到文件4. 完整示例

使用Java将各种数据写入Excel表格的操作示例

《使用Java将各种数据写入Excel表格的操作示例》在数据处理与管理领域,Excel凭借其强大的功能和广泛的应用,成为了数据存储与展示的重要工具,在Java开发过程中,常常需要将不同类型的数据,本文... 目录前言安装免费Java库1. 写入文本、或数值到 Excel单元格2. 写入数组到 Excel表格

Java 中的 @SneakyThrows 注解使用方法(简化异常处理的利与弊)

《Java中的@SneakyThrows注解使用方法(简化异常处理的利与弊)》为了简化异常处理,Lombok提供了一个强大的注解@SneakyThrows,本文将详细介绍@SneakyThro... 目录1. @SneakyThrows 简介 1.1 什么是 Lombok?2. @SneakyThrows

在 Spring Boot 中实现异常处理最佳实践

《在SpringBoot中实现异常处理最佳实践》本文介绍如何在SpringBoot中实现异常处理,涵盖核心概念、实现方法、与先前查询的集成、性能分析、常见问题和最佳实践,感兴趣的朋友一起看看吧... 目录一、Spring Boot 异常处理的背景与核心概念1.1 为什么需要异常处理?1.2 Spring B

python处理带有时区的日期和时间数据

《python处理带有时区的日期和时间数据》这篇文章主要为大家详细介绍了如何在Python中使用pytz库处理时区信息,包括获取当前UTC时间,转换为特定时区等,有需要的小伙伴可以参考一下... 目录时区基本信息python datetime使用timezonepandas处理时区数据知识延展时区基本信息

Qt实现网络数据解析的方法总结

《Qt实现网络数据解析的方法总结》在Qt中解析网络数据通常涉及接收原始字节流,并将其转换为有意义的应用层数据,这篇文章为大家介绍了详细步骤和示例,感兴趣的小伙伴可以了解下... 目录1. 网络数据接收2. 缓冲区管理(处理粘包/拆包)3. 常见数据格式解析3.1 jsON解析3.2 XML解析3.3 自定义

SpringMVC 通过ajax 前后端数据交互的实现方法

《SpringMVC通过ajax前后端数据交互的实现方法》:本文主要介绍SpringMVC通过ajax前后端数据交互的实现方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价... 在前端的开发过程中,经常在html页面通过AJAX进行前后端数据的交互,SpringMVC的controll