Bayesian Confidence Propagation Neural Network