算法em:理解和例子

时间:2014-03-04 21:30:56

标签: algorithm statistics probability

我正在研究模式识别,我找到了一个有趣的算法,我想深化,期望最大化算法。我对概率和统计学知之甚少,并且我已经阅读了一些关于普通或高斯分布算法运算的文章,但我会从一个简单的例子开始,以便更好地理解。我希望这个例子可能合适。

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

pr = 1/4

pg = 1/4 + p / 4

pb = 1/2 - p / 4

p参数未知。现在假设正在进行实验的人实际上是colourblind并且无法从绿球中辨别出红色。他画了N球,但只能看到 m1 = nR + nG红/绿球,m2 = nB蓝球。

问题是,该男子是否仍然可以估计参数p并且用手来计算他对红球和绿球数量的最佳猜测(显然,他知道蓝球的数量)?我认为他显然可以,但EM怎么样?我需要考虑什么?

2 个答案:

答案 0 :(得分:0)

当“p”未知时,您可以转到maximum likihood or MLE

首先,根据你的描述,“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)

答案 1 :(得分:0)

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

在你说的问题中,你可以假装你知道红色和绿色球的数量,然后你就可以对p进行ML估计(M步)。然后使用p的值返回并估计红色和绿色球的数量(E步)。没有考虑太多,我的猜测是你可以反转参数的角色并仍然将它作为EM算法:你可以假装你知道p并对球的数量进行ML估计,然后返回估算p

如果您仍在关注,我们可以为所有这些事情制定公式。