Chapitre 4.2.2
Le machine learning
Dans le chapitre précédent, nous avons vu que les systèmes experts des années 70 reposaient sur des règles
écrites à la main par des humains. Le machine learning, ou apprentissage automatique, renverse complètement cette logique.
Au lieu de dire à la machine comment résoudre un problème, on lui montre des exemples
et on la laisse trouver les règles par elle-même.
C'est un changement de paradigme fondamental.
Apprendre par l'exemple
Prenons un exemple concret : tu veux détecter les avis clients frauduleux sur un site d'e-commerce. Des vendeurs peu scrupuleux publient de faux avis positifs pour booster leurs produits.
Approche classique avec des règles
Tu demandes aux développeurs de coder des filtres. Chaque comportement suspect augmente un score.
- L'avis contient plus de 3 points d'exclamation.
- Le compte a été créé il y a moins de 24h.
- L'avis contient les mots "meilleur produit du monde".
Ça fonctionne au début. Puis les fraudeurs s'adaptent, il faut ajouter sans cesse de nouvelles règles. Six mois plus tard, tu as 200 règles qui se contredisent, des faux positifs partout et un système que plus personne ne comprend.
Approche machine learning
Tu rassembles des milliers d'avis que tu as déjà classés comme étant vrais ou faux. Tu fournis ces exemples à un algorithme de machine learning. L'algorithme analyse tous ces avis, identifie des schémas que tu n'aurais jamais trouvés toi-même (des combinaisons subtiles de longueur, de vocabulaire, d'heure de publication, de comportement du compte...) et produit un modèle capable de prédire si un nouvel avis est probablement frauduleux.
Le vocabulaire essentiel
Le machine learning a son propre jargon. Voici les termes que tu croiseras le plus souvent :
- Donnée d'entraînement (training data) : l'ensemble des exemples qu'on fournit à l'algorithme pour qu'il apprenne. Plus il y a de données de qualité, meilleur sera le modèle. C'est le carburant du machine learning.
- Modèle : le résultat de l'apprentissage. C'est une sorte de "cerveau entraîné" capable de faire des prédictions sur de nouvelles données qu'il n'a jamais vues. Quand on parle de "déployer un modèle en production", on parle de mettre ce cerveau entraîné à disposition des utilisateurs.
- Entraînement (training) : le processus pendant lequel l'algorithme analyse les données et ajuste ses paramètres internes pour minimiser ses erreurs. Ça peut prendre quelques secondes ou plusieurs semaines selon la complexité du problème et le volume de données.
- Prédiction (inférence) : une fois le modèle entraîné, on l'utilise pour faire des prédictions sur de nouvelles données. Cet avis est-il frauduleux ? Ce client va-t-il se désabonner ? Quel prix fixer pour cet appartement ?
- Feature (variable, caractéristique) : chaque information qu'on donne au modèle pour l'aider à faire ses prédictions. Pour prédire le prix d'un appartement : la surface, le nombre de pièces, l'étage, le quartier, la proximité du métro... Chacune de ces informations est une feature.
- Label (étiquette) : la "bonne réponse" associée à chaque exemple d'entraînement. L'avis est "vrai" ou "faux". L'appartement s'est vendu à tel prix. Le client s'est effectivement désabonné. C'est ce qu'on demande au modèle d'apprendre à prédire.
Les trois grandes familles
Derrière le terme machine learning se cachent plusieurs approches. Les trois principales sont :
L'apprentissage supervisé
C'est la forme la plus courante et la plus intuitive.
On fournit à l'algorithme des exemples accompagnés de la bonne réponse.
"Voici 10 000 emails. Pour chacun, je t'indique si c'est un spam. Apprends à faire la différence."
L'algorithme cherche les caractéristiques qui distinguent les spams des emails légitimes.
Une fois entraîné, il peut prédire si un nouvel email est un spam.
On appelle ça "supervisé" parce que les données d'entraînement sont annotées par un humain qui joue le rôle de professeur.
Il existe deux grands types de problèmes supervisés :
- La classification : prédire une catégorie. Spam ou pas spam ? Avis vrai ou faux ? Ce client va-t-il acheter, hésiter ou partir ? La photo contient-elle un chat ou un chien ?
- La régression : prédire une valeur numérique. Quel sera le prix de cet appartement ? Combien de produits allons-nous vendre ce mois-ci ? Quel est le revenu probable de ce prospect ?
L'apprentissage supervisé fait partie du quotidien des équipes data modernes. Score de risque anti-fraude, prédiction de désabonnement, estimation du lifetime value d'un client...
L'apprentissage non supervisé
Ici, pas de bonne réponse fournie à l'avance. On donne des données brutes à l'algorithme et on lui demande
de trouver par lui-même des structures cachées.
"Voici l'historique d'achat de 50 000 clients. Trouve des groupes de clients qui se ressemblent."
L'algorithme pourrait alors identifier des segments que tu n'avais pas imaginés :
les acheteurs du dimanche soir, les chasseurs de promotions, les clients fidèles à une seule marque,
ceux qui achètent toujours par lot de trois...
On appelle ça "non supervisé" parce qu'il n'y a pas de professeur.
L'algorithme explore les données sans savoir ce qu'il cherche.
Les techniques les plus courantes :
- Le clustering (regroupement) : créer des groupes homogènes. Très utilisé en marketing pour la segmentation de clientèle, la personnalisation de campagnes ou l'identification de personas.
-
La réduction de dimensionnalité : simplifier des données complexes pour les rendre exploitables
ou visualisables.
Ces techniques compressent l'information en gardant l'essentiel et ce qui a le plus de valeur.
Par exemple, imagine une base de données clients décrits par 50 variables : âge, revenu, fréquence d'achat, panier moyen, catégories préférées, canal d'acquisition, taux de retour... Visualiser ces clients dans un espace à 50 dimensions est impossible.
Une "Analyse en Composantes Principales", une technique mathématique de réduction de dimensionnalité, peut réduire ces 50 variables à 2 ou 3 composantes principales qui capturent la majorité des différences entre les profils. On peut alors représenter chaque client comme un simple point sur un graphique 2D et voir apparaître naturellement des groupes : clients premium réguliers, acheteurs occasionnels, chasseurs de promotions... On ne crée pas d'information, on la condense pour révéler sa structure. - La détection d'anomalies : identifier des comportements qui sortent du lot. Un achat inhabituel sur une carte bancaire, une machine qui vibre différemment dans une usine, un pic de trafic suspect sur un serveur.
L'apprentissage par renforcement
Il n'y a ni exemples étiquetés, ni données brutes à explorer.
À la place, un agent interagit avec un environnement et apprend par essai-erreur.
Un agent est simplement un programme informatique qui observe une situation,
prend une décision et agit dans le but d'atteindre un objectif.
Imagine un jeu vidéo. L'agent joue des milliers de parties. Quand il gagne des points,
il est "récompensé". Quand il en perd, il est "pénalisé". Petit à petit, il apprend quelle stratégie maximise
ses récompenses.
C'est exactement comme ça que DeepMind (Google) a créé AlphaGo, le programme qui a battu le champion du monde de Go en 2016.
Le programme a d'abord étudié des millions de parties jouées par des humains,
puis il a joué contre lui-même des millions de fois supplémentaires, affinant sa stratégie à chaque partie.
L'apprentissage par renforcement est aussi utilisé dans la robotique (par exemple pour apprendre à un robot à marcher),
la conduite autonome, l'optimisation de prix en temps réel ou encore l'entraînement des modèles de langage
comme ChatGPT et Claude (nous y reviendrons dans le chapitre sur l'IA générative).
Le cycle de vie d'un projet de machine learning
Un projet de machine learning peut prendre des années. Il est composé d'étapes qui, si elles ne sont pas respectées, peuvent produire un modèle de mauvaise qualité :
-
Définir le problème : qu'est-ce qu'on cherche à prédire ou à comprendre ?
Exemple : prédire quels clients vont se désabonner dans les 30 prochains jours. - Collecter et préparer les données : c'est l'étape qui prend le plus de temps. Rassembler les données depuis différentes sources, les nettoyer (valeurs manquantes, erreurs, doublons), les transformer dans un format exploitable. Les data scientists estiment passer 60 à 80% de leur temps sur cette étape.
- Choisir et entraîner un modèle : sélectionner un algorithme adapté au problème, l'entraîner sur les données et ajuster ses paramètres. C'est la partie la plus technique.
- Évaluer : mesurer la performance du modèle sur des données qu'il n'a jamais vues pendant l'entraînement. Est-il suffisamment précis ? Fait-il trop d'erreurs ?
- Déployer et surveiller : mettre le modèle en production pour qu'il traite de vraies données. Puis le surveiller dans le temps, car les données du monde réel évoluent et le modèle peut devenir obsolète.
Ce cycle est rarement linéaire. On fait des allers-retours permanents entre les étapes.
Le premier modèle est souvent décevant. Il faut itérer : enrichir les données, essayer d'autres algorithmes,
reformuler le problème...
C'est pour ça que les projets de machine learning sont difficiles à estimer en temps.
Les pièges classiques
- Pas assez de données : un modèle entraîné sur 50 exemples ne sera jamais fiable. Selon le problème, il en faut des milliers voire des millions. Et pas n'importe lesquelles : des données de qualité, représentatives de ce que le modèle rencontrera en production.
- Des données biaisées : un modèle reproduit et amplifie les biais présents dans ses données d'entraînement. Si tu entraînes un modèle de recrutement sur l'historique des embauches d'une entreprise qui a historiquement favorisé certains profils, le modèle reproduira ces discriminations. C'est arrivé à Amazon en 2018 : leur outil de tri de CV pénalisait les candidatures féminines parce que les données d'entraînement reflétaient dix ans de biais de recrutement.
- L'overfitting (surapprentissage) : le modèle apprend les données d'entraînement par cœur au lieu de comprendre les schémas généraux. C'est comme un étudiant qui mémorise les réponses de l'examen blanc sans comprendre le cours : il aura 20/20 sur l'examen blanc mais échouera à l'examen réel. C'est l'un des problèmes les plus courants en machine learning.
- Confondre corrélation et causalité : un modèle peut détecter que les ventes de glaces et les noyades augmentent en même temps. Il pourrait conclure que manger des glaces provoque des noyades. En réalité, les deux sont causées par un facteur commun : la chaleur estivale. Un modèle trouve des corrélations, pas des causes. L'interprétation reste humaine.
- L'effet boîte noire : beaucoup de modèles, surtout les plus puissants, sont difficiles à interpréter. Le modèle prédit qu'un client va se désabonner, mais pourquoi ? C'est difficile de bâtir une stratégie de rétention si tu ne peux pas l'expliquer. Certains secteurs, comme la banque et l'assurance, exigent même légalement de pouvoir expliquer les décisions automatisées.
Les algorithmes les plus connus
Sans entrer dans les mathématiques, voici les noms que tu croiseras le plus souvent :
-
Régression linéaire / logistique : les modèles les plus simples.
Ils cherchent une relation simple et proportionnelle entre les variables d’entrée et la prédiction.
Simples, rapides, faciles à interpréter, ce sont souvent le premier modèle qu'on teste.
Par exemple, pour prédire le prix d'un appartement, une régression linéaire pourrait apprendre une formule du type :
prix = 3 200 × surface + 15 000 × nombre_de_pieces - 8 000 × etage_sans_ascenseur + constante.
Chaque coefficient est appris automatiquement à partir des ventes passées. Le modèle ne crée pas une règle du type "si surface > 80 m2, alors prix élevé", il ajuste simplement des poids numériques pour approcher au mieux la réalité.
Dans le cas d'une régression logistique, on ne prédit plus un prix, mais une probabilité. Par exemple, la probabilité qu'un avis soit frauduleux :
probabilité = 0.8 si le texte est court, publié la nuit et contient un vocabulaire excessif.
La sortie n'est pas "vrai ou faux", mais un score entre 0 et 1 qui permet ensuite de prendre une décision. - Arbres de décision : le modèle construit un arbre de questions. "Le client a-t-il plus de 2 ans d'ancienneté ? Si oui : a-t-il contacté le support ce mois-ci ? Sinon : risque faible." Très lisibles et faciles à expliquer.
- Random Forest et Gradient Boosting : des améliorations qui combinent des centaines ou des milliers d'arbres de décision pour obtenir des prédictions plus fiables.
- Réseaux de neurones : des modèles inspirés du fonctionnement biologique du cerveau. Plus complexes, plus puissants, mais aussi plus gourmands en données et en puissance de calcul. C'est d'eux que découle le deep learning, sujet du prochain chapitre.
Le choix de l'algorithme dépend du problème, du volume de données et du besoin d'explicabilité.
En entreprise, un modèle simple qui tourne depuis deux ans en production est souvent plus précieux
qu'un modèle sophistiqué qui n'a jamais été déployé.
L'outil ne fait pas le résultat. Ce qui fait la différence, c'est la qualité des données,
la clarté du problème posé et la rigueur du processus. Un bon data scientist passe plus de temps
à comprendre le métier qu'à optimiser des algorithmes.
