GaussianMixture sklearn 开始先验
GaussianMixture sklearn starting priors
我有一个混合模型:
gm = mixture.GaussianMixture(
n_components=3,
covariance_type="tied",
weights_init=[w1,w2,w3],
means_init=[m1,m2,m3],
random_state=0).fit(datas)
但是,聚类的结果并不完美,所以我从我的初始数据中计算了3个先验来改善聚类。我想使用这些先验作为高斯混合模型的 EM 算法的初始起点。
最初的意思是:他们是起点吗?我可以用我的新优先级替换它们还是其他东西?
我看到了:
sklearn.mixture.BayesianGaussianMixture
但是,它看起来真的很不一样,就像我不能初始化我的权重,只是先验权重,我不知道它是否是一回事(我不是统计学专家......),并且有太多选项我不明白...
如何在我的高斯混合中使用我的新先验作为 EM 算法的起点?
感谢您的帮助。
一位统计学家帮我回答了我的问题,initial_means
是 EM 算法使用的起点。
我只需要在 GaussianMixture
函数中的 initial_means
中给出我的新先验,不需要使用 BayesianGaussianMixture
.
我有一个混合模型:
gm = mixture.GaussianMixture(
n_components=3,
covariance_type="tied",
weights_init=[w1,w2,w3],
means_init=[m1,m2,m3],
random_state=0).fit(datas)
但是,聚类的结果并不完美,所以我从我的初始数据中计算了3个先验来改善聚类。我想使用这些先验作为高斯混合模型的 EM 算法的初始起点。
最初的意思是:他们是起点吗?我可以用我的新优先级替换它们还是其他东西?
我看到了:
sklearn.mixture.BayesianGaussianMixture
但是,它看起来真的很不一样,就像我不能初始化我的权重,只是先验权重,我不知道它是否是一回事(我不是统计学专家......),并且有太多选项我不明白...
如何在我的高斯混合中使用我的新先验作为 EM 算法的起点?
感谢您的帮助。
一位统计学家帮我回答了我的问题,initial_means
是 EM 算法使用的起点。
我只需要在 GaussianMixture
函数中的 initial_means
中给出我的新先验,不需要使用 BayesianGaussianMixture
.