转:word2vec 中的数学原理详解
1,目錄和前言
https://blog.csdn.net/itplus/article/details/37969519
2,預(yù)備知識(shí):邏輯回歸、貝葉斯公式、霍夫曼樹
https://blog.csdn.net/itplus/article/details/37969635
3,背景知識(shí):統(tǒng)計(jì)語(yǔ)言模型、假設(shè)及n-gram、神經(jīng)概率語(yǔ)言模型、詞向量的意義、字向量句子向量文章向量
https://blog.csdn.net/itplus/article/details/37969817
4,基于Hierarchical Softmax方法的CBOW和Skip-gram
https://blog.csdn.net/itplus/article/details/37969979
5,基于 Negative Sampling方法的CBOW和Skip-gram
https://blog.csdn.net/itplus/article/details/37998797
6,源代碼以及細(xì)節(jié):sigmoid近似、詞典的存儲(chǔ)、換行符、低頻詞和高頻詞、窗口和上下文、學(xué)習(xí)率、初始化和訓(xùn)練、多線程并行、再思考
https://blog.csdn.net/itplus/article/details/37999613
?
word2vec 中的數(shù)學(xué)原理詳解
? ? ?word2vec 是 Google 于 2013 年開源推出的一個(gè)用于獲取 word vector 的工具包,它簡(jiǎn)單、高效,因此引起了很多人的關(guān)注。由于 word2vec 的作者 Tomas Mikolov 在兩篇相關(guān)的論文 [3,4] 中并沒(méi)有談及太多算法細(xì)節(jié),因而在一定程度上增加了這個(gè)工具包的神秘感。一些按捺不住的人于是選擇了通過(guò)解剖源代碼的方式來(lái)一窺究竟。
? ? ?第一次接觸 word2vec 是 2013 年的 10 月份,當(dāng)時(shí)讀了復(fù)旦大學(xué)鄭驍慶老師發(fā)表的論文[7],其主要工作是將 SENNA 的那套算法([8])搬到中文場(chǎng)景。覺(jué)得挺有意思,于是做了一個(gè)實(shí)現(xiàn)(可參見(jiàn)[20]),但苦于其中字向量的訓(xùn)練時(shí)間太長(zhǎng),便選擇使用 word2vec 來(lái)提供字向量,沒(méi)想到中文分詞效果還不錯(cuò),立馬對(duì) word2vec 刮目相看了一把,好奇心也隨之增長(zhǎng)。
? ? ?后來(lái),陸陸續(xù)續(xù)看到了 word2vec 的一些具體應(yīng)用,而 Tomas Mikolov 團(tuán)隊(duì)本身也將其推廣到了句子和文檔([6]),因此覺(jué)得確實(shí)有必要對(duì) word2vec 里的算法原理做個(gè)了解,以便對(duì)他們的后續(xù)研究進(jìn)行追蹤。于是,沉下心來(lái),仔細(xì)讀了一回代碼,算是基本搞明白里面的做法了。第一個(gè)感覺(jué)就是,“明明是個(gè)很簡(jiǎn)單的淺層結(jié)構(gòu),為什么會(huì)被那么多人沸沸揚(yáng)揚(yáng)地說(shuō)成是 Deep Learning 呢?”
? ? ?解剖 word2vec 源代碼的過(guò)程中,除了算法層面的收獲,其實(shí)編程技巧方面的收獲也頗多。既然花了功夫來(lái)讀代碼,還是把理解到的東西整理成文,給有需要的朋友提供點(diǎn)參考吧。
? ? ?在整理本文的過(guò)程中, 和深度學(xué)習(xí)群的群友@北流浪子([15,16])進(jìn)行了多次有益的討論,在此表示感謝。另外,也參考了其他人的一些資料,都列在參考文獻(xiàn)了,在此對(duì)他們的工作也一并表示感謝。
?
?
?
?
?
作者:peghoty
出處:?http://blog.csdn.net/itplus/article/details/37969519
轉(zhuǎn)載于:https://www.cnblogs.com/augustone/p/10632753.html
新人創(chuàng)作打卡挑戰(zhàn)賽發(fā)博客就能抽獎(jiǎng)!定制產(chǎn)品紅包拿不停!總結(jié)
以上是生活随笔為你收集整理的转:word2vec 中的数学原理详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 多线程与并发编程实践
- 下一篇: Django 信号