How to implement Bayesian Neural Network to get error bars in model predictions
2 views (last 30 days)
I have written a customized neural network code. I am able to run it and was also able to do model predictions.
Now, I am looking for how can we implement Bayesian method in Neural Networks. By this I mean, how to give inputs to the network with its standard deviation so that when we check model's Regression plots after training, we would get error bars on each fitted data point in those Regression plots. What I know of Bayesian Networks is that it actually trains several models and with probabilistic weights making more robust way of getting best models. This makes more sense as claiming that only one single neural network model cannot be the best, so various committees of model will make us reach more generalized one.
I am attaching my code, Input data file and the output using Bayesian Neural Network. I got this Bayesian Neural Network output from the literature. I am expecting the same to get using powerful MATLAB provision.
Filename Data_3.xlsx is the Input file
Filename trial_1.m is the Customized Neural Network Code
Filename Predicted_vs_Target.PNG is the Bayesian output from the literature, and I am looking to get such same output through MATLAB.
I will be very much grateful and hope for getting solution.
Vineet Joshi on 8 Dec 2021
Currently we are not supporting Bayesian Neural Networks. I have brought this issue to the notice of the concerned people and it might be considered for a future release.
Meanwhile, you can use an ensemble of Neural Networks to achive a similar result and get error bars in model predictions. Not exactly same to a BNN but will also results in a robust model which can give the error in predictions.
Hope this helps.