当前位置:   article > 正文

word2vec原理_word2vec大白话原理

word2vec大白话原理

word2vec

word2vec是一个计算word vector的开源工具。当我们在说word2vec算法或模型的时候,其实指的是其背后用于计算word vector的CBoW模型和Skip-gram模型。
2013年,Google团队发表了word2vec工具。word2vec工具主要包含两个语言模型:跳字模型(skip-gram)和连续词袋模型(continuous bag of words,简称CBOW),以及两种高效训练的方法(降低复杂度):负采样(negative sampling)和层序softmax(hierarchical softmax)。
值得一提的是,word2vec词向量可以较好地表达不同词之间的相似和类比关系。

Word2vec可以通过词语上下文的结构信息,将单词的语义映射到一个固定的向量空间中。如果需要判定两个词语的语义相似度(或相关度),只需要计算两个词向量的夹角余弦或欧式距离等即可。

skip-gram:预测上下文(context)
CBOW 预测目标单词
CBOW是从原始语句推测目标字词,背景词推出中心词;而Skip-Gram正好相反,是从目标字词推测出原始语句,中心词推背景词。CBOW对小型数据库比较合适,而Skip-Gram在大型语料中表现更好。

霍夫曼树

word2vec利用霍夫曼树来模拟隐层到输出层的学习过程。

霍夫曼树是带权路径最小的二叉树,权值越大的叶子结点越靠近根结点

输入:权值为(w1,w2,…wn)(w1,w2,…wn)的nn个节点

输出:对应的霍夫曼树

1)将(w1,w2,…wn)(w1,w2,…wn)看做是有nn棵树的森林,每个树仅有一个节点。

2)在森林中选择根节点权值最小的两棵树进行合并,得到一个新的树,这两颗树分别作为新树的左右子树。新树的根节点权重为左右子树的根节点权重之和。

3) 将之前的根节点权值最小的两棵树从森林删除,并把新树加入森林。

4)重复步骤2)和3)直到森林里只有一棵树为止。

Hierachical Softmax

在霍夫曼树中,隐藏层到输出层的softmax映射不是一下子完成的,而是沿着霍夫曼树一步步完成的,因此这种softmax取名为"Hierarchical Softmax"。

在word2vec中,我们采用了二元逻辑回归的方法,即规定沿着左子树走,那么就是负类(霍夫曼树编码1),沿着右子树走,那么就是正类(霍夫曼树编码0)。判别正类和负类的方法是使用sigmoid函数,即
P ( + ) = σ ( x w T θ ) = 1 1 + e − x w T θ P(+) = \sigma(x_w^T\theta) = \frac{1}{1+e^{-x_w^T\theta}} P(+)=σ(xwTθ)=1+exwTθ

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/秋刀鱼在做梦/article/detail/917253
推荐阅读
  

闽ICP备14008679号