通过阅读word2Vec理解基于Hierarchical Softmax的crow模型和skip-gram模型
介绍一下基于Hierarchical Softmax的CBOW模型和skip-gram模型。话不多说,先上两个图
模型包括三个层,输入层,投影层和输出层。
CBOW模型的作用是在已知w(t-1),w(t-2),w(t+1),w(t+2的情况下,预测其上下文,预测中心词。
CBOW模型优化的目标函数为:
Skip-gram模型的作用是在已知当前中心词的情况下,预测其上下文。在该图当中就是预测w(t-1),w(t-2),w(t+1),w(t+2)。
Skip-gram模型优化的目标函数为
CBOW模型
输入层:包含2c个词的词向量
投影层:2c个词的词向量做求和累加
输出层:输出一个二叉树。
引入Hierarchical softmax的概念
引入一些符号。
约定0为正类,1为负类。
一个节点被分为正类的概率为
负类的概率为
那么到足球的概率为多少呢
将概率相乘。
将上式带入目标函数,CBOW的目标函数为:
如何将这个目标函数最大化呢,利用随机梯度上升法进行更新各参数,参数包括
见伪代码:
Skip-gram模型
其他的都与CBOW模型类似,直接上条件概率函数的构造
可求出目标函数
随机梯度上升法,伪代码如下