word2vec中的负采样(以CBOW模型为例)

CBOW模型图

word2vec中的负采样(以CBOW模型为例)_第1张图片

     输入词w(t)的上下文单词的词向量(随机生成),输入层单词加和得到了一个跟输入词相同维数的向量。对此向量进行相应操作,使得输出为w(t)的概率最大。

    当然输出层可以用softmax,目标:w(t)的softmax值最大。针对此目标我们采用交叉熵损失函数。当然这个模型不仅仅针对预测一个单词时,我们需要将预测所有单词的交叉熵损失函数相加作为全局的损失函数,进行多次误差反传,当全局损失函数最小时,也就是我们这个模型训练好的时候。

此时,我们将得到训练好的所有单词的词向量,还有一组Θ值。此时我们给定一组上下文单词的词向量就可以预测中间词。(softmax值最大的词即为所求)

 word2vec中的负采样(以CBOW模型为例)_第2张图片

 

负采样:在给定上下文的基础上,用逻辑回归函数来判断每一个词是不是中间词。

训练目标:增大正样本的逻辑回归概率,减小负样本的逻辑回归概率(等价于增大负样本的1-sigmoid值)。

目标函数针对每一个单词取正例的sigmoid值,与所有负样本的1-sigmoid值,全部相乘,取最大值,全部值的目标函数相乘作为全局的目标函数,全局目标函数最大时,Θ即为所求。

 

预测时只需要求每个单词对应的sigmoid值就可以了。意思就是,中间词是某个单词的概率,最大值即为所求。

 

 

 

可用于分类。

 

你可能感兴趣的:(文本分类,word2vec,CBOW,词向量,文本分类)