首页 理论教育 条件分布的有效表达

条件分布的有效表达

时间:2022-02-11 理论教育 版权反馈
【摘要】:为了指定混合贝叶斯网络,我们必须描述两种类型的分布:在给定离散或者连续的父节点下,连续随机变量的条件分布;以及在给定连续的父节点下,离散随机变量的条件分布。换句话说,我们将价格分布的参数指定为h的一个函数。图则显示了通过将Subsidy的两种情况相加得到的分布P线性高斯条件分布有一些特别的性质

14.3 条件分布的有效表达

即使最大父节点个数k很小,要填满条件概率表我们仍然需要O(2k)个数据,而为确定所有可能的条件事件下的概率可能还需要大量的经验。事实上,这是一种最糟糕的情形,父节点与子节点之间的关系是完全任意的。通常,这种关系可以用一个符合某种标准模式的规范分布(canonical distribution)来描述。在这样的情况下,完整的概率分布表能够通过确定所使用的模式,并提供少数几个参数来指定——比起提供数目呈指数增长的参数,这要容易得多。

最简单的例子是由确定性节点(deterministic nodes)提供的。一个确定性节点的取值能够由其父节点的取值完全确定,没有任何不确定性。这种关系可以是一种逻辑上的关系:例如父节点Canadian (加拿大人)、US(美国人)、Mexican(墨西哥人)与子节点NorthAmerical(北美人)之间的关系,即为子节点是其全部父节点的析取。这种关系也可以是数值的:例如,父节点表示多个经销商销售一种特定型号汽车的价格,子节点是一个专买便宜货的人最后买这种型号车的价钱,那么子节点就应该是其全部父节点值的最小值;又如,父节点分别表示到一个湖泊的流入量(河流、径流、降雨等)和流出量(河流、蒸发、渗漏等),子节点的值是湖水水位高度的变化,那么子节点的值就是流入父节点和流出父节点之间的差值。

不确定关系经常可以用所谓的“噪声”逻辑关系来刻画。一个标准的例子是噪声或(noisy-OR)关系,是逻辑或的推广。在命题逻辑中,我们可以说Fever(发烧)为真,当且仅当Cold(感冒)、Flu(流感)或者Malaria(疟疾)为真。噪声或模型考虑到每个父节点引起子节点为真的能力的不确定性——父节点与子节点之间的因果关系有可能被抑制,所以病人可能得了感冒却没有发烧的症状。这个模型采用了两条假设。首先,它假设所有可能的原因都已列出。(这一点不像看起来那么严格,因为我们总可以增加一个所谓的遗漏节点,来涵盖“各种各样的原因”)。其次,它假设每个父节点的抑制独立于其它父节点的抑制:例如,无论是什么抑制了Malaria使其不引起发烧症状,都与抑制Flu使其不引起发烧症状的原因是相互独立的。给定这些假设,Fever 为假当且仅当其所有为真的父节点都被抑制,其概率等于每个父节点的抑制概率的乘积。假设单独的抑制概率如下所示:

P(¬fever|cold, ¬flu, ¬malaria) = 0.6

P(¬fever|¬cold, flu, ¬malaria) = 0.2

P(¬fever|¬cold, ¬flu, malaria) = 0.1

那么,根据这个信息以及噪声或的假设,我们可以建立完整的条件概率表,如下表所示:


总的来说,对于其中一个变量依赖于k个父节点的噪声逻辑关系,可以用O(k)而不是O(2k)个参数来描述其完全条件概率表。这使得评价与学习都容易多了。例如,在CPCS网络(Pradhan等人,1994)中使用了噪声或以及噪声最大(noisy-MAX)分布为内科疾病和症状之间的关系建模。这个网络包含448个节点和906条边,它只需要8 254个数据,而不是完全CPT所需的133 931 430个数据!

包含连续变量的贝叶斯网络

很多现实的问题都包含连续的量,诸如高度、重量、温度以及钱数等。事实上,很多统计学方法处理的是有连续定义域的随机变量。根据定义,连续的变量具有无限个可能取值,所以不可能显式地为每个取值指定条件概率。一种处理连续性随机变量的可能方式是通过离散化(discretization)以避免出现连续变量——也就是,将所有可能的取值划分到固定的区间集合中。例如,温度可以被划分为(<0℃),(0℃~100℃),以及(>100℃)。离散化有时是种足够解决问题的方法,但是经常会导致相当可观的精度损失以及非常巨大的条件概率表。另一种方法是定义标准的概率密度函数族(参见附录A),通过有限个参数进行指定。例如,高斯(或称正态)分布N(μ, σ2)(x)以均值μ和方差σ2为参数。

