t-SNE完整笔记

Posted This is bill

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了t-SNE完整笔记相关的知识,希望对你有一定的参考价值。

t-SNE(t-distributed stochastic neighbor embedding)是用于降维的一种机器学习算法,是由 Laurens van der Maaten 和 Geoffrey Hinton在08年提出来。此外,t-SNE 是一种非线性降维算法,非常适用于高维数据降维到2维或者3维,进行可视化。

t-SNE是由SNE(Stochastic Neighbor Embedding, SNE; Hinton and Roweis, 2002)发展而来。我们先介绍SNE的基本原理,之后再扩展到t-SNE。最后再看一下t-SNE的实现以及一些优化。

目录

1.SNE

1.1基本原理

SNE是通过仿射(affinitie)变换将数据点映射到概率分布上,主要包括两个步骤:

  • SNE构建一个高维对象之间的概率分布,使得相似的对象有更高的概率被选择,而不相似的对象有较低的概率被选择。
  • SNE在低维空间里在构建这些点的概率分布,使得这两个概率分布之间尽可能的相似。

我们看到t-SNE模型是非监督的降维,他跟kmeans等不同,他不能通过训练得到一些东西之后再用于其它数据(比如kmeans可以通过训练得到k个点,再用于其它数据集,而t-SNE只能单独的对数据做操作,也就是说他只有fit_transform,而没有fit操作)

1.2 SNE原理推导

SNE是先将欧几里得距离转换为条件概率来表达点与点之间的相似度。具体来说,给定一个N个高维的数据  x1,...,xN x 1 , . . . , x N (注意N不是维度), t-SNE首先是计算概率 pij p i j ,正比于 xi x i xj x j 之间的相似度(这种概率是我们自主构建的),即:

pji=exp(xixj2/(2σ2i))kiexp(xixk2/(2σ2i)) p j ∣ i = exp ⁡ ( − ∣∣ x i − x j ∣ ∣ 2 / ( 2 σ i 2 ) ) ∑ k ≠ i exp ⁡ ( − ∣∣ x i − x k ∣ ∣ 2 / ( 2 σ i 2 ) )

这里的有一个参数是 σi σ i ,对于不同的点 机器学习笔记:t-SNE

CVPR 2020 论文阅读笔记(三维点云/三维重建)

面试时如何完整精确的回答动量下降法(Momentum)和Adam下降法的原理

Pytorch Note16 优化算法2 动量法(Momentum)

unity函数笔记

t-SNE算法