在混合贝叶斯网络中指定条件概率

机器算法验证 贝叶斯 随机变量 图形模型 条件概率 事先的
2022-04-02 18:57:10

我正在尝试更深入地了解各种类型的贝叶斯网络。

我遇到的大多数文献/讲座都专门使用离散随机变量,并且只顺便提到了连续随机变量。

似乎如果您想在混合网络中混合离散变量和连续变量,那么您需要处理一些不同的场景:

孩子是父母是
--------------------------------------
离散所有离散
离散所有连续
离散混合(离散和连续)
连续所有离散
连续 全部 连续
连续混合(离散和连续)

我了解如何为父母(P)都是离散的情况条件概率本质上是一个查找表,它将条件映射到概率质量函数(当孩子是离散的)或概率密度函数(当孩子是连续的)。p(N=ni|P)

其他情况让我的大脑麻木。当任何父节点是连续的时,如何指定给定节点的条件概率?

谢谢

编辑术语已(希望)根据反馈进行更正。

2个回答

首先,您对“先验概率”一词的使用似乎是错误的。对于具有离散值的任何节点 N,N 的某个值先验发生的概率为如果一个节点没有父节点,则有兴趣计算这个概率。但是,如果一个节点有父节点 P,则有兴趣计算条件概率,即在给定其父节点的情况下出现某个 N 值的概率。这是nip(N=ni)p(N=ni|P)

关于您的实际问题:如果父母是连续的并且子节点是a)离散或b)连续,如何计算子节点的条件概率。我将使用一个具体的例子来解释一种方法,但我希望总体思路会很清楚。

考虑这个网络:

替代文字

其中补贴和购买是离散的节点,而收获和成本是连续的。

a) p(Cost|Subsidy, Harvest) 两种选择:

  1. 离散化 Harvest 并将其视为离散 => 可能信息丢失
  2. 建模从当前收获值到描述成本分布的参数的映射。

2.的细节:假设成本可以使用正态分布建模。在这种情况下,通常固定方差并将 Harvest 的值线性映射到高斯的平均值。父补贴(二进制)仅添加约束,为补贴=true 和补贴=false 创建单独的分布。

结果: p(Cost=c|Harvest=h,Subsidy=true)=N(α1h+β1,σ12)(c)

p(Cost=c|Harvest=h,Subsidy=false)=N(α2h+β2,σ22)(c)

对于一些 s 和 s。αβ

b) p(Buys|Cost) 在这种情况下,需要将某些成本发生的概率映射到 Buy=True 的概率 (p(Buy=False) = 1-p(Buy=True))。(请注意,这与逻辑回归中的任务相同)。一种方法是,如果父项具有正态分布,则计算标准正态分布的从 0 到 x 的积分,其中 x 是父项的 z 变换值。在我们的示例中: 其中 =mean 和 = Cost 分布的标准差。在这种情况下而不是,因为观察(从数据中提取的知识!)是,成本越低,购买的可能性就越大。p(Buys=true|Cost=c)=integral(0,c+μσ)μσc+μμc

在非二进制离散子节点的情况下,一种方法是将一个多值问题转换为多个二进制问题。

示例来源/进一步阅读:

罗素和诺维格的“人工智能:一种现代方法”

考虑两个简单的情况,

1) 实值变量 X 是另一个实值变量 Y 的父项
2) 实值变量 X 是离散值变量 Y 的父项

假设贝叶斯网络是一个有向图 X -> Y。在这两种情况下,当指定 P(X) 和 P(Y | X) 时,贝叶斯网络都是完全指定的。或者,严格来说,当指定 P(X | a) 和 P(Y | X, b) 时,其中 a 和 b 分别是控制 X 的边际分布和给定 X 的 Y 的条件分布的参数。

参数假设

如果出于某种原因我们很高兴假设 P(X | a) 是正态的,那么 a 包含它的均值和方差。

考虑案例 1。也许我们很高兴假设 P(Y | X, b) 也是正常的,并且条件关系在 X 中是线性的。然后 b 包含回归系数,正如我们通常理解的那样。这意味着:截距、斜率参数和条件方差。

现在考虑案例 2。也许我们愿意假设 P(Y | X, b) 是二项式并且条件关系在 X 中是线性的。然后 b 包含来自逻辑回归模型的系数:这里表示截距和 a斜率参数。

在案例 1 中,如果我们观察 Y 并尝试推断 X,那么我们只需使用带有上述参数假设的贝叶斯定理。结果是众所周知的:给定 Y 的 X 的(后验)平均值是 X 的先验平均值(从 a 获得)和 Y 的观测值的加权平均值,其中权重是 X 的标准差的函数(来自 a)和 Y 给定 X(来自 b)。关于 X 的更多确定性将后验均值拉向其均值。

在情况 2 中,P(X | Y) 可能没有方便的封闭形式,因此我们可以从 P(X) 中抽取样本,利用您对 P(Y | X) 的假设并对结果进行归一化。那就是来自 P(X | Y) 的样本。

在这两种情况下,我们所做的只是计算贝叶斯定理,为此我们需要一些关于相关分布的参数假设。

当您想学习 a 和 b 而不是假设它们时,所有这些都会变得更加复杂,但是我认为这超出了您的问题。

采样

在考虑连续父母时,考虑生成可能会有所帮助来自网络的数据。为了在案例 1 中从网络中获取数据点(具有上述假设),我们首先从 P(X) 中采样——一个正态分布——然后取该值并通过将我们生成的值插入到 Y 上生成一个条件分布P(Y | X) 作为自变量的回归模型。该条件分布也是正态分布(根据假设),因此我们从该分布中采样 Y 值。我们现在有一个新的数据点。当 P(Y | X) 是逻辑回归模型时,同样的过程也适用。给定我们采样的 X 值,该模型为我们提供了 1 对 0 的概率。然后,我们从该分布中采样——本质上是根据模型概率抛硬币——我们有一个新的数据点。当我们考虑贝叶斯网络中的推理时,从概念上讲,

也许这有帮助?