cbow和skip-gram比较

联系

cbow和skip-gram都是在word2vec中用于将文本进行向量表示的实现方法

区别

cbow是用周围词预测中心词,训练过程中其实是在从output的loss学习周围词的信息也就是embedding,但是在中间层是average的,一共预测V次;
skip-gram是用中心词预测周围词,对每一个中心词都有K个词作为output,对一个词的预测有K次,所以能够更有效的从context中学习信息,共预测K*V次,因此,skip-gram的训练时间更长

鉴于skip-gram学习的词向量更细致,当数据量较少或者语料库中有大量低频词时,使用skip-gram学习比较合适

目标函数

CBOW中的目标函数是使条件概率P(w|context(w))最大化
Skip-gram中的目标函数是使条件概率P(context(w)|w)最大化

损失函数

这里使用的损失函数实际上是交叉熵损失函数在这里插入图片描述
Xj 理解为输入one_hot样本,p理解为整个神经网络, 因此p(xj)在该问题中就是最终的输出神经元激活值yj,tj 是样本xj的真实标签,对于某个样本实例,在输出神经元上,只有一个分量的tj=1,其余为0,不妨令这个分量为j∗。化简即 E=−logp(wO|wI)为本问题的交叉熵损失函数
cbow和skip-gram比较_第1张图片

参考文章
参考文章1
参考文章2
参考文章3

你可能感兴趣的:(NLP知识点)