-
贝叶斯神经网络简介
对于一个神经网络来说,最为核心的是如何根据训练集的数据,得到各层的模型参数,使得Loss最小,因其强大的非线性拟合能力而在各个领域有着重要应用。而其问题是在数据量较少的情况下存在严重的过拟合现象,对于获得数据代价昂贵的一些课题比如车辆控制等领域,应用存在局限性。
贝叶斯神经网络的优点是可以根据较少的数据得到较为solid的模型,而且得到的是各层参数的分布(一般假设各层参数 服从高斯分布,根据训练集数据计算得出 的均值和方差),从而得到 , 可以有效的解决过拟合的问题,不仅可以对结果进行预测,还可以对结果的误差进行有效预测。的核心思想是
我们先来直观的看一下,贝叶斯神经网络的作用和效果,如下图所示,红色的点为训练集的数据,然后针对每一个x,对f(x)采样1000个点,之所以输出多个y值是为了体现出模型对于y的方差的预测能力。
|
-
贝叶斯公式与KL散度
我们从最基本的贝叶斯公式出发,来理解一下贝叶斯神经网络的迭代过程:
贝叶斯公式:
其中,(X,Y)为训练集的数据,由于训练集是给定的所以 为常数,即我们的目标 ,为W的先验概率,为在给定参数W和X的情况下,网络输出Y的概率。
由于 的概率分布复杂,难以求得均值方差等,因此贝叶斯神经网络通过建立一个 函数来逼近 函数,利用一个较为简单的分布,如高斯分布等(参数为,