ML_Review_GMM(Ch10)

Posted formerautumn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ML_Review_GMM(Ch10)相关的知识,希望对你有一定的参考价值。

Note sth about GMM(Gaussian Mixtrue Model)
高斯混合模型的终极理解
高斯混合模型(GMM)及其EM算法的理解
这两篇博客讲得挺好,同时讲解了如何解决GMM参数问题的EM算法,其实GMM式子没有什么高深的地方,都是概率论的东西,主要是构思比较巧妙。

动机:
?GMM是用来拟合某种分布的。哪种?任意一种!当然,前提是参数足够多的情况下,所以实作其实并非拟合任意模型。那么一般什么样的模型会被GMM较好拟合?首先,我们思考一下一维的高斯分布(即正态分布),然后我们思考一下二维的,三维的……会发现,高斯分布在二维类似椭圆,三维类似椭球,而这也是我理解它为什么说可以拟合任意分布的原因。因为椭圆(我们从二维来说),其实就是实轴(a)和虚轴(b)决定的一种图形,那么如果$a=b$就世缘,而如果$a \gg b$或者$a \ll b$,其实就非常得趋近于直线了。当然这是一个高斯分布的情况,而GMM本质就是混合(Mixtrue)了很多的高斯分布(Gaussian Model),然后保证权重和为1即可(单高斯分布也可看成是GMM的特殊情况,即某个权重为1,其余均为0)。
?GMM算法过程没什么描述,流程就在公式里,本质就是用多个高斯分布的和去拟合我们目前拿到的样本数据(TrainingData)。

GMM算法公式概述:只打GMM的部分公式,EM的实在太长了,但强烈建议纸上手推
高斯混合模型的概率密度函数:
$$ p(y|\theta) = \sum_k=1^K \alpha\phi(y|\theta_k) $$
where
$$ \phi(y|\theta_k) \Leftrightarrow \phi(y|\theta_k) = \frac1\sqrt2\pi\sigma_k exp(-\frac(y-\mu_k)^22\sigma_k^2) $$
$$ \alpha \geq 0 \quad and\quad \sum_k=1^K\alpha_k = 1, \qquad \theta_k = (\mu_k, \theta_k) $$
顺带写一写对其做极大似然估计的过程:
$$ p(x; \theta) = \sum_k=1^K \pi_kN(x;\mu_i,\sigma_k) \qquad s.t.\quad \sum_k=1^K \pi_k=1 $$
$$ P(x; \theta) = \prod_i=1^Np(x_i;\theta) $$
$$ lnP(x; \theta) = \sum_i=1^N ln( \sum_k=1^K\pi_kN(xi;\theta_k) ) $$
This formula, you will get ;_; if you try to caculate it‘s gradient, because it need reduction of fractions to a commomn denominator.It may make you mad,at least it made me mad.

细节理解:
?1、为何$\sum_k=1K \alpha_k=1$,因为概率密度函数的定义域内积分要为1,显然GMM必须满足这个性质,而分配权重和为1,就可以满足这个性质,因为求积分可以分开求,最后累加,而每个分布的积分都是1,乘以和为1的权重,最后和才会为1。
?2、为何需要EM算法,MLE不可以么?其实是先尝试过MLE,就会发现需要EM,因为在做MLE(手写)的时候会遇到一个问题(其实就是求出似然函数之后,取完对数发现需要求导的部分是$\sum ln (\sum)$这种形式,显然求导非常难算,可以简单想想,分式,或许需要通分,然后有N个式子。。。)。第一篇之中的“第二个细节”就是说的这个问题。

以上是关于ML_Review_GMM(Ch10)的主要内容,如果未能解决你的问题,请参考以下文章

read

CH10 泛型算法

我想定义一个字符串指针数组,使用下面语句: static char *ch[10]; 但提示错误,求解

error C2664: “int CWnd::GetWindowTextW(LPTSTR,int) const”: 不能将参数 1 从“char [10]”转换为“LP

win11串口无法识别ch341a

模板集合