维特比与过滤

人工智能 可能性
2021-10-22 20:18:27

在 Russel 和 Norvig 的人工智能——一种现代方法(第三版)的第 15 章中,他们描述了时间推理中的三个基本任务:

  1. 过滤,
  2. 可能性和
  3. 寻找最可能的序列。

我的问题是关于第一个任务和第三个任务之间的区别。找到最可能的序列确定,给定的证据e1,,en, 最可能的状态序列S1,,Sn. 这是使用维特比算法完成的。另一方面,过滤提供了看到后状态的概率分布e1,,en. 然后你可以选择概率最高的状态,称之为Sn. 我猜Sn应该总是等于Sn. 同样,您已经可以在任何前缀之后执行相同的操作e1,,ei,再次选择最可能的状态Si. 我很想有一个简单的例子S1,,Sn不等于序列S1,,Sn由维特比算法产生。

1个回答

欢迎来到 AI.SE @vdbuss,第一个问题很好!

这一点在第 15.2.3 节(我的副本中的第 576 页)的第二段中有所提及,并且在本章(15.4)的末尾有一个很好的练习,旨在让你思考为什么这些是不同的程序。如果您想真正吸收它,我建议您尝试进行该练习!如果您想快速获得答案,请继续阅读。

过滤的基本动作是生成概率分布P(Xt+1|e1:t+1)仅使用两条信息,特别是当前状态分布P(Xt|e1:t),以及新的证据et+1. 因此,在计算最可能的序列时,算法无法考虑实际可能的序列,而 Vitirbi 可以。

这是一个简单的例子:假设我告诉你我要把你丢进一个迷宫中的两个位置之一。我以 0.75 的概率将您放在右上角附近,以 0.25 的概率将您放在左下角附近。进一步假设已知(肯定地)居住在左下角附近的某个地方的格鲁。使用过滤,您在被丢入迷宫后对您的位置的最大后验估计(t=1) 是你在右上角。然后您向右移动 1 步,可以看到格鲁。很明显,您在第二个时间步中对您的位置的估计(t=2)一定是左下角,因为格鲁斯只住在那里。但是,您绝对不能通过从右上角向右移动最终移动到左下角,因此您的序列总体上的概率为零,尽管在每一步都使用了位置的最大 aposterori 估计。为了避免这种情况,Vitirbi 使用线性数量的额外空间来选择最大 aposterori序列,在这种情况下,很明显你在两个时间步长中都靠近左下角。