t-分布随机近邻嵌入 (t-SNE)
探索 t-SNE,一种强大的高维数据可视化技术。了解其在 AI 和 ML 中的用途、优势和应用。
t-分布随机邻域嵌入(t-SNE)是一种强大的非线性降维技术,主要用于数据可视化。它允许机器学习(ML)领域的研究人员和从业人员在低维空间(通常是2D或3D图)中可视化高维数据集。由Laurens van der Maaten和Geoffrey Hinton开发,其主要优势在于它具有显著的能力来揭示数据的底层局部结构,例如聚类和流形,而其他技术可能会错过。实现方式广泛存在于Scikit-learn等库和PyTorch等框架中。
t-SNE的核心思想是将相似的数据点放置在低维地图中彼此靠近的位置,并将不相似的点放置在远离的位置。它通过将数据点之间的高维欧几里得距离转换为表示相似性的条件概率来实现此目的。然后,它在低维地图中使用类似的概率分布,并最大限度地减少这两个分布之间的差异。
人工智能与机器学习应用
t-SNE广泛用于人工智能(AI)各个领域的视觉探索。
- 可视化神经网络特征: 在计算机视觉 (CV)中,t-SNE 对于理解深度学习模型所学到的内容非常宝贵。例如,您可以从为图像分类训练的卷积神经网络 (CNN)的中间层获取特征嵌入,并使用 t-SNE 绘制它们。如果模型(例如 Ultralytics YOLO 模型)在像 CIFAR-10 这样的数据集上训练良好,则生成的图将显示与不同图像类别(例如,“猫”、“狗”、“汽车”)相对应的不同聚类。这提供了模型判别能力的视觉确认。
- 探索文本数据: 在自然语言处理 (NLP)中,t-SNE 可以可视化高维词嵌入,如 Word2Vec 或 GloVe。这有助于理解单词之间的语义关系;例如,“国王”、“王后”、“王子”和“公主”等词会聚集在一起。这种可视化对于探索文本语料库和调试用于文档分类等任务的语言模型非常有用。
- 生物信息学和医学影像: 研究人员使用 t-SNE 来可视化复杂的生物数据,例如来自微阵列的基因表达模式,以识别细胞群或疾病亚型。 它也用于医学图像分析,以聚类不同类型的组织或肿瘤,例如在脑肿瘤数据集中。
T-SNE 与其他技术对比
区分 t-SNE 与其他降维方法非常重要。
- 主成分分析 (PCA): PCA 是一种线性技术,专注于保留数据中的最大方差,这对应于保留大规模的全局结构。相比之下,t-SNE 是一种非线性方法,擅长揭示局部结构(即,各个数据点如何组合在一起)。虽然 PCA 更快且是确定性的,但其线性性质可能无法捕获 t-SNE 可以捕获的复杂关系。通常的做法是首先使用 PCA 将数据集减少到中间维度(例如,30-50),然后再应用 t-SNE 以减少计算负荷和噪声。
- 自编码器:自编码器是一种神经网络,可以学习强大的非线性数据表示。虽然比 PCA 和 t-SNE 更灵活,但它们通常更难解释,并且训练的计算成本更高。它们主要用于特征提取,而不是直接可视化。
考量与局限性
t-SNE 虽然功能强大,但用户必须考虑其一些局限性。
- 计算成本: 该算法在数据点数量上具有二次时间和空间复杂度,这使得它对于具有数十万个样本的数据集来说速度很慢。像 Barnes-Hut t-SNE 这样的技术提供了显着的性能改进。
- 超参数敏感性: 结果会受到其超参数的显著影响,尤其是“困惑度 (perplexity)”,它表示对每个点附近邻居数量的猜测。没有一个普遍最佳的困惑度值。Distill 上的文章《How to Use t-SNE Effectively》是理解这些影响的绝佳资源。
- 全局结构解释: 应谨慎解释 t-SNE 可视化。最终图中聚类的相对大小以及它们之间的距离不一定反映原始高维空间中的实际分离。该算法的重点是保留局部邻域,而不是全局几何形状。像TensorFlow Projector这样的工具允许进行交互式探索,这有助于建立直觉。可以使用像Ultralytics HUB这样的平台来简化此类分析的管理和可视化。