基于word2vec训练词向量(二)

本文介绍了word2vec中Hierarchical Softmax的缺点,如训练生僻词时效率低下,然后详细阐述了Negative Sampling模型的工作原理,包括其优化策略、选取负例词的方法,以及在训练过程中的优势。最后,通过代码示例展示了如何使用gensim库训练词向量,并总结了word2vec在训练词向量方面的应用和局限性。
摘要由CSDN通过智能技术生成

一.基于Hierarchical Softmax的word2vec模型的缺点

二.Negative SampliNg模型

三.Negative Sampling优化原理

四.Negative Sampling选取负例词原理

五.代码实现

六.总结

一.基于Hierarchical Softmax的word2vec模型的缺点

上篇说了Hierarchical Softmax ,使用霍夫曼树结构代替了传统的神经网络,可以提高模型训练的效率。但是如果基于Hierarchical Softmax的模型中所以词的位置是基于词频放置的霍夫曼树结构,词频越高的词在离根节点越近的叶子节点,词频越低的词在离根节点越远的叶子节点。也就是说当该模型在训练到生僻词时,需要走很深的路径经过更多的节点到达该生僻词的叶子节点位置,这样在训练的过程中,会有更多的θ_i向量要更新。举个例子,如图一所示:

图一

假设规定霍夫曼树编码,往左子树编码为0,右子树编码为1,假设现有一棵霍夫曼树,第一层右子树是一个叶子节点词w_1,该词霍夫曼编码是1,那么在训练过程只需要训练θ_1这个向量更新他只需要一个计算量。假如现在存在一个路径很深的叶子节点在第五层词w_2(根节点在第0层),其霍夫曼编码是010,那么训练到该叶子节点时需要计算并更新3个θ_i参数。这样对于生僻词的训练是很不友好的。

二.Negative SampliNg模型

Negative Sampling是word2vec模型的另一种方法,采用了Negative Sampling(负采样)的方法来求解。

Negative Sampling的网络结构(CBOW方式训练),如图二所示:

图二

Negative Sampling与Hierarchical Softmax最大的不同它放弃了投影层到输出层的霍夫曼树结构,以CBOW模型训练为例,Negative Sampling每次选取一个中心词是w_0,若neg别的词w_i,i=1,2,3…neg(一般neg值很小,不超过10),和他周围上下文共有2c个词,记为context(W)。其中中心词与context(w_0)相关,所以以context(

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值