word2vec之Negative Sampling理解

本文深入解析word2vec中的Negative Sampling技术,探讨它如何改进CBOW和Skip-Gram模型,提高性能,以及如何有效地选择负样本。Negative Sampling通过带权重的采样策略处理高频和低频词汇,优化了模型的训练过程。
摘要由CSDN通过智能技术生成

word2vec之Negative Sampling理解

本文章将介绍基于Negative Sampling的CBOW和Skip-Gram模型。与Hierarchical Softmax相比,Negative Sampling不需要构建复杂的Huffman树,以及进行多次二分类,而是利用简单的随机负采样,能大幅度提高性能。因而可以说Negative Sampling是Hierarchical Softmax的一种改进。

1 CBOW模型

在cbow模型中,已知的是上下文 context(w) c o n t e x t ( w ) ,需要去预测词语 w w 。所以可以换种说法,对于特定的 c o n t e x t ( w ) ,词语 w w 是其正样本,其他词语就是其负样本。但是负样本那么多,我们如何高效的去选择负样本,这就牵涉到Negative Sampling算法。首先,我们假设已经采样到一个负样本集合 N E G ( w ) ϕ 。对于一个 w˜ w ~ ,定义一个标签:
ι(w˜)=1 ι ( w ~ ) = 1 w˜=w w ~ = w
ι(w˜)=0 ι ( w ~ ) = 0 w˜w w ~ ≠ w
所以类似逻辑回归,我们定义了一个如下的公式:
p(u|context(w)))=δ(xTwθu) p ( u | c o n t e x t ( w ) ) ) = δ ( x w T θ u ) ι(w˜)=1 ι ( w ~ ) = 1
p(u|context(w)))=1δ(xTwθu) p ( u | c o n t e x t ( w ) ) ) = 1 − δ ( x w T θ u ) ι(w˜)=0 ι ( w ~ ) = 0
将其写成一个正式为:

p(u|context(w)))=δ(xTwθu)ιw(u)(1δ(xTwθu))1ιw(u) p ( u | c o n t e x t ( w ) ) ) = δ ( x w T θ u ) ι w ( u ) ( 1 − δ ( x w T θ u ) ) 1 − ι w ( u )

假设词语之间相互独立,我们希望最大化的是:
g(w)=uϵwNEGwp(u|context(w))=uϵwNEGwδ(xTwθu)ιw(u)(1δ(xTwθu))1ιw(u) g ( w ) = ∏ u ϵ w ⋃ N E G w p ( u | c o n t e x t ( w ) ) = ∏ u ϵ w ⋃ N E G w δ ( x w T θ u ) ι w ( u ) ( 1 − δ ( x w T θ u ) ) 1 − ι w ( u )

对于一个给定的语料库 C C ,假设其中各词语相互独立,所以整体函数为:
G = w ϵ C g ( w )

为了求得 g(w) g ( w ) 的最大值,我们对上式进行最大似然估计:
ι=log(G)=log
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值