7

我正在使用 python scikit-learn 包中的高斯混合模型来训练我的数据集,但是,当我编码时,我发现

-- G=mixture.GMM(...)

-- G.fit(...)

-- G.score(求和特征)

得到的对数概率是正实数……这是为什么呢?对数概率不能保证为负吗?

我得到它。高斯混合模型返回给我们的是对数概率“密度”而不是概率“质量”,因此正值是完全合理的。

如果协方差矩阵接近奇异,则 GMM 将不会表现良好,通常意味着数据不适用于此类生成任务

4

1 回答 1

13

正对数概率是可以的。

请记住,GMM 计算的概率是概率密度函数 (PDF),因此在任何单个点都可以大于 1。

限制是 PDF 必须在数据域上集成为一个。

如果对数概率变得非常大,那么推理算法可能已经达到了退化的解决方案(如果你有一个小数据集,这与最大似然估计很常见)。

要检查 GMM 算法是否没有达到退化解,您应该查看每个分量的方差。如果任何方差接近于零,那么这很糟糕。作为替代方案,您应该使用贝叶斯模型而不是最大似然估计(如果您还没有这样做)。

于 2012-08-30T14:20:29.867 回答