umap算法_[译]UMAP是如何工作的 & UMAP 与 tSNE的原理对比

本文深入探讨UMAP降维技术,指出tSNE的局限性,如不适合大规模数据、不保留全局结构。UMAP则采用不同的概率分布和成本函数,能更好地保留全局和局部结构,且计算效率更高。文章通过数学公式和可视化解释了两者工作原理的差异。
摘要由CSDN通过智能技术生成

本文使用 Zhihu On VSCode 创作并发布

[译]UMAP是如何工作的 & UMAP 与 tSNE的原理对比

完成日期:2020.6.26

今天我们要深入探讨的是一种叫做UMAP的降维技术,这种技术在现在的单细胞基因组学中占主导地位。我们使用简单的语言解释这种方法。并强调tSNE和UMAP之间的关键差异。

1. tSNE 已死,UMAP当立

如果你不知道什么是tSNE,它是如何工作的,也没有读过2008年最初的革命性的van der Maaten & Hinton论文,你可能不需要知道,因为tSNE现在基本上已经死了。尽管tSNE为数据科学带来了巨大的影响,但人们普遍认为它有一些缺点,迟早要解决。

究竟是什么原因让TSNE的效果不那么理想,这里我总结了几点,并做了简短的评论:tSNE不能适用大的样本量。如果使用FItSNE加速计算,也会导致内存消耗大,从而只能在计算机集群上进行分析。

tSNE并没有保留全局结构。也就是说只有簇内的距离才有意义,而簇间的相似性却无法保证;因此人们普遍认为,在tSNE上进行聚类并不是一个很好的主意。

tSNE在mnist上的降维结果

如上图,我们很难说右边箭头指出的三个簇相似度很低。

tSNE实际上只能嵌入到2维或3维中,即只能用于可视化的目的,所以很难将tSNE作为一般的降维技术;

tSNE不能直接处理高维数据,通常使用Autoencoder或PCA进行降维处理,然后将降维的结果输入tsne做可视化。

2. tSNE工作原理简要回顾

tSNE是一种相对简单的机器学习算法,可以由以下四个方程描述:

equation?tex=%5Cquad+p_%7Bi+j%7D%3D%5Cfrac%7Bp_%7Bi+%5Cmid+j%7D%2Bp_%7Bj+%5Cmid+i%7D%7D%7B2+N%7D%EF%BC%8C+p_%7Bj+%5Cmid+i%7D%3D%5Cfrac%7B%5Cexp+%5Cleft%28-%7C%7C+x_%7Bi%7D-x_%7Bj%7D%7C%7C%5E%7B2%7D+%2F+2+%5Csigma_%7Bi%7D%5E%7B2%7D%5Cright%29%7D%7B%5Csum_%7Bk+%5Cneq+i%7D+%5Cexp+%5Cleft%28-%5Cleft%5C%7Cx_%7Bi%7D-x_%7Bk%7D%5Cright%5C%7C%5E%7B2%7D+%2F+2+%5Csigma_%7Bi%7D%5E%7B2%7D%5Cright%29%7D+++++%5C%3B%5C%3B%5C%3B%5C%3B%281%29

式(1)定义了高斯概率观测高维空间中任意两个点之间的距离的概率

equation?tex=p_%7Bij%7D,该距离满足对称性规则。其中

equation?tex=x表示输入的数据,下标为数据的索引,

equation?tex=N为样本数,

equation?tex=y表示输出的数据。

equation?tex=%5Csigma_i表示计算距离概率的方差,方差由式(2)确定。

equation?tex=%5Ctext+%7B+Perplexity+%7D%3D2%5E%7B%7B-%5Csum_%7Bj%7D+%5Cmathrm%7Bp%7D_%7Bj+i%7D+%5Clog+_%7B2%7D+%5Cmathrm%7Bp%7D_%7Bj+i%7D%7D%7D+%5C%3B%5C%3B%5C%3B%5C%3B%282%29

式(2)引入了困惑度

