Main Page | See live article | Alphabetical index

# Minimum message length

Minimum message length is a formal information theory restatement of Occam's Razor: even when models are not equal, the one generating the shortest overall message is more likely to be correct.

From Shannon's Mathematical Theory of Communication (1949) we know that in an optimal code, the message length of an event E, MsgLen(E), where E has probability P(E), is given by MsgLen(E) = −log2(P(E)).

From Bayes' theorem we know that the probability of a hypothesis (H) given evidence (E) is proportional to P(E|H) P(H), which is just P(H & E). We want the model with the highest such probability.

Therefore, we want the model which generates the shortest description of the data! Since MsgLen (H & E) = −log2(P(H & E)), the most probable model will have the shortest such message. The message breaks into two parts: −log2(P(H & E)) = −log2(P(H)) + −log2(P(E|H)). The first is the length of the model, and the second is the length of the data, given the model.

So what? MML naturally and precisely trades model complexity for goodness of fit. A more complicated model takes longer to state (longer first part) but probably fits the data better (shorter second part). So an MML metric won't choose a complicated model unless that model pays for itself.