将期望最大化应用于抛硬币示例


18

最近,我一直在自学“期望最大化”,并在过程中掌握了一些简单的示例:

这里开始:三个硬币,和带有,和c 1 c 2 p 0 p 1c0c1c2p0p1p2分别是被抛掷时落在头上的概率。投掷c0。如果结果是Head,则将c1三遍,否则将c2三遍。c1产生的观测数据c2如下:HHH,TTT,HHH,TTT,HHH。隐藏数据是的结果c0。估计p0p1p2

这里开始:有两个硬币cAcB其中pApB分别是被抛掷落在Head上的概率。每回合随机选择一枚硬币,掷十次;记录结果。观察到的数据是这两个硬币提供的抛掷结果。但是,我们不知道为特定回合选择了哪个硬币。估计pApB

虽然我可以得到计算结果,但是我无法将它们的求解方式与原始的EM理论联系起来。具体来说,在两个示例的M-Step中,我都看不到它们如何使任何东西最大化。似乎他们正在重新计算参数,并且以某种方式,新参数比旧参数要好。而且,这两个电子步骤看上去甚至都不相似,更不用说原始理论的电子步骤了。

那么这些示例如何工作?


在第一个示例中,我们获得了多少个相同实验的实例?在第二个示例中,“随机选择一个硬币”的法则是什么?我们观察几轮?
拉斐尔

我链接的PDF文件已经逐步解决了这两个示例。但是,我不太了解所使用的EM算法。
IcySnow

@IcySnow,您了解随机变量的期望和条件期望的概念吗?
Nicholas Mancuso

我了解随机变量和条件概率的基本期望。但是,我对条件期望,它的导数和足够的统计量并不熟悉。
IcySnow

Answers:


12

(此答案使用您提供的第二个链接。)

回忆一下可能性的定义: 其中在我们的情况下θ = θ θ 是用于概率估计该硬币A和B分别地磁头,X = X 1... X 5是我们的实验的结果,各

L[θ|X]=Pr[X|θ]=ZPr[X,Z|θ]
θ=(θA,θB)X=(X1,,X5)由10次翻转组成,并且 Z = Z 1Z 5 是每个实验中使用的硬币。X一世ž=ž1个ž5

我们要找到最大似然估计θ。的期望最大化(EM)算法是找到(至少局部一种这样的方法θ。它通过找到条件期望来工作,然后将其用于最大化θ。这个想法是通过 在每次迭代中不断寻找一个更可能(即更可能)的θ,我们将不断增加Pr [ X Z | θ ]继而增加似然函数。在继续设计基于EM的算法之前,需要完成三件事。θ^θ^θθ[Xž|θ]

  1. 建立模型
  2. 在模型下计算条件期望(电子步)
  3. 通过更新当前对估计来最大化我们的可能性(M步)θ

构造模型

在继续使用EM之前,我们需要弄清楚我们正在计算的是什么。在E步中,我们正在精确计算的期望值θ ]。那么,这个值到底是什么?观察该 日志Pr [ X Z | θ ]日志[Xž|θ] 原因是我们要进行5个实验,而且我们不知道每个实验都使用了哪种硬币。不等式是由于对是凹面的并且应用了Jensen的不等式。我们需要下限的原因是我们无法直接计算原始方程式的arg max。但是,我们可以计算出最终的下限。

日志[Xž|θ]=一世=1个5日志C{一种}[X一世ž一世=C|θ]=一世=1个5日志C{一种}[ž一世=C|X一世θ][X一世ž一世=C|θ][ž一世=C|X一世θ]一世=1个5C{一种}[ž一世=C|X一世θ]日志[X一世ž一世=C|θ][ž一世=C|X一世θ]
日志

现在什么是?给定实验X iθ,这是我们看到硬币C的概率。使用条件概率,我们有Pr [ Z i = C | X iθ ] = Pr [ X iZ i = C | θ ][ž一世=C|X一世θ]CX一世θ

[ž一世=C|X一世θ]=[X一世ž一世=C|θ][X一世|θ]