equation?tex=%5Ctext%7BPerplexity%7D的概念,困惑度是一个可调节的变量,类似于knn 的

equation?tex=K。作为确定每个样本的最佳

equation?tex=%5Csigma_i的约束。在实际的计算中,通过二分法对

equation?tex=%5Csigma_i进行搜索,使满足

equation?tex=%5Ctext%7BPerplexity%7D满足设定的要求。

equation?tex=q_%7Bi+j%7D%3D%5Cfrac%7B%5Cleft%281%2B%5Cleft%5C%7Cy_%7Bi%7D-y_%7Bj%7D%5Cright%5C%7C%5E%7B2%7D%5Cright%29%5E%7B-1%7D%7D%7B%5Csum_%7Bk+%5Cneq+l%7D%5Cleft%281%2B%5Cleft%5C%7Cy_%7Bk%7D-y_%7Bl%7D%5Cright%5C%7C%5E%7B2%7D%5Cright%29%5E%7B-1%7D%7D+%5C%3B%5C%3B%5C%3B%5C%3B%283%29

式(3)定义了低维嵌入中两对点之间距离的学生

equation?tex=t分布。学生

equation?tex=t分布的长尾可以用来克服嵌入低尺寸时的拥挤问题。

equation?tex=y表示输出的数据。

equation?tex=K+L%5Cleft%28P_%7Bi%7D+%5C%7C+Q_%7Bi%7D%5Cright%29%3D%5Csum_%7Bi%7D+%5Csum_%7Bj%7D+p_%7Bj+%5Cmid+i%7D+%5Clog+%5Cfrac%7Bp_%7Bj+%5Cmid+i%7D%7D%7Bq_%7Bj+%5Cmid+i%7D%7D%2C+%5Cquad+%5Cfrac%7B%5Cpartial+K+L%7D%7B%5Cpartial+y_%7Bi%7D%7D%3D4+%5Csum_%7Bj%7D%5Cleft%28p_%7Bi+j%7D-q_%7Bi+j%7D%5Cright%29%5Cleft%28y_%7Bi%7D-y_%7Bj%7D%5Cright%29%5Cleft%281%2B%5Cleft%5C%7Cy_%7Bi%7D-y_%7Bj%7D%5Cright%5C%7C%5E%7B2%7D%5Cright%29%5E%7B-1%7D+%5C%3B%5C%3B%5C%3B%5C%3B%284%29

式(4)给出了将高维概率投影到低维概率的Kullback-Leibler散度损失函数,以及用于梯度下降优化的梯度的解析形式。在这里只做一个简单的介绍,接下来会有更加详细的介绍。

高斯分布和t分布的区别

仅看上面的图,我会说Student t分布的粗尾应该提供全局距离信息,因为它们将点在高维度上推得更远,在低维度上甚至更远。然而,这种良好的意愿被成本函数(KL-散度)的选择所扼杀,我们将在后面看到原因。

3. tSNE和UMAP之间的主要区别

UMAP是一种新颖且有趣的降维技术,与纯机器学习半经验算法tSNE截然不同,它基于可靠的数学原理。我来自生物学的同事告诉我,原始的UMAP论文太“数学化了”,但是,在阅读UMAP文档并观看Leland McInnes在SciPy 2018上的演讲时,我感到困惑,因为我觉得UMAP是另一种与tSNE非常相似的邻居图技术,我一直在努力了解UMAP与tSNE到底有何不同。

从UMAP论文来看,即使Leland McInnes试图在附录C中总结它们,UMAP和tSNE之间的差异也不是很明显。我想说的是,我确实看到了微小的差异,但是目前尚不清楚为什么它们会对输出带来如此巨大的影响。在这里,我将首先总结我注意到的UMAP和tSNE之间的区别,然后尝试解释为什么这些区别很重要,并找出它们的影响有多大。UMAP使用高维度上的指数概率分布,但不一定要像tSNE那样使用欧几里得距离,而是可以插入任何距离。此外,概率未归一化:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值