【深度学习系列】贝叶斯神经网络

没有免费的午餐定律
如果一个算法对某些问题有效,那么它一定在另外一些问题比纯随机搜索方法更差。

推荐学习贝叶斯神经网络资料:
[1] https://www.bilibili.com/video/BV1TL4y187qF?spm_id_from=333.337.search-card.all.click

[2] https://zhuanlan.zhihu.com/p/81170602

推荐的工具:
基于pytorch的Pyro以及基于tensorflow的Edward。

其他资源:
https://github.com/JavierAntoran/Bayesian-Neural-Networks

  • 贝叶斯神经网络(BNN)的优缺点:

优点:鲁棒

缺点:耗时,收敛慢,很难计算不适用于参数非常多的深度神经网络。

  • 贝叶斯神经网络与频率理论的区别

贝叶斯神经网络是对可信度的衡量,有先验概率,估计也是一个概率分布
然而概率理论要求对事件采样达到一个极限,没有先验概率,估计是一个数。例如抛硬币就是一个概率理论的代表。

在这里插入图片描述
在这里插入图片描述
如何设计贝叶斯神经网络
组成部分:一个神经网络+一个统计模型+先验概率和似然概率
在这里插入图片描述
统计模型的常见为概率图模型(PGM),神经网络的边就是分布概率,
统计模型结合神经网络的结构:
在这里插入图片描述
变分推断算法在这里插入图片描述

神经网络模型
神经网络模型是一个条件分布模型 P ( y ∣ x , w ) P(y|x,w) P(yx,w),即输入样本 x x x预测 y y y的分布, w w w为神经网络的权重。神经网络的学习被视作一个最大似然估计(MLE):
w M L E = arg max ⁡ l o g P ( D ∣ w ) w^{MLE} = \argmax log P(D|w) wMLE=argmaxlogP(Dw)
其中 D D D为训练数据集。最大似然估计的过程中,权重的取值是没有先验概率的。一旦权重取值引入先验概率,模型的预测就变成了一个最大后验概率(MAP)。

贝叶斯估计同样引用先验概率的假设,但是并不是求最大值,而是一个权重的后验概率 P ( w ∣ D ) P(w|D) P(wD)。基于 w w w输入 x x x预测输出 y y y的概率模型为:
P ( y ∣ x ) = E P ( w ∣ D ) [ P ( y ∣ x , w ) ] P(y|x) = E_{P(w|D)}[P(y|x,w)] P(yx)=EP(wD)[P(yx,w)]

基于Pyro的BNN代码实现:

  • 4
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Pyro贝叶斯神经网络是一种结合了贝叶斯推断和神经网络的统计模型。该模型利用Pyro库实现,可以用于进行概率编程和深度学习任务。 Pyro贝叶斯神经网络的核心思想是在神经网络模型中引入概率的概念,并利用贝叶斯推断的方法对模型的参数进行不确定性建模。与传统的神经网络相比,Pyro贝叶斯神经网络更能够灵活地处理未标记数据,能够为模型提供更加准确和可靠的预测结果。 在Pyro贝叶斯神经网络中,模型的参数不再是确定的值,而是服从概率分布的随机变量。这样带来的好处是可以在训练模型时对参数的不确定性进行建模,提高模型的鲁棒性。同时,模型的参数也可以根据新的数据进行不断更新和调整,从而实现动态的学习过程。 Pyro贝叶斯神经网络的建模过程主要包括定义模型结构、定义先验分布和定义观测数据的条件概率分布。在建模过程中,可以使用Pyro提供的各种分布函数和算子来构建模型的组件。通过贝叶斯推断的方法,可以从观测数据中推断出后验分布,从而得到模型参数的不确定性估计。 总之,Pyro贝叶斯神经网络是一种结合了贝叶斯推断和神经网络的强大统计模型。它能够灵活地处理不确定性,并为模型提供更准确和可靠的预测结果。它的出现进一步丰富了概率编程和深度学习领域的工具箱,为解决实际问题提供了一个强大的工具。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值