t-SNE方法:

news2025/2/23 11:50:02

使用t-SNE时,除了指定你想要降维的维度(参数n_components),另一个重要的参数是困惑度(Perplexity,参数perplexity)

困惑度:

困惑度大致表示如何在局部或者全局位面上平衡关注点,再说的具体一点就是关于对每个点周围邻居数量猜测。困惑度对最终成图有着复杂的影响。

  1. 低困惑度对应的是局部视角,要把自己想象成一只蚂蚁,在数据所在的流形上一个点一个点地探索。
  2. 高困惑度对应的是全局视角,要把自己想象成上帝。

参考:t-SNE:最好的降维方法之一 - 知乎 (zhihu.com)

具体介绍:

t-SNE(t-分布随机邻域嵌入,T-distributed Stochastic Neighbor Embedding)是一种流行的机器学习算法,主要用于降维。该算法特别适用于将高维数据映射到低维空间,如2维或3维,以便于可视化和分析。可以从具有数百甚至数千个维度的数据中创建引人注目的两维“地图”

t-SNE(t-DistributedStochastic Neighbor Embedding,T 分布随机近邻嵌入)是一种可以把高维数据降到二维或三维的降维技术。


t-SNE通过在低维空间中模拟高维数据分布,尽可能保留原始数据集中的局部结构。它是一种非线性降维技术,其核心思想是保持相似的数据点在嵌入后的空间中仍然彼此靠近,同时在高维空间中相隔较远的点在嵌入后也保持距离。

目标:

在高维空间中获取一组点,并在低维空间(通常是 2D 平面)中找到这些点的忠实表示。该算法是非线性的,可适应底层数据,在不同区域执行不同的变换。这些差异可能是造成混淆的主要根源。

t-SNE的第二个特点是一个可调的参数,即“困惑性”,它(松散地)表示如何平衡数据的局部和全局方面之间的注意力。从某种意义上说,该参数是对每个点具有的近邻数量的猜测。困惑度值对生成的图片具有复杂的影响。原始论文说,“SNE的性能对困惑度的变化相当鲁棒,典型值在5到50之间。但故事比这更微妙。从t-SNE中获得最大收益可能意味着分析具有不同困惑度的多个图。


算法的主要步骤包括:

  1. 数据初始化:为数据集中的每个点分配一个随机的低维表示
  2. 相似度计算:计算高维空间中所有点对之间的相似度,通常使用高斯分布来表示这种相似性。
  3. 距离矩阵构建:根据相似度构建一个距离矩阵,这个矩阵描述了数据点在低维空间中的相对位置。
  4. 概率分布学习:使用距离矩阵,通过极大似然估计学习一个用于生成低维表示的概率模型。
  5. 优化:使用梯度下降法优化概率模型,迭代地更新低维表示,直到收敛。
  6. 结果评估:使用一个称为“困惑度”的指标来评估最终嵌入的质量。

t-SNE在处理复杂数据集时表现出色,尤其是在数据可视化和发现数据的内在结构方面。但是,它也有一些局限性,比如计算复杂度高,对超参数(如困惑度)的选择敏感,以及在大数据集上可能需要大量的计算资源。


在R语言中,可以使用tsne包来进行t-SNE的计算和可视化。在Python中,sklearn.manifold库提供了t-SNE的实现,可以方便地对高维数据进行降维和可视化。


需要注意的是,t-SNE并不是唯一的选择。对于那些需要更快速处理且对内存要求较低的大数据集,可以选择UMAP(Uniform Manifold Approximation and Projection)作为替代方法,它也是一种非线性降维技术,特别适合于大规模数据集的降维和可视化。

与PCA方法的不同点:

参考:解读文献里的那些图——t-SNE散点图 - 知乎 (zhihu.com)

如果用 PCA 降维进行可视化,会出现所谓的“拥挤现象”。

相比于PCA,t-SNE更加注重保留原始数据的局部特征,这意味着高维数据空间中距离相近的点投影到低维中仍然相近,通过t-SNE处理同样能生成漂亮的可视化。

参数:

相关参考链接:

【1】如何有效使用t-SNE (distill.pub)

【2】t-SNE高维数据可视化(python)_t-sne可视化python-CSDN博客

【3】从SNE到t-SNE再到LargeVis (bindog.github.io)

