t-SNE vs SNE 有什么区别?

文摘   2024-11-08 09:11   辽宁  

t-SNE算法是SNE的改进版本,都是用于降维的。

SNE(非t-SNE)的核心思想是:

  • 步骤1)对于高维数据中的每个点(x),将该点到所有其他点(y)的欧几里得距离转换为条件高斯概率。

     


     ○ 例如,考虑下图数据集中左侧标记为红色的点。

      ○ 将到所有其他点的欧几里得距离转换为高斯概率(上图右侧的分布)表明,相对于其它点,红色点有更高的概率是它的邻居。

  • 步骤2)对于每个数据点xi,随机初始化其在2维空间中的对应点yi。这些将是它们在低维空间中的投影。

  • 步骤3)就像我们在步骤1中定义了高维空间中的条件概率一样,我们再次使用高斯分布来定义低维空间中的条件概率。

  • 步骤4)现在,每个数据点i都有一个高维的概率分布和一个对应的低维分布:

    ○ 目标是使这两个概率分布相匹配。因此,我们可以使得对应点yi的位置可学习,以便最小化这种差异。

    ○ 使用KL散度作为损失函数帮助我们实现这一目标。它衡量了当我们使用分布Q来近似分布P时,丢失了多少信息。

    ○ 理想情况下,我们希望损失值最小(即零),这将在P等于Q时实现。

该模型可以使用梯度下降进行训练,效果相当不错。例如,下图展示了t-SNE算法在256维手写数字数据上产生的2维可视化效果:

人工智能大讲堂
专注人工智能数学原理和应用
 最新文章