t-SNE是一种降维方法,PCA主成分分析、LDA等属于线性降维,t-SNE属于非线性降维,是一种流形学习方法(Manifold Learning)。

如图所示的曲面上,两点之间的欧式距离为红色虚线所示,蓝色实线为两点之间的测地线距离,第二张图为KNN图,展开后如第三张图所示。两点之间的最短距离为蓝色实线所示,但实际应用中,真实最短距离较难获得,一般通过构造KNN图寻找最短路径作为近似。

构建二维空间k-d树后,寻找k近邻就不用计算某个点与其他所有点之间的距离了。例如寻找图中红点的k近邻,只需要搜索当前子空间,同时不断回溯搜索父节点的其他子空间,即可找到k近邻点。

SNE(stochastic neighbor embedding)根本原理是:在高维空间相似的数据点,映射到低维空间距离也是相似的。通常使用欧式距离来描述这种相似性,而SNE把这种距离关系转换为一种条件概率来表示相似性。高维空间中的两个数据点xi和xj,xi以条件概率Pj|i选择xj作为它的邻近点。考虑以xi为中心点的高斯分布,若xj越靠近xi,则Pj|i越大。反之若两者相距较远,则Pj|i极小。因此我们可以这样定义Pj|i。

其中σi表示以xi为中心点的高斯分布的方差。由于我们只关心不同点对之间的相似度,所以设定Pi|i=0。

当我们把数据映射到低维空间后,高维数据点之间的相似性也应该在低维空间的数据点上体现出来。这里同样用条件概率的形式描述,假设高维数据点xi和xj在低维空间的映射点分别为yi和yj。类似的,低维空间中的条件概率用qj|i表示,并将所有高斯分布的方差均设定为1/sqrt(2),所以有:

若yi和yj真实反映了高维数据点xi和xj之间的关系,那么条件概率pj|i与qj|i应该完全相等。这里我们只考虑了xi与xj之间的条件概率,若考虑xi与其他所有点之间的条件概率,则可构成一个条件概率分布Pi,同理在低维空间存在一个条件概率分布Qi且应该与Pi一致。如何衡量两个分布之间的相似性?当然是用经典的KL距离(Kullback-Leibler Divergence),SNE最终目标就是对所有数据点最小化这个KL距离,我们可以使用梯度下降算法最小化如下代价函数:

http://bindog.github.io/blog/2016/06/04/from-sne-to-tsne-to-largevis/#top

tSNE—高维数据降维可视化(理论部分)相关推荐

  1. TSNE高维数据降维可视化工具 + python实现

    文章目录 1.概述 1.1 什么是TSNE 1.2 TSNE原理 1.2.1入门的原理介绍 1.2.2进阶的原理介绍 1.2.2.1 高维距离表示 1.2.2.2 低维相似度表示 1.2.2.3 惩罚 ...

  2. 两组声音的一维数据如何比较相似度_TSNE高维数据降维可视化工具 入门到理解 + python实现...

    1 什么是TSNE? TSNE是由T和SNE组成,T分布和随机近邻嵌入(Stochastic neighbor Embedding). TSNE是一种可视化工具,将高位数据降到2-3维,然后画成图. ...

  3. ML之DR:基于鸢尾花(Iris)数据集利用多种降维算法(PCA/TSVD/LDA/TSNE)实现数据降维并进行二维和三维动态可视化应用案例

    ML之DR:基于鸢尾花(Iris)数据集利用多种降维算法(PCA/TSVD/LDA/TSNE)实现数据降维并进行二维和三维动态可视化应用案例 目录 基于鸢尾花(Iris)数据集利用多种降维算法(PCA ...

  4. 【Gensim + TSNE使用】word2vec词向量处理中文小说 (词嵌入、高维数据降维)

    [Gensim + TSNE使用]word2vec词向量处理中文小说 本文使用Gensim对小说斗破苍穹进行词嵌入可视化 流程 数据预处理,将小说数据滤除停止词,分词book_loader(). 调用 ...

  5. 高维信息降维可视化常用算法比较

    我们人类比较容易理解三维以内的信息,在做数据分析挖掘以前,先要对数据集有个浅显的认识,比如统计分布.可视化.相关性等.这里引入了常用降维算法模型原理,对MNIST 784维数据做可视化和结果对比展示, ...

  6. 高维数据降维 国家自然科学基金项目 2009-2013 NSFC Dimensionality Reduction

    2013 基于数据降维和压缩感知的图像哈希理论与方法 唐振军 广西师范大学 多元时间序列数据挖掘中的特征表示和相似性度量方法研究 李海林 华侨大学       基于标签和多特征融合的图像语义空间学习技 ...

  7. 高维数据降维(机器学习)

    目录 一.实验内容 二.实验过程 1.算法思想 2.算法原理 3.算法分析 三.源程序代码 四.运行结果及分析 五.实验总结 一.实验内容 熟知高维数据降维的概念和基本算法思想: 掌握高维数据降维算法 ...

  8. 降维算法PCA的应用----高维数据的可视化

    文章目录 序言 废话不多说看代码 导入相关模块 数据提取 降维 降维后数据信息展示 新的特征矩阵 可视化 关于X_dim2[y==i, 0]的解释 总结 序言 当我们拿到一堆数据的时候,几乎不可能通过 ...

  9. 详解机器学习高维数据降维方法

    当特征选择完成后,可以直接训练模型了,但是可能由于特征矩阵过大,导致计算量大,训练时间长的问题,因此降低维度也是必不可少的. 常见的降维方法除了以上提到的基于 L1 惩罚项的模型以外,另外还有主成分分 ...

最新文章

  1. html5语义化标签大全
  2. Google protobuf解析消息逻辑的版本问题
  3. Rails的作者DHH获奖:Winning Google/O'Reilly's Best Hacker of '05
  4. 【NLP】PET——文本分类的又一种妙解
  5. ant build里如何指定classpath
  6. mysql 插入数据 自增长_如何在MYSQL插数据 ID自增
  7. ssh免密码登陆设置
  8. 管理 ciner-volumes
  9. 类似QQ下拉出现搜索
  10. 【元胞自动机】基于matlab元胞自动机城市规划【含Matlab源码 125期】
  11. 上古卷轴5无法启动 因为计算机丢失,《上古卷轴5:天际》无法启动nmm解决方法...
  12. html阅读是什意思,HTML是什么意思?什么是HTML5?什么是H5? | 前端面试题
  13. 从入门到放弃,50G编程视频免费送!
  14. 又java基础学php多久_php自学需要多久?
  15. 虚拟机ubuntu与Windows复制粘贴设置
  16. Linux系统管理员之日志管理
  17. Go语言的函数与数组
  18. 标准化API设计的重要性
  19. 移动硬盘启动win7蓝屏7b_电脑插入移动硬盘后,只要一点击移动硬盘中的文件夹就马上蓝屏...
  20. 美团外卖流量数据的采集加工和应用

热门文章

  1. MATLAB:一维插值算法
  2. 银行信贷管理系统的客户关系管理子模块
  3. MySQL数据库,创建表空间
  4. file.getOriginalFilename()
  5. Android图表控件MPAndroidChart——BarChart实现多列柱状图以及堆积柱状图
  6. 学习笔记:WEB安全防护
  7. C# WebForm
  8. js 获取数组最后一个元素
  9. Java详细讲解OOP面向对象
  10. linux如何使用sin函数,Ubuntu下使用make编译c文件,不能调用sin cos 等函数问题的解决...