disp train; runs = 10; best_lik = -inf; converge_ratio = 2e-5; likhist = zeros(1,100); for run = 1:runs eminit; lambda_init = lambda; psi_init = psi; step = 0; em; if newlik > best_lik best_lik = newlik; best_lambda_init = lambda_init; best_lambda = lambda; best_psi_init = psi_init; best_psi = psi; best_step = step; best_likhist = likhist(1:step); end disp(run); end clear best_lik; lambda_init = best_lambda_init; clear best_lambda_init; lambda = best_lambda; clear best_lambda; psi_init = best_psi_init; clear best_psi_init; psi = best_psi; clear best_psi; step = best_step; clear best_step; mid_step = step; likhist = best_likhist; clear best_likhist; converge_ratio = converge_ratio / 10; em; clear newlik oldlik;