用高斯混合模型(GMM)做聚类时,怎么确定component的个数?

  统计/机器学习 概率分布 无监督学习 开放问题    浏览次数: 949
1

用高斯混合模型(GMM)做聚类时,怎么确定component的个数?可以用和K Means一样的方法吗?


 

五丁大包   2018-02-12 14:50



   2个回答 
5

正如nobodyoo1说的,一个方法是用BIC

$$BIC=−2\log(L)+k\log(n)$$

$L$是likelihood,$k$是component的个数,$n$是样本的个数。


另一个方法是根据split test的结果(或者说cross validation的结果),先用训练集得到GMM的参数,然后再在测试集上计算log-likelihood。两者明显分叉的地方就是component个数的最佳候选。


SofaSofa数据科学社区 DS面经 问答 实战

chrisliang   2018-10-11 11:21

2

可以用BIC(Bayesian information-theoretic criteria)来选择。

Gaussian Mixture Model Selection

SofaSofa数据科学社区 DS面经 问答 实战

nobodyoo1   2018-04-18 17:01



  相关主题

关于高斯混合模型的分布的疑问   3回答

现实生活中有哪些例子是服从帕累托分布的?   1回答

均匀分布的上限的最大似然估计   1回答

二项分布的正态近似   2回答

两个独立的正态随机变量的乘积服从什么分布?   1回答

机器学习中,数据的分布是指什么呢?   1回答

python产生服从常用概率分布的随机数   1回答

生成两组不独立的标准正态分布随机数   1回答

有没有对聚类成员个数有限制的聚类算法?   2回答

一维的数据可以做聚类吗?   3回答

python中实现box-cox变换的函数?   1回答

聚类问题可以用stacking model的方法吗?   2回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!