time | Calls | line |
---|
| | 100 | function [o, i] = MoGEM(o, samples)
|
< 0.01 | 9 | 101 | log_likelihood_prev = 0.0;
|
< 0.01 | 9 | 102 | for i = 1:o.C.MAX_EM_ITERATIONS
|
2.37 | 900 | 103 | pdfs = pdfs_from_samples(o, samples);
|
0.36 | 900 | 104 | weights = weights_from_pdfs(o, pdfs);
|
2.80 | 900 | 105 | o = maximization(o, weights, samples);
|
| | 106 |
|
0.05 | 900 | 107 | samplewise_total = sum(pdfs,1);
|
0.08 | 900 | 108 | log_likelihood = sum(log((samplewise_total>0) .* samplewise_total));
|
< 0.01 | 900 | 109 | if i >= o.C.MIN_EM_ITERATIONS && abs((log_likelihood_prev-log_likelihood) / log_likelihood) <= o.C.EM_EPSILON
|
< 0.01 | 4 | 110 | break;
|
| | 111 | end
|
< 0.01 | 896 | 112 | log_likelihood_prev = log_likelihood;
|
< 0.01 | 896 | 113 | end
|
< 0.01 | 9 | 114 | end
|
Other subfunctions in this file are not included in this listing.