尽管我们已经取得了一些进展,但是我们还没有完成该模型。给定硬币翻转序列的概率是多少?令h i = in  X i Pr [ X iZ iX一世H一世=进去 X一世 现在,Pr[Xi| θ]显然只是Zi=AZi=B的两种可能性下的概率。由于Pr[Zi=A]=Pr[

[X一世ž一世=C|θ]=1个2θCH一世1个-θC10-H一世  对于  C{一种}
[X一世|θ]ž一世=一种ž一世=,我们有, [ž一世=一种]=[ž一世=]=1个/2
[X一世|θ]=1个/2[X一世|ž一世=一种θ]+[X一世|ž一世=θ]

电子步

好的,这并不是很有趣,但是我们现在可以开始进行一些EM工作。EM算法首先对进行一些随机猜测。在这个例子中,我们有θ 0 = 0.6 0.5 。我们计算 Pr [ Z 1 = A | X 1θ ] = 1 / 2 0.6 50.4 5θθ0=0.60.5 该值与本文中的内容一致。现在我们可以从硬币AE计算X1=HTTTTHHTHTH)中的期望正面数

[ž1个=一种|X1个θ]=1个/20.650.451个/20.650.45+0.550.550.45。
X1个=HŤŤŤHHŤHŤH一种 ħ 1[ Ž 1 = 对得到的硬币 B做同样的事情, E [ 硬币B的个头  | X 1θ ] = | X 1θ ] = 5 0.55 2.8。
Ë[硬币头 一种|X1个θ]=H1个[ž1个=一种|X1个θ]=50.452.2。
Ë[硬币头 |X1个θ]=H1个[ž1个=|X1个θ]=50.552.8。
通过用代替10 - h 1,我们可以计算出相同的尾数。这个持续的所有其他值X ħ 1 5。由于期望的线性,我们可以找出 E [ #个硬币A的头部  | X θ ] = 5 i = 1H1个10-H1个X一世H一世 1个一世5
Ë[硬币头 一种|Xθ]=一世=1个5Ë[硬币头 一种|X一世θ]

M步

θ

θ一种1个=Ë[头顶 X 通过硬币 一种|Xθ]Ë[头和尾巴 X 通过硬币 一种|Xθ]=21.321.3+9.60.71。
θ1个θθ^=θ10=0.80.52[Xž|θ]θ

θ^


如果不清楚,我也可以尝试将其扩展。
Nicholas Mancuso

现在变得更加清晰。我真正不明白的是,为什么硬币A的期望正面的数量计算如下:E [#heads by coin A | X1,θ] =h1⋅Pr[Z1 = A | X1,θ] =5⋅0.45 ≈2.2?第一个PDF中提到的问题更加复杂。如果您不介意,您是否也可以为此做一些说明性的计算?非常感谢您的回答。
IcySnow

Ë[ 硬币头 一种|X1个θ]= 进去 X1个[ž1个=一种|X1个θ]=5[ž1个=一种|X1个θ]。原因是您可以考虑使用A来获得另一个指标随机变量。计算对指标变量的期望很简单,即该事件的概率。
Nicholas Mancuso

很抱歉回复缓慢。多亏您的帮助,经过多次回答,我现在才能真正理解这两个硬币示例背后的逻辑。关于这个问题,我还有最后一件事要问:该示例从这张幻灯片的第8页开始 cs.northwestern.edu/~ddowney/courses/395_Winter2010/em.ppt表明,在M步中,我们必须首先计算对数似然函数的导数,并使用它来最大化期望。为什么在抛硬币示例的M-Steps中没有这样的内容?因为这些M步看起来并没有使任何事情最大化
IcySnow

我对“构建模型”之后显示的第一个方程感到困惑。您能解释它的来历吗?在我看来[ž一世=一种|X一世θ]+[ž一世=|X一世θ]=1个,因此内部总和为1 一世,因此整个右侧变为零。我确定我遗漏了一些东西-您能阐明有关该方程式的原因吗?
DW
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.