《大话脑成像》之:独立成分分析

article/2025/11/9 5:35:16

      少年,我看你骨骼精奇,是万中无一的武学奇才,维护世界和平就靠你了,我这有本武林秘籍《九阴真经之万军丛中听声辩位分筋错骨取敌将首级之盲源分离大法》,简称,《独立成分分析》,见与你有缘,转发一下就送给你了!

       我们在听力上与生俱来就有从混合信号中提取源信号的能力。设想你身处一个热闹的鸡尾酒会,各路名流谈笑风生,孩童嬉戏打闹,顶级乐队高山流水,这时候隔壁工地的工头在远处喊了一声你的名字:李狗蛋!瞬间就穿透其他声音传入你的耳朵,你只好悻悻回去,在工头的呵斥下与赛琳娜告别,悻悻回去搬砖。这就是鸡尾酒会效应(英语:cocktail party effect),它指人的一种听力选择能力,在这种情况下,注意力集中在某一个人的谈话之中而忽略背景中其他的对话或噪音。该效应揭示了人类听觉系统中令人惊奇的能力,使我们可以在噪声中谈话。在数学上,我们将一系列混合信号解码成一系列源信号的方法叫做盲源分离(BSS,blind source seperation),而独立成分分析(ICA,independent component analysis)就是一种典型的盲源分离的方法。

 

 

     前文提到李狗蛋在酒会中分辨出工头声音,有很大一部分原因是他原先就知道工头的声音的特征,而计算机并不知道源信号的特征具体是什么样的,此时我们就需要多个观测数据(比如在n个人说话的房间不同位置放m个话筒),并且我们需要m>n(即话筒数需要大于说话的人数)。这涉及到矩阵求解中的超定和欠定问题,在此不做赘述。本文作为一档严(you)肃(mo)而不正经的科普文,接下来我需要列一下公式:

假设某个数据  是由 n 个独立的数据源而产生的。我们观察到的是:

x = As

这里矩阵 A 是方阵,被称作混合矩阵。观察或者记录 m 次,就可以得到一个数据集{x(i); i = 1, 2, ... , m},我们的目标是利用已经产生的数据( x(i) = As(i) )去恢复出数据源 s(i)

     细心的同学可以已经发现了,上式中,只有观测信号x是我们已知的,而混合矩阵A和源信号矩阵s对于我们都是未知的。学过九年制义务教育这种顶级学历水平的我们知道,只有一个等式是没法求出两个未知数的,此时A和s可以有无穷多个解。所以我们需要加入更多的限制条件来对其进行约束。这里引入一个中心极限定理(Central Limit Theorem)的概念,在适当的条件下,大量相互独立随机变量的均值经适当标准化后依分布收敛于正态(高斯)分布。简单来说,越是混合的变量,越是高斯(高斯性越强)。那我们在一起反向思考就可以发现,越是独立的变量,非高斯性就会越强。如果我们再假设我们的源信号都是相互独立的,再用峭度(kurtosis)等参数对变量的非高斯性进行量化,那么只要找到非高斯性最强的一组相互正交的变量集s,就是我们要求得的原始信号了!这就是ICA的基本原理。具体的ICA优化算法有很多,基于定点递推算法(fixed-point algorithom)的fastICA、基于最大联合熵和梯度算法的Informax以及最大似然估计法(MLE,Maximum likelihood estimation)等,在此就不一一赘述了。

       接下来就是ICA在fMRI中的应用了。由第十期大话脑成像我们知道,fMRI数据是一个四维数据(三维空间加一维的时间);由于四维空间比较难以想象,为了便于想象,我们先以下图的方式将一个三维的矩阵重新排列成一个一维的向量。

假设我们包含v个体素fMRI数据,时间点为t个,该数据包含k个相互独立源信号,我们的四维fMRI数据就可以表示成一个时间(time)*空间(space)的t*v的二维矩阵,在ICA中,这也是我们的观测信号矩阵x(下图等式最左);而我们要求解的源信号s矩阵则为源信号成分(source)*空间(space)的k*v的矩阵(下图等式最右),即每个成分的空间分布图;而每个成分的时间序列,即时间(time)*源信号成分(source)的t*k的矩阵(下图等式最右),则为混合矩阵A。

