MRI学习笔记-表征相似性分析(Representational Similarity Analysis, RSA)

参考

基于NeuroRA进行认知神经科学中的表征分析_哔哩哔哩_bilibili

全新NeuroRA Version 1.1.6.0发布!!!另带全新86页文档!!!

NeuroRA | A Python Toolbox for Multimode Neural Data Representation Analysis

NeuroRA --- NeuroRA 1.1.6.8 documentation

官方强推! NeuroRA进行核磁RSA相关计算推荐流程【真的只要几行代码】

SCAN | 社会神经科学的表征相似性分析指南

介绍

表征相似性分析(RSA)是多体素模式分析(MVPA)的一种特定形式。是一种对刺激进行配对比较来揭示它们在高维空间表征的计算方法。除了分析不同类别刺激在神经信号中的表征差异之外,还可构建行为与神经数据的相关性。由于RSA的目标是测试观察到的(神经)表征是否与理想的或理论的表征相匹配,因此基本上可以用数据测试任何合理的假设,甚至可以用探索性的方式来帮助理解数据是如何构造的。

RSA的基础是构建表征不相似性矩阵(representational dissimilarity matrix,RDM)。构建RDM时,所有刺激都要两两相互进行比较来得到一个对角对称的矩阵。同样重要的一点是要考虑你的数据类型应该使用哪种相似性或不相似性的度量方法。对于fMRI数据而言,通常使用皮尔逊或斯皮尔曼相关性来比较两类刺激的神经反应。因为这些矩阵是量级上不敏感的(比如不同脑区的BOLD信号的量级是有所不同的)。对于行为学数据来说,通常所有刺激要对应到一个尺度,使用例如欧氏距离等方法可能更合适。皮尔逊相关的可靠性与欧氏距离还有马氏距离进行度量的可靠性进行比较,发现他们相互之间不仅可靠,而且比MVPA分类更可靠。在选择相似性或不相似性时,很重要的是要选择一个适合原始数据的度量。比如,欧氏距离不适用于数据是二进制的,这种时候应该改选用曼哈顿距离。

单个RDM就可以作为一个完整的分析,但是RSA最好的作用是RDMs之间的比较。比如,一个神经数据的RDM可以和一个概念模型的RDM进行比较。也可以多个ROI(感兴趣的脑区)进行比较来看哪个脑区更能表征一个类别。多ROI的RDMs比较也可以揭示不同脑区之间的表征关系("表征连接")。

对神经表征进行探索性暴力搜索的一种常用技术是使用全脑searchlight-RSA,它类似于MVPA解码的searchlight过程。为每一个球形ROI创建一个神经RDM并将其与其他感兴趣的RDM(比如行为RDM或模型RDM)进行比较。这样可以创建全脑的图谱来显示整个大脑中哪些体素与需要比较的RDM显著相关。在使用searchlight-RSA时,检测显著性的方法与传统fMRI方法相同,比如使用FDR/FEW校正、蒙特卡洛模拟以及置换检验等等。

神经数据之间的对比​

  • ​不同脑区的表征相似性​

    比较不同脑区(如视觉皮层vs.前额叶)的RDMs,评估哪些脑区对特定刺激(如物体、面孔)的表征更相似,从而定位功能特异性区域。

  • ​时间动态分析​

    对比不同时间窗口(如刺激呈现后不同时间点)的RDMs,研究表征如何随时间演变(例如从感知到记忆的转换)。

  • ​跨模态比较​

    比较不同模态(如fMRI与EEG/MEG)的RDMs,探索不同时间/空间尺度下表征的一致性。

神经数据与行为数据的对比​

  • ​行为相似性与神经相似性​

    将行为实验(如分类反应时间、相似性评分)生成的RDM与神经RDM对比,验证行为是否反映神经表征(例如,被试认为"猫和狗"更相似,其神经模式是否也如此)。

  • ​个体差异分析​

    比较不同被试的神经RDMs与行为RDMs,研究个体差异(如专家vs.新手的视觉表征差异)。

