Machine learning is a subfield of computer science (CS)
and artificial intelligence (AI)
that deals with the construction and study of systems
that can learn from data,
rather than follow only explicitly programmed instructions.
Besides CS and AI, it has strong ties to
statistics and optimization,
which deliver both methods and theory to the field.
Machine learning is employed in a range of computing tasks where designing and programming explicit, rule-based algorithms is infeasible.
Example applications include spam filtering, optical character recognition (OCR), search engines and computer vision.
Machine learning, data mining, and pattern recognition are sometimes conflated.
Machine learning tasks can be of several forms.
In supervised learning, the computer is presented with example inputs and their desired outputs, given by a “teacher”,
and the goal is to learn a general rule that maps inputs to outputs.
Spam filtering is an example of supervised learning.
In unsupervised learning,
no labels are given to the learning algorithm,
leaving it on its own to groups of similar inputs
(clustering), density estimates orprojections of high-dimensional data that can be visualised effectively.
Unsupervised learning can be a goal in itself
(discovering hidden patterns in data)
or a means towards an end.
Topic modeling is an example of unsupervised learning,
where a program is given a list of human language documents
and is tasked to find out which documents cover similar topics.
In reinforcement learning,
a computer program interacts with a dynamic environment
in which it must perform a certain goal
(such as driving a vehicle),
without a teacher explicitly telling it whether it has come close to its goal or not.
In 1959, Arthur Samuel defined machine learning as a “Field of study that gives computers the ability to learn without being explicitly programmed”.
Tom M. Mitchell provided a widely quoted, more formal definition:
"A computer program is said to learn from experience E
with respect to some class of tasks T
and performance measure P,
if its performance at tasks in T, as measured by P,
improves with experience E”.
This definition is notable for its defining machine learning in fundamentally operational rather than cognitive terms,
thus following Alan Turing's proposal in Turing's paper
“Computing Machinery and Intelligence”
that the question “Can machines think?”
be replaced with the question “Can machines do what we (as thinking entities) can do?”
A core objective of a learner is to generalize from its experience.
Generalization in this context is the ability of a learning machine
to perform accurately on new, unseen tasks
after having experienced a learning data set.
The training examples come from some generally unknown probability distribution (considered representative of the space of occurrences)
and the learner has to build a general model
about this space
that enables it to produce sufficiently accurate predictions in new cases.
These two terms are commonly confused, as they often employ the same methods and overlap significantly.
They can be roughly defined as follows:
1. Machine learning focuses on prediction,
based on known properties learned
from the training data.
2. Data Mining focuses on the discovery of (previously)unknown properties in the data.
This is the analysis step of Knowledge Discovery in Databases.
The two areas overlap in many ways:
data mining uses many machine learning methods, but often with a slightly different goal in mind.
On the other hand,
machine learning also employs data mining methods
as “unsupervised learning”
or as a preprocessing step
to improve learner accuracy.
Some machine learning systems attempt to eliminate the need for human intuition in data analysis,
while others adopt a collaborative approach between human and machine