Inductive programming is a new machine learning paradigm which combines
functional programming for writing statistical models and
information theory to prevent overfitting.
Type-classes specify general properties that models must have.
Many statistical models, estimators and operators have polymorphic types.
Useful operators combine models, and estimators, to form new ones;
Functional programming's compositional style of programming is
a great advantage in this domain.
Complementing this, information theory provides a compositional measure of
the complexity of a model from its parts.
Missing Person Bayes Net
Inductive programming is illustrated by a case study of Bayesian networks.
Networks are built from
classification- (decision-) trees.
Trees are built from partitioning functions and
models on data-spaces.
Trees, and hence networks, are general as a natural consequence of the method.
Discrete and continuous variables, and missing values are
handled by the networks.
Finally the Bayesian networks are
applied to a challenging data set on lost persons.
Keywords: inductive inference,
minimum length encoding,
Also see [JFP05].