【转载】 t-SNE是什么? —— 使用指南
原文地址:
https://www.cnblogs.com/LuckBelongsToStrugglingMan/p/14161405.html
转者前言:
该文相当于一个 t-SNE 使用指南,写的很好很有知识量。经常在CCF指定的国际A会A刊的论文上看到有论文通过比较两个神经网络最好的t-sne图来比较这两个算法的好坏,由于自己硕士研究生期间已经过机器学习数据可视化领域的技术对这个领域有所了解,这种可视化通俗的来说只是一种数据关系的抽象显示,一般都是关注局部数据特征关系或者再关注一些全局数据关系特点罢了,是难以用这个图来显示不同种算法得到的哪种数据的发布更好,近期实验室学术讨论上大陆博士也在用这种两个算法的t-SNE图来比较两个算法的好坏,这直接激发了实锤这个可视化算法具体用处的想法,因此就有了在网上看到这个博文的指南性说明,感觉博文写的不错,这里转载以作记录之用。
=======================
原文如下:
简短的速记t-SNE的作用,我是阅读了原文和一些博文才敢记录的
原文:Accelerating t-SNE using Tree-Based Algorithms
博文:
https://distill.pub/2016/misread-tsne/;
https://www.deeplearn.me/2137.html;
https://bindog.github.io/blog/2016/06/04/from-sne-to-tsne-to-largevis/;
http://bindog.github.io/blog/2018/07/31/t-sne-tips/
强烈建议阅读PPT:作者怒号:不要瞎用我的t-SNE!
Do's and Don'ts of using t-SNE to Understand Vision Models
=========================
t-SNE:学生t分布随机紧邻映射
目的是将高维的特征向量用低维(2维、3维)点可视化。
数学描述为:将高维特征向量的相似性用概率分布表示,此概率分布密度由高维向量的欧式距离决定,但不是正比关系,因为自己与自己的相似性为1但是条件概率为0;基于这个概率分布,在低维空间中找两个点构成低维空间的概率分布,通过梯度下降优化以上两个高维、低维空间概率分布的KL散度,可以求得低维空间上的两个点之间的关系。
简言之,高维空间上相似的两个向量在低维空间上的对应点更靠近。
注意:
1. t-SNE可视化关键作用在于将相似的特征聚集起来,仅此而已,即不相似的特征分开,相似的特征聚集,也就说尽量不存在不相似的特征重叠!!!
2. t-SNE可视化中任何两蔟集群的【间距都是没有任何意义的】,因为集群之间的距离并不能反映特征的不相似性和相似性!有很多论文都用错了这一点,特别注意,即便所有的超参都设置相同,随机两次的相同实验也不太可能得到相同的集群情况,因为t-SNE是在解决一个非凸优问题!
3. t-SNE可视化中一簇集群的聚集程度【可能也是没有意义的】,注意是可能!还是那么说,t-SNE的聚集程度都是可以通过不同的调参调出来的
4. t-SNE可视化的聚集与分离不能给出模型分类好坏的结论;但是可以作为要处理的数据集是否可被良好分类的引导和启发后面研究的先验
5. 再次重申,t-SNE可视化发现类间不混叠才是他的主要用途,而不同集群的距离和同一集群的聚集程度都没有意义
=========================
【转载】 t-SNE是什么? —— 使用指南的更多相关文章
- 转载:Chrome 控制台不完全指南
Chrome的开发者工具已经强大到没朋友的地步了,特别是其功能丰富界面友好的console,使用得当可以有如下功效: 更高「逼格」更快「开发调试」更强「进阶级的Frontender」 Bug无处遁形「 ...
- 转载:《RESTful API 设计指南》 阮一峰
原文:http://www.ruanyifeng.com/blog/2014/05/restful_api 网络应用程序,分为前端和后端两个部分.当前的发展趋势,就是前端设备层出不穷(手机.平板.桌面 ...
- [转载并收藏]JavaScript 疲劳终极指南:我们行业的真相
这篇文章说的深得我心,特别是前半段. 特此收藏. 中文译文:http://www.zcfy.cc/article/the-ultimate-guide-to-javascript-fatigue-re ...
- jQuery性能优化指南(转载)
现在jquery应用的越来越多, 有些同学在享受爽快淋漓coding时就将性能问题忽略了, 比如我. jquery虽在诸多的js类库中性能表现还算优秀, 但毕竟不是在用原生的javascript开发, ...
- d3.js 入门指南 - 仪表盘
D3的全称是Data-Driven Documents(数据驱动的文档),是一个用来做数据可视化的JavaScript函数库,而JavaScript文件的后缀通常为.js,所以D3被称为D3.js. ...
- d3.js 入门指南
说到数据可视化,我们会行到很多优秀的框架,像echarts.highcharts,这些框架很优雅,健壮,能满足我们对可视化的大部分需求,但是缺点也很明显,就是这些框架几乎是不可定制化的,当遇到特殊的需 ...
- .NET Core 2.0下载和文档
.NET Core 2.0 RTM 正式版2017/8/14 发布.对应发布 ASP.NET Core 2.0 .EF Core 2.0以及.NET Standard 2.0. 你可以通过 Visua ...
- Redis缓存和MySQL数据一致性方案(转)
需求起因 在高并发的业务场景下,数据库大多数情况都是用户并发访问最薄弱的环节.所以,就需要使用redis做一个缓冲操作,让请求先访问到redis,而不是直接访问MySQL等数据库. 这个业务场景,主要 ...
- ARM CORTEX-M3 内核架构理解归纳
ARM CORTEX-M3 内核架构理解归纳 来源:网络 个人觉得对CM3架构归纳的非常不错,因此转载 基于<ARM-CORTEX M3 权威指南>做学习总结: 在我看来,Cotex-M3 ...
- 移动H5前端性能优化指南(转载)
移动H5前端性能优化指南 概述 1. PC优化手段在Mobile侧同样适用2. 在Mobile侧我们提出三秒种渲染完成首屏指标3. 基于第二点,首屏加载3秒完成或使用Loading4. 基于联通3G网 ...
随机推荐
- 1. Elasticsearch 入门安装与部署
引言 Elasticsearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elasticsearch是用Java语言开发的,并作为 ...
- Java原子操作保证方案
引言 原子操作是指不会被线程调度机制打断的操作:这种操作一旦开始,就一直运行到结束,中间不会有任何 context switch (切换到另一个线程).通常所说的原子操作包括对非long和double ...
- 燕千云 YQCloud 数智化业务服务管理平台发布1.11版本
2022年3月25日,燕千云 YQCloud 数智化业务服务管理平台发布1.11版本.新增客户服务管理模块.优化IT服务管理功能.增强燕千云与其他平台的集成能力.支持更多的业务服务场景.全面提升企业数 ...
- linux查看端口命令 lsof netstat
[root@VM-4-3-centos /]# lsof -i:8881COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEnode 15526 roo ...
- centos8使用nmcli实现bond
#添加bonding接口 nmcli con add type bond con-name bond0 ifname bond0 mode active-backup ipv4.method manu ...
- 11-DNS域名解析服务
背景 我们都知道,用ip可以唯一标识互联网上的主机. 从前,互联网的主机非常的少.我们都可以记住每台Server的ip. 就像是大哥大时期,电话非常少,电话号码也就非常少,我们都能记住某个人的电话. ...
- nginx 添加 模块
--- title: nginx 添加 模块 date: 2019-10-31 11:21:46 categories: tags: - config - nginx --- 说明: 已经安装好的Ng ...
- Linux 网络编程的5种IO模型 总结
背景 在网络编程中,经常会用到一些模型,在这里做一下总结. 正文 Linux 网络编程的5种IO模型:阻塞IO与非阻塞IO 这是最简单的模型,一般配合多线程来实现. Linux 网络编程的5种IO模型 ...
- mapreduce的shuffle机制
1.1 概述: mapreduce中,map阶段处理的数据如何传递给reduce阶段,是mapreduce框架中最关键的一个流程,这个流程就叫shuffle:(从map的输出到reduce的输入) s ...
- 傻瓜式Java操作MySQL数据库备份(使用mysqldump命令)
傻瓜式Java操作MySQL数据库备份(使用mysqldump命令) 注释都是由chatGPT生成,有什么问题可以评论交流 @Value("${backup.sql.database}&qu ...