我是神经网络的初学者,目前正在探索word2vec模型。但是,我很难理解特征矩阵的确切含义。
我可以理解,第一个矩阵是给定单词的单编码编码矢量,但是第二个矩阵表示什么呢?更具体地说,这些值(即17、24、1等)分别是什么意思?
我是神经网络的初学者,目前正在探索word2vec模型。但是,我很难理解特征矩阵的确切含义。
我可以理解,第一个矩阵是给定单词的单编码编码矢量,但是第二个矩阵表示什么呢?更具体地说,这些值(即17、24、1等)分别是什么意思?
Answers:
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
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