Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >单细胞转录组数据分析——降维

单细胞转录组数据分析——降维

作者头像
生信交流平台
发布于 2020-08-05 15:58:34
发布于 2020-08-05 15:58:34
3.2K0
举报

通过数据降维处理可减少冗余信息所造成的误差,还可以通过降维算法来寻找数据内部的本质结构特征,便于后续计算以及实现数据的可视化。小编在这里将会和大家介绍几种常用的数据降维方法以及它们的原理。

降维的目的

①简化数据,将多维、复杂的数据简化为二维;

②去除数据中的冗余部分;

③减少后续数据分析的时间;

④有助于聚类;

⑤实现数据可视化

降维方法分类

下图是一些降维算法的简介,主要分为三类:基于矩阵分解(Matrix Factorization)降维算法、基于作图的降维算法、基于神经网络的机器学习降维算法。

单细胞数据分析中常用的降维方法

1.主成分分析PCA

PCA (Principal Component Analysis)是最常用的线性降维方法,数据从原来的坐标系转换到新的坐标系,新坐标系的选择是由数据本身决定的。第一个新坐标轴选择的是原始数据中方差最大的方向(即数据差异性最大的方向),第二个新坐标轴选择与第一个新坐标轴正交且具有最大方差的方向,以此类推,共建立与原始数据特征数目相等的新坐标轴。

大部分方差都包含在最前面的几个新坐标轴中,因此我们可以忽略余下的坐标轴,从而实现降维。(方差大代表不同数据之间的差异大,即包含的变异信息量大)

以上图的二维数据为例,新坐标轴以PC1为第一坐标轴,PC2为第二坐标轴,且PC1解释了大于98%的方差信息,PC2对样本来说无意义,可以舍弃,这样二维数据就降维到一维。

2.t-SNE

t-SNE全称为t-Stochastic Neighborhood Embedding,是一种非线性降维方法,它是基于在邻域图上随机游走的概率分布,可以在数据中找到其结构关系。t-SNE在高维空间中采用高斯核心函数定义了数据的局部和全局结构之间的软边界,可以同时保留数据的局部和全局结构。

局部方法寻求将流型上的附近点映射到低维表示中的附近点。另一方面,全局方法试图保留所有尺度的几何形状,即将附近的点映射到附近的点,将远处的点映射到远处的点。

根据t-分布,计算高维空间上点i与其附近的点j之间的距离Pij,然后按照该距离映射到低维空间上,而远处的点则不需要考虑,依次将所有点都映射到低维空间中。

如上图所示t-SNE首先会将二维空间上分布的这些点随机摆放在直线上,然后t-SNE会逐渐将这些点移动,直到它们聚在一起(保留二维空间上的分布特征)。

t-SNE降维后各个group之间的距离没有意义,且降维过程中迭代次数会影响最终降维效果。

3.UMAP

UMAP (Uniform Manifold Approximation and Projection)使用k-近邻的概念,并使用随机梯度下降来优化结果。它首先计算高维空间中的点之间的距离,将它们投影到低维空间,并计算该低维空间中的点之间的距离。然后使用随机梯度下降来最小化距离之间的差异。

它可以处理大型数据集和高维数据,并且结合了可视化的强大功能和减少数据维度的能力,UMAP将高维空间上的附近点映射到低维表示中的附近点,并对远点进行相同的映射。

如上图所示,UMAP将二维空间上的点按照点与点之间距离排列在一维空间上,临近点之间的距离需要计算,相距较远的点之间的距离也要计算并映射到低维空间上。

与其他几种graph-based降维方法相比,UMAP处理数据的速度快,比较适合处理比较大的数据集。

总结

