t-SNE 高维数据可视化

Posted

技术标签:

【中文标题】t-SNE 高维数据可视化【英文标题】:t-SNE High Dimension Data Visualisation 【发布时间】:2016-04-27 16:35:11 【问题描述】:

我有一个 Twitter 语料库,用于构建情绪分析应用程序。该语料库有 5k 条推文,这些推文被手工标记为 - 负面、中立或正面

为了表示文本 - 我使用的是 gensim word2vec 预训练向量。每个单词映射到 300 个维度。对于一条推文,我添加了所有的词向量以获得一个 300 个暗淡向量。因此,每条推文都映射到一个 300 维的向量。

我正在使用 t-SNE(tsne python 包)可视化我的数据。见附图1 - 红点 = 负面推文,蓝点 = 中性推文,绿点 = 正面推文

问题: 在图中,数据点之间没有明显的分隔(边界)。我可以假设 300 维中的原始点也是如此吗?

即如果点在 t-SNE 图中重叠,那么它们也在原始空间中重叠,反之亦然?

【问题讨论】:

使用 t-SNE,在高 D 中接近的部分将保持接近,但在可视化中距离较远的部分,您什么都不知道。 【参考方案1】:

问题:在图中,数据点之间没有明显的分隔(边界)。我可以假设 300 维中的原始点也是如此吗?

在大多数情况下没有。通过减小尺寸,您可能会丢失一些信息。 您可以在不丢失信息的情况下减少维度的情况是某些维度中的数据为零(例如 3 维空间中的线)或某些维度线性依赖于其他维度的情况。

很少有技巧可以测试某些降维技术的效果。例如:

您可以使用 PCA 将维数从 300 减少到例如 10。您可以计算 300 个特征值的总和(原始空间)和 10 个最大特征值的总和(这 10 个特征值代表将用于降维的特征向量)并计算丢失信息的百分比sum(top-10-eigenvalues)/sum(300-eigenvalues)。这个值并不完全是“信息”丢失,但它接近这个值。

【讨论】:

我完全同意你的看法。但我总是在大多数关于词向量的博客/文章的末尾看到 t-SNE 可视化,以“展示”这些向量的优点。那是什么促使我问这个问题

以上是关于t-SNE 高维数据可视化的主要内容,如果未能解决你的问题,请参考以下文章

利用 t-SNE 高维数据的可视化

t-SNE 高维数据可视化

R语言高维数据的主成分pca t-SNE算法降维与可视化分析案例报告

R使用tsne进行高维数据可视化实战:二维可视化三维可视化

机器学习笔记:t-SNE

t-SNE完整笔记