I noticed that _populate_m_u_from_trained_values() takes the median independently for each comparison level.
This can produce a final vector that no longer sums to one, even though every individual EM estimate does. For example, three valid estimates:
[0.90, 0.05, 0.05]
[0.05, 0.90, 0.05]
[0.05, 0.05, 0.90]
give level-wise medians of [0.05, 0.05, 0.05], which sum to 0.15.
Obviously this is an extreme example, but I encountered this in a one of my pipelines, with final m vectors summing to 0.735 and 0.787.
I am not sure if this is intentional, or acceptable for other reasons, but I wondered whether the final vector should be normalised, or at least produce a warning when it is materially different from one, hinting to a possibly degenerate training
I noticed that
_populate_m_u_from_trained_values()takes the median independently for each comparison level.This can produce a final vector that no longer sums to one, even though every individual EM estimate does. For example, three valid estimates:
give level-wise medians of
[0.05, 0.05, 0.05], which sum to 0.15.Obviously this is an extreme example, but I encountered this in a one of my pipelines, with final m vectors summing to 0.735 and 0.787.
I am not sure if this is intentional, or acceptable for other reasons, but I wondered whether the final vector should be normalised, or at least produce a warning when it is materially different from one, hinting to a possibly degenerate training