看了好多博客,说的都差不多,我想清楚得知道输入输出隐藏层都代表什么,查了好几个小时总算懂了,理解不对的希望大佬指正。
Word2Vec有两个模型一个是skip-gram模型,另一个是CBOW模型。这两个模型原理相同但输入不同。skip-gram模型是给定input word来预测上下文。而CBOW是给定上下文,来预测input word。主要讲一下skip-gram模型。首先理解Word2Vec,就是用特征矩阵去表示一个词。比如用man,woman去描述king和queen。那么king[-1,1]在man维度为1,在woman维度为-1.quenn相反。所以你想得到得词嵌入关键在于你用几个特征去描述这个word。300个特征,word对应的词嵌入表示就是[300,1]得矩阵。
假如我们有一个句子“The dog barked at the mailman”。
首先是输入,用one-hot编码表示中心词,这个就不多说了。
对应的输入矩阵应该是[6,6]得one-hot矩阵。
接下来得隐藏层权重,假设你想用10个特征去描述,那隐藏层的权重就是[6,10],6表示句子单词个数,10表示特征数。
最后用softmax分类器作为输出层。权重为[10,6]最后输出为[10,6]得词嵌入矩阵。
上面给出的都是例子里得具体数字,句子对应你得词汇表,然后维度变成词汇表维度应该就可以。但不知道自己理解的对不对。
Word2Vec
最新推荐文章于 2023-05-07 13:32:58 发布