t-SNE构造高维样本的概率分布,使得相似样本的被拣选可能性很高,而相异点的被拣选可能性极小。然后,t-SNE为低维度嵌入中的点定义相似的分布。最后,t-SNE将Kullback–Leibler Divergence(KL散度)高维空间和低维空间两个分布之间的距离,并最小化这个距离。
算法
如前所述,t-SNE采用高维数据集,并将其简化为保留了许多原始信息的低维图。
假设我们有一个由3个不同的类组成的数据集。
我们希望将2D图简化为1D图,同时保持群集之间的清晰边界。
回想一下,仅将数据投影到轴上是降低维数的一种较差的方法,因为我们会丢失大量信息。
相反,我们可以使用降维技术(提示:t-SNE)来实现所需的功能。 t-SNE算法的第一步涉及测量从一个点到另一个点的距离。而不是直接处理距离,我们将它们映射到概率分布。
在分布中,相对于当前点距离最小的点的可能性很高,而远离当前点的点的可能性很低。
再看一下2D图,请注意蓝色簇比绿色簇更分散。如果我们不解决这种尺度差异,则绿点的可能性将大于蓝点的可能性。为了说明这个事实,我们用可能性之和做归一化。
因此,尽管两点之间的绝对距离不同,但它们被认为是相似的。
让我们尝试将这些概念与基础理论联系起来。在数学上,我们将正态分布的方程写为如下形式:
如果我们将所有项都做指数计算,并使用另一个点代替均值,同时用求和规归一化解决前面讨论的尺度问题,得到如下公式(参考论文)。
接下来,我们考虑降维到低维空间的情形。首先,我们创建一个n_samples x n_components的矩阵(在这种情况下为9x1)并用随机值(即位置)填充。
如果我们对上述情况采取类似的方法(测量点之间的