EM,有直观的解释吗?

机器算法验证 期望最大化 直觉
2022-02-07 18:09:05

EM 程序对于外行来说似乎或多或少是黑魔法。使用监督数据估计 HMM(例如)的参数。然后解码未标记的数据,使用向前向后“计数”事件,就好像数据被或多或少地标记了一样。为什么这会使模型更好?我确实对数学有所了解,但我一直希望对它有某种心理图景。

1个回答

只是为了节省一些输入,调用观察到的数据,缺失的数据(例如 HMM 的隐藏状态),以及我们试图找到的参数向量(例如转换/发射概率)。XZQ

直观的解释是我们基本上作弊,假装我们知道,这样我们就可以找到 Z 的条件分布,这反过来又让我们找到的 MLE (暂时忽略我们基本上是在做一个循环的事实论点),然后承认我们作弊,为输入我们新的更好的价值,然后重新做一遍,直到我们不再需要作弊。QQQ

从技术上讲,通过假装我们知道真实值,我们可以假装我们知道的条件分布,这让我们可以改进对的估计,我们现在假装是的真实值,所以我们可以假装我们知道的条件分布,这可以让我们改进对的估计,等等。QZ|{X,Q}QQZ|{X,Q}Q

从技术上讲,如果我们知道,我们可以最大化并得到正确的答案。问题是我们不知道的任何估计都必须依赖于它。但是,如果我们想找到的最佳估计(或分布) ,那么我们需要知道如果我们在分析上想要唯一的最大化器,我们就陷入了先有鸡还是先有蛋的境地。Zlog(f(Q|X,Z))ZQZXQ

我们的“输出”是——对于的任何估计(称为)——我们可以找到的分布,因此我们可以最大化的预期联合对数似然。,关于的条件分布。这个条件分布基本上告诉我们如何取决于给定的当前值,并让我们知道如何改变以同时增加对于特定值的可能性(我们已经称为QQnZ|{Qn,X}Q|{X,Z}Z|{Qn,X}ZQXQQZQQn)。一旦我们选择了一个新的,我们就有一个不同的的条件分布,因此必须重新计算期望值。Qn+1Z|{Qn+1,X}