据我所知,Word2Vec基于训练语料库建立单词词典(或词汇),并为词典中的每个单词输出K-dim向量。我的问题是,这些K-Dim矢量的来源究竟是什么?我假设每个向量是输入层和隐藏层之间的权重矩阵之一或隐藏层和输出层中的行或列。然而,我还没有找到任何资源来支持这一点,而且我在编程语言方面还没有足够的知识来检查源代码并自己弄清楚。任何关于此主题的澄清评论将不胜感激!Word2Vec输出矢量
2
A
回答
1
究竟是那些K-dim向量的来源是什么?我假设每个向量是输入层和隐藏层之间的权重矩阵之一或隐藏层和输出层中的行或列。
在word2vec模型(CBOW,Skip-gram)中,它输出一个单词的特征矩阵。这个矩阵是输入层和投影层之间的第一个权重矩阵(在word2vec模型中没有隐藏层,其中没有激活函数)。因为当我们在上下文中训练单词(在CBOW模型中)时,我们更新了这个权重矩阵(第二个 - 在投影和输出层之间 - 矩阵也更新了,但我们没有使用它)。意思是词汇的单词和列的意思是单词的特征(K-Dimension)。
,如果你想了解更多信息,探索其
http://mccormickml.com/2016/04/19/word2vec-tutorial-the-skip-gram-model/
0
word2vec使用机器学习来获得字表示。它使用其上下文(CBOW)预测一个单词,反之亦然(skip-gram)。
在机器学习中,您有一个损失函数来表示您的模型所产生的错误。这个错误取决于模型的参数。 训练模型意味着最小化模型参数的误差。
在word2vec中,这些嵌入矩阵是在训练期间正在更新的模型参数。我希望它能帮助你理解它们来自哪里。事实上,他们是首先随机初始化的,并在训练过程中进行更改。
可以看看这个图象从this paper:
的W¯¯矩阵映射的输入一热字表示,以该K维向量和W”矩阵映射输出的k维表示既是我们在训练期间优化的模型参数。
相关问题
- 1. 在输出矢量
- 2. matlab矢量输出
- 3. Direct3D矢量输出?
- 4. 如何在gensim word2vec中访问输出嵌入(输出向量)?
- 5. C++输出2D矢量
- 6. 如何输出矢量?
- 7. 输出以矢量形式
- 8. 什么是Gensim word2vec输出
- 9. 矢量<int>输入和输出
- 10. 从矢量传输到矢量
- 11. 使用函数的矢量输出(python)
- 12. 矢量作为MATLAB函数的输出
- 13. 将系统输出转换成矢量
- 14. GCC没有矢量化输出?
- 15. 使用iomanip格式化矢量输出
- 16. [R矢量不打印预期输出
- 17. 如何使用word2vec输出向量来计算相似度?
- 18. 了解Word2Vec转换方法的输出
- 19. gensim word2vec存取/导出向量
- 20. ř找出矢量
- 21. C++当输出矢量列表时,输出的数量是平方的
- 22. 如何迭代矢量矢量并在下面的场景中获取输出?
- 23. 矢量输入[Matlab的]
- 24. Matlab:混合输入矢量
- 25. C3867传输矢量值
- 26. 1D输入矢量的Tensorflow
- 27. 分配和输出向量的矢量<int>
- 28. 矢量矢量C++
- 29. push_back矢量矢量
- 30. 如何加载word2vec向量?