专栏首页AutoML(自动机器学习)【转载】负采样算法

【转载】负采样算法

任何采样算法都应该保证频次越高的样本越容易被采样出来。基本的思路是对于长度为1的线段,根据词语的词频将其公平地分配给每个词语:

counter就是w的词频。

于是我们将该线段公平地分配了:

接下来我们只要生成一个0-1之间的随机数,看看落到哪个区间,就能采样到该区间对应的单词了,很公平。

但怎么根据小数找区间呢?速度慢可不行。

word2vec用的是一种查表的方式,将上述线段标上M个“刻度”,刻度之间的间隔是相等的,即1/M:

接着我们就不生成0-1之间的随机数了,我们生成0-M之间的整数,去这个刻度尺上一查就能抽中一个单词了。

在word2vec中,该“刻度尺”对应着table数组。在具体实现时,不是直接用counter(w),而是对词频取了α次幂,一般去α=3/4=0.75,即:

这个幂实际上是一种“平滑”策略,能够让低频词多一些出场机会,高频词贡献一些出场机会,劫富济贫。

原文:word2vec原理推导与代码分析

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【转载】使用python库--Graphviz为论文画出漂亮的示意图

    DOT is a plain text graph description language. It is a simple way of describing...

    marsggbo
  • 【GAMES101-现代计算机图形学课程笔记】Lecture 05 Rasterization 2 (Antialiasing and Z-Buffering)

    下图给出了Alias(图像失真)的例子。最左边是计算出的在三角形内的像素中心点,中间是我们想要得到的效果,右边是实际效果。买家秀和卖家秀。。。这个现象的学名就叫...

    marsggbo
  • 【NLP CS224N笔记】Lecture 2 - Word Vector Representations: word2vec

    那么在计算机中是如何获取一个word的meaning的呢?常见的解决办法是使用像WordNet之类的数据集,它包含了同义词(synonym)组和上位词(hype...

    marsggbo
  • JSP中的四种作用域

    JSP中的四种作用域包括page、request、session和application,具体来说:

    崔笑颜
  • NodeJS使用formidable实现文件上传

      最近自学了一下NodeJS,然后做了一个小demo,实现歌曲的添加、修改、播放和删除的功能,其中自然要实现音乐和图片的上传功能。于是上网查找资料,找到了一个...

    用户1174387
  • 用云开发制作教务助手小程序丨实战

    本项目由一人承担从后端到前端的构思以及开发,下面我就讲讲从教务助手小程序的构思到开发实现(基于云开发)。

    腾讯云开发TCB
  • [MongoDB]评估使用mongodb的五个因素

    企业选择 NOSQL 或非表格结构数据库,评估时应从以下五个关键维度来考虑: • 数据模型的类型 • 查询模型是否能满足灵活的查询需求 • 事务模型类型,以及一...

    陶士涵
  • 你真的会玩SQL吗?和平大使 内连接、外连接

    你真的会玩SQL吗?系列目录 你真的会玩SQL吗?之逻辑查询处理阶段 你真的会玩SQL吗?和平大使 内连接、外连接 你真的会玩SQL吗?三范式、数据完整性 你真...

    欢醉
  • 宏与C预处理器

    通常的目标是:书写一个像包含一个单独的函数调用语句的宏, 这意味着:调用者需要提供最终的分号,而宏体则不需要。因此宏体不能为简单的括弧包围的复合语句,因为如果这...

    C语言入门到精通
  • MultiScanner:一款功能强大的模块化文件扫描与分析框架

    MultiScanner是一款功能强大的文件分析框架,可帮助用户自动化对大量文件集进行分析,并聚合输出分析结果。MultiScanner了自定义构建的Pytho...

    FB客服

扫码关注云+社区

领取腾讯云代金券