高斯混合模型有时似乎很差

8视图(30天)
在以下代码,我适合一个高斯混合模型(GMM)随机抽样数据。我这样做两次。每一次,数据表示两个高斯函数分离,唯一的区别是我使用随机数生成器的种子。
N = 100000;
EFFECT_SIZE = 5;
seedList = [1 - 6];
s = seedList
rng (s)
X = [randn (N, 1);randn (N - 1) + EFFECT_SIZE];
嘘(X, 101)
GMModel = fitgmdist (X, 2)
结束
如果运行这段代码,您将需要统计工具箱——你会发现第一个分布是符合很好,和第二个非常。我试图理解为什么。我希望这样的好适合基本上每次分离峰。
这不是一个偶然。我跑了1000种不同的种子,有坏适合约18%的时间。同时,那些坏适合集群往往相对较近相同的参数值。
任何想法吗?我是一个新手在使用GMM,所以也许我只是天真这应该如何表现。
我在Mac OS X上运行R2014b约塞米蒂。

接受的答案

汤姆巷
汤姆巷 2014年10月27日
嗨骑自行车的,默认值是随机选择从数据开始,你已经发现,这有时没有很好的工作。有一个争论 “复制” ,您可以使用它多次尝试这个,交付骨骼健康。然而,在最近的版本中包括R2014b有一个新的论点 ‘开始’,‘+’ 使用一个更好的起动方法,基于kmeans + +聚类算法。这是函数的一个变体,显示了默认的相对性能随机启动和“+”开始:
N = 100000;
EFFECT_SIZE = 5;
seedList = 1:20;
means1 = 0(长度(seedList), 2);
means2 = 0(长度(seedList), 2);
s = seedList
年代
rng (s)
X = [randn (N, 1);randn (N - 1) + EFFECT_SIZE];
rng (s)%随机性也用于配合
GMModel = fitgmdist (X, 2);
means1(年代)= GMModel.mu ';
rng (s)
GMModel = fitgmdist (X 2“开始”,“+”);
means2(年代)= GMModel.mu ';
结束
情节(means1 (: 1) means1 (:, 2),“软”means2 (: 1), means2 (:, 2),“罗”)

更多的答案(0)

标签

下载188bet金宝搏

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!