Algorithm em算法:理解与实例

Algorithm em算法:理解与实例,algorithm,statistics,probability,Algorithm,Statistics,Probability,我在研究模式识别,我发现了一个有趣的算法,我想深化,期望最大化算法。我对概率论和统计学没有太多的知识,我读过一些关于正态分布或高斯分布算法操作的文章,但我会从一个简单的例子开始,以便更好地理解。我希望这个例子是合适的 假设我们有一个有3种颜色的罐子,红色,绿色,蓝色。绘制每个彩色球的相应概率为:pr、pg、pb。现在,让我们假设绘制不同颜色的概率有以下参数化模型: pr=1/4 pg=1/4+p/4 pb=1/2-p/4 p参数未知。现在假设做实验的人实际上是色盲,不能分辨红色和绿色的球。他画了

我在研究模式识别,我发现了一个有趣的算法,我想深化,期望最大化算法。我对概率论和统计学没有太多的知识,我读过一些关于正态分布或高斯分布算法操作的文章,但我会从一个简单的例子开始,以便更好地理解。我希望这个例子是合适的

假设我们有一个有3种颜色的罐子,红色,绿色,蓝色。绘制每个彩色球的相应概率为:pr、pg、pb。现在,让我们假设绘制不同颜色的概率有以下参数化模型:

pr=1/4

pg=1/4+p/4

pb=1/2-p/4

p参数未知。现在假设做实验的人实际上是色盲,不能分辨红色和绿色的球。他画了N个球,但只看到 m1=nR+nG红色/绿色球,m2=nB蓝色球

问题是,这个人还能估计参数p,并用手中的参数计算出他对红球和绿球数量的最佳猜测吗(显然,他知道蓝球的数量)?我想他显然可以,但是他们呢?我要考虑什么? 当“p”未知时,您可以选择

首先,根据你的描述,“p”必须在[-1,2]中,否则概率就没有意义了

你有两个特定的观察结果:nG+nR=m和nB=N-m(m=m1,N=m1+m2)

发生这种情况的可能性为N!/(m!(N-m)!(1-pb)^m(1-pb)^(N-m)。 忽略N选择m的常数,我们将最大化第二项:

p*=argmax除以p的(1-pb)^m pb^(N-m)

简单的解决方案是p*应该使pb=(N-m)/N=1-m/N。
因此,0.5-0.25 p*=1=m/N=>p*=max(-1,-2+4*m/N)

EM算法的总体轮廓是,如果您知道一些参数的值,那么计算其他参数的MLE非常简单。通常给出的例子是混合密度估计。如果你知道混合物的重量,那么估计单个密度的参数是很容易的(M步)。然后返回一步:如果你知道单个密度,那么你可以估计混合物的重量(E步)。并非每个问题都有EM算法,即使有,也不一定是最有效的算法。然而,它通常更简单,因此更方便

在您所述的问题中,您可以假装知道红色和绿色球的数量,然后您可以对
p
(M步)执行ML估计。然后使用
p
值返回并估计红色和绿色球的数量(E步)。不用想太多,我的猜测是,您可以颠倒参数的作用,仍然将其作为EM算法使用:您可以假装知道
p
,并对球的数量进行ML估计,然后返回并估计
p


如果您仍在学习,我们可以为所有这些内容计算公式。

这个问题似乎离题了,因为它属于math.stackexchange.com。我认为您是对的。我对此表示歉意。因此,在这种情况下,我们跳过E步直接得到最佳解p*?好吧,问题不是MLE和EM。如果我没有弄错的话,EM算法实际上是一种找到MLE的算法;我认为这是邓普斯特、莱尔德和鲁宾论文的主要结果,对吗?EM很有用,因为它是一种查找MLE的方法,在一些常见问题中非常方便。我不理解。如果p是要估计的参数,我们怎么知道呢?对不起,我不懂你的意思reasoning@Fabrizio首先猜测
p
的值,然后更新其他参数。然后,根据这些估计,返回并计算
p
的修正猜测。然后重复这些步骤,直到估计值变化很小。这是一个鸡和蛋的问题:如果你知道一些参数,那么计算其他参数就容易了;但是你并不真正了解它们,所以你必须回去做新的猜测,这会无限地改变其他参数,等等。我相信,如果存在一个局部极大似然函数,并且我们离它足够近,这个过程一定会收敛。我在想:EM算法最重要的特性之一是,在步骤I+1的prob(x)在步骤I>=prob(x)。这样我们怎么能保证呢?我假设prob(x)是指似然函数prob(数据|参数)。我相信Dempster、Laird和Rubin证明了从一个迭代到下一个迭代的可能性是不变的。如果你找不到他们1977年论文的重印本,我相信后来的评论员也会阐述这一论点。我现在想不出其他的参考资料。