【4】论文笔记:Visualizing data using t-SNE | 胡东瑶的小屋 (psubnwell.github.io)

【5】t-SNE:最好的降维方法之一 - 知乎 (zhihu.com)

【6】GitHub 上 - tensorflow/tfjs-tsne

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1286103.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【稳定检索|投稿优惠】2024年光电信息与机器人发展国际会议(ICOIRD 2024)

2024年光电信息与机器人发展国际会议(ICOIRD 2024) 2024 International Conference on Optoelectronic Information and Robot Development(ICOIRD 2024) 一、【会议简介】 信息技术与人工智能的浪潮正在激荡,不断刷新我们生活的页面,深刻烙印在光电信息…

西安安泰Aigtek——ATA-8152射频功率放大器

ATA-8152射频功率放大器简介 ATA-8152是一款射频功率放大器。其P1dB输出功率100W,饱和输出功率200W。增益数控可调,一键保存设置,提供了方便简洁的操作选择,可与主流的信号发生器配套使用,实现射频信号的放大。宽范围供…

【每日一题】到达首都的最少油耗

文章目录 Tag题目来源题目解读解题思路方法一:贪心深搜 写在最后 Tag 【递归/深度优先搜索】【树】【2023-12-05】 题目来源 2477. 到达首都的最少油耗 题目解读 每个城市都有一位代表需要前往城市 0 进行开会。每个城市都有一辆座位数为 seats 的汽车&#xff0…

高温老化房稳定性、应用领域

高温老化房控制系统的稳定性主要有四点: 1. 温度控制:控制系统确保老化室内的温度在整个老化试验过程中保持稳定并在期望的范围内。这种稳定性对于准确可靠的测试结果至关重要。 2. 湿度控制:控制系统同时保持老化室内湿度水平稳定。这一点很重要,因为某些材料或产…

gitlab高级功能之mirroring - pull mirroring(二)

上一篇详细介绍了mirroring的push功能,本篇给大家介绍下mirroring的pull功能的使用。 文章目录 1. pull mirroring1.1 介绍1.2 工作方式 2. 配置拉取镜像2.1 基于https的方式step1: 选择远程gitlab所在的项目和获取tokenstep2: 配置本地gitlabstep3: 验证 2.2 基于s…

大文本限制录入文字后通过输入法鼠标单击还可继续超限额录入问题

