LDA困惑度perplexity的一些個人理解

2021-10-12 01:37:30 字數 1294 閱讀 5253

根據gensim3.8.3的原始碼,log_perplexity()輸出的是perwordboundperwordbound計算步驟如下:

先呼叫bound(),通過乙個chunk的語料w

⃗\vec

w計算整個語料庫的對數似然值log

p(w⃗

)logp(\vec)

logp(w

)的下界,即eq[

logp

(w⃗)

]−eq

[log

q(w⃗

)]eq[logp(\vec)]-eq[logq(\vec)]

eq[log

p(w)

]−eq

[log

q(w)

] 。然後用log

p(w⃗

)logp(\vec)

logp(w

)的bound除以整個語料庫的大小n,得出perwordbound,作為log_perplexity()的返回值。

呼叫函式期間還會將2−p

erwo

rdbo

und2^

2−perw

ordb

ound

作為perplexity列印輸出,這個perplexity以2為底數,與:

d. blei, a. ng, and m. jordan. latent dirichlet allocation. journal of machine learning research,3:993–1022, january 2003

hoffman, blei, bach: online learning for latent dirichlet allocation, nips 2010.

這兩篇**定義的以e為底數的perplexity有所差別,但思想基本一致。

這裡的問答也有類似說明:

首先,log_perplexity()這個函式沒有對主題數目做歸一化,因此不同的topic數目不能直接比較:

傳送門:

其次,gensim包的作者radim現身回答說perplexity不是乙個好的評價topic質量的指標:

傳送門:

LDA主題模型評估方法 Perplexity

原文出處 在lda主題模型之後,需要對模型的好壞進行評估,以此依據,判斷改進的引數或者演算法的建模能力。blei先生在 latent dirichlet allocation 實驗中用的是perplexity值作為評判標準。一 perplexity定義 源於wiki perplexity是一種資訊理...

LDA主題模型評估方法 Perplexity

在lda主題模型之後,需要對模型的好壞進行評估,以此依據,判斷改進的引數或者 演算法的建模能力。blei先生在 latent dirichlet allocation 實驗中用的是perplexity值作為評判標準。一 perplexity定義 源於wiki perplexity是一種資訊理論的測量...

語言模型的評估與困惑度

提取碼 ekzm 訓練好乙個語言模型後,怎樣評估語言模型的好壞呢?可以使用困惑度 perplexity 困惑度越小,則語言模型越優。形式一 p p w p w1w 2.wn 1n pp w p w 1w 2.w n pp w p w1 w2 w n n1 上面的式子中w ww為一句話,w1w 2.w...