以上是在个体水平上进行ICA的分析。为了找到一组人共同的成分,并在组水平上进行统计比较,我们往往对一整组被试的标准化数据进行时间上的拼接后再进行group ICA的分析,如下图所示。

当然进行group ICA的方法有很多,时间上拼接只是其中一种比较常用的方法。下图分别展示了五种不同的方法以及相应的工具包:

a.单个被试水平计算ICA;

b.时间上拼接个体fMRI;

c.空间上拼接个体fMRI;

d.组水平平均;

e.张量-ICA(原始数据不拼接,为被试*时间*空间三维数据)。

     最后谈一谈笔者常常被问到的一个问题问题以及笔者自己对此的理解:ICA与功能连接的关系。如下图所示,我们假设有一个简单的fMRI数据,它包含两个源信号成分,第一个成分(Source 1)在两个体素上的分布强度值很高,在其他体素上几乎没有分布(图右上);且别的成分在这两个体素上的分布强度值很低(由于源信号是相互独立的,所以这一点必然满足);那么这两个体素的时间序列必然高度相关于混合矩阵的同一个也就是第一个时间序列(Time Course 1),它们之间也必然高度相关,即该两个体素间功能连接高度相关,即统一成分内的体素间必然具有高度的功能连接。返回来在个体水平的统计上(此处特指gift统计),如果同一成分(如DMN)在两个组被试的空间分布强度在个别体素区域(如PCC)有显著差异,我们也可以理解为,两组被试的该体素区域(如PCC)与该成分(如DMN)内部其他体素的功能连接强度有显著差异。

微信扫描二维码关注思影科技,获取更多脑科学最新资讯


http://chatgpt.dhexx.cn/article/q5GIOSTt.shtml

相关文章

独立成分分析(Independent Component Analysis,ICA)模型介绍

独立成分分析ICA模型 1 历史背景2 ICA基本模型3 独立与不相关 \qquad 1 历史背景 \qquad 独立成分分析思想和方法最早源于上世纪八十年代几个法国学者的研究工作,尽管当时他们并没有命名其为ICA;在1986年举行的神经网络计算会议上,法国学者Heraull和Jutt…

【详细版】独立成分分析:算法和应用(一)

独立成分分析:算法和应用 翻译原文自己的理解 原文:Independent component analysis: algorithms and applications 作者:A. Hyvarinen, E. Oja 时间:2000年 注:详细版原文太长,分两篇来写;另外…

Python专栏 | MNE数据预处理方法——独立成分分析

关注微信公众号:脑机接口研习社 了解脑机接口最近进展 系列文章目录 Python专栏 | 脑电图和脑磁图(EEG/MEG)的数据分析方法之载入数据 Python专栏 | MNE脑电数据(EEG/MEG)可视化 文章目录 系列文章目录预处理(Preprocessing) 预处理&#x…

学习笔记 | 独立成分分析(ICA, FastICA)及应用

学习笔记 | 独立成分分析[ICA, FastICA]及应用 1 背景说明 2 算法原理 2.1 ICA简介 2.2 形式化表达 3 算法步骤与代码 4 算法改进:FastICA 5 ICA实例与应用 6 小结 概要: 这篇博客和博客学习笔记|主成分分析[PCA]及其若干应用属于一个系列&#xf…

ICA独立成分分析去除脑电伪影

今天分享的这篇利用独立成分分析ICA去除EEG伪影是翻译自jung大神的一篇文章。 目录 1 介绍 2 方法 3 实验数据样本 1 介绍 眼动,眨眼,肌肉,心脏和线的噪音会严重污染脑电图活动,这在脑电解释和分析中会产生非常严重问题。研究…

独立成分分析(ICA)

1.概念 独立成分分析是从多元(多维)统计数据中寻找潜在因子或成分的一种方法.ICA与其它的方法重要的区别在于,它寻找满足统计独立和非高斯的成分。这里我们简要介绍ICA的基本概念、应用和估计原理。 1.1 多元数据的线性表示 统计数据处理及相关领域中的一…

独立成分分析ICA系列2:概念、应用和估计原理.

1.概念 独立成分分析是从多元(多维)统计数据中寻找潜在因子或成分的一种方法.ICA与其它的方法重要的区别在于,它寻找满足统计独立和非高斯的成分。这里我们简要介绍ICA的基本概念、应用和估计原理。 1.1 多元数据的线性表示 统计数据处理及相关领域中的一…

