Inductive Inference


  #it's not
  ver.1.0 (.hs)
  ver.1.1 (.hs)
  IP 1.2+(.hs)

Also see:

The project is to form a "theory" (or prelude or semantics or model(!)) of `programming with "statistical models" from AIDMIIMLSI', using Haskell as the analytical tool.

The project aims are, in order of priority:

  1. Understand and formally define exactly what "statistical models" (i.e. the products[1] of AIDMIIMLSI[2]) really are from a programming point of view, that is how do they behave, what can be done to each one, and how can two or more be combined?
  2. Develop
    1. (polymorphic) types and type-classes to define "statistical models", and
    2. a useful set of operators (functions, combinators, methods) to act on them,
    i.e. a prelude (library).
  3. Dismember and reconstruct a few representative, important and well-known "statistical models" from AIDMIIMLSI and, while doing so,
    1. add generality, and
    2. make a broad claim to being realistic.
  4. Eventually, encode as much as possible of AIDMIIMLSI in a convenient, compact library while adding lightness and generality.

[1] E.g. Mixture-modelling (unsupervised classification, clustering), classification- (decision-) trees (supervised classification, expert systems), or Bayesian/ causal networks/ models, etc..

[2] Definition: AIDMIIMLSI = artificial-intelligence/ data-mining/ inductive-inference/ machine-learning/ statistical-inference/ etc., call it what you will, i.e. somewhere between the intersection and union of these areas. ( ~ Super Thunder Sting Car Ray Bird -- Pete & Dud.)

Note that the getting of understanding is the primary aim, and it could, for example, be used to (i) design better components for an existing AIDMIIMLSI platform, (ii) design a better AIDMIIMLSI platform, or even (iii) build a serious platform in Haskell, but these other things are secondary not primary aims.


  This exercise is to artificial-intelligence/ data-mining/ inductive-inference/ machine-learning/ statistical-inference  
as PreludeList (map, fold, zip, ...) is to list-processing Imagine yourself in the late 1950s or the early 1960s developing Lisp (McCarthy et al), or APL (Iverson), or similar. NB. PreludeList now has 40+ years of experience behind it!
parser combinators parsing  
the mathematical semantics of Algol-60 (Moses 1974) the programming language Algol-60 Understanding of Algol-60 compared to other languages.
  function is to functional- programming  
as statistical model is to <what?>- programming, perhaps 'inductive- programming'? The term I.P. was suggested by Charles Twardy (2004).

other "possible" approaches
approach why not
Create a new language for machine learning A lot of work. Hard to maintain, 'port, etc.. Unlikely to improve on Haskell's notion of value and type (although a simplified, specialised subset might be a "goer"). Don't create languages without good reasons.
1-1 translate some existing AIDMIIMLSI platform directly into Haskell, say. Might be useful but does not aid understanding.

the project is not primarily about... ...because
Any particular application area or problem instance of AIDMIIMLSI (if it was it might use R,  rather)  it is about understanding what AIDMIIMLSI could be.
Software Engineering although it has aspects of a software engineering job on AIDMIIMLSI.
Stamp (i.e. model) collecting no way, but it is about understanding the machinery that allows stamps to be produced, and generalized.
Haskell Haskell is "just" a good tool. But it is curious that there is no built-in [class Function], or [class Pair], etc..



Terminology is a problem. Just consider the many uses of the words "model" and "class" in computing, mathematics and statistics.

window on the wide world:

Computer Science Education Week

free op. sys.
free office suite,
ver 3.4+

~ free photoshop
web browser
like it says!

© L. Allison   (or as otherwise indicated),
Faculty of Information Technology (Clayton), Monash University, Australia 3800 (6/'05 was School of Computer Science and Software Engineering, Fac. Info. Tech., Monash University,
was Department of Computer Science, Fac. Comp. & Info. Tech., '89 was Department of Computer Science, Fac. Sci., '68-'71 was Department of Information Science, Fac. Sci.)
Created with "vi (Linux + Solaris)",  charset=iso-8859-1,  fetched Saturday, 30-May-2015 10:25:25 EST.