Word2vec模型之 skip-gram 与 cbow 比较
cbow 和 skip-gram 都是在 word2vec 中用于将文本进行向量表示的实现方法,具体的算法可查看 Word2vec模型之Skip-gram 和 Word2vec模型之 CBOW。
一、计算复杂度O
1、cbow O(V)
在 cbow 方法中,是用周围词预测中心词,从而利用中心词的预测结果情况,使用GradientDesent方法(梯度下降方法),不断的去调整周围词的向量。当训练完成之后,每个词都会作为中心词,把周围词的词向量进行了调整,这样也就获得了整个文本里面所有词的词向量。
要注意的是, cbow 的对周围词的调整是统一的:求出的 gradient 的值会同样的作用到每个周围词的词向量当中去。
可以看到,cbow 预测行为的次数跟整个文本的词数几乎是相等的(每次预测行为才会进行一次 backpropgation(反向传播), 而往往这也是最耗时的部分),复杂度大概是O(V)。
2、skip-gram O(KV)
skip-gram 是用中心词来预测周围的词。在 skip-gram 中&#