## A Programming Paradigm for Machine Learning, with a Case Study of Bayesian Networks.

### Lloyd Allison,

ACSC2006, pp.103-111, January 2006.

**Abstract**:
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,
functional programming,
Haskell,
minimum length encoding,
statistical models,
Bayesian networks.

**[paper.pdf]**,
[paper.ps] or
pdf@[acm.org]['06].

Also see [JFP05].