使用对数似然来比较不同的Mallet主题模型?

我想知道是否有可能——或者最佳方法是什么——以编程方式比较用Mallet创建的不同主题模型,以确定给定语料库中“最佳”拟合的模型。

API提供了一种方法来确定生成模型的对数似然。例如,请参见:#modelLogLikelihood()

据我所知,可以根据保留数据的对数似然来比较不同的模型。但这种方法似乎是计算整个模型的似然?我已经查看了源代码,但这并未能解开谜团。

所以我的问题是:上述方法的输出是否适合比较不同的主题建模算法(如Hierarchical PAM、LDA、DMR等),以找出哪种模型(理论上)最能代表语料库?


回答:

对数似然计算的意图是提供一种可跨不同模型进行比较的度量。然而,我不建议以这种方式使用它。

首先,如果你真正关心的是语言模型的预测似然,你应该使用许多更新的深度神经模型中的一种。

其次,似然对平滑参数非常敏感,因此你得到的一致差异可能只是你自己设置的产物。像分词和多词术语这样的预处理决策也可能比模型选择产生更大的影响。

第三,如果你真正对主题模型的输出感兴趣,你应该明确你从模型中想要什么,以及哪些模型特征对你的具体需求有用。我喜欢建议人们将主题模型视为制作地图而不是拟合回归。地图的最佳分辨率取决于你想去哪里。

最后,你几乎肯定会更好地选择最简单的模型。

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中创建了一个多类分类项目。该项目可以对…

发表回复

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