什么是高斯混合模型?
可以看到高斯混合即由多个高斯函数通过加权组合的方式形成的分布函数。理论上来说,任何分布都可以使用高斯混合模型来拟合,首先我们可以看一下高斯混合模型强大的拟合能力。
Q :如何用高斯混合模型进行聚类?
A:可以从上面的图看到,如果我们得到了一个可以很好拟合当前数据概率密度的高斯混合表达式(就是数据点的密度和像山一样的东西正好吻合),我们可以根据生成山一样东西的混合高斯模型的表达式(即知道各个高斯的参数,以及各个高斯对应的权值)轻易的计算出每个点属于每个高斯的未归一化的概率(高斯生成出这个点的概率乘以对应的权值,一个类一个高斯),然后我们将所有点最大可能性属于同一个高斯分布的指定为一个簇,完成了聚类。同时我们可以看到我们不仅能够聚类,还可以计算出每个点属于各个类(高斯)的概率。
如何求解混合高斯模型的参数?
A:我们的目的是使得高斯混合模型能够尽可能完美的拟合原始数据的概率密度,需要使用EM算法来进行参数的求解。
-
EM算法分为E步和M步,E步是根据当前的参数,计算数据点由每个高斯生成出来的概率。
- M步是使用E步估计出来的概率,改进每个分布的均值,方差和权重,改进的方法也是求最大似然,是固定了E步所求出的概率后的似然函数。
Q:估计参数不是可以直接使用最大似然么,为啥要用EM算法?
A:我们是不能直接最大化似然函数来求参数的,因为使用最大似然估计的话,将得到一个复杂的非凸函数,目标函数是和的对数,难以展开求偏导,所以我们使用EM算法来求解,而目标函数是是非凸函数的本质原因是因为有一个隐变量(数据点属于哪一个类)未知,对于隐变量的估计最大似然函数是无能为力的,所以我们首先固定这个隐变量(E步求得每个点属于各个高斯的概率),然后使用最大似然来求(M步)参数,求得参数后又可以更新属于各个高斯的概率,直到收敛。