word2vec原理概述
来源:互联网 发布:输入法linux版 编辑:程序博客网 时间:2024/06/01 08:15
- 最近阅读了Mikolov两篇关于word2vec的论文,结合Goldberg对这两篇论文的解读,作如下概述。
- 概述
区别于CBOW根据语境预测目标单词,Skip-gram根据当前单词预测语境,如图一右所示。在“
Distributed Representations ofWords and Phrases and their Compositionality”中,作者对Skip-gram做了进一步的论述和扩展。本文详细描述Skip-gram的原理及扩展。- 定义及符号
单词(word):w,使用长度为d的列向量表示
语境(context):以单词w为中心,向前k个单词,向后k个单词所形成的短语中包含的单词
模型参数:θ
条件概率p(c|w):当w出现时,某一语境c出现的概率
C(w):在文本集合T中,单词w出现过的语境包含的单词的集合
语境中的单词c,使用长度为d的列向量表示 c∈C(w)
c和w均表示单词,但作者认为,即使对于同一个单词,比如apple,它作为普通单词和作为语境中的单词是的向量表示是不同的,因此使用不同的符号来表示语境中的单词和普通单词。
V:文本集合对应的词汇表
D:所有单词w和它的语境C(w)构成的组合的集合
- Skip-gram
等同于下式:
作者使用了逻辑回归的扩展Softmax [4] 对θ进行形式化处理,使得条件概率转化为下式:
其中vc和vw分别是c和w的列向量,维度为d。C是所有语境中的单词构成的集合,等同于词汇表V。参数θ就是vc和vw中每一维度的具体取值,参数的总数为|C|×|V|×d。将式3代入式2,并于等式两边取对数可得:
作者认为,通过训练得到的单词的向量表示vw能够使得条件概率p(c|w)最大化,则vw是w的好的表示。这里潜在的基本假设是:相似的单词拥有相似的语境。换言之,特定的语境只有确定的语义才能够与之匹配。通过最大化条件概率,使得单词和语境之间的对应关系最大化,进而满足了基本假设:相似的单词拥有相似的语境。而满足条件概率最大化的单词矢量,也就成为了单词语义的合理表示。
从式3可以发现,由于条件概率p(c|w)的分母计算需要很大代价,作者使用hierarchicalsoftmax来近似softmax,并用霍夫曼树来构建hierachical softmax.
- NegativeSampling
同样,使用softmax来量化p(D=1|w,c;θ):
因此,最终的目标函数为:
为了使目标函数最大化,有一个很简单的方法,即使得vc=vw,且vc·vw=K。当K足够大时,可以得到p(D=1|w,c)=1,从而达到目标函数最大化。因此,为了所有的矢量有相同的值,作者生成了一个数据集D',D'中的所有单词、语境组合都不存在于T中,这些样例被称之为反例(negativeexamples),而获得反例的采样方法被称之为反例采集(negative-sampling)。引进了反例之后的目标函数演变为:
假设σ(x)=1/(1+e-x),则:
和式4进行比较,可以明显的看到累加嵌套的消除。两者最大的区别是式4根据条件概率p(c|w)进行建模而此处根据联合概率p(D=1|w,c)进行建模
- 参考文献
- EfficientEstimation of Word Representations in VectorSpace
- Distributed Representations ofWords and Phrases and their Compositionality
- word2Vec Explained: DerivingMikolov et al.'s Negative-Sampling Word-EmbeddingMethod
- SoftmaxRegression,
www.cnblogs.com/tornadomeet/archive/2013/03/22/2975978.html
0 0
- word2vec原理概述
- word2vec原理概述
- word2vec原理及实现
- Word2Vec原理详解
- Word2vec原理与应用
- word2vec数学原理详解
- word2vec数学原理
- word2vec 数学原理
- word2vec的数学原理详解
- word2vec 中的数学原理详解
- Word2vec 中的数学原理详解
- word2vec原理机制(转)
- word2vec 中的数学原理详解
- word2vec中的数学原理详解
- word2vec知识点原理详细讲解
- Word2Vec的原理及要点
- word2vec
- word2vec
- 使用tomcat配置文件下载服务器,自定义下载列表
- 转发:Oracle约束的启用和停用
- 索引停用与启用方法
- 【Python】统计个人新浪微博…
- ORA-27101: shared memo…
- word2vec原理概述
- 文本表示的新思路——Distributed&nb…
- 主成分分析(PCA)和奇异值分解(S…
- 特征选择与特征抽取的区别
- Neural Probabilistic L…
- 语句的向量表示方法——单词向量组合…
- 张量(tensor)的基本概念
- 归一化的说明
- 数据平滑、维数灾难和数据稀疏