詞向量-Glove理解推導

Glove模型

模型目標:進行詞的向量化表示,使得向量之間儘可能的蘊含語義和語法的信息

Glove用詞向量表達共現詞頻的對數

代價函數:

模型推導 (不是很嚴謹)

首先給予一些定義

共現詞頻Xi,j 表示若中心詞爲i,語境詞j出現的次數,通俗一點就是說單詞i和單詞j在給定滑動窗口數時同時出現的次數

Xi表示單詞出現的總次數

表示單詞k出現在單詞i語境中的概率

表示在中心詞爲i時,k出現概率與中心詞爲j時,k出現概率的比值,用來衡量相對性

由於計算比值複雜度比較高(當然是數據量比較大的時候啦),所以想要找到一個F代替,即使得

由於向量空間本質上是線性結構,因此最自然的方法是使用向量差。這樣,我們就可以把注意力限制在那些只依賴於兩個目標詞的差異的函數f上。 

上式左邊是向量,而右邊則是標量,會使我們試圖捕捉的線性結構變得模糊,爲了避免這個問題我們對參數取點積得到 

通過Pi,k的表達式可轉換得到

取F(x) = exp(x) ,左右兩邊同時取log,可得到

 同時我們應該考慮到對稱性(單詞i單詞j出現的次數和單詞j單詞i出現的次數理應是一樣的) ,故將log(xi)表示爲bi,b~k

 我們的目標就是二者間最小,考慮到最常用的衡量方式便是均方誤差,同時考慮到出現頻率越高詞權重越大的原則,加上權重項可得代價函數

其中權重函數爲

經過實驗對比,通常取alpha爲0.75,Xmax爲100,此權重公式可以將過,出現頻率過大的權重給拉低,同時使得出現頻率爲0的權重項也爲0,不計入loss function中,f(x)的圖形如下。

其實這個代價函數轉變的形式比較隨意,是根據我們想要的方便的形式轉變的,爲了方便我們訓練,但是無論怎麼變形,我們的最終目的就是訓練得到單詞向量的兩個表達W和W~。

這兩個向量理應相等,但是可能由於初始化的願意使兩個向量間有略微差別,並且有證據表明,對於某些類型的神經網絡,

訓練網絡的多個實例,然後將結果結合起來,有助於減少過擬合和噪音,通常會提高結果,所以我們將兩個向量相加最爲我們最終訓練得到的詞向量

參考論文:GloVe: Global Vectors forWord Representation

 

 

 

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