word2vec数学原理
来源:互联网 发布:js done fail 编辑:程序博客网 时间:2024/06/14 10:13
首先声明,这是我转载的:http://www.cnblogs.com/peghoty/p/3857839.html
====================================================================================================================
word2vec 是 Google 于 2013 年开源推出的一个用于获取 word vector 的工具包,它简单、高效,因此引起了很多人的关注。由于 word2vec 的作者 Tomas Mikolov 在两篇相关的论文 [3,4] 中并没有谈及太多算法细节,因而在一定程度上增加了这个工具包的神秘感。一些按捺不住的人于是选择了通过解剖源代码的方式来一窥究竟。
第一次接触 word2vec 是 2013 年的 10 月份,当时读了复旦大学郑骁庆老师发表的论文[7],其主要工作是将 SENNA 的那套算法([8])搬到中文场景。觉得挺有意思,于是做了一个实现(可参见[20]),但苦于其中字向量的训练时间太长,便选择使用 word2vec 来提供字向量,没想到中文分词效果还不错,立马对 word2vec 刮目相看了一把,好奇心也随之增长。
后来,陆陆续续看到了 word2vec 的一些具体应用,而 Tomas Mikolov 团队本身也将其推广到了句子和文档([6]),因此觉得确实有必要对 word2vec 里的算法原理做个了解,以便对他们的后续研究进行追踪。于是,沉下心来,仔细读了一回代码,算是基本搞明白里面的做法了。第一个感觉就是,“明明是个很简单的浅层结构,为什么会被那么多人沸沸扬扬地说成是 Deep Learning 呢?”
解剖 word2vec 源代码的过程中,除了算法层面的收获,其实编程技巧方面的收获也颇多。既然花了功夫来读代码,还是把理解到的东西整理成文,给有需要的朋友提供点参考吧。
在整理本文的过程中, 和深度学习群的群友@北流浪子([15,16])进行了多次有益的讨论,在此表示感谢。另外,也参考了其他人的一些资料,都列在参考文献了,在此对他们的工作也一并表示感谢。
作者:peghoty
出处: http://blog.csdn.net/itplus/article/details/37969519
欢迎转载/分享, 但请务必声明文章出处.
- word2vec数学原理详解
- word2vec数学原理
- word2vec 数学原理
- word2vec的数学原理详解
- word2vec 中的数学原理详解
- Word2vec 中的数学原理详解
- word2vec 中的数学原理详解
- word2vec中的数学原理详解
- word2vec中数学原理详解以及原理思考
- word2vec 中的数学原理详解(一)目录和前言
- word2vec 中的数学原理详解(二)预备知识
- word2vec 中的数学原理详解(三)背景知识
- word2vec 中的数学原理详解(六)若干源码细节
- word2vec 中的数学原理详解(三)背景知识
- word2vec 中的数学原理详解(一)目录和前言
- word2vec 中的数学原理详解(二)预备知识
- word2vec 中的数学原理详解(三)背景知识
- word2vec 中的数学原理详解(六)若干源码细节
- nginx出现(13: Permission denied)
- 原子性与原子操作
- 马云:阿里巴巴必须成为国家和世界创新的发动机
- 如何利用交叉编译工具为树莓派编译linux内核
- socket网络通讯
- word2vec数学原理
- Map中删除数据
- 定义一个类,封装矩形的长和宽;在定义一个类,继承自定义的这个类,在继承类中根据基类中封装的矩形的长和宽求矩形的面积。
- Hive从2.0版本开始,关于hiveserver2的web UI管理页面的配置和使用
- selenium+webdriver 火狐浏览器,chrome浏览器,ie浏览器
- Putty连接VMWare中Ubuntu
- 线程发生死锁的条件与原因
- 2017.10.12 树状数组求逆序对
- 为什么模板不支持分离编译?