假设我们想要在2个点上训练一维GMM聚类算法:0,2,使用2个聚类。 假设初始化是: 高斯1:均值1,方差1。 高斯2:平均值5,方差1。
运行算法后,我们会得到什么高斯群集?第二高斯是否为空而第一高斯包含2个点?
谢谢。
答案 0 :(得分:2)
是的,即使数据点数超过组件数,也可以。您的示例不会生成空集群。相反,它会与
汇合SELECT columns
FROM table
WHERE NOT EXISTS (SELECT *
FROM table
WHERE all columns = 0) ;
我发布了以下代码来生成此代码。 GMM的密度函数如下所示:
为什么GMM使用第二高斯的原因是模型将高斯拉得更接近2总是有益的。这将增加第二个数据点的可能性,同时不降低任何其他数据点的可能性数据点。您可以将高斯方法视为通过弹簧附加到数据点。
以下是一个示例,其中一个高斯结果为空簇/未被GMM使用。
Gaussian 1: mean=0.000000, variance=0.000001, weights=0.500000
Gaussian 2: mean=2.000000, variance=0.000001, weights=0.500000
这导致以下GMM:
Data: [-0.1, 0.1, 9.9, 10.1]
Components: 3
Initial Weights: [1/3, 1/3, 1/3]
Initial Means: [0, 5, 10]
Initial Variances: [1, 1, 1]
Gaussian 1: mean=-0.000000, variance=0.010001, weights=0.500000
Gaussian 2: mean=5.000000, variance=24.989993, weights=0.000000
Gaussian 3: mean=10.000000, variance=0.010001, weights=0.500000