一、理解负采样之前,需要先回顾一下word2vec的训练流程:

1.初始化一个embedding权重矩阵W1(N*D)→2.根据输入单词直接挑出W1矩阵中对应的行向量→3.相加并求平均得一个向量(1*D)→4.和W2矩阵(D*N)相乘得最终预测置信度(1*N)→5.经过softmax得概率(注:N为词典大小,D为词向量维度)。

二、为什么要负采样?

为了解决计算量过大的问题。由于softmax计算分母要求和,在上文【word2vec的训练流程】的第4步时,每预测一个单词,都要进行一次计算,可以看出计算量和词典大小有关(W2矩阵为D“*N),计算量太大啦!

三、负采样是什么?

既然计算量大的事件起因是softmax,解决办法显而易见:把它干掉!用sigmoid函数进行二分类来代替多分类。

具体做法是在上文【word2vec的训练流程】的第4步,每预测一个词时,不和W2矩阵全部相乘,而是选择所要预测的那个词对应的向量(此为正例)+几个其余的词对应的向量(此为负例)。(这里如果不懂需要再抠抠word2vec训练流程的细节)

四、那么,负例如何选择?

依据语料库中对词语频率的统计,让高频单词容易被抽到,稀有单词不容易被抽到,因为稀有单词很难遇到,处理好高频单词才比较重要。

小细节:为了防止低频单词完全被遗忘,可以将各个概率乘以小于1的次方,这样大概率能稍微一点,小概率能稍微大一点(可以根据指数小于1的函数图像来判断)。

以上内容参照深度学习进阶 (豆瓣),根据个人理解整理而成。

【NLP】word2vec负采样相关推荐

  1. word2vec -- 负采样 -- skip-gram

    我以前写过一篇关于word2vec的文章,说实话,写的一坨,我决定以后写博客认认真真的去写. 我的博客来自于网上各位前辈的资料的整理,这位这位和这位翻译的让我对word2vec有了深入的理解.word ...

  2. NLP-词向量(Word Embedding)-2013:Word2vec模型(CBOW、Skip-Gram)【对NNLM的简化】【层次Softmax、负采样、重采样】【静态表示;无法解决一词多义】

    一.文本的表示方法 (Representation) 文本是一种非结构化的数据信息,是不可以直接被计算的.因为文本不能够直接被模型计算,所以需要将其转化为向量. 文本表示的作用就是将这些非结构化的信息 ...

  3. word2vec中的负采样问题

    在word2vec中最先使用的是softmax函数,由于softmax函数需要在分母上遍历每个单词,在归一化时计算成本高:而且在计算损失函数时,center word 与context word之间最 ...

  4. NLP《词汇表示方法(四)负采样》

    一:负采样 在CBOW和Skip-Gram模型中,最后输出的都是词汇的one-hot向量,假如我们的词汇表的数量是10000,嵌入空间的维度是300,再假设此时是以Skip-Gram模型只预测cont ...

  5. python word2vec skipgram 负采样_word2vec中的负采样

    word2vec中的负采样 发布时间:2018-08-23 10:11, 浏览次数:991 , 标签: word vec 1. Hierarchical Softmax的缺点与改进 在讲基于Negat ...

  6. 深度学习 - 41.Word2vec、EGES 负采样实现 By Keras

    目录 一.引言 二.实现思路 1.样本构建 2.Word2vec 架构 3.EGES 架构 4.基于 NEG 的 Word2vec 架构 三.Keras 实现 Word2vec 1.样本构建 2.模型 ...

  7. [nlp] 负采样 nce_loss

    论文:http://demo.clab.cs.cmu.edu/cdyer/nce_notes.pdf 参考:求通俗易懂解释下nce loss? - 知乎 参考:(三)通俗易懂理解--Skip-gram ...

  8. NLP—word2vec词向量简介

    NLP处理的数据都是文字,而文字是无法直接被计算机计算的,于是人们想出了使用独热编码的方式来表示单词. <span style="font-size:16px;">浙江 ...

  9. 背景区域为负样本什么意思_词向量-skipgram与负采样

    大纲: 1. onehot vs 分布式表示 2. 分布式表示的全局泛化能力 3. how to learn word2vec - intuition 4. SkipGram 5. SkipGram ...

最新文章

  1. StaticFactoryMethod_Level4
  2. 详解最大似然估计(MLE)、最大后验概率估计(MAP),以及贝叶斯公式的理解 大牛讲解的
  3. 远程管理Hyper-V Server 虚拟机
  4. JS将数字转换为带有单位的中文表示
  5. ab plc软件_回收拆机拆厂二手机械设备回收PLC自动化物资回收【研发吧】
  6. 原创jquery插件treeTable(转)
  7. python自定义全局异常_flask中主动抛出异常及统一异常处理代码示例
  8. 智能家居要走平民化路线
  9. 具有Couchbase,Java EE和WildFly的CRUD Java应用程序
  10. 还在用Tensorboard?机器学习实验管理平台大盘点
  11. 中国书写工具行业市场供需与战略研究报告
  12. codeforces——961A Tetris
  13. 计算机主页为什么打不开怎么办,主页被限制,打不开怎么办?
  14. 基于Qt开发的游戏手柄小程序例子
  15. GitLab 创建项目组及将代码导入项目
  16. unity利用帧动画制作特效
  17. 让Thread#stop方法无法终止你的线程
  18. html5拖拽表单设计器,可视化表单设计器拖拽生成表单(原创)
  19. HITRAN数据库的使用及考虑辐射时喷管烧蚀的仿真(附代码)
  20. eclipse中下划线显示不出来问题解决

热门文章

  1. 教你计算安全期和危险期
  2. 01-0003 C++诸多排序算法,前来报到~
  3. 实验室设计规范及要求说明
  4. 在linux下面虚拟多块网卡,在一块物理网卡上配置多个IP地址
  5. 小程序滚动里面catchtap事件苹果手机使用无效
  6. 小程序bindtap、catchtap、navigator点击事件无反应
  7. 微信小程序 catchtap=“toDetail“ 事件问题
  8. tftp-server服务器搭建
  9. 组合数学 - 全错位排序公式
  10. 微信小程序:灭蚊器娱乐小游戏微信小程序源码下载多种频率选择