finding regularities in data, and the best hypothesis to describe the regularities in data is also the one that is able to statistically compress the data most. Like other statistical methods, it can be used for learning the parameters of a model using some data. Usually though, standard statistical methods assume that the general form of a model is fixed. MDL's main strength is that it can also be used for selecting the general form of a model and its parameters. The quantity of interest (sometimes just a model, sometimes just parameters, sometimes both at the same time) is called a hypothesis. The basic idea is then to consider the (lossless) two-stage code that encodes data with length by first encoding a hypothesis in the set of considered hypotheses and then coding "with the help of" ; in the simplest context this just means "encoding the deviations of the data from the predictions made by : The achieving this minimum is then viewed as the best explanation of data . As a simple example, take a regression problem: the data could consist of a sequence of points , the set could be the set of all polynomials from to . To describe a polynomial of degree (say) , one would first have to discretize the parameters to some precision; one would then have to describe this precision (a natural number); next, one would have to describe the degree (another natural number), and in the final step, one would have to describe parameters; the total length would be . One would then describe the points in using some fixed code for the x-values and then using a code for the deviations . In practice, one often (but not always) uses a probabilistic model. For example, one associates each polynomial with the corresponding conditional distribution expressing that given , is normally distributed with mean and some variance which could either be fixed or added as a free parameter. Then the set of hypotheses reduces to the assumption of a linear model, , with a polynomial. Furthermore, one is often not directly interested in specific parameters values, but just, for example, the degree of the polynomial. In that case, one sets to be where each represents the hypothesis that the data is best described as a j-th degree polynomial. One then codes data given hypothesis using a one-part code designed such that, whenever