word2vec中的負採樣(以CBOW模型爲例)

CBOW模型圖

     輸入詞w(t)的上下文單詞的詞向量(隨機生成),輸入層單詞加和得到了一個跟輸入詞相同維數的向量。對此向量進行相應操作,使得輸出爲w(t)的概率最大。

    當然輸出層可以用softmax,目標:w(t)的softmax值最大。針對此目標我們採用交叉熵損失函數。當然這個模型不僅僅針對預測一個單詞時,我們需要將預測所有單詞的交叉熵損失函數相加作爲全局的損失函數,進行多次誤差反傳,當全局損失函數最小時,也就是我們這個模型訓練好的時候。

此時,我們將得到訓練好的所有單詞的詞向量,還有一組Θ值。此時我們給定一組上下文單詞的詞向量就可以預測中間詞。(softmax值最大的詞即爲所求)

 

 

負採樣:在給定上下文的基礎上,用邏輯迴歸函數來判斷每一個詞是不是中間詞。

訓練目標:增大正樣本的邏輯迴歸概率,減小負樣本的邏輯迴歸概率(等價於增大負樣本的1-sigmoid值)。

目標函數針對每一個單詞取正例的sigmoid值,與所有負樣本的1-sigmoid值,全部相乘,取最大值,全部值的目標函數相乘作爲全局的目標函數,全局目標函數最大時,Θ即爲所求。

 

預測時只需要求每個單詞對應的sigmoid值就可以了。意思就是,中間詞是某個單詞的概率,最大值即爲所求。

 

 

 

可用於分類。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章