【问题标题】:What is relation between tsne and word2vec?tsne 和 word2vec 有什么关系?
【发布时间】:2017-04-02 09:29:02
【问题描述】:

据我所知,tsne 正在减少词向量的维数。

Word2vec是生成海量数据的词嵌入模型。

两者是什么关系?

Word2vec 在里面使用tsne 吗?

(我使用来自GensimWord2vec

【问题讨论】:

    标签: nlp gensim word2vec


    【解决方案1】:

    在内部,它们都使用 梯度下降 来达到最终的优化状态。两者都可以被认为是降维操作。但是,word2vec 内部并不使用 t-SNE(反之亦然)。

    t-SNE(“t 分布随机邻域嵌入”)通常将多维数据缩减为 2 维或 3 维,以便绘制可视化图。它涉及学习从原始维度到较少维度的映射,这仍然使相似的点彼此靠近。

    word2vec 采用许多文本示例并学习一个擅长从附近单词中预测单词的浅层神经网络。该神经网络权重的特定层,代表单个单词,然后成为学习的 N 维单词向量,N 的值通常为 100 到 600。

    (有另一种创建词向量的方法,称为 GLoVE,它的工作原理有点像 t-SNE,因为它直接从词的高维共现矩阵训练,而不是而不是来自许多上下文共现的例子。但它仍然不是 t-SNE 本身。)

    您可能会以 100-400 的目标维度运行 t-SNE。但由于该最终结果还不会产生漂亮的情节,因此维持对 t-SNE 至关重要的“接近性”将无法实现其通常的预期收益。

    您可能会学习仅 2 或 3 维的 word2vec(或 GLoVE)向量,但人们从词向量中寻找的大多数有用的相似性/排列方式将在拥挤中丢失。在情节中,您可能不会看到相关词类别的强烈视觉“聚集”,因为没有应用 t-SNE 的特定高到低维接近度保留目标。

    【讨论】:

    • 感谢您的回答。一个问题:在学习使用Word2vec(size=300,表示维度为300)并将其整个训练后的词向量的维度减少t-SNE之后,是否可以将Word2vec的结果可视化??跨度>
    • 是的,这很典型 - 使用 word2vec 制作 300d 向量,这些向量具有所有它们通常/所需的积极品质......但然后使用 t-SNE 到 2d 来(尝试)直观地说明300d 数据中存在的一些聚类/接近关系。
    • 但是有没有办法从 Word2Vec 模型中获取整个训练好的向量?我在Gensim 教程网站(radimrehurek.com/gensim/models/word2vec.html) 中寻找过这个,但我认为训练后没有获取整个向量的 api? T_T
    • 不确定您所说的“完整训练的向量”是什么意思。 model.wv.index2word 中有每个已知单词的列表。您可以使用model.wv[word] 获取每个向量。这些向量都在numpy数组model.wv.syn0中,与index2word的顺序相同。要真正了解什么是可能的,并且由于这是 Python/开源,其中整个模型都是可访问和可变的,最好的参考是源代码本身:github.com/RaRe-Technologies/gensim/blob/develop/gensim/models/…
    猜你喜欢
    • 2018-11-03
    • 1970-01-01
    • 2016-09-28
    • 2013-07-02
    • 2017-02-06
    • 2022-01-03
    • 2020-03-05
    • 2012-09-27
    • 2020-04-17
    相关资源
    最近更新 更多