Imagine teaching a child to recognize a cat: you don't dictate a list of rules ("four legs, whiskers, two pointy ears"), you show them many cats until they generalize. Machine Learning works the same way: instead of writing an explicit program, we feed an algorithm data, and it learns the underlying patterns on its own.
Learning from data, not rules
Classical programming follows the logic rules + data answers. ML flips this paradigm: data + answers rules (a model). In practice, the algorithm tunes internal parameters to minimize an error between its predictions and reality. This error is measured by a loss function that we try to reduce:
$$\min_{\theta} \; \frac{1}{n} \sum_{i=1}^{n} \mathcal{L}\big(f_\theta(x_i),\, y_i\big)$$
where $\theta$ are the parameters, $f_\theta$ the model, $x_i$ the inputs and $y_i$ the expected outputs.
The three main families
| Family | Data | Goal | Example |
|---|---|---|---|
| Supervised | labeled | predict a known output | detect spam |
| Unsupervised | unlabeled | find hidden structure | segment customers |
| Reinforcement | rewards | learn by trial and error | control a robot |
The core challenge: generalization
The goal is not to memorize the training examples, but to predict well on unseen data. A model that "learns by heart" suffers from overfitting; one that is too simple suffers from underfitting. Striking the balance is the central art of the field.
ML does not conjure intelligence by magic: it extracts statistical regularity. The quality of the data always outweighs the sophistication of the algorithm.