《word2vec中的数学》内容摘要(四、基于Negative Sampling的CBOW模型)

Negative Sampling(NEG)利用随机负采样,能大幅度提高性能。


符号定义 

      对于样本(Context(w), w),词w为正样本,其他词为负样本。假定已经选好了一个关于Context(w)的负样本子集NEG(w) \neq \varnothing,且对\forall \widetilde{w} \in D,定义

                                                      L^w(\widetilde{w})=\left\{\begin{matrix} 1, \widetilde{w}=w\\ 0,\widetilde{w} \neq w \end{matrix}\right.

表示词\widetilde{w}的标签, 即正样本的标签为1, 负样本的标签为0.

        我们希望最大化

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

其中

                                   p(u|Context(w))=[\sigma(\mathbf{x}^T_w\mathbf{\theta}^u)]^{L^w(u)}\cdot [1-\sigma(\mathbf{x}^T_w\mathbf{\theta}^u)]^{1-L^w(u)}

所以

                                        g(w)=\sigma(\mathbf{x}^T_w\mathbf{\theta}^w)\prod_{w \in NEG(w)}[1-\sigma(\mathbf{x}^T_w\mathbf{\theta}^u)]

其中\mathbf{x}_w表示Context(w)中各词的词向量之和,而\mathbf{\theta}^u \in \mathbb{R}^m表示词u对应的一个辅助向量,为待训练参数。

目标函数

                             L = \ln{G}=\ln{\prod_{w \in C}{g(w)}}=\sum_{w \in C} \ln{g(w)} \\ = \sum_{w \in C} \ln{\prod_{u \in \{w\} \cup NEG(w)}\{[\sigma(\mathbf{x}^T_w \mathbf{\theta}^u )]^{L^w(u)}\cdot [1-\sigma(\mathbf{x}^T_w \mathbf{\theta}^u )]^{1-L^w(u)}]\}}\\=\sum_{w \in C} \sum_{u \in \{w\} \cup NEG(w)}\{L^w(u)\cdot \ln[\sigma(\mathbf{x}^T_w\mathbf{\theta}^u )] + (1-L^w(u))\cdot \ln[1-\sigma(\mathbf{x}^T_w\mathbf{\theta}^u )]\}

梯度计算及参数更新

       设L(w, u)=L^w(u)\cdot \ln[\sigma(\mathbf{x}^T_w\mathbf{\theta}^u )] + (1-L^w(u))\cdot \ln[1-\sigma(\mathbf{x}^T_w\mathbf{\theta}^u )],则

于是\mathbf{\theta}^u的更新公式可写为

                                                      \mathbf{\theta}^u:=\mathbf{\theta}^u+\eta [L^w(u)-\sigma{(\mathbf{x}^T_w\mathbf{\theta}^u)}]\mathbf{x}_w

L(w, u)中由\mathbf{x}_w\mathbf{\theta}^u的对称性有

                                                     \frac{\partial{L(w,u)}}{\partial{\mathbf{x}_w}}=[L^w(u)-\sigma(\mathbf{x}^T_w\mathbf{\theta}^u)]\mathbf{\theta}^u

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

                                     \mathbf{v}(\widetilde{w}):=\mathbf{v}(\widetilde{w})+\eta \sum_{u\in \{w\}\cup NEG(w)}\frac{\partial{L(w, u)}}{\partial\mathbf{x}_w}, \widetilde{w} \in Context(w)

基于Negative Sampling的CBOW的伪代码 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值