# Is there any domain where Bayesian Networks outperform neural networks?

Neural networks get top results in Computer Vision tasks (see MNIST, ILSVRC, Kaggle Galaxy Challenge). They seem to outperform every other approach in Computer Vision. But there are also other tasks:

I'm not too sure about ASR (automatic speech recognition) and machine translation, but I think I've also heard that (recurrent) neural networks (start to) outperform other approaches.

I am currently learning about Bayesian Networks and I wonder in which cases those models are usually applied. So my question is:

Is there any challenge / (Kaggle) competition, where the state of the art are Bayesian Networks or at least very similar models?

(Side note: I've also seen decision trees, 2, 3, 4, 5, 6, 7 win in several recent Kaggle challenges)

• It's not a question of domain. It's a question of how much data you have, how good your priors are, and whether you want posteriors. – Emre Jan 17 '16 at 18:22
• @Emre Which is a question of domain... (and, of course, of money when you have the possibility to not only use existing datasets but can also hire people to create / label new data). – Martin Thoma Jan 17 '16 at 18:26
• It would be a question of domain if there were some property of the data, some structure, that one algorithm took advantage of better than the other, but that is not what I am suggesting. – Emre Jan 17 '16 at 19:16
• So the answer to your question is then, No. Right? Because all answers seem to point the advantages of Bayesian Networks over other predictive models, but I have not seen any Kaggle competition where they actually outperform other models. Can anyone provide one? Because all the reasons and possible advantages, e.g. the lack of enough data and choosing good priors, given in the answers seem great in theory, but still do not answer the question by providing, at least, one example. – MNLR Apr 26 '18 at 8:57
• One thing that it Bayesian networks can be useful for unsupervised learning/tasks where the amount of data is relatively limited. Neural networks only outperform others when there is massive amount of data to be trained on. – xji Jul 4 '18 at 19:12

One of the areas where Bayesian approaches are often used, is where one needs interpretability of the prediction system. You don't want to give doctors a Neural net and say that it's 95% accurate. You rather want to explain the assumptions your method makes, as well as the decision process the method uses.

Similar area is when you have a strong prior domain knowledge and want to use it in the system.

Bayesian networks and neural networks are not exclusive of each other. In fact, Bayesian networks are just another term for "directed graphical model". They can be very useful in designing objective functions neural networks. Yann Lecun has pointed this out here: https://plus.google.com/+YannLeCunPhD/posts/gWE7Jca3Zoq.

One example.

The variational auto encoder and derivatives are directed graphical models of the form $$p(x) = \int_z p(x|z)p(z) dz.$$ A neural networks is used to implemented $p(x|z)$ and an approximation to its inverse: $q(z|x) \approx p(z|x)$.

• Can the two parts be trained jointly? – nn0p Jul 28 '16 at 14:50
• Yes, that's what's typically done. – bayer Nov 23 '19 at 22:11
• @bayer Not sure who to ask - do Bayesian networks encompass node PDFs in a way that neural networks cannot (or have e.g. assume Gaussians/delta-functions)? – jtlz2 Jan 6 '20 at 11:10
• @bayer PS Link is dead – jtlz2 Jan 6 '20 at 11:11
• Neural networks are just a computational architecture, they can represent anything. The link is dead because Google shutdown Plus. I don't have the quote anymore, sorry. – bayer Jan 13 '20 at 7:04

Sometimes you care as much about changing the outcome as predicting the outcome.

A neural network given enough training data will tend to predict the outcome better, but once you can predict the outcome, you then may wish to predict the effect of making changes in the input features on the outcome.

An example from real life, knowing that someone is likely to have a heart attack is useful, but being able to tell the person that if they stopped doing XX, the risk would reduce by 30% is of much greater benefit.

Likewise for customer retention, knowing why customers stop shopping with you, is worth as much as predicting the customers that are likely to stop shopping with you.

Also a simpler Bayesian Network that predicts less well but leads to more action being taken may often be better than a more “correct” Bayesian Network.

The biggest advantage of Bayesian networks over neural networks is that they can be used for causal inference . This branch is of fundamental importance to statistics and machine learning and Judea Pearl has won the Turing award for this research.

• But neural networks can also be used to determine the role and importance of different features, right? – Hossein Aug 31 '19 at 12:50
• Importance, sure, role, not really. A non-Bayesian NN essentially learns correlations between features and the output values. This is not sufficient to prove there's a direct causal link. – jkm Feb 29 '20 at 22:56

One domain which I can think of, and is working extensively in, is the customer analytics domain.

I have to understand and predict the moves and motives of the customers in order to inform and warn both the customer support, the marketing and also the growth teams.

So here, neural networks do a really good job in churn prediction, etc. But, I found and prefer the Bayesian networks style, and here are the reasons for preferring it:

1. Customers always have a pattern. They always have a reason to act. And that reason would be something which my team has done for them, or they have learnt themselves. So, everything has a prior here, and in fact that reason is very important as it fuels most of the decision taken by the customer.
2. Every move by the customer and the growth teams in the marketing/sales funnel is cause-effect. So, prior knowledge is vital when it comes to converting a prospective lead into a customer.

So, the concept of prior is very important when it comes to customer analytics, which makes the concept of Bayesian networks very important to this domain.

Suggested Learning:

Bayesian Methods for Neural Networks