Why is Bayesian regularization backpropagation (Neural Network Toolbox) so very very slow?
4 views (last 30 days)
Show older comments
Empirically I've found with a challenging pattern recognition problem I'm working on, that Bayesian regularization backpropagation (trainbr) outperforms more standard tools such as trainlm, trainscg and trainrp by quite a bit. But, it takes an extraordinarily longer time to compute. In its original formulation (MacKay 1992), Bayesian regularization required calculation of the Hessian matrix, which is very computationally demanding, and would account for the long time. However, in Foresee 1997 (both works cited in Matlab doc for trainbr), an alternative was developed that claims to reduce the computational challenge to be similar to e.g. trainlm. This latter work is cited in the documentation, but is it implemented? Can I find a library somewhere that implements it? I'm pretty confident that trainbr as implemented in the Neural Network Toolbox requires calculation of the Hessian, because it refuses to run on a GPU, identifying lack of support for inversion of the (related) Jacobian as the reason. But, I'd be happy to be educated on that.
2 Comments
Andrew Diamond
on 24 Jan 2018
did you ever ping matlab support on this? As they say, "Inquiring minds want to know."
Answers (2)
Greg Heath
on 28 Aug 2016
Use the command
type trainbr
Thank you for formally accepting my answer
Greg
Mustafa Sobhy
on 22 Aug 2019
Because It requires the computation of the Hessian matrix of the performance index.
Source: Gauss-Newton Approximation to Baysian Learning.
0 Comments
See Also
Categories
Find more on Sequence and Numeric Feature Data Workflows in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!