神经数据与计算模型的对比​

  • ​计算模型生成的RDM​

    将神经数据与理论模型(如深度学习模型、认知模型)的预测RDM对比,验证模型的神经合理性。例如:

    • ​视觉模型​​:比较CNN某层的表征与腹侧视觉通路的RDM。

    • ​语义模型​​:对比词向量(如GloVe)与语言皮层的表征相似性。

    • ​模型选择​​ 通过比较多个模型的RDM与神经数据,确定哪种模型最能解释大脑活动(如线性vs.非线性编码模型)。

跨物种或跨群体的对比​

  • ​跨物种一致性​

    比较人类与非人灵长类动物(如猴子)的神经RDMs,探索进化保守的表征机制。

  • ​特殊人群研究​

    对比健康人群与患者(如自闭症、精神分裂症)的RDMs,揭示表征异常的神经基础。

不同实验条件的对比​

  • ​任务态vs.静息态​

    分析任务诱导的神经表征与静息态自发活动的相似性,探讨内在表征的稳定性。

  • ​不同认知任务​

    比较记忆编码vs.提取、感知vs.想象等任务下的RDMs,区分不同认知阶段的表征模式。

跨模态刺激的对比​

  • ​多感官整合​

    对比视觉、听觉等不同感官输入在联合皮层的表征相似性(如物体名称的听觉输入与视觉输入的神经模式是否一致)。

  • ​跨模态泛化​

    验证抽象概念(如数字)在视觉和触觉模态下的表征是否共享神经模式。

NeuroRA使用教程-基于Python

1.安装

python 复制代码
pip install neurora

2.需要的其他包

Numpy : A fundamental package for scientific computing.
SciPy : A package that provides many user-friendly and efficient numerical routines.
Scikit-learn : An open-source machine learning library.
Matplotlib : A Python 2D plotting library.
NiBabel : A package prividing read +/- write access to some common medical and neuroimaging file formats.
Nilearn : A Python module for fast and easy statistical learning on NeuroImaging data.
Scikit-image : a collection of algorithms for image processing.
MNE-Python : A Python software for exploring, visualizing, and analyzing

human neurophysiological data.

3.文章引用

Please cite the paper below while using NeuroRA:

Lu, Z., & Ku, Y. (2020) NeuroRA: A Python toolbox of representational analysis from multi-modal neural data. Frontiers in Neuroinformatics. 14:563669. doi: 10.3389/fninf.2020.563669

4.数据变换 Data Conversion

We strongly recommend users to use Nibabel (nipy.org/nibabel/) to load fMRI data as ndarray-type data. Sample codes:

python 复制代码
import nibabel as nib
data = nib.load(fmrifilename).get_fdata()

5.计算RDM

Module: rdm_cal.py

  • a module for calculating the RDM based on multimode neural data

5.1 基于行为数据计算RDM

python 复制代码
bhvRDM(bhv_data, sub_opt=1, method="correlation", abs=False)
相关推荐
葡萄杨28 分钟前
【软件使用】RSS(Really Simple Syndication)
笔记
东京老树根1 小时前
SAP学习笔记 - 开发13 - CAP 之 添加数据库支持(Sqlite)
笔记·学习
编程版小新1 小时前
封装红黑树实现mymap和myset
c++·学习·set·map·红黑树·红黑树封装set和map·红黑树封装
百锦再2 小时前
微信小程序学习基础:从入门到精通
前端·vue.js·python·学习·微信小程序·小程序·pdf
虾球xz2 小时前
游戏引擎学习第301天:使用精灵边界进行排序
学习·算法·游戏引擎
寻丶幽风3 小时前
论文阅读笔记——PixArt-α,PixArt-δ
论文阅读·笔记·文生图·扩散模型·t2i
Lester_11014 小时前
嵌入式学习笔记 - 关于ARM编辑器compiler version 5 and compiler version 6
arm开发·笔记·学习
5174 小时前
Django学习
学习·django·sqlite
等什么君!4 小时前
学习vue3:跨组件通信(provide+inject)
前端·vue.js·学习
拾忆-eleven5 小时前
NLP学习路线图(四):Python编程语言
python·学习·自然语言处理