基于Negative Sampling的word2vec模型原理

传送:Word2Vec词嵌入向量延伸-原理剖析

           基于Hierarchical Softmax的word2vec模型原理

1.基于Negative Sampling的梯度计算

Negative Sampling摒弃了霍夫曼树,采用负采样的方法求解(对生僻词的迭代求解进行运算优化)。训练样本中w表示中心词(是正例),周围上下文共2c个词context(w),通过Negative Sampling采样,得到neg个和w不同的中心词w_{i},组成负例

Negative Sampling是采用二元逻辑回归来求解模型参数,暂将正例定义为w_{0}。正例应期望满足:

负例期望满足:

期望最大化公式:

模型的似然函数:

对以上似然函数求对数,并采用随机梯度上升法,每次只用一个样本更新梯度,进行迭代更新得到需要的x_{w_{i}},\theta ^{w_{i}},i=1,2...neg

\theta ^{w_{i}}的梯度:

x ^{w_{i}}的梯度:

2.Negative Sampling负采样方法

如果词汇表的大小为V ,那么可将一段长度为1的线段分成V 份,每份对应词汇表中的一个词。当然每个词对应的线段长度是不一样的,高频词对应的线段长,低频词对应的线段短。每个词w 的线段长度由下式决定:

采样前,将这段长度为1的线段等分成M份(M默认10^8),M>>V,保证每个词对应的线段都被划分成对应的小块。采样时,只需要从M个位置中采样出neg个位置,这样采样到的每一个位置对应到的线段所属的词就是负例词

3.基于Negative Sampling的CBOW模型

输入:基于CBOW的语料训练样本,词向量的维度大小M,CBOW的上下文大小2c,步长η,负采样的个数neg

输出:词汇表每个词对应的模型参数θ,所有词向量xw

 

4.基于Negative Sampling的skip-gram模型

输入:基于skip-gram的语料训练样本,词向量的维度大小M,skip-gram的上下文大小2c,步长η,负采样的个数neg

输出:词汇表每个词对应的模型参数θ,所有词向量xw

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值