前面:关于层次huffman树和负例采样也要知道的,这里就不详细写了

来源于:https://mp.weixin.qq.com/s?__biz=MzI4MDYzNzg4Mw==&mid=2247485159&idx=1&sn=819152633c53fcae5334d031a05f7bf3&chksm=ebb43e33dcc3b725631e997132b41d34d982304c1ceb356c16b1559f92c69e6c55df009f1f8d&mpshare=1&scene=1&srcid=0823UQXmYFaNd8R09gid8c5G&key=2ae3330fddc8e50eea1a6f1a446dba6e22c4df1547f80f06454dd7dc257c3408b3fd8a793df2daef0814ffdddb04ea449089262bab967b869d44bf709cdc4f3bd471051cf0ca48d048749f03c88cd7b8&ascene=0&uin=MjM3NzI2MTEwMQ%3D%3D&devicetype=iMac+MacBookPro13%2C1+OSX+OSX+10.12+build(16A2323a)&version=12010210&nettype=WIFI&fontScale=100&pass_ticket=J6Qss31QuwUPuaYSQ2EvC0g2tE7VXzNVNeiaNQVW%2BuvqPag3hk1vixMvx3RfwnfU

一个单词,神经网络理解不了,需要人转换成数字再喂给它。最naive的方式就是one-hot,但是太过于稀疏,不好。所以在改进一下,把one-hot进一步压缩成一个dense vector。

word2vec算法就是根据上下文预测单词,从而获得词向量矩阵。

预测单词的任务只是一个幌子,我们需要的结果并不是预测出来的单词,而是通过预测单词这个任务,不断更新着的参数矩阵weights。

预测任务由一个简单的三层神经网络来完成,其中有两个参数矩阵V与U,V∈RDh*|W|,U∈R|W|*Dh

V是输入层到隐藏层的矩阵,又被称为look-up table(因为,输入的是one-hot向量,一个one-hot向量乘以一个矩阵相当于取了这个矩阵的其中一列。将其中的每一列看成是词向量)

U是隐藏层到输出层的矩阵,又被称为word representation matrix(将其中的每一行看成是词向量)

最后需要的词向量矩阵是将两个词向量矩阵相加 =V+UT,然后每一列就是词向量。

2两种实现方法

2.1. Skip-Gram

训练任务:根据中心词,预测出上下文词

输入:一个中心词(center word,x∈R|W|*1)

参数:一个look up table V∈RDh*|W|,一个word representation matrix U∈R|W|*Dh

Skip-Gram步骤图:

2.2. CBOW

与Skip-Gram相反,是通过完成上下文词预测中心词的任务来训练词向量的。

CBOW步骤图:

cbow&&skipgram详细的更多相关文章

  1. DL4NLP——词表示模型(三)word2vec(CBOW/Skip-gram)的加速:Hierarchical Softmax与Negative Sampling

    上篇博文提到,原始的CBOW / Skip-gram模型虽然去掉了NPLM中的隐藏层从而减少了耗时,但由于输出层仍然是softmax(),所以实际上依然“impractical”.所以接下来就介绍一下 ...

  2. DL4NLP——词表示模型(二)基于神经网络的模型:NPLM;word2vec(CBOW/Skip-gram)

    本文简述了以下内容: 神经概率语言模型NPLM,训练语言模型并同时得到词表示 word2vec:CBOW / Skip-gram,直接以得到词表示为目标的模型 (一)原始CBOW(Continuous ...

  3. word2vec原理(一) CBOW+Skip-Gram模型基础

    word2vec是google在2013年推出的一个NLP工具,它的特点是将所有的词向量化,这样词与词之间就可以定量的去度量他们之间的关系,挖掘词之间的联系.本文的讲解word2vec原理以Githu ...

  4. cbow与skip-gram

    场景:上次回答word2vec相关的问题,回答的是先验概率和后验概率,没有回答到关键点. 词袋模型(Bag of Words, BOW)与词向量(Word Embedding)模型 词袋模型就是将句子 ...

  5. word2vec原理(一) CBOW与Skip-Gram模型基础

    word2vec原理(一) CBOW与Skip-Gram模型基础 word2vec原理(二) 基于Hierarchical Softmax的模型 word2vec原理(三) 基于Negative Sa ...

  6. word2vec原理(一) CBOW与Skip-Gram模型基础——转载自刘建平Pinard

    转载来源:http://www.cnblogs.com/pinard/p/7160330.html word2vec是google在2013年推出的一个NLP工具,它的特点是将所有的词向量化,这样词与 ...

  7. word2vec原理CBOW与Skip-Gram模型基础

    转自http://www.cnblogs.com/pinard/p/7160330.html刘建平Pinard word2vec是google在2013年推出的一个NLP工具,它的特点是将所有的词向量 ...

  8. word2vec (CBOW、分层softmax、负采样)

    本文介绍 wordvec的概念 语言模型训练的两种模型CBOW+skip gram word2vec 优化的两种方法:层次softmax+负采样 gensim word2vec默认用的模型和方法 未经 ...

  9. (转)word2vec前世今生

    word2vec 前世今生 2013年,Google开源了一款用于词向量计算的工具——word2vec,引起了工业界和学术界的关注.首先,word2vec可以在百万数量级的词典和上亿的数据集上进行高效 ...

随机推荐

  1. Netlink 介绍(译)

    原文地址:http://people.redhat.com/nhorman/papers/netlink.pdf 译文: 1 介绍 在Linux和Unix的众多发行版中的网络配置功能, 都是编程者事后 ...

  2. 三、java面向对象编程_1

    目录 一.对象和类的概念 二.对象和引用 1.对象 2.成员变量 3.引用 三.java类的定义 四.构造函数(构造方法) 五.内存分析 一.对象和类的概念 1.对象 对象用计算机语言对应问题域中事物 ...

  3. Logistic Ordinal Regression

    sklearn实战-乳腺癌细胞数据挖掘(博客主亲自录制视频教程) https://study.163.com/course/introduction.htm?courseId=1005269003&a ...

  4. 查看和修改linux系统时间

    一.查看和修改Linux的时区1. 查看当前时区 命令 : "date -R" 2. 修改设置Linux服务器时区方法 A 命令 : "tzselect" 方法 ...

  5. JavaScript 延时与定时

    一.定时(setInterval) var i = 0; function hello(){ console.log(i++); } setInterval(hello,1000); // 每一秒执行 ...

  6. CSS3实战-文字篇

    text-shadow的大作用 多颜色阴影效果,用逗号分隔text-shaodow即可. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Tr ...

  7. [转载]浅析为什么char类型的范围是 —128~+127

    http://blog.csdn.net/daiyutage/article/details/8575248 在C语言中, signed char 类型的范围为-128~127,每本教科书上也这么写, ...

  8. 11个实用的CSS学习工具[转载收藏]

    1. 盒子模型的幻灯片 通过3D转换效果产生的互动的幻灯片.按向左或向右箭头键切换,全屏观看会有更好的效果. 2. CSS Diner 通过一个简单的小游戏让你学习CSS selector,输入正确的 ...

  9. 【转】.NET中的三种Timer的区别和用法

    最近正好做一个WEB中定期执行的程序,而.NET中有3个不同的定时器.所以正好研究研究.这3个定时器分别是: //1.实现按用户定义的时间间隔引发事件的计时器.此计时器最宜用于 Windows 窗体应 ...

  10. 训练赛第二场G题 ZOJ 2343

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2343 解题报告:首先我假设最后的正确的结果是a[1] , a[2 ...