Learning with hidden variables – the EM algorithm