机器学习笔记:t-SNE

Posted UQI-LIUWJ

tags:

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

0 前言

  • t-SNEt-Distributed Stochastic Neighbor Embedding
  • 是一种非常常用的数据降维,常用于数据可视化
  • t-SNE/SNE的基本原理是:
    • 高维空间构建一个概率分布拟合高维样本点间的相对位置关系
    • 低维空间,也构建 一个概率分布,拟合低维样本点之间的位置关系
    • 通过学习,调整低维数据点, 令两个分布接近

1 SNE 随机邻域嵌入 Stochastic Neighbor Embedding

 (类似于softmax)

 

  • 如果低维映射点yi和yj成功正确地建模了高维数据点xi和xj之间的相似性,则条件概率pj|i和qj|i将相等。
  • 受这一观察结果的启发,SNE的目标是找到一种低维数据表示法,以最小化pj|i和qj|i之间的分布距离(两个条件分布接近)

1.1 SNE主要缺点

1.1.1 距离不对称

不难发现是不等的(分母不一样) ,这就导致了i—>j和j—>i的距离不对称。【与实际情况不符】

改进的方法是使用联合概率而不是条件概率

        在实际问题中,计算所有的需要太多的计算复杂度,于是实际应用中,一般是:

 1.1.2 拥挤体现

        从高维到低维进行转换的过程中,低维点的距离无法建模高维点之间的位置关系,使得高维空间中距离较大的点对,在低维空间距离会变得较小         比如原来红绿点之间距离很远,降维之后距离就很近了
解决方法  利用拖尾较大的 student-t分布 来对低维点建模

 

 

 2 T-SNE

2.1 σ的求法

最naive的方法就是随机设置了。 

更有效地方法如下:

我们把

 

看成高斯分布,那么σ就类似于标准差

根据高斯分布的性质,我们知道,在(k是一个常数)的区间内,概率是比较大的。

所以我们根据xi周围临近点的数量,来增减σ

那么,如何对σ进行定量的约束呢,我们设置一个固定的参数perlexity,表示分布的熵。

其中

不难发现熵(perplexity)和σi成正比,所以我们可用类似于二分查找法来确定σi

 

以上是关于机器学习笔记:t-SNE的主要内容,如果未能解决你的问题,请参考以下文章

tsne原理以及代码实现(学习笔记)

白话机器学习算法——笔记

t-SNE算法

t-SNE算法

sklearn 笔记 TSNE

科学家如何使用机器学习?《机器学习导论》2021这份讲义为你简明讲解,80页pdf