1.4 Word2Vec是如何工作的? Word2Vec与LDA 的区别和联系?

1.4 Word2Vec:词嵌入模型之一

场景描述

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

Word2Vec实际是一种浅层的神经网络模型,它有两种网络结构,分别是CBOW(Continues Bag of Words)和Skip-gram。

在这里插入图片描述

知识点

  • Word2Vec,
  • 隐狄利克雷模型(LDA),
  • CBOW,
  • Skip-gram

问题1:Word2Vec是如何工作的?

CBOW的目标是根据上下文出现的词语来预测当前词的生成概率,如图1.3(a)所示;

而Skip-gram是根据当前词来预测上下文中各词的生成概率,如图1.3(b)所示。

其中w(t)是当前所关注的词,w(t-2)、w(t-1)、w(t+1)、w(t+2)是上下文中出现的词。这里前后滑动窗口大小均设为2。
CBOW和Skip-gram都可以表示成由**输入层(Input)、映射层(Projection)和输出层(Output)**组成的神经网络。

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

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

  • 同理,输出层向量的值可以通过隐含层向量(K维),以及连接隐含层和输出层之间的K×N维权重矩阵计算得到。输出层也是一个N维向量,每维与词汇表中的一个单词相对应。最后,对输出层向量应用Softmax激活函数,可以计算出每个单词的生成概率。Softmax激活函数的定义为(式1.7)

其中x代表N维的原始输出向量,xn为在原始输出向量中,与单词wn所对应维度的取值。

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

具体做法:从输入层到隐含层需要一个维度为N×K的权重矩阵,从隐含层到输出层又需要一个维度为K×N的权重矩阵,学习权重可以用反向传播算法实现,每次迭代时将权重沿梯度更优的方向进行一小步更新。

问题:但是由于Softmax激活函数中存在归一化项的缘故,推导出来的迭代公式需要对词汇表中的所有单词进行遍历,使得每次迭代过程非常缓慢。

解决:由此产生了Hierarchical Softmax和NegativeSampling两种改进方法,有兴趣的读者可以参考Word2Vec 的原论文[3]。训练得到维度为N×K和K×N的两个权重矩阵之后,可以选择其中一个作为N个词的K维向量表示。

[3] Mikolo v T,Chen K,Corrado G,et al.Efficient estimation of word representations invector space[J].Computer Science,2013.

问题2:Word2Vec与LDA 的区别和联系?

  • LDA 是利用文档中单词的共现关系来对单词按主题聚类,也可以理解为对“文档-单词”矩阵进行分解,得到“文档﹣主题”和“主题﹣单词”两个概率分布。
  • 而Word2Vec其实是对“上下文-单词”矩阵进行学习,其中上下文由周围的几个单词组成,由此得到的词向量表示更多地融入了上下文共现的特征。也就是说,如果两个单词所对应的Word2Vec向量相似度较高,那么它们很可能经常在同样的上下文中出现。

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

  • 主题模型通过一定的结构调整可以基于“上下文-单词”矩阵进行主题推理。
  • 同样地,词嵌入方法也可以根据“文档-单词”矩阵学习出词的隐含向量表示。

主题模型词嵌入两类方法最大的不同其实在于模型本身

  • 主题模型是一种基于概率图模型的生成式模型,其似然函数可以写成若干条件概率连乘的形式,其中包括需要推测的隐含变量(即主题);
  • 而词嵌入模型一般表达为神经网络的形式,似然函数定义在网络的输出之上,需要通过学习网络的权重以得到单词的稠密向量表示。

参考文献:

《百面机器学习》 诸葛越主编

出版社:人民邮电出版社(北京)

ISBN:978-7-115-48736-0

2022年8月第1版(2022年1月北京第19次印刷)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/433230.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

软件测试之接口测试

🍅 视频学习:文末有免费的配套视频可观看 🍅 关注公众号【互联网杂货铺】,回复 1 ,免费获取软件测试全套资料,资料在手,涨薪更快 1. 什么是接口测试 顾名思义,接口测试是对系统或组…

通信网优岗位真实面经分享!

春招来临,不少网优人已经踏上了面试的征程。网优面试具体涉及哪些环节?主要问题有哪些? 本文收集并整理已经获得高薪offer的优橙学员的相关简历,为正在投递网优岗位的你提供经验,也希望网优人能早日找到满意工作。 通信…

uniapp 滑动页面至某个元素或顶部

