日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

cbow word2vec 损失_Word2Vec的核心思想

發布時間:2023/12/18 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 cbow word2vec 损失_Word2Vec的核心思想 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文介紹Word2Vec是基于Skip-Gram架構,本文只介紹核心思想,具體權重更新參考論文。

本文與論文同時飲用較好!

理解Word2Vec核心思想的步驟是先理解one word -> one word如何獲取詞向量,而Skip-Gram架構和CBOW架構是再次基礎之上進行了輸入或者輸出的改變。

One-Word Context

One-Word Context是只是用一個單詞預測另一個單詞。其架構圖為:

即只有兩層全連接神經網絡,并且隱藏層為先行層。輸入層為每個單詞的one-hot encoder,輸出為下一個單詞的預測。輸出是Softmax處理后的概率值,那個維度的概率值大則為某個單詞。

其中詞向量為W的行向量或者W'的列向量,一般使用W的行向量作為輸入詞的詞向量,也即是輸入向量(One-hot encoder)與W的轉置相乘之后隱藏層的結果。

CBOW架構

CBOW架構只是在one->one的基礎之上輸入層到隱藏層為:輸入層的平均和。

Skip-Gram架構

只是在輸出時,偏差為所有panel的偏差之和。

其中u為預測輸出。

Hierarchical Softmax

Hierarchical Softmax是使用output-layer的每一個panel(即單詞的輸出評分),該輸出評分的每一個維度為輸出向量和輸入向量的內積。根據每一維度的大小構建二叉樹(常用哈夫曼樹,建議看看哈夫曼樹的構建)。

對于構建哈夫曼樹的權重進行Sigmoid函數處理,把它壓縮在[0,1]之間,形成往左子樹走的概率,則往右子樹走的概率為1-P(左)。

如上圖,從根節點往w2走,走的方向有向左->向左->向右走。(上圖非哈夫曼樹,但思想一致。)

把從根節點走到w2的路徑的概率乘積即為預測概率,從而求出每個panel維度的概率。

loss函數:

負采樣

負采樣是在Hierarchical Softmax的loss函數基礎之上,添加了負采樣。

因此,損失函數為:

負采樣的核心思想是根據詞頻進行選擇sqmple更新權重,而不是所有權重;并且進行預測的單詞權重必須更新,在所有非預測單詞的權重進行負采樣更新。

代碼實現

from gensim.models import Word2Vec # 必須為字符串,才能進行訓練 docs = [['30760','157507'],['289197','63746'],['36162','168401'],['50644','361620']] wv = Word2Vec(docs,size=12,sg=1,window=2,workers=10,min_count=1,iter=10) wv['30760']

參考文獻

[1]. word2vec Parameter Learning Explained(論文)

[2].https://zhuanlan.zhihu.com/p/26306795

[3].深度學習與推薦系統(王喆)

總結

以上是生活随笔為你收集整理的cbow word2vec 损失_Word2Vec的核心思想的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。