如何简单易懂的解释高斯混合(GMM)模型?

 我来答
户如乐9318
2022-07-04 · TA获得超过6649个赞
知道小有建树答主
回答量:2559
采纳率:100%
帮助的人:138万
展开全部
网上太多讲解例子,反而看的人云里雾里,我用自己的理解,旨在用最少的公式,用最短的时间来理解GMM。讲解不足之处,还望指正。

1.概述

高斯混合模型给出了一些点被分配到每个簇(Cluster)的概率,给出这些点的概率分布有何用呢?它表征了算法对结果的把握程度。如何理解呢,训练后的模型输出不再是一个具体值,不再是唯一决策函数y=f(x)作用后的唯一值,而是一系列概率值。举个例子,数据点集或者点云中的某一点,比如红色和蓝色簇边缘的那些点,既有可能属于蓝色簇,也有可能属于红色簇。函数作用后,分配到某一概率只是一个概率情况。点云的输出聚类情况,本来就是用来给控制模块去决策,输出不同簇的概率分布情况后,由后续控制模块通过融合其他诸如camera的识别概率来决策。

2.单高斯模型还是高斯混合模型

单高斯模型是指,数据集内分布的点,只有一个高斯分布即可覆盖。遵从如下概率分布函数,

这是最简单最理想的情况,实际情况却是,空间中一组点云,不可能一组高斯分布就能覆盖的,那么就需要多组高斯分布,混合高斯分布即由之而来,点在空间有疏有稀,不同高斯分布权重也不能一样,但所有权重值之和等于1,也就是下式中的ak。为什么权重之和为1呢,因为它本质还是一个概率密度分布函数,概率密度函数是指在概率密度曲线下方的面积,因此必然为1。

3.什么是隐变量?

通俗理解,假如有一组点集,我们分类之前是知道有5个点{a.b.c.d.e}的,又知道任意一点肯定是属于{A.B.C}三类的中的一类的,但是又不知道a点究竟属于哪个类。这就是隐变量。

4.有隐变量如何求最佳模型参数?

用最大似然估计法(MLE)求最大期望,也就是EM算法。网上有很多例子解释,最直观的就是掷硬币的例子,两枚硬币连掷五次,统计五次内正反的概率。(参考:如何感性地理解EM算法?)

核心思想就是,

(1)随机初始化一组参数θ0

(2)根据观测数据,和当前参数θ,求得未观测数据z的后验概率的期望

(3)求得的z有可能不是最优,根据最大似然法求最优的θ

(4)重复第二三步,直到收敛

其中第二步叫做求期望,E步,第三步叫做求最大化,M步,合起来就是EM算法。

用向两个盘子盛菜举例来类比EM算法,食堂大厨炒了一个菜,分成两个盘子盛菜。大厨盛菜,看哪个盘子菜多,就把这个盘子菜向另外一个匀匀,直到多次重复,达到两个盘子的菜量大致一样的过程,然后端出去售卖。

大厨刚开始给两个盘都倒了菜,这就是赋初值,但是手感不好,一个多一个少。E步就是给两个盘子匀菜,M步最终迭代后,两个盘达到了均匀。无论赋初值多少,你会发现你去食堂买菜,相同菜品拿哪个盘子似乎菜量都是一样的。

非常直观,很容易理解。

5 如何求最大化似然概率?

单高斯比较好求,由高中数学知识可知道,函数求导,导数等于0的地方就是极值点所在。

那么混合高斯函数呢?

上式log里面有求和∑,这是我们不喜欢的,log里面我们喜欢的是乘除,最困难的地方也是最不好理解的地方出现了。

如何求解?只能通过通过迭代的方法进行求解,怎么求,Jensen不等式。我贴一下图方便理解。

从上图可以看到,curve曲线上的点一定小于切线(也就是求导数)的点。于是下式就成立了。我们就把和的对数,变成了对数的和,那么求导就变得容易多了。

Jesen不等式,相当于应用在凹函数上,不等号的方向反向了。

最后求得新一轮的迭代模型参数为下面:

当|θ-θ|<ε收敛后,至此我们就找到了所有的高斯混合模型的参数。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式