直接上代码: uni.pageScrollTo({selector: #top, // 需要返回顶部的元素id或class名称duration: 300 // 过渡时间(单位为ms) }); 官方文档:

计及电池储能寿命损耗的微电网经济调度(matlab代码)

目录 1 主要内容 储能寿命模型 负荷需求响应 2 部分代码 3 程序结果 4 下载链接 1 主要内容 该程序参考文献《考虑寿命损耗的微网电池储能容量优化配置》模型,以购售电成本、燃料成本和储能寿命损耗成本三者之和为目标函数,创新考虑储能寿命损耗约…

【C++进阶】用哈希表封装unordered_set和unordered_map

👦个人主页:Weraphael ✍🏻作者简介:目前学习C和算法 ✈️专栏:C航路 🐋 希望大家多多支持,咱一起进步!😁 如果文章对你有帮助的话 欢迎 评论💬 点赞&#x1…

算法:滑动窗口

文章目录 例题1:长度最小的子数组例题2:无重复字符的最长子串例题3:最大连续1的个数 III例题4:将 x 减到 0 的最小操作数例题5:水果成篮例题6:找到字符串中所有字母异位词例题7:串联所有单词的子…

网络工程技术-学习内容(非技术文)

公共基础双纹线的制作 认识网络环境 (1)ipv4 ipv4地址的构成,分类,子网刻分,超丽素合“ 交换机的基本配置telnet,ssh, web方式三种配置 van. sto.协议 VLAN 端口聚合 三层交换“ 路由器的基本配置《(端口 IP 地址配)《…

msvcp120.dll丢失的解决方法,教你快速解决msvcp120.dll问题

msvcp120.dll是一个在Windows操作系统中至关重要的系统文件,它属于Microsoft Visual C Redistributable Package的一部分。这个动态链接库文件(DLL)包含了运行某些应用程序所必需的C运行时库函数。当某个程序在运行过程中需要调用这些预先编译…

requests做接口测试

Requests 是用Python语言编写,基于 urllib,采用 Apache2 Licensed 开源协议的 HTTP 库。它比 urllib 更加方便,可以节约我们大量的工作,完全满足 HTTP 测试需求。Requests 的哲学是以 PEP 20 的习语为中心开发的,所以它…

rabbitmq基础(1)

1、背景 能实现消息队列的框架软件有很多,kafka、rabbitmq、RocketMq、activeMq、Redis(非专业),各有各的特点和优缺点。但是之前的公司数据需求规模并非很大,所以采用rabbitmq作为消息队列。 2、rabbitMq的基础架构…

工业网关、物联网网关与PLC网关是什么?

网关是什么? 网关是一种用于连接不同网络的网络设备,其作用是实现网络之间的通信和数据交换。它负责将一个网络的数据转发到另一个网络,并且可以进行路由、转换和过滤等处理。通常用于连接局域网和广域网之间,可以是硬件设备或者软…

基于javaweb实现的学生选课系统

一、系统架构 前端:jsp | bootstrap | jquery | css 后端:spring | sprinmvc | mybatis 环境:jdk1.8 | mysql | maven | tomcat 二、代码及数据库 三、功能介绍 01. 登录页 02. 管理员-课程管理 03. 管理员-学生管理 04. 管…

网络编程:select、poll

.1、select完成TCP并发服务器 程序代码&#xff1a; #include <myhead.h> #define SER_IP "192.168.125.234" //服务端IP #define SER_PORT 8888 //服务端端口号int main(int argc, const char *argv[]) {//1.创建用于连接的套接字int sfds…

C#,电话数字键盘问题(Mobile Numeric Keypad problem)的算法与源代码

1 电话数字键盘问题 提供移动数字键盘。您只能按向上、向左、向右或向下至当前按钮的按钮。不允许您按最下面一行的角点按钮&#xff08;即.*和#&#xff09;。 移动键盘 给定一个数N&#xff0c;找出给定长度的可能数。 示例&#xff1a; 对于N1&#xff0c;可能的数字数为…

免费SSL证书有效期

免费SSL证书有效期现状 目前市场上主流的免费SSL证书提供商大多遵循行业规范&#xff0c;将免费证书的有效期设为3个月。这意味着每隔三个月&#xff0c;网站管理员必须重新申请、验证并安装新的SSL证书&#xff0c;以维持网站的HTTPS安全连接状态。这种做法已成为行业的常态&…

GEE入门篇|图像分类(一):非监督分类

在非监督分类中&#xff0c;我们有与监督分类相反的过程。 首先对光谱类进行分组&#xff0c;然后将其分类为簇。因此&#xff0c;在 Earth Engine 中&#xff0c;这些分类器是 ee.Clusterer 对象。 它们是“自学”算法&#xff0c;不使用一组标记的训练数据&#xff08;即它们…

C++复习笔记——泛型编程模板

01 模板 模板就是建立通用的模具&#xff0c;大大提高复用性&#xff1b; 02 函数模板 C另一种编程思想称为 泛型编程 &#xff0c;主要利用的技术就是模板 C 提供两种模板机制:函数模板和类模板 函数模板语法 函数模板作用&#xff1a; 建立一个通用函数&#xff0c;其函…

centos上部署k8s

环境准备 四台Linux服务器 主机名 IP 角色 k8s-master-94 192.168.0.94 master k8s-node1-95 192.168.0.95 node1 k8s-node2-96 192.168.0.96 node2 habor 192.168.0.77 镜像仓库 三台机器均执行以下命令&#xff1a; 查看centos版本 [rootlocalhost Work]# cat /…

2024腾讯Java面试题精选,教你抓住面试的重点

重要 大环境对于我们能力要求越来越高&#xff0c;医学专家又说今年冬天新冠肺炎将“席卷重来”。 如果疫情再次爆发&#xff0c;势必将再次影响企业的正常运作&#xff0c;一波裁员浪潮你又能否抗住&#xff1f; 不管如何&#xff0c;明年金三银四又是一波跳槽时机&#xf…

数字化时代的新里程碑:Web3的革命

在当今数字化时代&#xff0c;Web3正成为了一股强大的力量&#xff0c;重新定义了我们对互联网的认知。本文将深入探讨Web3的定义、特点&#xff0c;以及它对金融、供应链、社交媒体等领域的革命性影响&#xff0c;并展望Web3的未来发展。 1. Web3的定义与特点 Web3不仅是一种…