word2vec中的特征矩阵是什么?


10

我是神经网络的初学者,目前正在探索word2vec模型。但是,我很难理解特征矩阵的确切含义。

在此处输入图片说明

我可以理解,第一个矩阵是给定单词的单编码编码矢量,但是第二个矩阵表示什么呢?更具体地说,这些值(即17、24、1等)分别是什么意思?


我有一个关于Google产生的W的问题,能否给我更多有关Google给出的值的信息?这个功能有什么用?谢谢您的帮助。
汉比'17

Answers:


8

word2vec背后的想法是用实数维d的向量表示单词。因此,第二个矩阵是这些单词的表示。

该矩阵的第i行是第i个单词的向量表示。

假设在您的示例中,您有5个单词:[“ Lion”,“ Cat”,“ Dog”,“ Horse”,“ Mouse”],则第一个向量[0,0,0,1,0]表示您正在考虑“马”这个词,因此“马”的表示是[10,12,19]。类似地,[17、24、1]是单词“ Lion”的表示。

就我所知,这些表示形式中的每个数字都没有专门的“人类意义”。这个单词是否是动词,不是形容词都不能代表一个数字……这只是您为了解决优化问题而改变的权重,以学习单词的表示形式。

本教程可能会有所帮助:http : //mccormickml.com/2016/04/19/word2vec-tutorial-the-skip-gram-model/即使我认为您放置的图像来自此链接。

您还可以检查一下,这可能有助于您使用TensorFlow开始使用单词向量:https://www.tensorflow.org/tutorials/word2vec


5

TL; DR

第一个矩阵以一种热门格式表示输入向量

第二个矩阵表示从输入层神经元到隐藏层神经元的突触权重

较长版本

“特征矩阵到底是什么”

看来您没有正确理解该表示形式。该矩阵不是神经网络的特征矩阵,而是权重矩阵。考虑下面给出的图像。特别要注意输入层矩阵与权重矩阵相乘的左上角。 在此处输入图片说明

现在看右上角。权重转置点乘产生的矩阵乘法InputLayer点是在右上角表示神经网络的便捷方法。

因此,为回答您的问题,您发布的方程只是Word2Vec算法中使用的神经网络的数学表示。

第一部分[0 0 0 1 0 ... 0]将输入词表示为一个热向量,另一个矩阵表示将每个输入层神经元连接到隐藏层神经元的权重。

在Word2Vec训练时,它将反向传播到这些权重中,并对其进行更改以提供更好的单词向量表示形式。

训练完成后,您仅使用此权重矩阵,对[dog]取[0 0 1 0 0 ... 0],然后将其与改进的权重矩阵相乘,即可得出维度中“ dog”的向量表示形式=没有隐藏层神经元。

在您提供的图中,隐藏层神经元的数量为3

因此,右侧基本上是单词vector。

图片来源:http : //www.datasciencecentral.com/profiles/blogs/matrix-multiplication-in-neural-networks

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.