我想知道Scikit学习的LDA实现中的困惑和得分意味着什么。这些功能是模糊的。
至少,我需要知道当模型更好时这些值是增加还是减少。我已经搜索过,但是还不清楚。我感到困惑应该降低,但是我想就这些值如何升高或降低给出明确的答案。
LDA的源代码及其方法: https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/decomposition/online_lda.py
答案 0 :(得分:1)
困惑是衡量模型对样本的预测程度的指标。
根据Blei,Ng和Jordan的Latent Dirichlet Allocation,
[W] e计算了一个保留测试集的困惑度,以评估模型。习惯上在语言建模中使用的困惑性使测试数据的可能性单调降低,并且在代数上等同于每字平均几何可能性的倒数。较低的困惑度得分表示更好的泛化性能。
这可以从纸上的下图看到:
从本质上讲,由于困惑度等同于几何平均值的倒数,因此更低的困惑度意味着数据更多的可能性。因此,随着主题数量的增加,模型的困惑应降低。