Pattern recognition is the study of methods and algorithms for putting data objects into categories. While classical pattern recognition techniques are rooted in statistics and decision theory, the machine learning paradigm is commonly used to design practical systems.
Machine learning is a method of programming computers where, instead of designing the algorithm to explicitly perform a given task, the machine is programmed to learn from an incomplete set of examples. There are several different machine learning paradigms, such as the naive Bayes rule, artificial neural networks, genetic algorithms, and decision tree learning.
Data mining is the extraction of 'nuggets' of information from structured databases. Algorithms for data mining have a close relationship to methods of pattern recognition and machine learning. Information extraction is the task of processing unstructured data, such as free-form documents, Web-pages and e-mail, so as to extract named entities such as people, places, organizations, and their relationships.