無監督第五節:LDA (Latent Dirichlet Allocation演算法細節)(主題模型...
- 2022-12-13
LDA是生成式機率模型。基本的觀點是一個文件由多個隱主題生成,每個主題是由單詞的分散式表達。
LDA假設在語料庫D中每個文件的生成過程如下:
1。主題數量k已知
2。單詞的機率由引數 控制
引數 是一個k 維的向量,並且每個元素大於0, 服從Gamma 分佈
已知引數 , 聯合分佈主題混合的引數 , 表示主題的引數 z,表示文件的引數w:
對 積分,並對z求和得到關於文件的邊緣分佈:
所有文件的邊緣分佈相乘,得到整個語料庫的機率:
引數 和引數 是語料庫級別的引數,在生成語料庫的過程中使用。
變數 是文件級別的引數,每個文件取樣一次。
變數 和 是單詞級別的引數,每個文件中每個單詞都取樣一次。
一組隨機變數如果聯合分佈和變數的排列順序無關,則稱這組變數是可交換的。
在LDA中,我們假設單詞是由主題生成的,並且這些主題在文件中是無限可交換的,
其中 是關於主題多項式分佈的隨機變數。
透過對隱主題變數z積分。可以得到單詞分佈:
這是一個隨機量,因為他依賴於
我們定義接下來的生成過程, 對於一個文件
w
1。選擇θ∼Dir(α)
2。對於每個N的單詞 :
(a)從 中選擇一個單詞
這個過程定義一篇文件的邊緣分佈看成一個連續的混合分佈
inference的關心的問題使用LDA來計算隱變數z的後驗分佈:
這個分佈通常很難計算。透過normaliza 分佈,並且計算邊緣分佈。
這個後驗分佈很難計算,但是透過一些變分推斷的方法還是可以得到。
基本的觀點是使用jensen‘s 不等式來獲得一個調整的下界,變分引數透過最佳化過程來試圖找到最接近的可能的下界。
一個簡單的方式是透過鮮花原始的計算圖,將一些邊和節點移去。在LDA中,原始的圖是左圖,透過把 移去,生成右邊含有自由變分引數的圖。
新的計算圖使用如下變分分佈:
是狄利克雷引數,多項式引數(φ1 , 。 。 。 , φ
N
) 是自由變數引數。
得到簡化的機率分佈後,下一步是開始的最佳化問題是決定變分引數 的值。
最佳化這個變分引數是透過最小化KL散度來實現,並且吧他們設為0,得到以下的更新引數。
在文字的語言中,最佳化引數 是文件制定的。特別的,我們認為狄利克雷引數 是一個文件的主題表達。
經驗貝葉斯方法來估計LDA中的引數。給定一個語料D,我們希望找到引數 來最大化邊緣似然機率:
計算 比較困難,可以透過變分EM演算法來估計。
1。E step,對於每個文件,找到最優的變分引數 。
2。M step, 最大化結果的下界。
重複上述幾步直到下界收斂。