单细胞笔记5-tSNE和UMAP

降维

降维顾名思义就是把数据或特征的维数降低,一般分为线性降维和非线性降维,比较典型的如下:

  • 线性降维:PCA(Principal Components Analysis)、LDA(Linear Discriminant Analysis)、MDS(Classical Multidimensional Scaling),其中PCA我们使用的最多。
  • 非线性降维:Isomap(Isometric Mapping)、LLE(Locally Linear Embedding)、LE(Laplacian Eigenmaps) 等。非线性降维中用到的方法大多属于流形学习方法,UMAP就属于流形学习,而tSNE不是。

流形学习

流形学习(Manifold Learning)听名字就觉得非常深奥,涉及微分流行和黎曼几何等数学知识。当然,想要了解流形学习并不需要我们一行一行的去推导公式,通过简单的例子也能够有一个直观的认识。
简单来说,地球表面就是一个典型的流形,在流形上计算距离与欧式空间有所区别。例如,计算南极与北极点之间的距离不是从地心穿一个洞计算直线距离,而是沿着地球表面寻找一条最短路径,这样的一条路径称为测地线。如下面所示的三幅图

流形与测地线
其中第一张图为原始数据点分布,虚线是欧式距离,蓝色实线是沿着流形的真实测地线距离。第二张图是在原始数据点的基础上基于欧式距离构造的kNN图(灰色线条,下面还会具体介绍kNN图),红色实线表示kNN图中两点之间的最短路径距离。第三张图是将流形展开后的效果,可以看到,kNN图中的最短路径距离(红色实线)要略长于真实测地线距离(蓝色实线)。
在实际应用中,真实测地距离较难获得,一般可以通过构造kNN图,在kNN图中寻找最短路径距离作为真实测地线距离的近似。


tSNE

tSNE是一种《比 较 简 单》的机器学习算法,可以用以下四个公式表示


tSNE算法

(1)定义了高维空间中任意两点之间观测距离的高斯概率,满足对称性规则。Eq。
(2)引入了困惑的概念作为一个约束,确定最优σ为每个样本。
(3)声明了低维嵌入中点对之间距离的学生t分布。t分布是为了克服嵌入低维时的拥挤问题。
(4)给出了K-L散度损失函数,将高维概率投影到低维概率上,并给出了梯度下降优化中使用的梯度的解析形式。


t分布
看看上面的图,我想说的是 t分布应该提供全局距离信息,因为它们将高维空间中相距较远的点推到低维空间中更远的点。然而,这种良好的意愿被成本函数(KL-divergence)的选择所扼杀。

tSNE的缺点

  • 在scRNAseq中,tSNE并不能很好地扩展增加的样本量。添加用FItSNE来加速它会导致大量的内存消耗,使得在计算机集群之外无法进行分析。
  • tSNE没有保留全局数据结构,这意味着只有在集群距离内才有意义,而集群之间的相似性并不能保证,因此使用tSNE作为集群不是一个很好的主意。
  • tSNE实际上只能嵌入到2维或3维中,即仅用于可视化目的。这对于更现代的FItSNE算法来说仍然是一个问题。
  • tSNE执行从高维到低维的非参数映射,这意味着它不利用驱动观察到的集群的特性(也称为PCA维度)。
  • tSNE不能直接处理高维数据,在将其插入tSNE之前,通常使用自动编码器或PCA执行预降维。
  • tSNE的计算占用了大量的内存,在使用大型perplexity超参数时,这一点变得尤为明显,因为k近邻的初始步长(就像Barnes-Hut过程)变得低效,而且对时间减少也很重要。更现代的FItSNE算法也不能解决这个问题。

tSNE参数的意义:

  • seed.use:我们知道计算机产生的随机数都是伪随机数,是利用算法产生的一系列数。因此,需要给函数一个随机值作为初始值,以此基准不断迭代得到一系列随机数。这个初始值就叫做随机种子。
  • tsne.method :Select the method to use to compute the tSNE. Available methods are
    tSNE和FIt-SNE。

UMAP

UMAP ,全称Uniform Manifold Approximation and Projection,统一流形逼近与投影,是基于曼和几何代数据的理论框架结构构建的。在处理大数据集时,UMAP优势明显,运行速度块,占用内存小。Etienne Becht等人2019年在Nature Biotechnology上发表的一篇文章将其应用在生物学数据上并分析了UMAP在处理单细胞数据方面的应用和优势。
UMAP应该说是目前最好的降维算法了,现在的10X单细胞的降维图都选择了UMAP,因为其能最大程度的保留原始数据的特征同时降低特征维数。

UMAP与tSNE的区别

  • UMAP在高维中使用指数概率分布,但不一定是像tSNE那样的欧氏距离,而是任何距离都可以代入。另外,概率没有归一化。
  • UMAP使用二元交叉熵(CE)作为成本函数,而不是像tSNE那样使用K-L散度。
  • UMAP使用图拉普拉斯变换分配初始的低维坐标,与tSNE使用的随机正常初始化形成对比。
  • UMAP使用随机梯度下降(SGD)代替常规梯度下降(GD),这既加快了计算速度,又减少了内存消耗。

tSNE和UMAP基本上都包含两个步骤:

  • 建立一个图在高维度的带宽和计算指数概率,σ,使用二进制搜索和固定数量的最近的邻居需要考虑。
  • 通过梯度下降优化低维表示。第二步是算法的瓶颈,它是连续的,不能是多线程的。由于tSNE和UMAP都执行第二步,所以并不清楚为什么UMAP比tSNE更有效。

UMAP在处理大数据时具有独特的优势

除了运行速度快,内存占用小等特点,UMAP在处理细胞学数据时还有一个大的优势,就是可以反映细胞群体之间分化的连续性和组织性。
tSNE和UMAP

对同一组数据分别进行tSNE和UMAP降维,该数据为多达30万个从8种不同组织富集得到的T细胞和NK细胞的样本,并使用Phenograph聚类把细胞分为6大类,每种颜色代表一种细胞。从图中可以看出,UMAP和tSNE都可以较好地把不同类别的细胞分开。但tSNE倾向于把相同细胞群划分为更多的群,如图显示,黑色圈中CD8 T细胞,在tSNE结果中,群数更多,距离更远。

UMAP参数

  • 最重要的参数是 n_neighbors ,近似最近邻居数。它有效地控制了UMAP局部结构与全局结构的平衡,数据较小时,UMAP会更加关注局部结构,数据较大时,UMAP会趋向于代表大图结构,丢掉一些细节。
  • 第二个参数是 min_dist,点之间的最小距离。此参数控制UMAP聚集在一起的紧密程度,数据较小时,会更紧密。较大的值会更松散,而将重点放在保留广泛的拓扑结构上。

参考

tSNE的详细算法:https://www.jianshu.com/p/0f93e3a7ae29
UMAP的详细算法:https://www.jianshu.com/p/812bb054e1d5
tSNE与UMAP对比的一个很棒的网站:https://pair-code.github.io/understanding-umap

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,189评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,577评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,857评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,703评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,705评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,620评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,995评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,656评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,898评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,639评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,720评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,395评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,982评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,953评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,195评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,907评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,472评论 2 342

推荐阅读更多精彩内容