协方差最小的高斯混合模型python拟合加权数据

2024-07-01 07:01:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用python将高斯混合模型拟合到一组加权数据点上。在

我试过了sklearn.mixture.GMM公司()它工作得很好,除了它对所有数据点的权重相等。有人知道在这种方法中给数据点分配权重的方法吗?我曾多次尝试使用数据点来“增加它们的权重”,但对于大型数据集来说,这似乎是无效的。在

我也考虑过自己实现EM算法,但这似乎比上面的GMM方法慢得多,并且会极大地增加大型数据集的计算时间。在

我刚刚发现了EM算法cv2.EM()的opencv方法。但问题还是一样的sklearn.mixture.GMM公司另外,似乎没有办法改变协方差允许的最小值。或者有没有办法将协方差最小值更改为0.001?我希望可以使用probe参数为数据分配权重,但这似乎只是一个输出参数,对拟合过程没有影响,不是吗?使用probs0和使用trainM以M步骤启动算法也没有帮助。对于probs0,我使用了一个(datapoint的数量)x(GMM组件的数量)矩阵,其列是相同的,而数据点的加权参数被写入数据点对应的行。这也没能解决问题。它只是产生了一个混合模型,其中所有都意味着0。在

有没有人知道如何操作上述方法,或者有人知道另一种方法,以便GMM可以拟合加权数据?在

谢谢, 简


Tags: 数据方法模型算法参数数量公司sklearn
1条回答
网友
1楼 · 发布于 2024-07-01 07:01:06

如果您仍在寻找解决方案,石榴现在支持在加权数据上训练GMM。你需要做的就是在训练时传入一个权重向量,它会帮你处理的。这里有一个关于石榴GMMs的简短教程!在

https://github.com/jmschrei/pomegranate/blob/master/tutorials/Tutorial_2_General_Mixture_Models.ipynb

相关问题 更多 >

    热门问题