Variational bayesian learning for gaussian mixture models and hidden markov models