其他分享
首页 > 其他分享> > word2vec

word2vec

作者:互联网

1、cbow与skip-gram的比较

       在cbow方法中,是用周围词预测中心词,从而利用中心词的预测结果情况,使用GradientDesent方法,不断的去调整周围词的向量。要注意的是, cbow的对周围词的调整是统一的:求出的gradient的值会同样的作用到每个周围词的词向量当中去。可以看到,cbow预测行为的次数跟整个文本的词数几乎是相等的(每次预测行为才会进行一次backpropgation, 而往往这也是最耗时的部分),复杂度大概是O(V)。
       而skip-gram是用中心词来预测周围的词。在skip-gram中,会利用周围的词的预测结果情况,使用GradientDecent来不断的调整中心词的词向量,可以看出,skip-gram进行预测的次数是要多于cbow的,时间的复杂度为O(KV),训练时间要比cbow要长。
       但是在skip-gram当中,每个词都要受到周围的词的影响,每个词在作为中心词的时候,都要进行K次的预测、调整。因此, 当数据量较少,或者词为生僻词出现次数较少时, 这种多次的调整会使得词向量相对的更加准确。因为尽管cbow从另外一个角度来说,某个词也是会受到多次周围词的影响(多次将其包含在内的窗口移动),进行词向量的跳帧,但是他的调整是跟周围的词一起调整的,grad的值会平均分到该词上, 相当于该生僻词没有收到专门的训练,它只是沾了周围词的光而已。
       因此cbow快而skip-gram慢,但是skip-gram更适用于处理生僻字且精度更高

标签:中心词,word2vec,预测,skip,周围,gram,cbow
来源: https://blog.csdn.net/guohui_0907/article/details/94623475