w2v原理簡述


https://www.cnblogs.com/randomstring/p/10439384.html

 

(原創)

word2vec是將單詞轉為向量,並為后續應用機器學習的算法做准備。

經典的模型有兩種,skip-gramcbow

其中,skip-gram是給定輸入單詞來預測上下文,而cbow相反,是給定上下文來預測輸入單詞。下面主要介紹skip-gram:

1.skip-gram訓練詞對

skip-gram首先設定所謂一個值( skip_window),作為一個單詞選取它的上下文的單詞的數量,

這些詞對,作為訓練數據,如 “the quick brown fox jumps over lazy dog”,對於quick,有

(quick,the),(quick,brown),(quick,fox)三個詞對,作為quick的訓練標簽。

2.word嵌入到k維空間,k維向量化

接下來是對語料中單詞的向量化處理,首先將語料中不重復的單詞都拿出來成為詞匯表,

然后對其進行one-hot編碼,如10000個單詞,其中a編碼為 [1,0,0,0....],這個時候單詞已經轉為了向量,但是只是這樣並不能看出任意兩詞之間的相關性,而且詞匯表如果大的話,導致維度災難。

Hinton提出了映射到K維向量的思想,基於這個思想用一個簡單的多分類的神經網絡來訓練得到這些K為向量。

輸入層是n個one-hot編碼的詞,輸出也是one-hot編碼的詞(對skipgram的詞對進行訓練),

隱含層為 k個神經元節點,含有n*k的權重矩陣,經過這層將詞向量轉換為k維向量,

再經softmax輸出為n維的預測概率向量,優化殘差函數,訓練權重系數。

最終訓練結束后,這個n*k的權重矩陣的每一行就作為該單詞的k維向量了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM