Word embedding系列(二):word2vec详解

本系列分为四部分,这篇文章是本系列第二篇,一年前在公众号上有写过:Word embedding系列(二):word2vec详解,现在搬到CSDN上~

欢迎关注我的公众号,微信搜 algorithm_Tian 或者扫下面的二维码~

现在保持每周更新的频率,内容都是机器学习相关内容和读一些论文的笔记,欢迎一起讨论学习~


本文参考了 这个博客的系列文章,建议如果有空可以看一下原博客,写的容易理解又很深入详细~

word2vec我准备分为四部分介绍:

1.CBOW与Skip-gram

2.基于HierarchicalSoftmax的模型

3.基于Negative Sampling的模型

4.代码与示例


 

1.CBOW与Skip-gram

CBOW模型的训练输入是某个词的上下文相关词对应的词向量,输出就是这个词的词向量。

Skip-Gram模型和CBOW的思路是反着的,即输入是一个词的词向量,而输出是它对应的上下文词向量。

如图所示,是一个词w和它的上下文(context(w))的示意图:


2.基于HierarchicalSoftmax的模型

word2vec用霍夫曼树代替隐藏层和输出层的神经元,词频为霍夫曼树节点权重

根节点的词向量:     投影后的词向量,

所有叶子节点:        之前神经网络softmax输出层的神经元,

叶子节点的个数:     词汇表的大小。

cbow和skipgram本质上一样,因为cbow输入的是上下文所有词向量的和,所以这里就只给出一个cbow的示意图。

skipgram和cbow的输出的区别就在于取概率最大的还是概率前n大

霍夫曼树中出现频次越高的词离树根越近,也就是说编码越短。在霍夫曼树中,隐藏层到输出层的softmax映射不是一下完成的,而是沿着霍夫曼树一步步完成的,因此这种softmax取名为"Hierarchical Softmax"。

在构建树时,高频放右边。规定沿着左子树走是负类(霍夫曼树编码1),沿着右子树走是正类(霍夫曼树编码0)。使用sigmoid函数来计算是正类还是负类:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值