通过阅读word2Vec理解基于Hierarchical Softmax的crow模型和skip-gram模型

介绍一下基于Hierarchical Softmax的CBOW模型和skip-gram模型。话不多说,先上两个图

 通过阅读word2Vec理解基于Hierarchical Softmax的crow模型和skip-gram模型

      

模型包括三个层,输入层,投影层和输出层。

CBOW模型的作用是在已知w(t-1),w(t-2),w(t+1),w(t+2的情况下,预测其上下文,预测中心词。

CBOW模型优化的目标函数为:

通过阅读word2Vec理解基于Hierarchical Softmax的crow模型和skip-gram模型

Skip-gram模型的作用是在已知当前中心词的情况下,预测其上下文。在该图当中就是预测w(t-1),w(t-2),w(t+1),w(t+2)。

Skip-gram模型优化的目标函数为

通过阅读word2Vec理解基于Hierarchical Softmax的crow模型和skip-gram模型

CBOW模型

通过阅读word2Vec理解基于Hierarchical Softmax的crow模型和skip-gram模型

输入层:包含2c个词的词向量

投影层:2c个词的词向量做求和累加

输出层:输出一个二叉树。

 

引入Hierarchical softmax的概念

引入一些符号。

通过阅读word2Vec理解基于Hierarchical Softmax的crow模型和skip-gram模型

通过阅读word2Vec理解基于Hierarchical Softmax的crow模型和skip-gram模型

通过阅读word2Vec理解基于Hierarchical Softmax的crow模型和skip-gram模型

约定0为正类,1为负类。

一个节点被分为正类的概率为通过阅读word2Vec理解基于Hierarchical Softmax的crow模型和skip-gram模型

负类的概率为

 通过阅读word2Vec理解基于Hierarchical Softmax的crow模型和skip-gram模型

那么到足球的概率为多少呢

通过阅读word2Vec理解基于Hierarchical Softmax的crow模型和skip-gram模型

将概率相乘。

通过阅读word2Vec理解基于Hierarchical Softmax的crow模型和skip-gram模型

通过阅读word2Vec理解基于Hierarchical Softmax的crow模型和skip-gram模型

将上式带入目标函数,CBOW的目标函数为:

通过阅读word2Vec理解基于Hierarchical Softmax的crow模型和skip-gram模型

如何将这个目标函数最大化呢,利用随机梯度上升法进行更新各参数,参数包括通过阅读word2Vec理解基于Hierarchical Softmax的crow模型和skip-gram模型通过阅读word2Vec理解基于Hierarchical Softmax的crow模型和skip-gram模型

通过阅读word2Vec理解基于Hierarchical Softmax的crow模型和skip-gram模型

通过阅读word2Vec理解基于Hierarchical Softmax的crow模型和skip-gram模型

见伪代码:

通过阅读word2Vec理解基于Hierarchical Softmax的crow模型和skip-gram模型

 

Skip-gram模型

其他的都与CBOW模型类似,直接上条件概率函数的构造

通过阅读word2Vec理解基于Hierarchical Softmax的crow模型和skip-gram模型

通过阅读word2Vec理解基于Hierarchical Softmax的crow模型和skip-gram模型

可求出目标函数

通过阅读word2Vec理解基于Hierarchical Softmax的crow模型和skip-gram模型

随机梯度上升法,伪代码如下

通过阅读word2Vec理解基于Hierarchical Softmax的crow模型和skip-gram模型