《word2vec中的数学》内容摘要(三、基于Hierarchical的Skip-gram模型)

(2) Skip-gram模型

     设样本为(w,Context(w))

① 网络结构

     a  输入层:只含当前样本中心词w的词向量\mathbf{v}(w)\in\mathbb{R}^{m}.

     b  投影层: 这个是恒等投影,把\mathbf{v}(w)投影到\mathbf{v}(w),所以投影层是多余的

     c  输出层: 输出层为一颗Huffman树

梯度计算

    目标函数形如

                                                                        L=\sum _{w \in C}{\log{p(Context(w)|w)}}

    定义

                                                                       p(Context(w)|w)=\prod_{u \in Context(w)}{p(u|w)}

    其中

                         p(u|w)=\prod^{l^u}_{j=2}{p(d^u_j|\mathbf{v}(w), \mathbf{\theta}^u_{j-1})},      p(d^u_j|\mathbf{v}(w), \mathbf{\theta}^u_{j-1}) =[\sigma(\mathbf{v}(w)^T\mathbf{\theta}^u_{j-1})]^{1-d^u_j}\cdot [1-\sigma(\mathbf{v}(w)^T\mathbf{\theta}^u_{j-1})]^{d^u_j}

    所以

    记花括号中的内容为                     

    参数的更新采用梯度上升法  

    所以\mathbf{\theta}^u_{j-1}的更新公式为

                                      \mathbf{\theta}^u_{j-1}:=\mathbf{\theta}^u_{j-1}+\eta [1-d^u_j-\sigma(\mathbf{v}(w)^T\mathbf{\theta}^u_{j-1})]\mathbf{v}(w)

    L(w, u, j)\mathbf{v}(w)\mathbf{\theta}^u_{j-1}对称的,所以

                                        \frac{\partial{L(w, u, j)}}{\partial{\mathbf{v}(w)}}= [1-d^u_j-\sigma(\mathbf{v}(w)^T\mathbf{\theta}^u_{j-1})]\mathbf{\theta}^u_{j-1}

    于是\mathbf{v}(w)的更新公式为

                                       \mathbf{v}(w):=\mathbf{v}(w)+\eta\sum_{u \in Context(w)}{\sum^{l^u}_{j=2} \frac{\partial L(w,u,j)}{ \partial \mathbf{v}(w) } }

伪代码

    a  Context(w)中所有的词都处理完后才刷新\mathbf{v}(w)

    b 一种改进是每处理完Context(w)中的一个词u就及时刷新\mathbf{v}(w)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值