期望最大化直观解释

机器算法验证 时间序列 期望最大化 直觉
2022-03-30 23:33:01

给定一组多年来{A, B, C, D, E}每月发生一次的事件:n

[A, B, C, C, B, D, A, B, C, C, B, D] [E, B, C, B, B, D, E, B, C, B, B, D] [C, B, C, D, E, A, A, D, C, C, B, D] //12 months x 3 years pictured ...

我有一个概率函数p(w, r) = ...,它计算一个事件跟随另一个事件的概率(例如 B 之后的 A),其中wr是对输出进行建模的参数,当正确选择时应该适合样本数据。

我的最终目标是预测一年内的事件,但我坚持使用 EM 来确定wr

直觉上,我现在做的是:

  1. 从和的总随机值w开始r
  2. 使用函数计算每一对在一年中的概率(例如ABp,将其与从样本中提取的实际概率分布进行比较,并基本上得到v当前wr拟合样本的概率( )。
  3. 现在我的第三步是修改wr所以它v应该收敛到 1。这就是我卡住的地方。

我应该如何使用v来获得新的值wr以便v最终收敛到 1?

编辑:

我想补充一点,这p基本上给了我事件连续性的估计概率分布。这意味着我有两个 2D 表面:估计和采样概率分布,我想使用wr移动和缩放估计的表面,使其最适合采样的表面。

所以我的问题是,如何在一步之后比较两者,以及下一步如何获得新值wr值。

例如:我在想我可以使用某种矩阵范数来获得两者之间的相似程度,然后根据之前的迭代来决定是否应该增加w/r减少。

1个回答

本质上,您想通过区分来爬山p(w,r)关于wr并调整wr通过一些小的常数,其符号对应于梯度的最大增加,然后重复直到达到最大值。

既然你选择wr随机,你还没有告诉我们如何p(w,r)尽管取决于 2d 表面的形状,但您可能无法找到全局最大值。如果表面确实具有局部最小值和最大值,则您希望通过在该算法开始时初始化多个随机点对然后在试验中选择最佳点来减少此定位误差。