訓練後,對於單詞,在它們是中心單詞和背景單詞的情況下,獲得兩組單詞的向量和。
表達的是頭詞,表達的是背景詞。
對於壹個詞,當它是中心詞時,它的背景詞是,取背景詞的平均向量。那麽使用這些背景詞生成其中心詞的概率就是每個背景詞生成其向量相乘值(每個背景詞從其他詞生成的向量相乘值之和),也就是說
訂單,上圖中錄入日誌後的表格是
然後得到全局最大似然估計。
因為求梯度,除了對應的變量,其他值都可以看成常數,所以是剩余的常數,求梯度的時候不能影響結果,那麽其中壹個背景詞生成的頭詞的梯度就是,
這個公式可以進壹步寫成:
改進部分主要考慮詞庫大小的操作。softmax的運算考慮了背景詞是詞典中任意詞的可能性(運算在分母)。
註意,第二項考慮了“給定背景詞,由其生成的整個詞匯中的每個詞都成為中心詞”的情況,因此其計算復雜度為。緩解這個問題的壹個辦法就是只考慮詞匯表中的中間分詞可以成為中心詞的情況。例如,如果最多只有壹個詞可以成為中心詞,那麽計算復雜度將降低到。
需要改變先前損失函數,
先前的損失函數,
損失函數後(同時在分母上加壹,防止分母為0,因為采樣幾個就可能發生),
在…之中
主要是改變中心詞生成背景詞的條件概率。中心詞的生成分為兩部分(背景詞和幹擾詞):
中心詞和背景詞同時出現,但中心詞和幹擾詞不同時出現。
其中是sigmoid函數,用於計算概率。
在使用指數表達式和平滑之後,
主要目的是用壹個詞來預測它在文本序列周圍的詞。
對於壹個句子的長度,全局最大似然估計
給定any作為頭詞,給出作為背景詞產生的概率,用softmax作為損失函數。
Softmax的計算方法整體改變,復雜度從O(|V|)降低到對應的霍夫曼樹的高度。
判斷功能:路徑上的節點的“左子節點”是否等於“路徑上的節點”。
只考慮路徑上非葉節點所涉及的向量,而不是對詞匯表中的所有單詞進行輪流。
其中是sigmoid函數。
示例計算
需要求從根節點到路徑的詞向量和非葉節點向量的內積。
在下面的示例中,您需要先向左、向右再向左遍歷。
(這裏都是乘法)
第二個節點是負的,因為判斷函數是負的,因為它的節點不同於左邊的節點。