tSNE—高维数据降维可视化(理论部分)
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—高维数据降维可视化(理论部分)相关推荐
- 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 惩罚 ...
- 两组声音的一维数据如何比较相似度_TSNE高维数据降维可视化工具 入门到理解 + python实现...
1 什么是TSNE? TSNE是由T和SNE组成,T分布和随机近邻嵌入(Stochastic neighbor Embedding). TSNE是一种可视化工具,将高位数据降到2-3维,然后画成图. ...
- ML之DR:基于鸢尾花(Iris)数据集利用多种降维算法(PCA/TSVD/LDA/TSNE)实现数据降维并进行二维和三维动态可视化应用案例
ML之DR:基于鸢尾花(Iris)数据集利用多种降维算法(PCA/TSVD/LDA/TSNE)实现数据降维并进行二维和三维动态可视化应用案例 目录 基于鸢尾花(Iris)数据集利用多种降维算法(PCA ...
- 【Gensim + TSNE使用】word2vec词向量处理中文小说 (词嵌入、高维数据降维)
[Gensim + TSNE使用]word2vec词向量处理中文小说 本文使用Gensim对小说斗破苍穹进行词嵌入可视化 流程 数据预处理,将小说数据滤除停止词,分词book_loader(). 调用 ...
- 高维信息降维可视化常用算法比较
我们人类比较容易理解三维以内的信息,在做数据分析挖掘以前,先要对数据集有个浅显的认识,比如统计分布.可视化.相关性等.这里引入了常用降维算法模型原理,对MNIST 784维数据做可视化和结果对比展示, ...
- 高维数据降维 国家自然科学基金项目 2009-2013 NSFC Dimensionality Reduction
2013 基于数据降维和压缩感知的图像哈希理论与方法 唐振军 广西师范大学 多元时间序列数据挖掘中的特征表示和相似性度量方法研究 李海林 华侨大学 基于标签和多特征融合的图像语义空间学习技 ...
- 高维数据降维(机器学习)
目录 一.实验内容 二.实验过程 1.算法思想 2.算法原理 3.算法分析 三.源程序代码 四.运行结果及分析 五.实验总结 一.实验内容 熟知高维数据降维的概念和基本算法思想: 掌握高维数据降维算法 ...
- 降维算法PCA的应用----高维数据的可视化
文章目录 序言 废话不多说看代码 导入相关模块 数据提取 降维 降维后数据信息展示 新的特征矩阵 可视化 关于X_dim2[y==i, 0]的解释 总结 序言 当我们拿到一堆数据的时候,几乎不可能通过 ...
- 详解机器学习高维数据降维方法
当特征选择完成后,可以直接训练模型了,但是可能由于特征矩阵过大,导致计算量大,训练时间长的问题,因此降低维度也是必不可少的. 常见的降维方法除了以上提到的基于 L1 惩罚项的模型以外,另外还有主成分分 ...
最新文章
- html5语义化标签大全
- Google protobuf解析消息逻辑的版本问题
- Rails的作者DHH获奖:Winning Google/O'Reilly's Best Hacker of '05
- 【NLP】PET——文本分类的又一种妙解
- ant build里如何指定classpath
- mysql 插入数据 自增长_如何在MYSQL插数据 ID自增
- ssh免密码登陆设置
- 管理 ciner-volumes
- 类似QQ下拉出现搜索
- 【元胞自动机】基于matlab元胞自动机城市规划【含Matlab源码 125期】
- 上古卷轴5无法启动 因为计算机丢失,《上古卷轴5:天际》无法启动nmm解决方法...
- html阅读是什意思,HTML是什么意思?什么是HTML5?什么是H5? | 前端面试题
- 从入门到放弃,50G编程视频免费送!
- 又java基础学php多久_php自学需要多久?
- 虚拟机ubuntu与Windows复制粘贴设置
- Linux系统管理员之日志管理
- Go语言的函数与数组
- 标准化API设计的重要性
- 移动硬盘启动win7蓝屏7b_电脑插入移动硬盘后,只要一点击移动硬盘中的文件夹就马上蓝屏...
- 美团外卖流量数据的采集加工和应用