代码之家  ›  专栏  ›  技术社区  ›  Guillaume Chevalier

在SIDKIT学习的LDA实现中,“困惑”(或“分数”)应该上升还是下降?

  •  1
  • Guillaume Chevalier  · 技术社区  · 7 年前

    我想知道什么是困惑和得分意味着在LDA实现的SCIKIT学习。这些功能是模糊的。

    至少,我需要知道,当模型更好时,这些值是增加还是减少。我已经找过了,但不清楚。我觉得这种困惑应该消失,但我想清楚地解释一下这些价值观应该如何上升或下降。

    DOCS的困惑: http://scikit-learn.org/stable/modules/generated/sklearn.decomposition.LatentDirichletAllocation.html#sklearn.decomposition.LatentDirichletAllocation.perplexity

    文档中的分数: http://scikit-learn.org/stable/modules/generated/sklearn.decomposition.LatentDirichletAllocation.html#sklearn.decomposition.LatentDirichletAllocation.score

    LDA的源代码及其方法: https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/decomposition/online_lda.py

    1 回复  |  直到 7 年前
        1
  •  1
  •   alephnerd    7 年前

    困惑 是衡量一个模型对一个样本的预测程度。

    根据 Latent Dirichlet Allocation 作者:Blei、Ng和Jordan,

    〔w〕计算出一个保持测试集的困惑来评估模型。在语言建模中,惯例所使用的困惑在测试数据的可能性中单调递减,并且代数等价于每个单词似然的几何平均值的倒数。较低的困惑得分表示更好的泛化性能。

    这可以从本文的下图中看出:

    enter image description here

    在埃森斯,因为 困惑 等于几何平均值的倒数,a 降低 困惑意味着数据是 更多 很可能。因此,随着主题数量的增加 困惑 模型的数量应该减少。