In this project, we present several algorithms that infers a Bayesian network that explains the observed data naturally (maximizing p(Model | Data)) by using Stochastic Gradient Langevin Dynamics MCMC, thermodynamic integration and generalized importance sampling. Here, we assumed that Bayesian network has a fixed graph topology and unobserved random variables (interestingly this assumption makes the model more general).