降维是数据处理工作流程必不可少的一个步骤,不但便于计算和实现数据可视化,其更深层次的意义在于有效信息的提取及无用信息的摈弃。上图是几种常见的单细胞数据处理工作流程,几种工作流程中都用到了PCA以及t-SNE降维方法,大部分也都用到了UMAP降维方法。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-05-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信交流平台 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
降维
PCA的主要思想是将n维特征映射到k维上,这k维是全新的正交特征也被称为主成分,是在原有n维特征的基础上重新构造出来的k维特征。PCA的工作就是从原始的空间中顺序地找一组相互正交的坐标轴,新的坐标轴的选择与数据本身是密切相关的。其中,第一个新坐标轴选择是原始数据中方差最大的方向,第二个新坐标轴选取是与第一个坐标轴正交的平面中使得方差最大的,第三个轴是与第1,2个轴正交的平面中方差最大的。依次类推,可以得到n个这样的坐标轴。通过这种方式获得的新的坐标轴,我们发现,大部分方差都包含在前面k个坐标轴中,后面的坐标轴所含的方差几乎为0。于是,我们可以忽略余下的坐标轴,只保留前面k个含有绝大部分方差的坐标轴。事实上,这相当于只保留包含绝大部分方差的维度特征,而忽略包含方差几乎为0的特征维度,实现对数据特征的降维处理。
用户10713522
2023/08/17
2190
OSCA单细胞数据分析笔记8—Dimensionality reduction
二维平面是对于我们人类可接受的表征细胞间距离的可视化方式。因此,尽管上一步PCA已经降至50个维度以内,但在可视化呈现方面,仍需采取一定手段。
生信技能树jimmy
2021/07/02
1.4K0
OSCA单细胞数据分析笔记8—Dimensionality reduction
还在用PCA降维?快学学大牛最爱的t-SNE算法吧(附Python/R代码)
假设你有一个包含数百个特征(变量)的数据集,却对数据所属的领域几乎没有什么了解。 你需要去识别数据中的隐藏模式,探索和分析数据集。不仅如此,你还必须找出数据中是否存在模式--用以判定数据是有用信号还是噪音?
生信宝典
2019/10/14
3.9K0
哈工大硕士生用 Python 实现了 11 种经典数据降维算法,源代码库已开放
网上关于各种降维算法的资料参差不齐,同时大部分不提供源代码。这里有个 GitHub 项目整理了使用 Python 实现了 11 种经典的数据抽取(数据降维)算法,包括:PCA、LDA、MDS、LLE、TSNE 等,并附有相关资料、展示效果;非常适合机器学习初学者和刚刚入坑数据挖掘的小伙伴。
代码医生工作室
2019/12/03
5050
哈工大硕士生用 Python 实现了 11 种经典数据降维算法,源代码库已开放
机器学习降维算法汇总!
最近看了一些关于降维算法的东西,本文首先给出了七种算法的一个信息表,归纳了关于每个算法可以调节的(超)参数、算法主要目的等等,然后介绍了降维的一些基本概念,包括降维是什么、为什么要降维、降维可以解决维数灾难等,然后分析可以从什么样的角度来降维,接着整理了这些算法的具体流程。
算法进阶
2023/10/23
6560
机器学习降维算法汇总!
基于 Python 的 11 种经典数据降维算法
网上关于各种降维算法的资料参差不齐,同时大部分不提供源代码。这里有个 GitHub 项目整理了使用 Python 实现了 11 种经典的数据抽取(数据降维)算法,包括:PCA、LDA、MDS、LLE、TSNE 等,并附有相关资料、展示效果;非常适合机器学习初学者和刚刚入坑数据挖掘的小伙伴。
Datawhale
2019/11/29
1.6K0
跟着小鱼头学单细胞测序-scRNA-seq数据的降维和可视化
在scRNA-seq数据通过一些列的预处理,质控以及标准化之后,后续分析步骤需要通过识别细胞间的基因表达差异来进行聚类, 分析不同细胞群的差异性。这就涉及到了单细胞RNA数据处理中的特征选择,降维以及如何使数据可视化。
作图丫
2022/03/28
1.1K0
跟着小鱼头学单细胞测序-scRNA-seq数据的降维和可视化
十个技巧,让你成为“降维”专家
在分析高维数据时,降维(Dimensionality reduction,DR)方法是我们不可或缺的好帮手。
大数据文摘
2019/07/15
1.5K0
十个技巧,让你成为“降维”专家
机器学习(20)——数据降维为什么要降维?PCA原理LDA比较:
前言:正所谓每一个结果的出现都是一系列的原因导致的,当构建机器学习模型时候,有时候数据特征异常复杂,这就需要经常用到数据降维技术,下面主要介绍一些降维的主要原理 为什么要降维? 在实际的机器学习项目中,特征选择/降维是必须进行的,因为在数据中存在以下几个 方面的问题: 数据的多重共线性:特征属性之间存在着相互关联关系。多重共线性会导致解的空间不稳定, 从而导致模型的泛化能力弱; 高纬空间样本具有稀疏性,导致模型比较难找到数据特征; 过多的变量会妨碍模型查找规律; 仅仅考虑单个变量对于目标属性的影响可能忽略变
DC童生
2018/04/27
19.4K0
机器学习(20)——数据降维为什么要降维?PCA原理LDA比较:
数据降维以及细胞亚群分类
单细胞数据中包含很多细胞以及很多基因,是一个较大的数据集,维度较大,需要对数据进行降维。降维就是对原始数据进行特征提取,经常会得到高维度的特征向量。通过降维的方式来寻找数据内部的特性,提升特征表达能力,降低模型的训练成本。
生信喵实验柴
2022/10/25
1.6K0
数据降维以及细胞亚群分类
数据处理方法—— 7 种数据降维操作 !!
数据降维是一种将高维数据转换为低纬数据的技术,同时尽量保留原始数据的重要信息。这对于处理大规模数据集非常有用,因为它有助于减少计算资源的需要,并提高算法的效率。以下是一些常用的数据降维方法,以及它们的原理和应用。
JOYCE_Leo16
2024/03/19
3K1
数据处理方法—— 7 种数据降维操作 !!
数据降维算法-从PCA到LargeVis
五期飞跃计划还剩6个名额,联系小编,获取你的专属算法工程师学习计划(联系小编SIGAI_NO2)
SIGAI学习与实践平台
2019/04/26
1.5K0
数据降维算法-从PCA到LargeVis
基于 Python 的 11 种经典数据降维算法
网上关于各种降维算法的资料参差不齐,同时大部分不提供源代码。这里有个 GitHub 项目整理了使用 Python 实现了 11 种经典的数据抽取(数据降维)算法,包括:PCA、LDA、MDS、LLE、TSNE 等,并附有相关资料、展示效果;非常适合机器学习初学者和刚刚入坑数据挖掘的小伙伴。
石晓文
2019/12/02
8860
基于 Python 的 11 种经典数据降维算法
网上关于各种降维算法的资料参差不齐,同时大部分不提供源代码。这里有个 GitHub 项目整理了使用 Python 实现了 11 种经典的数据抽取(数据降维)算法,包括:PCA、LDA、MDS、LLE、TSNE 等,并附有相关资料、展示效果;非常适合机器学习初学者和刚刚入坑数据挖掘的小伙伴。
小白学视觉
2022/09/28
7410
通俗理解一个常用的降维算法
最易被我们视觉观察到的维数是一维,二维和三维,四维及以上用图形表达都不会那么直观。
double
2019/11/22
1.1K0
通俗理解一个常用的降维算法
热点综述 | 高维单细胞RNA测序数据分析工具
scRNA-seq数据集通常包含由于不完全RNA捕获、PCR扩增偏差和/或特定于患者或样本的批次效应而产生的技术噪声,如何降低技术噪声对数据分析的影响?
尐尐呅
2022/04/01
8720
热点综述 | 高维单细胞RNA测序数据分析工具
使用t-SNE做降维可视化
简而言之,降维是在2维或3维中展现更高维数据(具有多个特征的数据,且彼此具有相关性)的技术。
AI粉嫩特工队
2019/11/15
7760
降维方法 PCA、t-sne、Umap 的 python 实现
提取游戏音频 5.7W 段,提取声音指纹特征,放在 fea.json 文件中用于测试。
为为为什么
2023/06/27
1.3K0
降维方法 PCA、t-sne、Umap 的 python 实现
陈陟原:数据降维与可视化| AI 研习社第 53 期猿桌会
相信大多数人都已经接触过数据可视化——Excel 随便画一张表就是了。众所周知,二维数据可视化很容易,条形图、饼状图等等,我们在初中就已经学过了。那么三维数据呢?可能有些接触到音频产品的朋友会说瀑布图,很好。而 N 维数据呢?物理学告诉我们:低维空间只能观察到高维空间在本维度的投影。既然我们本身的维度无法增加,那么就只能想办法把数据的维度降低了。
AI科技评论
2018/09/21
6080
陈陟原:数据降维与可视化| AI 研习社第 53 期猿桌会
「Workshop」第四十一期 t-SNE降维原理及其应用
降维:就是指采用某种映射方法,将原高维空间中的数据点映射到低维度的空间中。降维的本质是学习一个映射函数 f : x→y,其中x是原始数据点的表达,目前最多使用向量表达形式。y是数据点映射后的低维向量表达,通常y的维度小于x的维度(当然提高维度也是可以的)。f可能是显式的或隐式的、线性的或非线性的。
王诗翔呀
2021/04/23
3.3K0
推荐阅读
相关推荐
降维
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档