在贝叶斯框架中,一个完成训练的神经网络是通过其权重的后验概率来表达的。当给网络一个输入数据时,权重分布产生网络输出的分布。同时,对输为的所做的高斯噪声假定也会影响网络输出的分布。这里,通过前面介绍的单高斯近似来计算输出的分布。

 

输出的分布为

image ,p(w|D)是权重的后验概率分布,p(t|x,w)是在给定权重时目标数据的噪声的概率分布

要计算上面的分布,需要利用两个东东:

1)权重后验概率分布:前面介绍过通过利用高斯分布来近似此分布

2)网络输出的分布:前面介绍过将其假设为零均值加性高斯噪声模型image

从而得到输出的分布为:

                                image           (1)

进一步假设此后验概率分布足够窄(由矩阵A决定),这样就可以通过在image 进行线性扩展来近似image,得到:

                                imageimage            (2)

这样,就可将式(1)写成

                               imageimage    (3)

上式积分的结果恰恰是高斯分布:

                                 image              (4)

从而得到输出的均值为image ,方差为image (5):

 

通过对式(4)的分析,可以洞察到以下东西:

1)对于t的预测分布的标准差image可看作平均值image的误差条(an error bar)

2)有两个东西对误差条有贡献:

      a)目标数据的内部噪声image,对应于第一项image 。当噪声很大时,image 小,噪声项起绝对作用,如下面左图所示

      b)网络权重后验概率分布image的宽度,对应于第二项。当噪声小时,此后验的方差起绝对作用。

image 图1                               image 图2

 

 

到此,越发佩服贝叶斯技术了吧,它不仅给出一个最佳的预测输出,同时给出输出的误差条。实践中,可以利用两步来计算此误差条:

1)通过最小化正则化的误差函数S(W)求出image

2)计算赫森阵A,带入式(5),得到误差条

 

1.贝叶斯回归案例

考虑一个单输入-单输出的例子:

1)30个数据点,生成自image ,附带标准差为0.05的高斯加性噪声

2)x抽样自a Gaussian mixture distribution having two wellseparated components

3)采用多参感知器,隐藏4个神经元,激励函数为tanh

4)权重先验为image ,参数imageimage 来自an on-line re-estimation procedure

利用前面介绍的误差条计算方法可以生成如下图形,其中实线为权重image对应网络的输出,虚线为image (利用式5计算)误差。

注意:输入空间中数据密度低的地方,误差条较宽

                 image 图3

2.广义线性网络

对于单层网络,当输出单元是线性时,网络映射是权重的线性函数。这样的模型可表达为 image

 

当输出采用高斯噪声模型,权重采用高斯先验时,总误差函数为image

 

网络输出为(未近似)image

 

赫森矩阵通过外积表示为image

 

网络输出分布的表达高斯积分形式image

posted on 2010-11-09 15:40  Tony Ma  阅读(606)  评论(0编辑  收藏  举报