2012-07-21 107 views
1

我使用以下對數似然公式來比較文檔和聚類之間的相似度: log p(d | c)= sum(c(w,d)* log p(w | c )); (w,d)是文檔中一個詞的頻率,p(w | c)是由詞組c產生詞w的可能性。文檔聚類的似然相似性

問題是,基於這種相似性,文檔通常被分配到錯誤的集羣。如果我將文檔分配給log p(d | c)最高的集羣(因爲它通常是負值,我將採用-log p(d | c)),那麼它將成爲包含大量來自文件,但這些詞在羣集中的概率很低。 如果我將文檔分配給具有最低log p(d | c)的羣集,那麼它將是僅與一個文檔具有文檔相交的羣集。 有人能解釋我如何正確使用loglikelihood?我嘗試在java中實現這個功能。我已經看過谷歌學者,但在文本挖掘中沒有找到合適的對數似然解釋。 在此先感謝

回答

1

您的對數似然公式對於描述具有多項式模型的文檔是正確的(每個文檔中的詞獨立於多項分佈生成)。

要獲得最大似然集羣分配,您應該採取聚類分配c,以最大化log p(d | c)。 log p(d | c)應該是負數 - 最大值是最接近於零的數字。

如果您正在獲取無意義的羣集分配,很可能是因爲多項式模型沒有很好地描述您的數據。所以,你的問題的答案很可能是你應該選擇一個不同的統計模型或使用不同的聚類方法。