word2vec中的skipgram和CBOW的比较

  • word2vec里有两种模型思路,我觉得需要有个宏观对比印象。

对比

参考[1]
因此,从更通俗的角度来说:

  • 在skip-gram里面,每个词在作为中心词的时候,实际上是 1个学生 VS K个老师,K个老师(周围词)都会对学生(中心词)进行“专业”的训练,这样学生(中心词)的“能力”(向量结果)相对就会扎实(准确)一些,但是这样肯定会使用更长的时间;
  • cbow是 1个老师 VS K个学生,K个学生(周围词)都会从老师(中心词)那里学习知识,但是老师(中心词)是一视同仁的,教给大家的一样的知识。至于你学到了多少,还要看下一轮(假如还在窗口内),或者以后的某一轮,你还有机会加入老师的课堂当中(再次出现作为周围词),跟着大家一起学习,然后进步一点。因此相对skip-gram,你的业务能力肯定没有人家强,但是对于整个训练营(训练过程)来说,这样肯定效率高,速度更快。
  • 简单说,skip-gram 出来的准确率比cbow 高。 Efficient Estimation of Word Representations in Vector Space

  • 在计算时,cbow会将context word 加起来, 在遇到生僻词是,预测效果将会大大降低。skip-gram则会预测生僻字的使用环境。

参考

cbow 和skip优缺点
cbow比sg训练快,sg比cbow更好地处理生僻字(出现频率低的字)

你可能感兴趣的:(NLP,deeplearning)