文档聚类的对数似然相似度

我使用以下对数似然公式来比较文档与聚类之间的相似性:log p(d|c) = sum (c(w,d) * log p(w|c));其中c(w,d)是文档中某个词的频率,p(w|c)是词w由聚类c生成的似然概率。

问题在于,基于这种相似性,文档经常被分配到错误的聚类中。如果我将文档分配到log p(d|c)最高的聚类中(由于通常是负值,我取–log p(d|c)),那么它将是包含文档中许多词的聚类,但这些词在聚类中的概率很低。如果我将文档分配到log p(d|c)最低的聚类中,那么它将是与文档仅在一个词上有交集的聚类。能有人解释一下如何正确使用对数似然吗?我尝试在Java中实现这个函数。我已经在谷歌学术上查找过,但没有找到关于文本挖掘中对数似然的合适解释。提前感谢


回答:

您的对数似然公式对于用多项式模型描述文档是正确的(每个文档中的词是独立地从多项式分布中生成的)。

为了获得最大似然的聚类分配,您应该选择使log p(d|c)最大化的聚类分配c。log p(d|c)应该是一个负数——最大值是最接近零的数。

如果您得到的聚类分配不合理,很可能是由于多项式模型不能很好地描述您的数据。因此,您问题的答案很可能是您应该选择不同的统计模型或使用不同的聚类方法。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注