Loading [MathJax]/jax/output/CommonHTML/config.js
部署DeepSeek模型,进群交流最in玩法!
立即加群
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >UMAP的初步了解及与t-SNE的比较

UMAP的初步了解及与t-SNE的比较

作者头像
生信编程日常
发布于 2020-07-02 02:53:40
发布于 2020-07-02 02:53:40
3.7K0
举报

降维是机器学习中的可视化和理解高维数据的强大工具。t-SNE是最广泛使用的可视化技术之一,但其性能在大型数据集中会受到影响。

UMAP是McInnes等人的一项新技术。与t-SNE相比,它具有许多优势,最显著的是提高了速度并更好地保存了数据的全局结构。例如,UMAP可以在3min之内处理完784维,70000点的MNIST数据集,但是t-SNE则需要45min。此外,UMAP倾向于更好地保留数据的全局结构,这可以归因于UMAP强大的理论基础。

1. 简单比较UMAP与t-SNE

下图是UMAP和t-SNE对一套784维Fashion MNIST高维数据集降维到3维的效果的比较。高清3D图参见:https://pair-code.github.io/understanding-umap/

虽然这两种算法都表现出强大的局部聚类并将相似的类别分组在一起,但UMAP害将这些相似类别的分组彼此分开。另外,UMAP降维用了4分钟,而多核t-SNE用了27分钟。

2. UMAP参数

UMAP中两个最常用的参数:n_neighborsmin_dist,它们可有效地用于控制最终结果中局部结构和全局结构之间的平衡。

最重要的参数是n_neighbors ,近似最近邻居数。它有效地控制了UMAP局部结构与全局结构的平衡,数据较小时,UMAP会更加关注局部结构,数据较大时,UMAP会趋向于代表大图结构,丢掉一些细节。

第二个参数是min_dist,点之间的最小距离。此参数控制UMAP聚集在一起的紧密程度,数据较小时,会更紧密。较大的值会更松散,而将重点放在保留广泛的拓扑结构上。

上图可以通过https://pair-code.github.io/understanding-umap/自己调整一下参数看一下。

3. 进一步比较UMAP与t-SNE

t-SNE和UMAP大部分的表现非常相似,但以下示例明显例外:宽而稀疏的cluster中有密集的cluster(如下图所示)。UMAP无法分离两个嵌套的群集,尤其是在维数较高时。

UMAP在初始图形构造中局部距离的使用可以解释该算法无法处理情况的原因。由于高维点之间的距离趋于非常相似(维数的诅咒),所以可能会因此将其混合在一起。