详解独立成分分析

最近在学习数据降维的一些方法(有关数据降维的其他内容请看这篇文章),虽然独立成分分析不算是严格意义上的降维方法,但是它和PCA有着千丝万缕的联系,所以打算专门写一篇文章来学习ICA的相关知识,看了挺多的关于ICA的博文&#xff…

独立成分分析

在已知语音信号方向的情况下,波束形成能明显改善语音质量,提高信噪比;然而在实际环境中,人可能是走动的,即使坐立不动,由于身体的扭曲使得语音到达阵列的方向也是变化的,此时波束形成效果受到限…

独立成分分析(Independent Component Analysis,ICA)原理及代码实现

过程监控中会用到很多中方法,如主成分分析(PCA)、慢特征分析(SFA)、概率MVA方法或独立成分分析(ICA)等为主流算法。 其中PCA主要多用于降维及特征提取,且只对正太分布(高…

清理vdbench后台进程

当我们打开一个终端,用nohup运行vdbench程序。断开连接后,你发现你写的配置文件有误,想关闭已有的vdbench进程。你重新连接上终端,咦,我的jobs命令怎么没有显示我的nohup任务呢?这是因为你的nohup任务的sh进…

Nas性能测试工具-vdbench

版本: vdbench50406 简介: vdbench是一个 I/O 工作负载生成器,用于验证数据完整性和度量直接附加和网络连接的存储的性能。它是一个免费的工具,容易使用,而且常常用于测试和基准测试。 配置参数: 大文…

Linux中vdbench的安装与使用

vdbench是一个 I/O 工作负载生成器,用于验证数据完整性和度量直接附加和网络连接的存储的性能。它是一个免费的工具,容易使用,而且常常用于测试和基准测试。 可以使用vdbench测试磁盘和文件系统的读写性能。 环境:Ubuntu 16.04 …

vdbench和fio测试磁盘性能的对比总结

vdbench和fio测试磁盘性能的对比总结 一、安装 1、安装vdbench,首先安装java:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 其次下载vdbench安装包并进行安装:http://pan.baidu.com/s/1b7XooY&am…

vdbench使用

简介 vdbench是一个 I/O 工作负载生成器,用于验证数据完整性和度量直接附加和网络连接的存储的性能。它是一个免费的工具,容易使用,而且常常用于测试和基准测试。 可以使用vdbench测试磁盘和文件系统的读写性能。 名词解释 vdbench中常用的…

vdbench测试SSD快速入门

介绍 vdbench是一个I/O工作负载生成器,通常用于验证数据完整性和度量直接附加(或网络连接)存储性能。它可以运行在windows、linux环境,可用于测试文件系统或块设备基准性能。我们下面主要以块设备为介绍对象。 下载及安装 下载…

vdbench多主机运行指导

测试工具之vdbench多主机运行 本文介绍vdbench在多机环境下的操作和配置,以及本人在配置过程中遇到的问题和解决方法。 文章目录 测试工具之vdbench多主机运行前言一、vdbench在linux环境下多机运行1.环境参数2.配置说明二、vdbench在windows环境下多机运行1.环境参数2.配置…

Vdbench工具安装使用

一、 概述 1.1 内容简介 Vdbench 是一个命令行使用程序,旨在帮助工程师和客户生成用于验证存储性能和存储数据完 整性的磁盘 I/O 负载。还可通过输入文本文件指定 Vdbench 执行参数。它是一个免费的工具,容 易使用,而且常常用于测试和基准测试…

Vdbench工具的安装及使用

Vdbench工具的安装 Vdbench的运行依赖java环境,请务必先安装java运行环境安装java,Ubuntu OS环境安装java: apt-get install openjdk-8-jdkCentos OS环境安装: yum install openjdk-8-jdk检查是否安装成功 安装vdbench,下载vdbench50407.zip包&#…

Java jre的安装与卸载

文章目录 1. jre安装2. 卸载 Java JDK安装教程 Idea Java开发环境配置教程: https://tangxing.blog.csdn.net/article/details/112392218 1. jre安装 java下载网址: https://www.java.com/zh-CN/download/manual.jsp 这里有联机版和脱机版,…