人工智能现代方法 – 时间上的概率推理

我目前正在阅读彼得·诺维格的《人工智能现代方法》第15章关于时间上的概率推理,无法理解过滤和预测的推导过程(第572页)。

基于到时间t的过滤结果,智能体需要从新的证据et+1计算t+1时刻的结果,

P(Xt+1|e1:t+1) = f(et+1, P(Xt|e1:t)),

其中f为某个函数。这被称为递归估计。我们可以将计算视为由两部分组成:首先,当前状态分布从t投影到t+1;然后使用新的证据et+1进行更新。当公式重新排列时,这个两部分过程就显得很简单:

P(Xt+1|e1:t+1) = P(Xt+1|e1:t, et+1)     (将证据分开)
= α P(et+1|Xt+1, e1:t) P(Xt+1|e1:t)     (使用贝叶斯定理)

使用贝叶斯定理如何得到最后的公式?难道不应该是

α P(e1:t, et+1|Xt+1) P(Xt+1)


回答:

它们都是正确的,只是两个公式中的α不相同。诀窍在于诺维格在应用贝叶斯定理时,始终保持对e1:t的条件不变。只要想象一开始它就不存在,你仍然会得到所有这些等式。然后将这个条件应用到方程的每一部分,所有等式都将成立。

另一种方法是,不直接使用贝叶斯定理,而是使用联合概率和条件概率的定义(即,P(A|B)P(B)=P(A,B)=P(B|A)P(A))。

P(Xt+1|e1:t, et+1) P(et+1,e1:t) = P(e1:t, et+1|Xt+1) P(Xt+1)

展开两边的联合概率得到

P(Xt+1|e1:t, et+1) P(et+1|e1:t) P(e1:t) = P(et+1|Xt+1,e1:t) P(e1:t|Xt+1) P(Xt+1)

右边的最后两个项可以重写为

P(Xt+1|e1:t, et+1) P(et+1|e1:t) P(e1:t) = P(et+1|Xt+1,e1:t) P(Xt+1|e1:t) P(e1:t)

现在P(e1:t)可以抵消(假设非零),我们得到

P(Xt+1|e1:t, et+1) = α P(et+1|Xt+1,e1:t) P(Xt+1|e1:t)

其中α = 1 / P(et+1|e1:t)。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注