同时包含离散随机变量和连续随机变量的网络称为混合贝叶斯网络(hybrid Bayesian network)。为了指定混合贝叶斯网络,我们必须描述两种类型的分布:在给定离散或者连续的父节点下,连续随机变量的条件分布;以及在给定连续的父节点下,离散随机变量的条件分布。考虑图14.5中的简单例子,其中顾客根据价格购买某种水果,而价格又取决于水果的收成以及政府的政策性补助(subsidy)方案是否还在执行。变量 Cost(价格)是连续的,其父节点既有连续节点也有离散节点;变量 Buys (购买)是离散的,它有一个连续父节点。


图14.5 一个同时包含离散变量(Subsidy和Buys)和连续变量(Harvest和Cost)的简单网络

对于变量Cost,我们需要指定P(Cost|Harvest, Subsidy)。离散父节点可以通过直接枚举来处理——也就是说,分别指定P(Cost|Harvest, subsidy)以及P(Cost|Harvest, ¬subsidy)。要处理变量Harvest(收成),我们指定价格c依赖于Harvest的连续取值h是如何分布的。换句话说,我们将价格分布的参数指定为h的一个函数。最常见的选择是线性高斯分布(linear Gaussian distribution),其中子节点服从均值μ随父节点的值线性变化、而标准差σ 保持不变的高斯分布。对于 subsidy 和¬subsidy 我们分别需要两个参数不同的分布:


那么,对于这个例子,变量Cost的条件分布通过确定线性高斯分布以及提供参数at, bt, σt, af, bf, σf来指定。图 14.6(a)和(b)显示了这两种关系。注意在每种情况中斜率都是负的,因为价格随着供应量的增加而下降。(当然,线性假设意味着价格会在某个点变为负值;线性模型只有当收成被限制在一个狭窄的范围内时才是合理的)。图14.6(c)显示了分布P(c|h),对Subsidy的两种取值的情况取平均,并假设每种情况的先验概率都是0.5。这表明即使用非常简单的模型,也能够表示一些相当有意思的分布。


图14.6 图(a)和(b)中显示了当Subsidy分别为真和为假时Cost作为Harvest值的函数的概率分布。图(c)则显示了通过将Subsidy的两种情况相加得到的分布P(Cost|Harvest)

线性高斯条件分布有一些特别的性质。一个只包含服从线性高斯分布的连续变量的网络,其联合概率分布是一个定义在所有变量上的多元高斯分布(习题14.5)[13]。(多元高斯分布是一个维数大于 1 的面,它在(n维)均值处有一个峰值,而沿所有方向都下降)。当加入离散变量时(倘若连续节点没有离散节点作为其子节点),我们称之为条件高斯(conditional Gaussian)分布,或缩写为CG分布:给定了全部离散变量的任意赋值,所有连续变量的概率分布是一个多元高斯分布。

现在我们转向具有连续父节点的离散变量的分布。例如,考虑图14.5中的Buys节点。假设价格较低时顾客会购买,而价格较高时就不购买,并且购买的概率在某个中间区域平滑变化,这看来是合理的。换句话说,其条件分布像一个“软”的阈值函数。一种构造软阈值函数的方法是使用标准正态分布的积分:


于是Buys在给定Cost下的条件概率可能是:

P(buys|Cost=c)=Φ ((−c+μ)/σ )

这意味着,价格阈值出现在μ附近,阈值区域的宽度则与σ 成比例,而顾客购买的概率随价格的增加而减少。

图14.7(a)描绘了这个概率单位分布(probit distribution)。其形式可以被证明是合理的:通过提出潜在决策过程具有一个硬阈值,不过阈值的精确位置受到高斯噪声的影响。概率单位模型的一个替代方法是逻辑单位分布(logit distribution),它使用S型函数(sigmoid function)来生成软阈值:


这可以通过图14.7(b)来说明。这两个分布看起来很相似,但逻辑单位实际上有一条比较长的“尾巴”。概率单位通常更符合实际情况,但在数学上有时逻辑单位更易于处理。它在神经元网络中得到了广泛的应用(第二十章)。概率单位和逻辑单位都可以通过采取对父节点值的线性组合来推广,以处理多个连续父节点。在习题14.6中探索了针对多值离散子节点的扩展方法。


图14.7(a)给定Cost下变量Buy的概率单位分布,其中μ=6.0, σ=1.0。(b)在同样参数下的逻辑单位分布

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