SNE与t-SNE降维算法理解

1. SNE概要

数据降维,大体分为线性方法和非线性方法。其中线性方法例如PCA和LDA,而非线性方法又有保留局部特征、基于全局特征等方法。有人整理了一张分类图,下面这张图从网上引用而来:

相比于其他降维方法,t-SNE是近年比较火热的一种高维数据可视化技术,能够通过降维,将高维数据降维并给出二维或三维的坐标点,从而可以在人能够轻易理解的平面或立体空间内将数据可视化出来。这个方法是SNE的变种,SNE是Hinton在2002年提出来的方法。Stochastic Neighbor Embedding,好吧,又是embedding。目标是将高维数据映射到低维后,尽量保持数据点之间的空间结构,这样在高维空间里距离较远的点,在低维空间中依然保持较远的距离。在传统的方法中,PCA和MDS是线性技术,用于保持相距较远的数据点之间的低维表示。Maaten将t-SNE的降维结果与其他7种降维方法的结果,在5种不同的数据集中作了对比。

1.1 高维数据的相似度概率分布

SNE将数据点之间高维的欧氏距离转换为表示相似度的条件概率,即用条件概率\(p(j|i)\)表示点\(x_j\)到点\(x_i\)的相似度,这个含义可以理解为:若以\(x_i\)为中心的高斯分布来选取邻居,则\(x_i\)选择\(x_j\)作为自己邻居的概率是\(p(j|i)\)。若数据点相距较近,则\(p(j|i)\)较大,相反若数据点相距非常远,\(p(j|i)\)则可以接近无穷小。条件概率\(p(j|i)\)定义如下:

继续阅读SNE与t-SNE降维算法理解