参考:https://pair-code.github.io/understanding-umap/

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
机器学习算法:UMAP 深入理解
降维是机器学习从业者可视化和理解大型高维数据集的常用方法。最广泛使用的可视化技术之一是 t-SNE,但它的性能受到数据集规模的影响,并且正确使用它可能需要一定学习成本。
数据科学工厂
2023/01/19
3.4K0
UMAP降维算法原理详解和应用示例
降维不仅仅是为了数据可视化。它还可以识别高维空间中的关键结构并将它们保存在低维嵌入中来克服“维度诅咒”
deephub
2021/11/16
5.9K0
R语言实现UMAP降维模型
UMAP算法被认为是与t-SNE相似的原理,都是将高维概率分布映射到低维空间的算法,从而做到降维的效果。主要基于流形理论和拓扑算法的理论,对高维数据进行降维,从而形成其他分类模型的输入特征。
一粒沙
2019/07/31
9.1K0
实战探究五个参数对UMAP图可视化的影响
这篇推文的目的是探索一些重要参数对后续分群UMAP可视化的影响。参数主要考虑:高变基因个数;pca维数;UMAP中的n_neighbors,min_dist和dims参数。影响主要看T细胞和B细胞是否分开。
生信技能树
2024/03/26
4.1K0
实战探究五个参数对UMAP图可视化的影响
算法金 | 一个强大的算法模型:t-SNE !!
t-SNE(t-Distributed Stochastic Neighbor Embedding)是一种用于降维和数据可视化的非线性算法。它被广泛应用于图像处理、文本挖掘和生物信息学等领域,特别擅长处理高维数据。
算法金
2024/06/18
3180
算法金 | 一个强大的算法模型:t-SNE !!
可视化语音分析:深度对比Wavenet、t-SNE和PCA等算法
选自Medium 作者:Leon Fedden 机器之心编译 参与:Nurhachu Null、刘晓坤 这篇文章基于 GitHub 中探索音频数据集的项目。本文列举并对比了一些有趣的算法,例如 Wavenet、UMAP、t-SNE、MFCCs 以及 PCA。此外,本文还展示了如何在 Python 中使用 Librosa 和 Tensorflow 来实现它们,并用 HTML、Javascript 和 CCS 展示可视化结果。 Jupyter Notebook:https://gist.github.com/f
机器之心
2018/05/09
3K0
可视化语音分析:深度对比Wavenet、t-SNE和PCA等算法
Nat. Methods | 像t-SNE和UMAP一样看数据
今天为大家介绍的是来自Vivien Marx的一篇论文。降维有助于可视化高维数据集。使用这些工具时需要谨慎,并且要调整参数。有时,这些方法需要反复思考。
DrugAI
2024/07/30
2300
Nat. Methods | 像t-SNE和UMAP一样看数据
t-SNE
链接:https://github.com/wepe/MachineLearning/tree/master/ManifoldLearning/DimensionalityReduction_DataVisualizing
裴来凡
2022/09/21
3220
t-SNE
t-SNE完整笔记 (附Python代码)
t-SNE(t-distributed stochastic neighbor embedding)是用于降维的一种机器学习算法,是由 Laurens van der Maaten 和 Geoffrey Hinton在08年提出来。此外,t-SNE 是一种非线性降维算法,非常适用于高维数据降维到2维或者3维,进行可视化。
Twcat_tree
2023/12/12
1K0
t-SNE完整笔记 (附Python代码)
还在用PCA降维?快学学大牛最爱的t-SNE算法吧(附Python/R代码)
假设你有一个包含数百个特征(变量)的数据集,却对数据所属的领域几乎没有什么了解。 你需要去识别数据中的隐藏模式,探索和分析数据集。不仅如此,你还必须找出数据中是否存在模式--用以判定数据是有用信号还是噪音?
生信宝典
2019/10/14
3.9K0
t-SNE:如何理解与高效使用
尽管t-SNE对于可视化高维数据非常有用,但有时其结果可能无法解读或具有误导性。通过探索它在简单情况下的表现,我们可以学会更有效地使用它。
数据科学工厂
2023/02/27
7140
t-SNE:如何理解与高效使用
t-SNE:如何理解与高效使用
尽管t-SNE对于可视化高维数据非常有用,但有时其结果可能无法解读或具有误导性。通过探索它在简单情况下的表现,我们可以学会更有效地使用它。
数据科学工厂
2023/01/19
1K0
「Workshop」第四十一期 t-SNE降维原理及其应用
降维:就是指采用某种映射方法,将原高维空间中的数据点映射到低维度的空间中。降维的本质是学习一个映射函数 f : x→y,其中x是原始数据点的表达,目前最多使用向量表达形式。y是数据点映射后的低维向量表达,通常y的维度小于x的维度(当然提高维度也是可以的)。f可能是显式的或隐式的、线性的或非线性的。
王诗翔呀
2021/04/23
3.3K0
通俗理解一个常用的降维算法(t-SNE)
最易被我们视觉观察到的维数是一维,二维和三维,四维及以上用图形表达都不会那么直观。
小草AI
2019/12/06
26.6K0
通俗理解一个常用的降维算法(t-SNE)
机器学习数据降维与可视化:t-SNE详解与实践【附代码】
高维数据不仅在存储和计算上带来困难,更重要的是,我们很难直观地理解高维空间中数据点的分布和结构。
统计学家
2024/11/19
1.7K0
机器学习数据降维与可视化:t-SNE详解与实践【附代码】
数据降维以及细胞亚群分类
单细胞数据中包含很多细胞以及很多基因,是一个较大的数据集,维度较大,需要对数据进行降维。降维就是对原始数据进行特征提取,经常会得到高维度的特征向量。通过降维的方式来寻找数据内部的特性,提升特征表达能力,降低模型的训练成本。
生信喵实验柴
2022/10/25
1.5K0
数据降维以及细胞亚群分类
降维方法 PCA、t-sne、Umap 的 python 实现
提取游戏音频 5.7W 段,提取声音指纹特征,放在 fea.json 文件中用于测试。
为为为什么
2023/06/27
1.3K0
降维方法 PCA、t-sne、Umap 的 python 实现
什么?你竟然还不知道t-SNE降维算法!
在科学研究中处理高维数据的童鞋们,常常会遇到这种问题:我们明明知道自己的数据具有很好的内部特征,却无法找到合适的降维算法展示出来。由于每一个样品特征内都可能会存在一些离散点,线性降维例如PCA、PCoA常常难以有效的区分不同的样品特征,而且忠实于相互距离的线性算法往往难以获得满意的排序结果。这时候,你就需要更新自己的算法库啦!
SYSU星空
2022/05/05
5070
什么?你竟然还不知道t-SNE降维算法!
什么是高维数据可视化的降维方法_数据降维具体算法有哪几种
  t-SNE是目前来说效果最好的数据降维与可视化方法,但是它的缺点也很明显,比如:占内存大,运行时间长。但是,当我们想要对高维数据进行分类,又不清楚这个数据集有没有很好的可分性(即同类之间间隔小,异类之间间隔大),可以通过t-SNE投影到2维或者3维的空间中观察一下。如果在低维空间中具有可分性,则数据是可分的;如果在高维空间中不具有可分性,可能是数据不可分,也可能仅仅是因为不能投影到低维空间。   下面会简单介绍t-SNE的原理,参数和实例。
全栈程序员站长
2022/09/28
1.7K0
什么是高维数据可视化的降维方法_数据降维具体算法有哪几种
使用t-SNE算法进行可视化
t-Distributed Stochastic Neighbor Emdedding
生信修炼手册
2021/04/15
9930
推荐阅读
相关推荐
机器学习算法:UMAP 深入理解
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档