What is machine learning?
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 &quot;interesting patterns&quot; 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 &quot;How many samples do we need to approximately compute this function with a certain error?&quot;.
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!).