Word2Vec的含义

一个单词,神经网络理解不了,需要人转换成数字再喂给它。最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步骤图:


©著作权归作者所有:来自51CTO博客作者mob604756f42bbf的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 面试时如何回答购物车测试步骤?
  2. 技巧分享:如何利用CSS属性修改图片颜色?
  3. 【直观详解】信息熵、交叉熵和相对熵
  4. 学前端需要什么学历?
  5. 数据处理不等式:Data Processing Inequality
  6. 6个常用的Java开发技巧,快收藏吧!
  7. 5、小型企业无线网部署(案例1)从客户需求来分析、规划、部署
  8. 干货|吴恩达教你如何应用机器学习的技巧~
  9. mac系统清除废纸篓时怎么禁止显示警告?

随机推荐

  1. 在CentOS下搭建Android 开发环境
  2. Android——build.prop 解析
  3. 自定义ListView中的分割线
  4. Android——体系架构 +四层
  5. 疯狂android讲义学习总结---toggle与swit
  6. android 开发 解码gif图片,获取每帧bitmap
  7. Android实现插件化(热加载)和插件加密
  8. 系出名门Android(5) - 控件(View)之TextV
  9. android连网详解
  10. 向模拟器发短信打电话的方法