StatQuest系列之t-SNE

视频来自b站:t-SNE, Clearly Explained(生肉)

一、什么是t-SNE
  t-SNE 将高维数据集映射到低维图中,并且保持许多原有的信息,如果你对这种降维方式不是很熟悉,可以看pca的相关视频,因为我在那个视频中解释了什么是数据降维。

二、关于t-SNE
  下图是一个简单的基本二维散点图,利用t-sne将2D的散点图降维为1D的点,我们将利用这个超级简单的例子来展示整个t-sne过程,并且解释其背后的概念意思,当t-sne被应用到一个很大且复杂的数据集时,你依旧知道背后是如何操作的。
在这里插入图片描述
  正如表(1)所表述的,如果我们将数据映射到其中一个坐标轴,映射后的数据一团糟,并没有保留原始集群的聚类情况。例如映射到y坐标时,我们并没有看到两个不同的集群,而是不同的集群混杂在一起,同样的事情发生在x坐标上。

表(1)

映射到某个坐标映射到y坐标映射到x坐标
在这里插入图片描述在这里插入图片描述在这里插入图片描述

  与表中情况不同的是,t-SNE要做的就是将数据映射到低维空间的同时保留数据集在高维空间的聚集情况,例如下图:
在这里插入图片描述
  现在,我们将从一个最简单的二维例子,来一步一步展示t-sne究竟是怎么做的,在此之前,我们需要解释几个名词
  1、点与点之间的相似度
  首先计算两个点(例如深蓝色point到浅蓝色point)之间的欧式距离,然后以该欧式距离为x坐标值,在正态分布曲线图上找出其对应的y值,y值就是非尺度化的相似度。在这里插入图片描述
  然后利用同样的方式,计算散点图中剩余点到深蓝色point的非尺度化相似度,注意,这里使用正态分布,是因为正态分布曲线符合距离中心点近的值大,距离中心点远的值小的逻辑。
在这里插入图片描述
  2、相似度尺度化:非尺度化的相似度进行尺度化,使得相似度之和为1
  为什么要对相似度进行尺度化呢,正态分布曲线的宽度是由数据距离中心点的密度决定的,密度小的曲线宽度窄,密度大的,曲线宽度宽,例如下图:
在这里插入图片描述
下图的例子展示了一个简单的相似度尺度化的过程:
在这里插入图片描述
也就是说,下图中左上角比较密集的集群的相似度与右下角比较宽松的集群的相似度相同。
在这里插入图片描述
  3、散点图上相似度矩阵
在散点图上的点,以此作为中心点,计算其他点到该中心点的相似度,并且将该相似度用矩阵的形式表达出来,例如:
在这里插入图片描述
三、t-SNE过程
1、将散点图上的点随机的映射到1D直线上;
在这里插入图片描述

2、计算直线上点的相似度,选择一个中心点,计算欧式距离,在t分布曲线上计算相似度,这里使用t分布,t分布和正态分布很相似,但是t曲线的头比较低,尾巴比较高。
在这里插入图片描述
3、相似度矩阵
按照上述的方式得到了映射后的相似度矩阵,可以看到直线上映射后的点的相似度矩阵一团糟;
在这里插入图片描述
5、移动
t-sne每次移动一小部分的点,每次选择一个方式,使左边的相似度矩阵向右边的相似度矩阵变化。

移动前移动后
在这里插入图片描述在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值