What is the definition of machine learning? What are the advantages of machine learning?
2 Answers
What is machine learning?
Machine learning (ML) has been defined by multiple people in similar (or related) ways.
Tom Mitchell, in his book Machine Learning (1997), defines an ML algorithm/program (or machine learner) as follows.
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 is a quite reasonable definition, given that it describes algorithms such as gradient descent, Q-learning, etc.
In his book Machine Learning: A Probabilistic Perspective (2012), Kevin P. Murphy defines the machine learning field/area as follows.
a set of methods that can automatically detect patterns in data, and then use the uncovered patterns to predict future data, or to perform other kinds of decision making under uncertainty (such as planning how to collect more data!)
Without referring to algorithms or the field, Shai Shalev-Shwartz and Shai Ben-David define machine learning as follows
The term machine learning refers to the automated detection of meaningful patterns in data.
In all these definitions, the core concept is data or experience. So, any algorithm that automatically detects patterns in data (of any form, such as textual, numerical, or categorical) to solve some task/problem (which often involves more data) is a (machine) learning algorithm.
The tricky part of this definition, which often causes a lot of misconceptions about what ML is or can do, is probably automatically: this does not mean that the learning algorithm is completely autonomous or independent from the human, given that the human, in most cases, still needs to define a performance measure (and other parameters, including the learning algorithm itself) that guides the learning algorithm towards a set of solutions to the problem being solved.
As a field, ML could be defined as the study and application of ML algorithms (as defined by Mitchell's definition).
Sub-categories
Murphy and many others often divide machine learning into three main sub-categories
supervised learning (or predictive), where the goal is to learn a mapping from inputs $\textbf{x}$ to outputs $y$, given a labeled set of input-output pairs
unsupervised learning (or descriptive), where the goal is to find "interesting patterns" in the data
reinforcement learning, which is useful for learning how to act or behave when given an occasional reward or punishment signals
However, there are many other possible sub-categories (or taxonomies) of machine learning techniques, such as
- deep learning (i.e. the use of neural networks to approximate functions and related learning algorithms, such as gradient descent) or
- probabilistic machine learning (machine learning techniques that provide uncertainty estimation)
- weakly supervised learning (i.e. SL where labeling information may not be completely accurate)
- online learning (i.e. learning from a single data point at a time rather than from a dataset of multiple data points)
These sub-categories can also be combined. For example, deep learning can be performed online or offline.
Related fields
There is also a related field known as computational (or statistical) learning theory, which concerned with the theory of learning (from a computational and statistical point of view). So, in this field, we are interested in questions like "How many samples do we need to approximately compute this function with a certain error?".
Of course, given that machine learning is a set of algorithms and techniques that are data- or experience-driven, one may wonder what the difference between machine learning and statistics is. In fact, in many cases, they are very similar and ML adopts many statistical concepts, and you may even read on the web that machine learning is just glorified statistics. ML and statistics often tackle the same problem, but from a different perspective or with slightly different approaches (and the terminology may slightly change from one field to the other). If you are interested in a more detailed explanation of their difference, you could read Statistics versus machine learning (2018) by Danilo Bzdok et al.
What is machine learning good for?
ML can potentially be used to (at least partially) automate tasks that involve data and pattern recognition, which were previously performed only by humans (e.g. translation from one human language, such as English, to another, such as Italian). However, machine learning cannot automate all tasks: for example, it cannot infer causal relations from the data (which often must be done by humans), unless you include causal inference as part of machine learning. If you are interested in causal inference, you could take a look at the paper Causal Inference by Judea Pearl (Turing Award for his work in causal inference!).
Here's a definition by Tom Mitchel (1997):
Computer program is said to learn from experience E with respect to some task T and some performance measure P, if its performance on T, as measured by P, improves with experience E.
So, the programmer gives some instructions/rules to the computer, so that it can learn how to solve the problem from the given examples by themselves.
In some tasks, the computer can perform better than humans. For example, the Dota 2 bot (made by OpenAI) defeated the world champion.
With machine learning, many cases can be automated. They also have the ability to improve solutions by learning the given data from time to time. It can process and analyze large data well.
Machine learning already applied in many fields such as machine translation in google translate and face recognition that is widely used by today's society for security.