分布

t-SNE

t-SNE(t-Distributed Stochastic Neighbor Embedding)是一种用于高维数据可视化的降维技术,能够将复杂的高维数据(例如数百或数千维)映射到低维空间(通常是2D或3D),同时尽量保留数据中的局部结构和关系。它的核心目标是帮助人们直观理解高维数据的分布模式。


核心原理

  1. 相似性建模: • 在高维空间中,t-SNE通过计算数据点之间的相似性(通常基于高斯分布的概率),衡量点与点之间的“邻近程度”。 • 在低维空间(如2D或3D)中,使用t分布(而非高斯分布)重新建模相似性,以减少高维空间中距离较远点的干扰。

  2. 优化目标: • 通过最小化KL散度(Kullback-Leibler divergence),使得高维空间和低维空间中的概率分布尽可能一致。 • 最终目标是让相似的点在低维空间中聚集,不相似的点彼此分开。


t-SNE图的特点

非线性:与PCA等线性降维方法不同,t-SNE能捕捉复杂的非线性结构(如流形结构)。 • 局部结构优先:更注重保留局部邻近关系,全局结构可能被弱化。 • 随机性:每次运行结果可能不同,需多次实验并结合领域知识解读。


关键参数

  1. 困惑度(Perplexity): • 控制每个点“邻居”数量的平衡,通常取值5~50。值过小会导致局部碎片化,值过大会忽略细节。
  2. 学习率(Learning Rate): • 影响优化的收敛速度,常用值在10~1000之间。
  3. 迭代次数: • 通常需要至少数百次迭代才能稳定。

应用场景

• 图像或文本数据的聚类可视化(如MNIST手写数字的可视化)。 • 基因表达数据的模式分析。 • 词嵌入(Word Embedding)或深度学习特征的可视化。


注意事项

不能直接解释距离:低维空间中的点间距无绝对意义,仅反映相对关系。 • 不适合大规模数据:计算复杂度高,对内存要求较大。 • 需结合其他方法:常与PCA预处理结合,先降维到50维左右再用t-SNE。