备忘录——贝叶斯网络与贝叶斯深度网络学习思路总结
目录
一、贝叶斯公式
二、贝叶斯网络
定义
贝叶斯网络的3种结构形式:
1、head-to-head
2、tail-to-tail
3、head-to-tail
马尔科夫链
三、贝叶斯深度学习
贝叶斯深度学习如何进行预测?
贝叶斯深度学习如何进行训练?
贝叶斯深度学习和深度学习的区别
贝叶斯深度学习框架
四、总结
五、若需理解更加详细资源请从以下链接进入(参考资源):
一、贝叶斯公式
其中,被称为后验概率(posterior), 被称为联合概率, 被称为似然(likelihood),被称为先验概率(prior),被称为证明(evidence)。
如果再引入全概率公式
可以变成如下形式:
如果z是离散型变量,则将上式中分母积分符号改成求和符号 即可。(概率分布中的概率质量函数一般用大写字母表示,概率密度函数一般用小写字母 表示,为了简便,用连续型变量举例)
二、贝叶斯网络
定义
贝叶斯网络可称为信念网络,或有向无环图模型,也是一种概率图模型,是一种模拟人类推理过程中,因果关系的不确定性处理模型,其网络拓朴结构是一个有向无环图(DAG)。
贝叶斯网络的有向无环图中的节点表示随机变量,它们可以是可观察到的变量,或隐变量、未知参数等。认为有因果关系(或非条件独立)的变量或命题则用箭头来连接。(若两个节点间以一个单箭头连接在一起,表示其中一个节点是“因(parents)”,另一个是“果(children)”,两节点就会产生一个条件概率值,即连接两个节点的箭头代表此两个随机变量是具有因果关系,或非条件独立)
例如,假设节点E直接影响到节点H,即E→H,则用从E指向H的箭头建立结点E到结点H的有向弧(E,H),权值(即连接强度)用条件概率P(H|E)来表示,如下图所示:
把某个系统中涉及的随机变量,根据是否条件独立绘制在一个有向图中,就形成了贝叶斯网络。其主要用来描述随机变量之间的条件依赖,圆圈表示随机变量(random variables),箭头表示条件依赖(conditional dependencies)。
设G = ( I,E)表示一个有向无环图(DAG),其中 I 代表图形中所有的节点的集合,E代表有向连接线段的集合,且令X = (),i ∈ I 为其有向无环图中的某一节点 i 所代表的随机变量,若节点 X 的联合概率可以表示成:
则称 X 为相对于一有向无环图 G 的贝叶斯网络,其中,表示节点 i 之“因”,或称是 i 的 parents(父母)。
此外,对于任意的随机变量,其联合概率可由各自的局部条件概率分布相乘而得出:
如下图所示,便是一个简单的贝叶斯网络:
根据简单贝叶斯网络的关系列出下式:
贝叶斯网络的3种结构形式:
如图示的贝叶斯网络,可以表示为:
且和独立(对应head-to-head),和在给定的条件下独立(对应tail-to-tail)。
1、head-to-head
表示并可以简化为:
在c未知的条件下,a、b被阻断(blocked),是独立的,称之为head-to-head条件独立,对应前节那张图中的和独立。
2、tail-to-tail
- 在 c 未知的时候,有:
此时,无法得出,即c未知时,a、b不独立。
- 在 c 已知的时候,有:
然后将带入式子中,得到:
即c已知时,a、b独立。
所以,在c已知的条件下,a,b被阻断(blocked),是独立的,称之为tail-to-tail条件独立,对应前节那张图中的“和在给定的条件下独立”。
3、head-to-tail
- c未知时,有:
无法推出,即c未知时,a、b不独立。
- c已知时,有:
且根据,可化简得到:
所以,在c给定的条件下,a,b被阻断,是独立的,称之为head-to-tail条件独立,实际为一个链式网络。
马尔科夫链
三、贝叶斯深度学习
在深度学习中,和 都是一个确定的值,例如 。即使我们通过梯度下降(gradient decent)更新 ,我们仍未改变 “和 都是一个确定的值” 这一事实。
那什么是贝叶斯深度学习?将 和由确定的值变成分布,这就是贝叶斯深度学习。
贝叶斯深度学习认为每一个权重和偏置都应该是一个分布,而不是一个确定的值。如下图所示,给出一个贝叶斯深度学习示意图:
上图为一个4*3*1的贝叶斯神经网络。(输入神经元个数为4,中间隐含层神经元个数为3,输出层神经元个数为1)
贝叶斯深度学习如何进行预测?
由于网络的权重和偏置都是分布,于是通过采样获得权重和偏置。使得其像非贝叶斯神经网络那样进行前向传播,可以对贝叶斯神经网络的权重和偏置进行采样,得到一组参数,然后像非贝叶斯神经网络那样使用即可。
当然,也可以对权重和偏置的分布进行多次采样,得到多个参数组合,参数的细微改变对模型结果的影响在这里就可以体现出来。这也是贝叶斯深度学习的优势之一,多次采样最后一起得到的结果更加鲁棒。
贝叶斯深度学习如何进行训练?
对于非贝叶斯神经网络,在各种超参数固定的情况下,训练一个神经网络最终目的就是得到各个层之间的权重和偏置。而对于贝叶斯深度学习,我们训练的目的就是得到权重和偏置的分布。此时就要用到贝叶斯公式了。
给定一个训练集 ,我们用 D训练一个贝叶斯神经网络,则贝叶斯公式可以写为如下形式:
上式中,想要得到的是的后验概率 。先验概率 无论是根据经验或者瞎猜,总之是已知的,例如初始时将设成标准正态分布,似然是一个关于的函数。当等于某个值时,上式的分子很容易就能算出来,但我们想要得到后验概率,还要将分母算出来。但事实上,分母的积分要在 的取值空间上进行,但是神经网络的单个权重的取值空间可以是实数集,而这些不同层之间的权重构成的空间将相当复杂,基本没法积分。所以问题就出现在分母的计算上。
贝叶斯深度学习的训练方法目前有以下几种:(请参考Deep Bayesian Neural Networks. -- Stefano Cosentino)
(1)Approximating the integral with MCMC:用 MCMC(Markov Chains Monte Carlo) 采样去近似分母的积分。
(2)Using black-box variational inference (with Edward):直接用一个简单点的分布 qq 去近似后验概率的分布 pp,即不管分母怎么积分,直接最小化分布 qq 和 pp 之间的差异,如可以使用 KL散度 计算。详情可以参考贝叶斯编程框架 Edward 中的介绍。
(3)Using MC (Monte Carlo) dropout:蒙特卡罗 dropout,简单而强大,不改变一般神经网络结构,只是要求神经网络带 dropout 层,训练过程和一般神经网络一致,只是测试的时候也打开 dropout,并且测试时需要多次对同一输入进行前向传播,然后可以计算平均和统计方差。
贝叶斯深度学习和深度学习的区别
在于权重和偏置是否为离散分布的。贝叶斯深度学习还有以下优点:
(1)贝叶斯深度学习比非贝叶斯深度学习更加的鲁棒。因为可以进行多次采样,贝叶斯深度学习中可以解决在深度学习中对权重进行细微改变所造成的影响。
(2)贝叶斯深度学习可以提供不确定性,且不再是使用softmax生成概率值。(详情参见 Deep Learning Is Not Good Enough, We Need Bayesian Deep Learning for Safe AI)。
贝叶斯深度学习框架
- 珠算
- Edward
- TensorFlow Probability
四、总结
贝叶斯网络(Bayesian network),又称信念网络(belief network)或是有向无环图模型(directed acyclic graphical model),是一种概率图型模型。
但是贝叶斯神经网络(Bayesian neural network)是贝叶斯和神经网络的结合,贝叶斯神经网络和贝叶斯深度学习的概念可以混用。
五、若需理解更加详细资源请从以下链接进入(参考资源):
贝叶斯网络:https://cloud.tencent.com/developer/article/1476046
贝叶斯深度学习:https://www.cnblogs.com/wuliytTaotao/p/10281766.html
备忘录——贝叶斯网络与贝叶斯深度网络学习思路总结相关推荐
- Stanford UFLDL教程 深度网络概览
深度网络概览 Contents [hide] 1概述 2深度网络的优势 3训练深度网络的困难 3.1数据获取问题 3.2局部极值问题 3.3梯度弥散问题 4逐层贪婪训练方法 4.1数据获取 4.2更好 ...
- 综述—多智能体系统深度强化学习:挑战、解决方案和应用的回顾
多智能体系统深度强化学习:挑战.解决方案和应用的回顾 摘要 介绍 背景:强化学习 前提 贝尔曼方程 RL方法 深度强化学习:单智能体 深度Q网络 DQN变体 深度强化学习:多智能体 挑战与解决方案 M ...
- 强化学习(八) - 深度Q学习(Deep Q-learning, DQL,DQN)原理及相关实例
深度Q学习原理及相关实例 8. 深度Q学习 8.1 经验回放 8.2 目标网络 8.3 相关算法 8.4 训练算法 8.5 深度Q学习实例 8.5.1 主程序 程序注释 8.5.2 DQN模型构建程序 ...
- Learning Policies for Adaptive Tracking with Deep Feature Cascades(深度增强学习、目标跟踪)
1.论文相关 论文题目: "Learning Policies for Adaptive Tracking with Deep Feature Cascades." ICCV (2 ...
- 14. 深度强化学习(DQN)
深度Q网络 14.1 用深度强化学习玩Atari 14.1.1 介绍 14.1.2 背景 14.1.3 相关工作 14.1.4 深度强化学习 1. 预处理和模型架构 14.1.5 实验 1. 训练和稳 ...
- 朴素贝叶斯算法及贝叶斯网络详述
1.贝叶斯定理 先验概率P(A):在不考虑其他的情况下,A事件发生的概率. 条件概率P(B|A):A事件发生的情况下,B事件发生的概率. 后验概率P(A|B):在B事件发生之后,对A事件发生的概率的重 ...
- 马尔可夫网络和贝叶斯网络的一些总结
马尔可夫网络和贝叶斯网络的一些总结 最近学习了一些关于概率逻辑的知识图谱推理方法,主要就是贝叶斯网络和马尔可夫网络,在此总结一下,内容都来自网络资料,这里加入了一下个人的理解,尽量为大家避雷! 这篇文 ...
- 贝叶斯系列——贝叶斯定理、贝叶斯决策、朴素贝叶斯、贝叶斯网络、贝叶斯滤波器
写一个贝叶斯系列,整理一下贝叶斯定理.贝叶斯决策.朴素贝叶斯.贝叶斯网络.贝叶斯滤波器 众所周知,概率分为两个学派,频率学派(大数定理)和贝叶斯学派(贝叶斯公式),我们不去判断哪个学派说的更对,但是在 ...
- 有关贝叶斯概率和贝叶斯网络和贝叶斯因果网络的自习笔记
回校一周了,前段时间忙活着组会讨论班的事儿,然后安装了一个Ubuntu的双系统,暂时不想码代码先把一直好奇的贝叶斯网络了解下. 贝叶斯概率 首先是贝叶斯概率.贝叶斯作为泥腿子颠覆了前人"事件 ...
- 【海量数据挖掘/数据分析】之 贝叶斯信念网络(贝叶斯信念网络、有向无环图、贝叶斯公式、贝叶斯信念网络计算实例)
[海量数据挖掘/数据分析]之 贝叶斯信念网络(贝叶斯信念网络.有向无环图.贝叶斯公式.贝叶斯信念网络计算实例) 目录 [海量数据挖掘/数据分析]之 贝叶斯信念网络(贝叶斯信念网络.有向无环图.贝叶斯公 ...
最新文章
- php中strtotime(date,js模仿php中strtotime()与date()函数实现方法
- The 13th Zhejiang Provincial Collegiate Contest(2016年浙江省赛)
- Linux下ntpdate时间同步
- 程序员基本功04JAVA的内存回收
- 文本处理工具AWK详解
- 途虎养车三个创始人_3个来自非常规创始人的获奖技术和产品见解
- 破解YouTube、Facebook推荐系统背后的那些算法
- jsoup的Elements类
- STM32F103 PA8不能输出PWM波问题
- 不止 RTC 技术盛会,你还应该知道的声网给开发者的福利
- 校验两个文件是否一样(MD5方式:windows,linux,自定义java代码三种方式)——亲测成功
- 关系抽取;串联抽取和联合抽取论文总结
- C4D四视图切换及基本操作
- 升级Win11后不喜欢怎么退回Win10系统?
- 学习笔记(02):英特尔® OpenVINO™工具套件初级课程-如何加速视频处理进程?
- 关于求职及面试的一些小技巧
- html期末作业代码网页设计——蛋糕甜品店(4页) web期末作业设计网页_甜品美食大学生网页设计作业成品
- 大学计算机课桌面弄毛玻璃,高校换上新课桌,同学表示“世界观被颠覆”,网友:黑科技的诞生...
- 修复Android手机屏幕的5种简单方法是黑色的
- java设计模式--装饰器模式