天天看点

机器学习—高斯混合模型(GMM)

一、高斯混合模型定义

1、 高斯混合模型就是用高斯概率密度函数(正态分布曲线)精确地量化事物,它是一个将事物分解为若干的基于高斯概率密度函数(正态分布曲线)形成的模型。

2、 GMM的直观理解

机器学习—高斯混合模型(GMM)

二、求解GMM参数为什么需要用EM算法?

总所周知,求解GMM参数使用EM算法。但是为什么呢?这样是必须的吗?

首先,类似于其他的模型求解,我们先使用最大似然估计来尝试求解GMM的参数。如下:

机器学习—高斯混合模型(GMM)
机器学习—高斯混合模型(GMM)

可以看出目标函数是和的对数,很难展开,优化问题麻烦,难以对其进行求偏导处理。因此只能寻求其它方法。那就是EM算法。

大佬笔记

三、高斯混合模型和Kmeans对比

Kmeans是简单的,因为它是基于假设一个样本仅以1或0的概率属于某一簇,这两者之间的取值并没有考虑,他无法考虑中间的取值,即一个点仅以某个概率属于某个类别是不能计算的。

高斯混合模型(GMM),不是简单的考虑欧式距离的问题,它是使用高斯概率密度函数(正态分布曲线)精确地量化事物,它是一个将事物分解为若干的基于高斯概率密度函数(正态分布曲线)形成的模型。 高斯模型就是用高斯概率密度函数(正态分布曲线)精确地量化事物。

GMM:

先计算所有数据对每个分模型的响应度

根据响应度计算每个分模型的参数

迭代

K-means:

先计算所有数据对于K个点的距离,取距离最近的点作为自己所属于的类

根据上一步的类别划分更新点的位置(点的位置就可以看做是模型参数)

迭代

相同点的: GMM中数据对高斯分量的响应度就相当于K-means中的距离计算,GMM中的根据响应度计算高斯分量参数就相当于K-means中计算分类点的位置。然后它们都通过不断迭代达到最优。

不同的是: GMM模型给出的是每一个观测点由哪个高斯分量生成的概率,而K-means直接给出一个观测点属于哪一类。

继续阅读