运动想象 (MI) 迁移学习系列 (9) : 数据对齐(EA)

2024-03-15 09:52

本文主要是介绍运动想象 (MI) 迁移学习系列 (9) : 数据对齐(EA),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

运动想象迁移学习系列:数据对齐(EA)

  • 0. 引言
  • 1. 迁移学习算法流程
  • 2. 欧式对齐算法流程
  • 3. 与RA算法进行对比
  • 4. 实验结果对比
  • 5. 总结
  • 欢迎来稿

论文地址:https://ieeexplore.ieee.org/abstract/document/8701679
论文题目:Transfer Learning for Brain–Computer Interfaces: A Euclidean Space Data Alignment Approach
论文代码:https://github.com/hehe03/EA/blob/master/main_MI.m

0. 引言

本篇博客重点考虑数据对齐部分,因为其对后续迁移学习的效果影响非常大。
数据对齐有多种方法,如黎曼对齐(Riemannian Alignment, RA)欧式对齐(Euclidean Alignment, EA)标签对齐(Label Alignment, LA)重心对齐(Centroid Alignment, CA) 等。下面重点介绍EA

1. 迁移学习算法流程

迁移学习算法流程如图11所示。可以看到数据对齐的位置所在!!!
在这里插入图片描述

2. 欧式对齐算法流程

欧式对齐算法流程如图12所示。其处理源域用户目标域用户的方式是一样的,所以下面描述中不区分源域用户和目标域用户。假定一个用户有n段EEG样本。EA先计算每段EEG样本的协方差矩阵,再计算这n个协方差矩阵的均值,记为 R ‾ \overline{R} R。对齐矩阵即为 R ‾ − 1 / 2 \overline{R}^{-1/2} R1/2。对每段EEG样本,左乘 R ‾ − 1 / 2 \overline{R}^{-1/2} R1/2,得到一个跟原始EEG样本维度相同的样本,用于取代进行所有后续计算,如空域滤波特征提取分类等。EA简单有效,主要原因是对齐之后任意用户的EEG样本协方差矩阵的均值都为单位矩阵,整体分布更加一致。这有点类似迁移学习中经常考虑的最大均值差异(Maximum Mean Discrepancy, MMD)度量。

在这里插入图片描述

3. 与RA算法进行对比

RA与EA对比如图13所示。EA计算更快无需任何标签信息,并且之后可以搭配任意欧式空间滤波器、特征提取、分类器等,使用更加灵活。实验证明,EA的效果提升也比RA更加明显。
在这里插入图片描述

4. 实验结果对比

我们在两个运动想象数据集(MI1、MI2)和一个事件相关电位数据集(ERP)上验证了EA的效果。MI2上的t-SNE可视化如图14所示。第一行中蓝色的点代表来自8个源域用户的数据分布,红色的点目标域用户(用户1)的数据分布。显然,EA对齐之前,源域和目标域数据分布差异很大。EA对齐之后,二者分布非常一致,有利于之后的迁移学习。第二行是用户2作为目标域时的结果,跟第一行结果类似。

在这里插入图片描述

5. 总结

到此,使用 数据对齐(EA) 已经介绍完毕了!!! 如果有什么疑问欢迎在评论区提出,对于共性问题可能会后续添加到文章介绍中。

如果觉得这篇文章对你有用,记得点赞、收藏并分享给你的小伙伴们哦😄。

欢迎来稿

欢迎投稿合作,投稿请遵循科学严谨、内容清晰明了的原则!!!! 有意者可以后台私信!!

这篇关于运动想象 (MI) 迁移学习系列 (9) : 数据对齐(EA)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

SpringBoot多环境配置数据读取方式

《SpringBoot多环境配置数据读取方式》SpringBoot通过环境隔离机制,支持properties/yaml/yml多格式配置,结合@Value、Environment和@Configura... 目录一、多环境配置的核心思路二、3种配置文件格式详解2.1 properties格式(传统格式)1.

解决pandas无法读取csv文件数据的问题

《解决pandas无法读取csv文件数据的问题》本文讲述作者用Pandas读取CSV文件时因参数设置不当导致数据错位,通过调整delimiter和on_bad_lines参数最终解决问题,并强调正确参... 目录一、前言二、问题复现1. 问题2. 通过 on_bad_lines=‘warn’ 跳过异常数据3

C#监听txt文档获取新数据方式

《C#监听txt文档获取新数据方式》文章介绍通过监听txt文件获取最新数据,并实现开机自启动、禁用窗口关闭按钮、阻止Ctrl+C中断及防止程序退出等功能,代码整合于主函数中,供参考学习... 目录前言一、监听txt文档增加数据二、其他功能1. 设置开机自启动2. 禁止控制台窗口关闭按钮3. 阻止Ctrl +

java如何实现高并发场景下三级缓存的数据一致性

《java如何实现高并发场景下三级缓存的数据一致性》这篇文章主要为大家详细介绍了java如何实现高并发场景下三级缓存的数据一致性,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 下面代码是一个使用Java和Redisson实现的三级缓存服务,主要功能包括:1.缓存结构:本地缓存:使

在MySQL中实现冷热数据分离的方法及使用场景底层原理解析

《在MySQL中实现冷热数据分离的方法及使用场景底层原理解析》MySQL冷热数据分离通过分表/分区策略、数据归档和索引优化,将频繁访问的热数据与冷数据分开存储,提升查询效率并降低存储成本,适用于高并发... 目录实现冷热数据分离1. 分表策略2. 使用分区表3. 数据归档与迁移在mysql中实现冷热数据分

C#解析JSON数据全攻略指南

《C#解析JSON数据全攻略指南》这篇文章主要为大家详细介绍了使用C#解析JSON数据全攻略指南,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、为什么jsON是C#开发必修课?二、四步搞定网络JSON数据1. 获取数据 - HttpClient最佳实践2. 动态解析 - 快速

MyBatis-Plus通用中等、大量数据分批查询和处理方法

《MyBatis-Plus通用中等、大量数据分批查询和处理方法》文章介绍MyBatis-Plus分页查询处理,通过函数式接口与Lambda表达式实现通用逻辑,方法抽象但功能强大,建议扩展分批处理及流式... 目录函数式接口获取分页数据接口数据处理接口通用逻辑工具类使用方法简单查询自定义查询方法总结函数式接口

MySQL 迁移至 Doris 最佳实践方案(最新整理)

《MySQL迁移至Doris最佳实践方案(最新整理)》本文将深入剖析三种经过实践验证的MySQL迁移至Doris的最佳方案,涵盖全量迁移、增量同步、混合迁移以及基于CDC(ChangeData... 目录一、China编程JDBC Catalog 联邦查询方案(适合跨库实时查询)1. 方案概述2. 环境要求3.

SQL中如何添加数据(常见方法及示例)

《SQL中如何添加数据(常见方法及示例)》SQL全称为StructuredQueryLanguage,是一种用于管理关系数据库的标准编程语言,下面给大家介绍SQL中如何添加数据,感兴趣的朋友一起看看吧... 目录在mysql中,有多种方法可以添加数据。以下是一些常见的方法及其示例。1. 使用INSERT I

Python使用vllm处理多模态数据的预处理技巧

《Python使用vllm处理多模态数据的预处理技巧》本文深入探讨了在Python环境下使用vLLM处理多模态数据的预处理技巧,我们将从基础概念出发,详细讲解文本、图像、音频等多模态数据的预处理方法,... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核