Further extensions to the presented data specifications might involve
so-called polymorphic types. These are essentially types that
accept type parameters. This allows us to greatly modularize data
specifications. For example, instead of specifying missing values as in
section 4.1, we could define a polymorphic type for them that
looks as follows:
data Optional Value = Missing | Observed Value
Then we could quickly create new definitions allowing missing values for arbitrary other types, e.g. some type T, by just writing Optional T, thus greatly simplifying large, complex specifications that consist of similar data patterns.
So far we have avoided speaking about numerical values. Of course, adding support for those will be mandatory for many real-world applications. However, instead of just adding this special case, why not add support for inducing functions over abstract datatypes? By providing signatures of (possibly even many-sorted) algebras, whose objects may be but are not limited to numbers, and that define arbitrary operators on them (e.g. trigonometric functions, matrix operations, set operations, etc.), we could induce arbitrary programs. This would then not only cover classification tasks but also regression and many others.
Efficiently inducing recursive functions, ones which can operate on recursively defined data, is a very challenging task. Most attempts have failed due to the pervasiveness of non-termination issues, which arise from general recursion. However, results from category theory27 about certain higher-order functions (fold and unfold), which can be automatically derived from type definitions involving algebraic datatypes, seem promising28: they allow limiting the class of functions to be induced to certain recursion classes, e.g. the primitive recursive functions, which always terminate29.
The author wishes to thank Gerhard Widmer for comments on an earlier draft.
This research is supported by the project “A New Modular Architecture for Data Mining (P12645-INF)”, financed by the Austrian Fonds zur Förderung der wissenschaftlichen Forschung (FWF) of the Austrian Federal Ministry for Education, Science, and Culture. The Austrian Research Institute for Artificial Intelligence acknowledges basic financial support from the Austrian Federal Ministry for Education, Science, and Culture.