原文地址:

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是什么? —— 使用指南的更多相关文章

  1. 转载:Chrome 控制台不完全指南

    Chrome的开发者工具已经强大到没朋友的地步了,特别是其功能丰富界面友好的console,使用得当可以有如下功效: 更高「逼格」更快「开发调试」更强「进阶级的Frontender」 Bug无处遁形「 ...

  2. 转载:《RESTful API 设计指南》 阮一峰

    原文:http://www.ruanyifeng.com/blog/2014/05/restful_api 网络应用程序,分为前端和后端两个部分.当前的发展趋势,就是前端设备层出不穷(手机.平板.桌面 ...

  3. [转载并收藏]JavaScript 疲劳终极指南:我们行业的真相

    这篇文章说的深得我心,特别是前半段. 特此收藏. 中文译文:http://www.zcfy.cc/article/the-ultimate-guide-to-javascript-fatigue-re ...

  4. jQuery性能优化指南(转载)

    现在jquery应用的越来越多, 有些同学在享受爽快淋漓coding时就将性能问题忽略了, 比如我. jquery虽在诸多的js类库中性能表现还算优秀, 但毕竟不是在用原生的javascript开发, ...

  5. d3.js 入门指南 - 仪表盘

    D3的全称是Data-Driven Documents(数据驱动的文档),是一个用来做数据可视化的JavaScript函数库,而JavaScript文件的后缀通常为.js,所以D3被称为D3.js. ...

  6. d3.js 入门指南

    说到数据可视化,我们会行到很多优秀的框架,像echarts.highcharts,这些框架很优雅,健壮,能满足我们对可视化的大部分需求,但是缺点也很明显,就是这些框架几乎是不可定制化的,当遇到特殊的需 ...

  7. .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 ...

  8. Redis缓存和MySQL数据一致性方案(转)

    需求起因 在高并发的业务场景下,数据库大多数情况都是用户并发访问最薄弱的环节.所以,就需要使用redis做一个缓冲操作,让请求先访问到redis,而不是直接访问MySQL等数据库. 这个业务场景,主要 ...

  9. ARM CORTEX-M3 内核架构理解归纳

    ARM CORTEX-M3 内核架构理解归纳 来源:网络 个人觉得对CM3架构归纳的非常不错,因此转载 基于<ARM-CORTEX M3 权威指南>做学习总结: 在我看来,Cotex-M3 ...

  10. 移动H5前端性能优化指南(转载)

    移动H5前端性能优化指南 概述 1. PC优化手段在Mobile侧同样适用2. 在Mobile侧我们提出三秒种渲染完成首屏指标3. 基于第二点,首屏加载3秒完成或使用Loading4. 基于联通3G网 ...

随机推荐

  1. 工程数学 实验5-MATLAB最优化工具箱的使用

    (1)线性规划应用案例的求解 1.基本要求 通过一个农业生产计划优化安排的实例求解,培养学生解决实际线性规划问题的初步能力:熟悉线性规划的建模过程:掌握Matlab优化工具箱中线性规划函数的调用. 2 ...

  2. 学习ThreeJS

    创建第一个应用 使用Three JS进行编程的时候,都是在调用new Three().XXX 来实现方法,让我们先根据官方文档创建一个demo https://threejs.org/docs/ind ...

  3. rest接口list参数接收

    list<String> post传参 ["1112","2222","3332"]list<Object> pos ...

  4. 记一次 .NET某机械臂上位系统 卡死分析

    一:背景 1. 讲故事 前些天有位朋友找到我,说他们的程序会偶发性的卡死一段时间,然后又好了,让我帮忙看下怎么回事?窗体类的程序解决起来相对来说比较简单,让朋友用procdump自动抓一个卡死时的du ...

  5. uniapp 开发微信小程序 使用微信小程序一键登录

    研究了一天的uniapp开发微信小程序的第一步,登录! 刚开始使用uni.getUserInfo函数No!不行,无法运行,研究文档发现是这个函数被微信小程序团队给禁用了,OK换! 后来换成了uni.g ...

  6. [一句话说iOS]dispatch如何造成死锁

    dispatch_sync执行了两件事:把代码块放入指定线程的任务队列中.堵塞当前线程直到代码块执行结束,如果出现了堵塞的线程和代码块所在的线程为同一线程的话,这个时候代码无法在此线程执行继续下去,即 ...

  7. 关于 KL 散度和变分推断的 ELBO

    01 KL 散度 Kullback-Leibler (KL) 散度,是一种描述 一个概率分布 \(P\) 相对于另一个概率分布 \(Q\) 的非对称性差异的概念. KL 散度是非负的:当且仅当两个分布 ...

  8. 设备树DTS 学习:学习总结(应用篇)

    设备树DTS 学习:学习总结(应用篇) 背景 经过前几章的学习,我们可以说是掌握了设备树的基础用法,现在作为总结回顾. 1.设备树DTS 学习:有关概念 介绍了什么是设备树,设备树的作用,如何编译设备 ...

  9. Linux基本编程环境安装

    前言 可以采用组合式安装,如:https://oneinstack.com/ 选择好要安装的,然后复制安装命令就可以一键搞定很多东西了 VMware安装Centos7 按照物理机CPU实际情况,选择处 ...

  10. 重复消费Java Stream的三种方法。你选择哪种?

    Java中的Stream一旦被消费就会关闭,不能再次使用了.如果的确有需要该怎么办呢? 这里介绍三种重复消费Stream的方法. 1. 从集合再次创建 这里你都不用往下继续看就知道该怎么办,不过我还是 ...