如何将不确定性传播到神经网络的预测中?

时间:2015-10-24 21:29:35

标签: machine-learning neural-network

我的输入x_1, ..., x_n已知1-sigma不确定性e_1, ..., e_n。我正在使用它们来预测经过训练的神经网络上的输出y_1, ..., y_m。如何在预测中获得1-sigma不确定性?

我的想法是随机扰动每个输入x_i,正常噪声的平均值为0,标准差为e_i很多次(比如10000),然后取中位数和标准差每个预测y_i。这有用吗?

我担心这只会考虑"随机"错误(来自测量)而不是"系统的"错误(来自网络),即,每个预测固有地具有一些错误,在该方法中没有考虑。如何在我的预测中正确获得1-sigma误差条?

2 个答案:

答案 0 :(得分:0)

您可以在此处对“抖动”(随机样本的生成)带来的神经网络优化进行一般性分析http://wojciechczarnecki.com/pdfs/preprint-ml-with-unc.pdf 简而言之 - 抖动只是网络权重的正规化。

对于错误栏,你应该参考Will Penny的作品 http://www.fil.ion.ucl.ac.uk/~wpenny/publications/error_bars.ps http://www.fil.ion.ucl.ac.uk/~wpenny/publications/nnerrors.ps

答案 1 :(得分:0)

对。该方法仅考虑了数据的不确定性(假设您在应用噪声时不适合神经网络)。附带说明一下,在使用神经网络拟合数据时,您也可以应用混合密度网络(请参阅许多教程之一)。

更重要的是,为了解决模型不确定性,您应该应用贝叶斯神经网络。你可以开始例如蒙特卡洛退学。同样有趣的是,这项工作在使用蒙特卡洛辍学时执行无采样推理

https://arxiv.org/abs/1908.00598

这项工作明确使用了通过神经网络进行的错误传播,对您来说应该非常有趣!

最佳