textInpEl.on(keyup propertychange, "textarea", function () { var realMaxLength $(this).parent().parent().find(".maxNum").text(); //真实的最大长度 var endFontLen $(this).val().length; if (endFontLen < rea…

两电脑共享鼠标键盘方案

一开始使用的是shareMouse 但是需要注册还有很多不稳定问题 后来想买个双拷线&#xff0c;又太贵&#xff0c;感觉不值的。 再后来&#xff0c;发现微软有自己的系统上的 共享方案 &#xff0c;叫做 Mouse without Borders ,而且是免费的&#xff0c;只能在window电脑上使用…

数据结构——希尔排序(详解)

呀哈喽&#xff0c;我是结衣 不知不觉&#xff0c;我们的数据结构之路已经来到了&#xff0c;排序这个新的领域&#xff0c;虽然你会说我们还学过冒泡排序。但是冒泡排序的性能不高&#xff0c;今天我们要学习的希尔排序可就比冒泡快的多了。 希尔排序 希尔排序的前身是插入排…

二叉树链式结构的实现——C语言

目录 一、提前说明 二、二叉树的遍历 2.1前序遍历 2.2中序遍历 2.3后序遍历 2.4代码 三、二叉树结点个数 3.1整体思路 3.2代码 四、二叉树叶子结点个数 4.1整体思路 4.2代码 五、二叉树的高度(深度) 5.1整体思路 5.2代码 六、二叉树第k层节点个数 6.1整…

天津python培训课程,普通人学python有用吗?

选择一个正确的行业对于个人的发展至关重要&#xff0c;在当今时代&#xff0c;IT行业高薪的特点吸引了越来越多的人转行“入坑”&#xff0c;而作为目前的热门编程语言&#xff0c;python也是很多人转行的选择。 Python培训学费选择 python培训班学费可能会因为培训机构所在…

利用document.write阻塞js文件加载

脚本加载失败如何重试【渡一教育】_哔哩哔哩_bilibili 注意需要添加3个转义符 利用document.write加载js的好处是会阻塞后续的js记载,必须等待当前js加载并执行完毕后,才会加载后续的js文件,保证了顺序性

计算机网络:可靠数据传输(rdt)、流水协议、窗口滑动协议

文章目录 前言一、Rdt1.Rdt1.02.Rdt2.03.Rdt2.14.Rdt2.25.Rdt3.0 二、流水线协议1.滑动窗口&#xff08;slide window&#xff09;协议发送窗口接收窗口正常情况下的2个窗口互动异常情况下GBN的2个窗口互动异常情况下SR的2窗口互动GBN协议和SR协议的异同 2.小结 总结 前言 Rdt…

Mac电脑如何安装git

一、简介 在Mac上安装Git之前&#xff0c;可以先使用git --version来查看一下是否安装了Git&#xff0c;因为Mac系统可能自带了Git&#xff0c;或者在你安装XCode&#xff08;或者XCode的命令行工具&#xff09;时&#xff0c;可能已经安装了 Git。 如果Mac还没有安装Git的话&…

做一个类似东郊到家的上门服务类系统有哪些功能?

上门服务系统是一款便捷的技师接单、上门提供理疗服务的软件。我们拥有优秀的开发团队&#xff0c;为您量身定制解决方案&#xff0c;价格合理&#xff0c;用心服务。 预约上门&#xff1a;该功能是预约上门推拿理疗按摩系统软件小程序APP的核心功能。消费者通过系统预约下单&a…

【带头学C++】----- 九、类和对象 ---- 9.5 初始化列表

目录 9.5 初始化列表 9.5.1 对象成员 代码&#xff1a; 9.5.2 初始化列表 9.5 初始化列表 9.5.1 对象成员 在类中定义的数据成员一般都是基本的数据类型。但是类中的成员也可以是对象&#xff0c;叫做对象成员。 先调用对象成员的构造函数&#xff0c;再调用本身的构造函数…

C# .NET平台提取PDF表格数据,并转换为txt、CSV和Excel表格文件

处理PDF文件中的内容是比较麻烦的事情&#xff0c;特别是以表格形式呈现的各种数据。为了充分利用这些宝贵的数据资源&#xff0c;我们可以通过程序提取PDF文件中的表格&#xff0c;并将其保存为更易于处理和分析的格式&#xff0c;如txt、csv、xlsx&#xff0c;从而更方便地对…

2024年口碑比较好的猫罐头有哪些?2024年口碑比较好的猫罐头盘点

想必铲屎官都知道给猫咪长期吃主食罐头的好处了吧&#xff01;主食罐头不仅营养丰富&#xff0c;还能让猫咪顺便补充水分。有时候猫咪食欲不佳&#xff0c;一罐主食罐头就能让它们胃口大开呢。 猫罐头侠登场&#xff01;养猫这么久了我就把我吃的不错的猫罐头分享一下&#xf…

银行测试:什么是银行数据治理?如何进行有效的银行领域的实际应用?

在数字化时代&#xff0c;数据已经成为银行的重要资产&#xff0c;而数据治理则是确保数据质量、安全性和可用性的关键。那么&#xff0c;什么是银行数据治理&#xff1f;为什么我们需要银行数据治理&#xff1f;又如何进行有效的银行数据治理呢&#xff1f;又有哪些数据治理技…

万界星空科技智能工厂主要建设模式

由于各个行业生产流程不同&#xff0c;加上各个行业智能化情况不同&#xff0c;智能工厂有以下几个不同的建设模式。 第一种模式&#xff1a;是从生产过程数字化到智能工厂 在石化、钢铁、冶金、建材、纺织、造纸、医药、食品等流程制造领域&#xff0c;企业发展智能制造的内在…

SIT75176B:3.0~5.5V 供电,32 节点,10Mbps 半双工 RS485/RS422 收发器

SIT75176B 是一款 3.0V~5.5V 电源供电、总线端口 ESD 保护能力 HBM 达到 15kV 以上、总 线耐压范围达到 15V 、半双工、低功耗&#xff0c;功能完全满足 TIA/EIA-485 标准要求的 RS-485 收发器&#xff0c; 最多允许 32 个节点同时连接到总线。 SIT75176B 包…