cbow word2vec 损失_Skip-gram和CBOW知识点
生活随笔
收集整理的這篇文章主要介紹了
cbow word2vec 损失_Skip-gram和CBOW知识点
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
本文涉及的內容:
一 HuffMan樹構造方法
哈夫曼樹構造過程
哈夫曼樹編碼過程
二 Hierarchical Softmax
背景:
,算法的復雜度為 ,利用Hierarchical Softmax可以將復雜度降為 。例如
同時出現在一個窗口中, 是 對應的詞向量,我們希望 從根節點出發到達 的概率最大。在 獨立同分布的假設下,似然函數為:三 Skip-gram參數更新
skip-gram是利用中間的單詞窗口中的上下文,用
表示中間單詞, 表示窗口中的另外一個單詞,注意上下文是相互的,在期望 最大的同時, 也是最大的。在實際操作中,是利用梯度上升讓 最大。這樣做的好處是,在每一個窗口中,不僅更新了 ,還更新了 個 , 為窗口的大小;壞處是比CBOW的訓練時間長 倍。下面是skip-gram更新參數偽代碼:for i in range(1, 2c):e = np.zeros_like(x_i)for j in range(2, l_w):f = 1 / (1 + np.exp(np.dot(x_i, sitaw_j)))g = (1 - dw_j - f) * yitasitaw_j = sitaw_j + g * x_ie = e + g * sitaw_j;x_i = x_i + e四 CBOW參數更新
CBOW是利用上下文單詞的平均向量預測中間單詞,
。偽代碼如下:for i in range(1, 2c):x_w += x_i x_w = xw / ac for j in range(2, lw):f = 1 / (1 + np.exp(np.dot(x_w, sitaw_j)))g = (1 - dw_j - f) * yitasitaw_j = sitaw_j + g * x_we = e + g * sitaw_j for i in range(1, 2c):x_i = x_i + e五 Negative Sampling
Hierachical softmax需要構造HuffMan樹,每次都要循環求概率積。Negative Sampling的思路是每次訓練的時候從整個訓練庫當中按照單詞概率抽取幾個負樣本,損失函數定義為:
求導數很簡單,可以手動推導一下。
參考鏈接:
yuyuqi:word2vec(cbow+skip-gram+hierarchical softmax+Negative sampling)模型深度解析?zhuanlan.zhihu.comword2vec原理(二) 基于Hierarchical Softmax的模型?www.cnblogs.com總結
以上是生活随笔為你收集整理的cbow word2vec 损失_Skip-gram和CBOW知识点的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 手机微信聊天记录可以同步到电脑上了电脑上
- 下一篇: 局域网是什么