t 分布随机邻域嵌入(t-SNE)
探索高维数据可视化的强大技术 t-SNE。了解它在人工智能和 ML 中的用途、优势和应用。
t-distributed Stochastic Neighbor Embedding(t-SNE)是一种强大的非线性降维技术,主要用于数据可视化。它允许机器学习(ML)领域的研究人员和从业人员在低维空间(通常是二维或三维图)中可视化高维数据集。该技术由 Laurens van der Maaten 和 Geoffrey Hinton 开发,其主要优势在于能够揭示数据的潜在局部结构(如群集和流形),而其他技术可能会忽略这一点。Scikit-learn等库和PyTorch 等框架中都有广泛的实现方法。
t-SNE 的核心思想是在低维地图中将相似的数据点放在一起,而将不相似的点放在远处。为此,它将数据点之间的高维欧氏距离转换为代表相似性的条件概率。然后,它在低维地图中使用相似概率分布,并将这两个分布之间的发散最小化。
Ai 和 Ml 中的应用
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 所能捕捉到的复杂关系。通常的做法是,在应用 t-SNE 之前,先使用 PCA 将数据集减少到中间维数(如 30-50),以减少计算负荷和噪音。
- 自动编码器自编码器是一种神经网络,可以学习强大的非线性数据表示。虽然比 PCA 和 t-SNE 更为灵活,但其可解释性通常较差,而且训练计算成本较高。它们主要用于特征提取而非直接可视化。
考虑因素和局限性
t-SNE 虽然功能强大,但也有一些用户必须考虑的局限性。
- 计算成本:该算法的时间和空间复杂度与数据点的数量成二次方关系,因此对于拥有数十万样本的数据集来说,计算速度很慢。Barnes-Hut t-SNE 等技术能显著提高性能。
- 超参数敏感性: 超参数,尤其是 "plexity",是对每个点的近邻数量的猜测,会对结果产生重大影响。目前还没有一个普遍适用的最佳plexity 值。Distill 文章"如何有效使用 t-SNE"是了解这些影响的绝佳资源。
- 全局结构解释:在解释 t-SNE 可视化效果时应谨慎。最终图中聚类的相对大小和它们之间的距离并不一定反映原始高维空间中的实际分离情况。该算法的重点在于保留局部邻域,而非全局几何。TensorFlow Projector等工具允许进行交互式探索,这有助于建立直觉。使用Ultralytics HUB 等平台可以简化此类分析的管理和可视化。