我正在尝试使用matlab将我的数据拟合到高斯混合模型,但问题是我无法确定要做到这一点的最佳组件数量,任何身体都可以帮助!此外,如果已经有构建功能来获得最佳数量,请帮助。
答案 0 :(得分:2)
对于找到高斯模型混合物的最佳组分数的不同方法的良好评论是:
PS:我没有在Matlab中解决您的问题,但BIC标准是在R包中实现的mclust
答案 1 :(得分:2)
在Matlab中,我们已经有了两个标准:AIC和BIC实现。适合GMM
请参阅代码段:SRC:http://www.mathworks.in/help/stats/gmdistribution.fit.html
AIC = zeros(1,4);
obj = cell(1,4);
`for k = 1:4`
`obj{k} = gmdistribution.fit(X,k);`
`AIC(k)= obj{k}.AIC;`
`end`
[minAIC,numComponents] = min(AIC);
numComponents
答案 2 :(得分:0)
无限高斯混合模型(www.gatsby.ucl.ac.uk/~edward/pub/inf.mix.nips.99.pdf)可以自动学习聚类数。
此页面(http://www.cs.brown.edu/~fwood/code.html)有一些实现它的matlab代码(我还没有尝试过代码)。