当前位置:   article > 正文

浅谈贝叶斯网络以及贝叶斯网络处理模型不确定性_贝叶斯不确定性

贝叶斯不确定性

1. 贝叶斯定理

贝叶斯定理是关于随机事件 A 和 B 的条件概率:
在这里插入图片描述

其中 P ( A ∣ B ) P(A|B) P(AB)是在 B 发生的情况下 A 发生的可能性。

  1. P(A)是 A 的先验概率,之所以称为“先验”是因为它不考虑任何 B 方面的因素。
  2. P(A|B)是已知 B 发生后 A 的条件概率,也由于得自 B 的取值而被称作 A 的后验概率。
  3. P(B|A)是已知 A 发生后 B 的条件概率,也由于得自 A 的取值而被称作 B 的后验概率。
  4. P(B)是 B 的先验概率,也作标淮化常量(normalizing constant)。

贝叶斯定理有一个好处就是可以根据新情况更新先验概率
举一个案例:

假设有两个各装了100个球的箱子,甲箱子中有70个红球,30个绿球,乙箱子中有30个红球,70个绿球。假设随机选择其中一个箱子,从中拿出一个球记下球色再放回原箱子,如此重复12次,记录得到8次红球,4次绿球。问题来了,你认为被选择的箱子是甲箱子的概率有多大?

下面容我来详细分析解答。刚开始选择甲乙两箱子的先验概率都是50%,因为是随机二选一(这是贝叶斯定理二选一的特殊形式)。即有:

P(甲) = 0.5, P(乙) = 1 - P(甲);

这时在拿出一个球是红球的情况下,我们就应该根据这个信息来更新选择的是甲箱子的先验概率:

P(甲|红球1) = P(红球|甲) × P(甲) / (P(红球|甲) × P(甲) + (P(红球|乙) × P(乙)))
P(红球|甲):甲箱子中拿到红球的概率
P(红球|乙):乙箱子中拿到红球的概率

因此在出现一个红球的情况下,选择的是甲箱子的先验概率就可被修正为:

P(甲|红球1) = 0.7 × 0.5 / (0.7 × 0.5 + 0.3 × 0.5) = 0.7

即在出现一个红球之后,甲乙箱子被选中的先验概率就被修正为:

P(甲) = 0.7, P(乙) = 1 - P(甲) = 0.3;

如此重复,直到经历8次红球修正(概率增加),4此绿球修正(概率减少)之后,选择的是甲箱子的概率为:96.7%。

2. 贝叶斯网络

一个贝叶斯网络定义包括一个有向无环图(DAG)和一个条件概率表集合。DAG中每一个节点表示一个随机变量,可以是可直接观测变量或隐藏变量,而有向边表示随机变量间的条件依赖;条件概率表中的每一个元素对应DAG中唯一的节点,存储此节点对于其所有直接前驱节点的联合条件概率。如下图所示:
在这里插入图片描述

贝叶斯网络有一条极为重要的性质,就是我们断言每一个节点在其直接前驱节点的值制定后,这个节点条件独立于其所有非直接前驱前辈节点。

这个性质很类似Markov过程。其实,贝叶斯网络可以看做是Markov链的非线性扩展。这条特性的重要意义在于明确了贝叶斯网络可以方便计算联合概率分布。一般情况先,多变量非独立联合条件概率分布有如下求取公式:
在这里插入图片描述

构造与训练贝叶斯网络分为以下两步:

1、确定随机变量间的拓扑关系,形成DAG。这一步通常需要领域专家完成,而想要建立一个好的拓扑结构,通常需要不断迭代和改进才可以。

2、训练贝叶斯网络。这一步也就是要完成条件概率表的构造,如果每个随机变量的值都是可以直接观察的,像我们上面的例子,那么这一步的训练是直观的,方法类似于朴素贝叶斯分类。但是通常贝叶斯网络的中存在隐藏变量节点,那么训练方法就是比较复杂,例如使用梯度下降法。

相关资料:
https://www.zhihu.com/question/28006799/answer/533797100
https://www.cnblogs.com/leoo2sk/archive/2010/09/18/bayes-network.html
https://blog.csdn.net/chasdmeng/article/details/38688525

3. 不确定性和置信度问题

不确定性度量反映的是一个随机变量的离散程度(dispersion)。换句话说,这是一个标量,反应了一个随机变量有多「随机」。在金融领域,这通常被称为「风险」。不确定性不是某种单一形式,因为衡量离散程度的方法有很多:标准差、方差、风险值(VaR)和熵都是合适的度量。总之要记住,「越高的不确定性」往往被视为「更糟糕」。

不确定性大概为两种:

偶然不确定性:这描述的是源自数据生成过程本身的随机性;不能简单地通过收集更多数据而消除的噪声。就像你不能预知结果的抛硬币。也许有人会想:因为偶然事件不确定性是不可约减的,所以我们对此无能无力,直接忽略它就好了。这可不行!在训练模型时,应该注意选择能够正确地代表偶然事件不确定性的输出表征。标准的 LSTM 不会得出概率分布,所以学习抛硬币的结果时只会收敛成均值。相对而言,用于语言生成的模型能够得出一系列类别分布(词或字符),这能纳入句子完成任务中的固有歧义性。

感知不确定性:与模型相关,是由于训练不完全导致的。如果给它更多的训练数据来弥补现有模型知识上的不足,这种不确定性从理论上来说是可以消除的。

nips2017的一篇论文用贝叶斯神经网络建模两类不确定性。

大部分不确定性估计算法都是基于Bayesian Neural Networks (可以理解为概率性的神经网络, 认为其参数服从一定的先验分布), 给定输入时就可以产生具有一定分布性质的输出用来计算模型不确定度

相关资料
https://www.cnblogs.com/sinoyou/p/11441634.html(基于贝叶斯网络的不确定性估计)
https://zhuanlan.zhihu.com/p/98756147(nips2017)
https://zhuanlan.zhihu.com/p/88654038(nips2017)
Dropout as a Bayesian Approximation: Representing Model Uncertainty in Deep Learning
Bayesian SegNet: Model Uncertainty in Deep Convolutional Encoder-Decoder Architectures for Scene Understanding

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/674898
推荐阅读
相关标签
  

闽ICP备14008679号