原文地址:

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. JVM垃圾回收器(详解)

    引言 垃圾回收(GC,Garbage Collection) 在笔者上一篇文章中(JVM内存模型),介绍了JVM内存模型以及JVM运行时的数据区,堆是JVM内存区域里面最大的一块区域,用于存放实例数据 ...

  2. 订单请求接口设计,避免timeout超时问题 下单解决

    订单请求接口设计,避免timeout超时问题 下单解决 接上篇:外部系统对接下单幂等性校验逻辑及接口超时处理 https://www.cnblogs.com/oktokeep/p/17668039.h ...

  3. mybatis执行insert语句后,返回当前插入数据主键的方法 keyProperty区分大小写

    mybatis执行insert语句后,返回当前插入数据主键的方法 keyProperty区分大小写 #这样查询没有返回主键值 <insert id="addLog" useG ...

  4. XTuner大模型单卡低成本微调实战

    Smiling & Weeping ---- 有趣是片难寻的土,灵魂是朵难养的花 一些关于的模型训练的小tips: 1.ctrl+c中断  2.tmux new -s 名称   3.ctrl+ ...

  5. CNN -- Simple Residual Network

    Smiling & Weeping ---- 我爱你,从这里一直到月亮,再绕回来 说明: 1.要解决的问题:梯度消失 2. 跳连接,H(x) = F(x)+x,张量维度必须一致,加完后再激活. ...

  6. git客户端安装和使用

    需要安装三个软件 1.git客户端 点击下载 下载完成后一只next就行了. 2.git右键属性的扩展程序 点击下载 下载完成后一只next就行了 3.git中文包 点击下载 下载完成后一只next就 ...

  7. java多线程-3-使用多线程的时机

    许多人对于计算机的运行原理不了解,甚至根本不了解. 不幸的是,此类中的一部分人也参与了计算机的编码工作.可想而知,编写的效率和结果.听者伤心,闻者流泪. 此类同学的常见的误解: 并发就能加快任务完成 ...

  8. Project Euler 1~10 野蛮题解

    这些题都比较简单就不贴代码和做法了 23333333 具体到做法就是枚举暴力,这十题中可能难一点地方的就是筛质数表,可以学习一下 Eratosthenes 筛法或者是欧拉筛. 如果您不会前十题建议好好 ...

  9. Linux 命令指南

    做这个东西有两个用处,一是初赛会考,二是考场上用 windows 哪里数组越界你都不知道直接 RE 爆炸. sudo -s 输入后填写密码获得管理员权限. cd 打开文件或者目录,用法是 cd 目录名 ...

  10. Vue 框架怎么实现对象和数组的监听?

    如果被问到 Vue 怎么实现数据双向绑定,大家肯定都会回答 通过 Object.defineProperty() 对数据进行劫持,但是 Object.defineProperty() 只能对属性进行数 ...