2012-07-21 104 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)应该是负数 - 最大值是最接近于零的数字。

如果您正在获取无意义的群集分配,很可能是因为多项式模型没有很好地描述您的数据。所以,你的问题的答案很可能是你应该选择一个不同的统计模型或使用不同的聚类方法。