A computer program that improves its performance with experience.
Supervised learning problems have labelled output examples.