Bayes nets and neural networks have things in common - for example they are both directed graphical models. So it should be possible to model a neural network in Infer.NET.

What we are trying to estimate is the weights for each node that connects to the nodes of the next layer. Nodes can be random variables whose distribution gives us the weights between the nodes in the ANN. Activation function must be set somewhere.

So the idea is to set the input and output as observed and then perform probabilistic inference on the layers and thus infer the best parameters for these nodes (these random variables).

Once we have these we can apply the model to new inputs (Observed) and infer (in top to bottom direction) to predict the output. Supposedly the output is a random variable where we say >0.5 is class 1 and <0.5 is class 2.

Is the above correct and can somebody actually implement it?