Gaussian Mistures Model(GMM) 假设数据集服从混合高斯分布(Mixture Gaussian Distribution),即认为整个数据集是由若干个高斯分布(每个高斯分布分别代表一个component)混合而成的,通过估计每个component的模型参数(均值和协方差),实现数据集密度估计以及将数据点以一定概率归属于某参数所代表的的高斯分布中,实现clustering。与k-means不同的是,k-means最终输出是将每个数据点归属到最合适的cluster中,而GMM输出的是每个数据点从属于每个component的概率。即类似于Fuzzy k-means,GMM也属于一种对数据的软划分。
GMM假设数据集是若干个高斯分布的叠加,如下:
p(x) = sum(w(k)*N(x|miu(k), cov(k)))
(sum是对k求和,k=1,2,...,K,其中K代表component的个数,即对应最终的cluster number)
其中,w(k)代表每个component对于整个数据分布的贡献,称为mixing coefficient,即混合系数,且有sum(w(k)) = 1(对k求和)
miu(k)和cov(k)分别代表第k个component的均值和协方差,N(x|miu(k), cov(k))即为第k个component的高斯分布模型。
有了模型之后,要做的就是进行模型参数估计,参数估计实现的目标是,使得使用估计的参数所代表的模型产生当前数据集的概率最大。从上述混合高斯模型可见,需要估计的参数有2类,即w(k)(随机选择一个数据点,每个component被选中的概率即为w(k))和高斯模型参数miu(k)和cov(k)(即选中一个component之后,通过这些数据点估计单个高斯模型参数,此时就是常规的参数估计问题了)。
由上所述,要使得最终模型产生数据集的概率最大,且考虑数据集是i.i.d,从而参数估计目标函数如下:
prod(p(x