贝叶斯神经网络

回到术语表

什么是贝叶斯神经网络?

贝叶斯神经网络(BNNs)是指通过后验推理扩展标准网络以控制过拟合。从更广泛的角度来看,贝叶斯方法使用统计方法,使所有事物都有一个概率分布,包括模型参数(神经网络中的权重和偏差)。在编程语言中,可以取特定值的变量将在每次访问该特定变量时产生相同的结果。让我们从一个简单线性模型的修正开始,该模型将通过一系列输入特征的加权和来预测输出。贝叶斯神经网络线性模型相比之下,在贝叶斯世界中,你可以有类似的实体,也称为随机变量,每次你访问它都会给你不同的值。在贝叶斯术语中,历史数据代表了我们对整体行为的先验知识,每个变量都有自己的统计属性,这些属性随时间而变化。假设X是一个代表正态分布的随机变量,每次访问X,返回的结果都会有不同的值。这个从随机变量中获取一个新值的过程叫做抽样。结果值取决于随机变量的相关概率分布。这意味着,在参数空间中,人们可以推断神经网络学习参数的性质和形状。最近,随着诸如PyMC3、Edward、Stan等众多概率编程库的出现,这一领域出现了很多活动。贝叶斯方法被应用于许多领域:从游戏开发到药物研发。

bnn的主要优点是什么?

  • 贝叶斯神经网络用于解决数据稀缺领域的问题,作为防止过拟合的一种方法。应用实例包括分子生物学和医学诊断(这些领域的数据通常来自昂贵而困难的实验工作)。
  • 贝叶斯网是普遍有用的
  • 它们可以为大量的任务获得更好的结果,但是它们很难扩展到大问题。
  • bnn允许您在处理未知目标的数据时自动计算与您的预测相关的误差。
  • 允许您估计预测中的不确定性,这对于医学等领域来说是一个很好的功能

为什么要使用贝叶斯神经网络?

贝叶斯方法允许您考虑答案的整个分布,而不是考虑一个问题的单个答案。使用这种方法,您可以自然地解决以下问题:
  • 正则化(过拟合与否),
  • 模型选择/比较,不需要单独的交叉验证数据集

额外的资源


回到术语表