umap算法_生命科学中的 UMAP(降维算法)

UMAP应该说是目前最好的降维算法了,能最大程度的保留原始数据的特征同时大幅度的降低特征维数。

208841481_1_20201202115716884这是《生命科学的数理统计和机器学习》的相关探讨,我试图介绍生物信息学、生物医学、遗传学等常见的分析技术。今天,我们将深入探讨一种令人兴奋的降维技术,称为UMAP,它主导了当今的单细胞基因组学。在这里,我将尝试质疑UMAP作为一种过于数学化的方法的神话,并使用简单的语言来解释它。在本文章中,我将展示如何在Python中从头开始编写UMAP,以及(更高级的)如何创建一种比UMAP提供更好的可视化效果的降维技术。然而,现在我们将从UMAP背后的故事开始,并强调tSNE和UMAP之间的关键区别。

208841481_2_202012021157179

如果你不知道tSNE是什么,它是如何工作的,也没有读过2008年的革命性的van der Maaten & Hinton原稿,你可能不需要知道,因为tSNE现在基本上已经死了。尽管tSNE对一般的单细胞基因组学和数据科学产生了巨大的影响,但人们普遍认为它有一些缺点,这些缺点很快将得到解决。

208841481_3_20201202115717150

究竟是什么让我们想放弃使用tSNE单细胞基因组学?这里我用简短的评论总结了几点:在scRNAseq中,tSNE并不能很好地扩展快速增加的样本量。试图用FItSNE来加速它会导致大量的内存消耗,使得在计算机集群之外无法进行分析。(集群之痛)

tSNE没有保留全局数据结构,这意味着只有在集群距离内才有意义,而集群之间的相似性并不能保证,因此使用tSNE作为集群不是一个很好的主意。

208841481_4_20201202115717306

tSNE实际上只能嵌入到2维或3维中,即仅用于可视化目的,因此很难将tSNE作为一种通用的降维技术来生产10个或50个组件。

请注意,这对于更现代的FItSNE算法来说仍然是一个问题。

tSNE执行从高维到低维的非参数映射,这意味着它不利用驱动观察到的集群的特性(也称为PCA加载)。

tSNE不能直接处理高维数据,在将其插入tSNE之前,通常使用自动编码器或PCA执行预降维

tSNE的计算占用了大量的内存,在使用大型perplexity超参数时,这一点变得尤为明显,因为k近邻的初始步长(就像Barnes-Hut过程)变得低效,而且对时间减少也很重要。更现代的FItSNE算法也不能解决这个问题。tSNE是一种比较简单的机器学习算法,可以用以下四个公式表示:

208841481_5_20201202115717431

(1)定义了高维空间中任意两点之间观测距离的高斯概率,满足对称性规则。Eq。

(2)引入了困惑的概念作为一个约束,确定最优σ为每个样本。

(3)声明了低维嵌入中点对之间距离的学生t分布。学生t分布是为了克服嵌入低维时的拥挤问题。

(4)给出了Kullback-Leibler散度损失函数,将高维概率投影到低维概率上,并给出了梯度下降优化中使用的梯度的解析形式。

208841481_6_20201202115717587

看看上面的图,我想说的是 t分布应该提供全局距离信息,因为它们将高维空间中相距较远的点推到低维空间中更远的点。

然而,这种良好的意愿被成本函数(KL-divergence)的选择所扼杀,我们将在后面看到其原因。当了解UMAP时,我的第一印象是这是一种全新的、有趣的降维技术,它基于坚实的数学原理,因此与纯机器学习半经验算法tSNE非常不同。我的生物学同事告诉我,最初的UMAP论文“太数学化了”,看着论文的第二部分,我很高兴地看到,严格而准确的数学终于进入生命和数据科学。然而,在阅读UMAP文档和观看Leland McInnes在2018年SciPy大会上的演讲时,我感到困惑,觉得UMAP是另一种邻居图技术,它与tSNE如此相似,以至于我很难理解UMAP与tSNE究竟有什么不同。

从UMAP论文中,虽然Leland McInnes试图在附录c中总结UMAP和tSNE之间的差异,但是它们之间的差异并不是很明显。在这里,我将首先总结我所注意到的UMAP和tSNE之间的不同之处,然后尝试解释为什么这些不同是重要的,并找出它们的影响有多大。UMAP在高维中使用指数概率分布,但不一定是像tSNE那样的欧氏距离,而是任何距离都可以代入。另外,概率没有归一化:

208841481_7_20201202115717665ρ是一个重要的参数,它代表了每个i数据点距离第一个最近邻。这保证了流形的局部连接性。换句话说,这为每个数据点提供了一个局部自适应指数核,因此

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值