《百问机器学习》第五问:Word2Vec是什么?Word2Vec如何工作?Word2Vec与LDA有什么区别和联系?

目录

总述:

1. Word2Vec的两种网络结构

1.1 输入层

1.2 映射层

1.3 输出层

1.4 神经网络的权重

2. Word2Vec与LDA的区别和联系

2.1 主题模型与词嵌入方法


 总述:

Word2Vec是2013年谷歌提出来目前最为常用的词嵌入模型之一。

Word2Vec是一种浅层的神经网络模型,包含有两种网络结构:CBOW(Continues Bag of Words)和Skip-gram

1. Word2Vec的两种网络结构

CBOW的目标是:根据上下文出现的词语来预测当前词的生成概率

Skip-gram是根据当前词来预测上下文中各词的生成概率。

w(t)是当前所关注的词,w(t-2)、w(t-1)、w(t+1)、w(t+2)是上下文出现的词,前后滑动窗口大小均设成2。

CBOW和Skip-gram都可以表示成由输入层(Input)、映射层(Projecttion)和输出层(Output)组成的神经网络。

1.1 输入层

输入层中的每个词由独热编码方式表示,即所有词均表示成一个N维向量,N为词汇表中单词的总数。向量中每个词都将与之对应的维度设置为1,其余维度均设置为0

1.2 映射层

映射层又称隐含层,K个隐含单元(Hidden Units)的取值可以由N维输入向量以及连接输入和隐含单元之间N*K维权重矩阵计算得到。CBOW中,还需要将各个输入词所计算出的隐含单元求和。

1.3 输出层

输出层向量可以通过隐含层向量以及连接隐含层和输出层之间的K*N维的权重矩阵计算得到。

输出层也是一个N维向量,每维与词汇表中的一个单词相对应。

最后对输出层向量用Softmax激活函数,可以计算每个单词生成概率。

Softmax激活函数的定义为:

1.4 神经网络的权重

接下来的任务就是训练神经网络的权重,使得语料库中所有单词的整体生成概率最大化。

从输入层到隐含层需要一个维度为N×K的权重矩阵,从隐含层到输出层又需要一个维度为K×N的权重矩阵,学习权重可以用反向传播算法实现,每次迭代时将权重沿梯度更优的方向进行一小步更新。但是由于Softmax激活函数中存在归一化项的缘故,推导出来的迭代公式需要对词汇表中的所有单词进行遍历,使得每次迭代过程非常缓慢,由此产生了Hierarchical Softmax和Negative Sampling两种改进方法

训练得到维度为N×K和K×N的两个权重矩阵之后,可以选择其中一个作为N个词的K维向量表示。

2. Word2Vec与LDA的区别和联系

LDA是利用文档中单词的共现关系来对单词按主题聚类,也可以理解为对“文档-单词”矩阵进行分解,得到“文档-主题”和“主题-单词”两个概率分布。

而Word2Vec其实是对“上下文-单词”矩阵进行学习,其中上下文由周围的几个单词组成,由此得到的词向量表示更多地融入了上下文共现的特征。

上述分析的是LDA与Word2Vec的不同,不应该作为主题模型和词嵌入两类方法的主要差异

2.1 主题模型与词嵌入方法

  • 主题模型通过一定的结构调整可以基于“上下文-单词”矩阵进行主题推理。
  • 词嵌入方法也可以根据“文档-单词”矩阵学习出词的隐含向量表示。
  • 主题模型和词嵌入两类方法最大的不同其实在于模型本身,主题模型是一种基于概率图模型的生成式模型,其似然函数可以写成若干条件概率连乘的形式,其中包括需要推测的隐含变量(即主题);
  • 而词嵌入模型一般表达为神经网络的形式,似然函数定义在网络的输出之上,需要通过学习网络的权重以得到单词的稠密向量表示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值