Comprendre l’intelligence artificielle et le machine learning : guide simple et complet
L’intelligence artificielle (IA) est partout aujourd’hui : reconnaissance d’images, recommandations Netflix, filtres TikTok, assistants vocaux, voitures autonomes… Pourtant, la plupart des techniques derrière ces outils restent floues.
Ce guide a pour objectif de t’expliquer, sans jargon technique, les grandes notions utilisées en machine learning (apprentissage automatique). Tu n’as pas besoin de savoir programmer ni d’aimer les maths. On va utiliser des analogies du quotidien, des histoires simples et des exemples concrets.
À la fin, tu ne seras peut-être pas data scientist, mais tu comprendras enfin ce qu’on raconte quand on parle de :
- features (caractéristiques)
- arbres de décision, random forest
- SVM, réseaux neuronaux
- apprentissage supervisé / non supervisé
- cross-validation, grid search, métriques
- analyse de texte, bag of words
1. Qu’est-ce qu’une “feature” (caractéristique) ?
Avant de parler d’IA, il faut comprendre ce qu’elle mange. Une IA ne mange pas des images, des maisons ou des emails directement. Elle mange des nombres, organisés sous forme de features.
1.1 Intuition : comment un humain prend une décision ?
Imagine que tu dois décider si tu veux louer un appartement. Tu vas naturellement regarder :
- la surface (m²)
- le loyer mensuel (€)
- l’étage
- la présence d’un ascenseur
- la distance à ton travail
Tu ne prends pas ta décision en disant juste “c’est un appartement”. Tu analyses ses caractéristiques (= ses features).
1.2 Les features pour une machine
La machine fait pareil, mais tout doit être transformé en nombres. Par exemple, pour une maison :
- surface : 92 m² ?
92 - nombre de chambres : 3 ?
3 - année de construction : 2010 ?
2010 - ville : Paris ? convertie en nombre (par exemple un code)
On n’envoie jamais une maison “brute” au modèle. On envoie un tableau de nombres qui représente ses caractéristiques.
1.3 Autres exemples de features
- Pour détecter un spam : nombre de mots, présence de certains mots (“gratuit”, “gagner”…), longueur du sujet, etc.
- Pour reconnaître un chiffre écrit à la main : les intensités de chaque pixel de l’image.
- Pour prédire si un client va partir : ancienneté, montant dépensé, fréquence des achats, nombre de plaintes…
Tout le travail d’un bon modèle commence par de bonnes features. C’est comme cuisiner : si les ingrédients sont mauvais, même le meilleur chef fera un plat bof.
2. Les algorithmes de classification les plus connus
Un problème de classification, c’est quand on veut prédire une catégorie :
- Ce mail est-il un spam ou non spam ?
- Ce client est-il satisfait ou insatisfait ?
- Cette transaction est-elle frauduleuse ou normale ?
On va voir quelques familles d’algorithmes qui font ce travail de “tri”.
2.1 Régression linéaire / classification linéaire
Imagine un graphique avec des points bleus et des points rouges. Un modèle “linéaire” essaie de trouver une ligne droite qui sépare au mieux les deux couleurs.
Pour une prédiction, il regarde de quel côté de la ligne se trouve le nouveau point :
- Côté bleu ? classe bleue
- Côté rouge ? classe rouge
En régression, on ne sépare pas en catégories, on essaie de prédire une valeur continue (par exemple un prix). Le modèle dessine alors une droite qui passe au milieu des points pour “approcher” les prix.
Forces :
- Très rapide à entraîner
- Facile à interpréter (on voit l’effet de chaque feature)
- Fonctionne bien quand les relations sont “à peu près linéaires”
Faiblesses :
- Ne sait pas gérer des relations très complexes
- Peut donner des réponses trop simplistes sur des problèmes compliqués
2.2 KNN – K Nearest Neighbors (K plus proches voisins)
KNN, c’est l’algorithme “demande l’avis de tes voisins”.
Scénario :
- On a plein de fruits : pommes, oranges, bananes, chacun représenté par des features (poids, couleur, taille).
- On reçoit un nouveau fruit inconnu.
- On regarde les K fruits les plus proches de lui (par exemple les 5 plus proches).
- Si parmi ces 5 fruits, 4 sont des pommes ? on classe ce fruit comme “pomme”.
On ne cherche pas de formule complexe, on se contente de regarder les voisins.
Forces :
- Très simple à comprendre
- Pas d’apprentissage complexe : on garde juste les données
Faiblesses :
- Lent si on a beaucoup de données (il faut tout comparer)
- Sensible à l’échelle des features (une feature très grande peut tout dominer)
- Il faut choisir K : 3 voisins ? 5 ? 10 ?
2.3 Bernoulli Naive Bayes (surtout pour le texte)
Naive Bayes est un modèle probabiliste. La version “Bernoulli” considère chaque feature comme vrai/faux (présent/absent).
Pour un email, on peut se demander par exemple :
- Le mot “gratuit” est-il présent ? Oui / Non
- Le mot “facture” est-il présent ? Oui / Non
- Le mot “promo” est-il présent ? Oui / Non
Le modèle apprend, à partir d’exemples, que certains mots apparaissent plus souvent dans les spams et d’autres dans les emails normaux.
Forces :
- Très rapide, même sur de grandes quantités de texte
- Simple à mettre en place
- Fonctionne étonnamment bien pour la détection de spam, la classification d’articles, etc.
Faiblesses :
- Les hypothèses sont très simplificatrices (“naive”)
- Ignore les relations complexes entre mots (l’ordre des mots, les nuances…)
3. Les arbres de décision
Un arbre de décision, c’est comme une série de questions “oui/non” qui te mène à une conclusion.
Exemple : prédire le prix d’une maison (simplement)
- Q1 : La surface est-elle supérieure à 80 m² ?
- Si NON ? plutôt “Maison abordable”
- Si OUI ? Q2 : La maison est-elle en centre-ville ?
- Si OUI ? “Maison chère”
- Si NON ? Q3 : La maison a-t-elle un jardin ?
- Si OUI ? “Maison milieu de gamme”
- Si NON ? “Maison plutôt abordable”
Chaque question correspond à une feature, et à la fin du chemin, on arrive à une prédiction.
3.1 Comment l’arbre est construit ? (intuition)
L’algorithme construit automatiquement cet arbre à partir des données. Il recherche :
- Quelle première question sépare le mieux les exemples ?
- Ensuite, parmi les sous-groupes, quelles questions permettent de mieux les préciser ?
C’est un peu comme si tu construisais un “arbre de décision” pour trier tes emails :
- Le mail contient-il “facture” ?
- Est-il envoyé par ton entreprise ?
- Est-ce que le sujet contient “URGENT” ?
Forces :
- Très facile à expliquer à un humain
- Peut gérer des données numériques et catégorielles (oui/non, rouge/bleu…)
Faiblesses :
- Peut “sur-apprendre” en créant des règles trop spécifiques
- Sensible aux petites variations dans les données (un nouvel exemple peut changer l’arbre)
3.2 Ensembles d’arbres (Ensemble of decision trees)
Idée : plutôt que de se fier à un seul arbre, on en construit plusieurs et on les fait voter.
C’est comme consulter plusieurs médecins au lieu d’un seul :
- Chacun a des données légèrement différentes.
- Chacun construit son propre arbre.
- Ils donnent tous un avis.
- Tu prends la décision finale selon la majorité.
3.3 Random Forest
Une random forest est précisément une forêt d’arbres de décision.
Pour chaque arbre, l’algorithme :
- prend un échantillon aléatoire des données,
- prend un sous-ensemble aléatoire des features,
- construit un arbre complet.
Pour prédire, tous les arbres “votent”, et la forêt donne un résultat global (majorité).
Forces :
- Très bonne performance sur beaucoup de problèmes réels
- Moins de risque de sur-apprentissage qu’un seul arbre
- Gère bien les données mixtes (nombres + catégories)
Faiblesses :
- Plus difficile à interpréter qu’un seul arbre
- Plus lourd en calcul
4. SVM – Support Vector Machines (et kernels)
Le SVM cherche la frontière qui sépare au mieux deux classes, mais avec une particularité : il veut une frontière qui laisse le maximum de marge entre les deux groupes.
Intuition : imagine deux groupes de personnes dans une cour. Tu dois tracer une ligne au sol pour les séparer, et tu veux que la ligne soit le plus loin possible des personnes des deux groupes. Comme ça, même si quelqu’un bouge un peu, il reste du bon côté.
Les kernels permettent au SVM de considérer des transformations des données, pour tracer des frontières courbées dans l’espace d’origine.
Forces :
- Très performant sur des jeux de données de taille moyenne
- Peut gérer des frontières très complexes (avec kernels)
Faiblesses :
- Beaucoup de paramètres à régler
- Moins adapté aux très grands volumes de données
5. Réseaux neuronaux
Un réseau neuronal est une structure d’algorithmes inspirée (de loin) par le cerveau humain : il y a des “neurones” artificiels connectés entre eux.
On les utilise pour des tâches où les relations entre les données sont très complexes :
- reconnaître un visage sur une photo,
- comprendre la parole,
- traduire automatiquement un texte,
- jouer à des jeux (échecs, Go…).
5.1 Perceptron
Le perceptron est la version la plus simple : un seul neurone.
Il reçoit plusieurs entrées (features), fait un calcul simple (une sorte de moyenne pondérée), et renvoie une décision : par exemple “oui” ou “non”.
5.2 Multilayer Perceptron (MLP)
Si un neurone seul est limité, on peut en empiler plusieurs en couches :
- une couche d’entrée (features)
- une ou plusieurs couches “cachées”
- une couche de sortie (prédiction)
Chaque neurone combine les informations des neurones précédents, ce qui permet de représenter progressivement des motifs plus complexes.
5.3 Deep Neural Networks (réseaux profonds)
Lorsqu’on ajoute beaucoup de couches, on parle de deep learning (apprentissage profond).
C’est cette famille de modèles qui alimente une grande partie des IA modernes (vision par ordinateur, grands modèles de langage, etc.).
Forces :
- Très puissants sur des problèmes complexes
- Automatisent en partie la découverte de bonnes features
Faiblesses :
- Demandent beaucoup de données
- Peu interprétables (on sait qu’ils marchent, mais difficile de savoir “pourquoi” précisément)
- Coût de calcul élevé
6. Scikit-learn : la boîte à outils du machine learning classique
Scikit-learn est une bibliothèque Python très populaire qui regroupe les algorithmes “classiques” de machine learning.
Elle fournit :
- les modèles (KNN, arbres, random forest, SVM, régressions…)
- les outils pour transformer les données (scaling, encodage…)
- les outils pour évaluer la qualité (métriques)
- des pipelines, des grid search pour tester plusieurs réglages facilement
C’est un peu le “couteau suisse” du data scientist débutant ou intermédiaire.
7. predict_proba et decision_function : quelle est la certitude du modèle ?
Quand un modèle prédit quelque chose, on ne veut pas seulement savoir “spam / pas spam”. On veut aussi savoir à quel point il est sûr de lui.
7.1 predict_proba : probabilité de chaque classe
Cette méthode retourne une probabilité pour chaque classe :
- “Probabilité spam : 0,87 (87%)”
- “Probabilité non spam : 0,13 (13%)”
En fonction de ton application, tu peux décider qu’un mail est “spam” à partir de 80%, 90%… Tu peux donc ajuster le curseur entre “prudence” et “agressivité”.
7.2 decision_function : distance à la frontière
Au lieu de donner une probabilité, certains modèles donnent un score qui représente à quel point un exemple est éloigné de la frontière de décision.
Plus le score est :
- positif et grand ? plus le modèle est sûr que c’est “positif”,
- négatif et grand en valeur absolue ? plus il est sûr que c’est “négatif”,
- proche de 0 ? zone de doute.
C’est utile pour :
- identifier les cas ambigus,
- ne pas prendre de décision automatique si le modèle hésite trop,
- demander une validation humaine sur les cas limites.
8. Underfitting : quand le modèle est trop simple
L’underfitting, c’est quand le modèle n’arrive pas à apprendre la structure des données, parce qu’il est trop simple.
Analogie :
Tu essaies de résumer un roman compliqué avec une seule phrase : “C’est une histoire d’amour.”
Oui, peut-être, mais tu as raté 90% de l’histoire (les rebondissements, les personnages, les thèmes).
En machine learning, un modèle en underfitting :
- a de mauvaises performances sur les données d’entraînement,
- a aussi de mauvaises performances sur les données de test,
- fait des erreurs “grossières”.
La solution ? Utiliser un modèle plus complexe, ajouter des features, ou laisser plus de flexibilité.
9. Apprentissage non supervisé : Unsupervised Learning
Jusqu’ici, on a parlé d’apprentissage supervisé : on donne des exemples AVEC la bonne réponse (par exemple : “ce mail est un spam”, “ce mail n’est pas un spam”).
En apprentissage non supervisé, on n’a pas la réponse. On demande simplement au modèle :
“Regarde les données et trouve des structures cachées.”
9.1 Clustering : regrouper ce qui se ressemble
Le clustering, c’est regrouper des éléments qui se ressemblent entre eux.
Exemples :
- Regrouper des clients selon leurs comportements d’achat.
- Regrouper des articles de presse selon leurs thématiques.
- Regrouper des produits selon les profils d’acheteurs.
Problème : on ne sait pas à l’avance combien il y aura de groupes, ni comment ils seront.
9.2 DBSCAN : un clustering particulier
DBSCAN est un algorithme de clustering qui trouve des “amas” de points dans les données, en repérant où il y a de la densité.
Il a deux idées :
- Les points qui ont beaucoup de voisins proches font partie d’un cluster.
- Les points isolés sont considérés comme des anomalies (outliers).
Forces :
- Capable de trouver des groupes de formes arbitraires (pas seulement ronds ou bien séparés)
- Détecte les points “bizarres” (anomalies)
Faiblesses :
- Il faut bien choisir ses paramètres (distance, nombre de voisins)
- Peut mal fonctionner si la densité varie beaucoup selon les zones
10. Feature Engineering : l’art de préparer les données
Le feature engineering, c’est l’art de transformer les données brutes en features utiles pour le modèle.
C’est là que se joue une bonne partie de la performance d’un système de machine learning.
10.1 Exemples de transformations simples
- Convertir une date (“2023-01-15”) en :
- année : 2023
- mois : 1
- jour de la semaine : 0–6
- jour de l’année : 15
- Convertir une catégorie (ville = “Paris”, “Lyon”) en chiffres (via des encodages).
- Mettre à la même échelle des valeurs très différentes (ex : euros vs mètres).
10.2 Exemple : site e-commerce
Tu as l’historique d’un client :
- dates d’achats
- montant de chaque commande
- type de produits achetés
Tu peux créer des features comme :
- nombre total de commandes
- dépense moyenne par commande
- temps écoulé depuis le dernier achat
- variété de catégories achetées
Ces nouvelles features peuvent beaucoup mieux décrire le comportement du client qu’une liste brute de transactions.
11. Cross-validation : bien évaluer un modèle
Pour savoir si un modèle est bon, on ne peut pas seulement le tester sur les données sur lesquelles il a appris, sinon on risque de se faire illusions (il a peut-être simplement mémorisé).
La cross-validation consiste à :
- Diviser les données en plusieurs “blocs” (par exemple 5 blocs).
- Entraîner le modèle sur 4 blocs et le tester sur le bloc restant.
- Répéter l’opération en changeant le bloc de test.
- Moyenner les résultats.
Ça donne une estimation plus fiable de la performance du modèle.
12. Grid Search : tester automatiquement différents réglages
Les modèles ont des “boutons” à régler, qu’on appelle des hyperparamètres.
Exemples :
- Le nombre de voisins pour KNN.
- La profondeur maximale d’un arbre de décision.
- Le nombre d’arbres dans une random forest.
Grid Search consiste à :
- Définir une grille de valeurs possibles (ex : nombre d’arbres = 50, 100, 200).
- Tester toutes les combinaisons possibles.
- Mesurer la performance via cross-validation.
- Choisir la combinaison qui marche le mieux.
C’est long pour la machine, mais complètement automatique.
13. Metrics : comment mesurer la qualité d’un modèle
Une fois qu’on a un modèle, il faut répondre à une question simple : “Est-ce qu’il marche bien ?”
Pour ça, on utilise des métriques.
13.1 Accuracy (taux de bonnes réponses)
C’est le pourcentage de prédictions correctes.
Exemple : sur 100 emails, le modèle en classe 92 correctement ? accuracy = 92%.
Attention : si les classes sont déséquilibrées (ex : 99 mails normaux, 1 spam), un modèle qui dit “jamais spam” aura 99% d’accuracy, mais ne servira à rien.
13.2 Precision (précision)
Parmi tout ce que le modèle a marqué comme “positif”, combien sont réellement positifs ?
Exemple : le modèle dit que 10 emails sont des spams, mais seulement 8 le sont vraiment ? precision = 8/10 = 80%.
Utile quand on veut éviter les faux positifs (ne pas accuser à tort un email normal d’être un spam).
13.3 Recall (rappel, sensibilité)
Parmi tous les vrais positifs, combien le modèle en a-t-il détectés ?
Exemple : il y avait 20 spams, le modèle n’en a détecté que 15 ? recall = 15/20 = 75%.
Utile quand on veut éviter de louper des cas positifs (par exemple ne pas manquer des fraudes ou des maladies).
13.4 F1-Score
C’est une moyenne équilibrée entre precision et recall. Pratique quand on veut un compromis entre “ne pas accuser à tort” et “ne pas louper de cas”.
14. Pipelines : enchaîner les étapes proprement
Un projet de machine learning n’est pas juste “choisir un modèle”. C’est souvent :
- Préparer les données (nettoyage, normalisation, encodage…)
- Choisir un modèle
- Évaluer le résultat
Un pipeline permet de regrouper ces étapes en un seul objet cohérent.
Avantages :
- Moins d’erreurs (on oublie moins de transformations)
- Plus simple à réutiliser sur de nouvelles données
- Compatible avec Grid Search (on peut tester plusieurs combinaisons de transformations + modèles)
15. Travailler avec des données texte
Les ordinateurs ne comprennent pas le texte directement. Il faut donc convertir les mots en nombres.
15.1 Bag of Words (sac de mots)
Le modèle crée une sorte de dictionnaire de tous les mots rencontrés.
Pour chaque document (email, article, commentaire), on compte combien de fois chaque mot apparaît.
Exemple : phrase :
"Le chat mange une souris"
On obtient un vecteur :
le : 1 chat : 1 mange : 1 une : 1 souris : 1
Pour un autre texte, certains de ces mots seront présents, d’autres non, et leurs fréquences seront différentes.
C’est très simple, mais étonnamment efficace pour de nombreuses tâches :
- détection de spam
- classification d’articles (sport, politique, technologie…)
- analyse de sentiment (positif / négatif)
Des versions plus avancées existent (TF-IDF, embeddings, etc.), mais le Bag of Words constitue la base.
Conclusion : mettre tout ça ensemble
Tu as maintenant une vision beaucoup plus détaillée de ce qu’est le machine learning :
- Les features : les informations décrivant chaque objet.
- Les modèles classiques : régression, KNN, Naive Bayes, arbres, random forests, SVM.
- Les réseaux neuronaux : des modèles plus complexes, utilisés dans le deep learning.
- Les outils comme Scikit-learn pour orchestrer tout ça.
- Les notions de probabilité, certitude, metrics pour évaluer les modèles.
- Les concepts d’underfitting, de cross-validation, de grid search.
- Et la manière de traiter les données texte avec Bag of Words.
Tout cela te permet :
- de mieux comprendre les discussions sur l’IA,
- de lire des articles techniques sans te sentir complètement perdu,
- de commencer, si tu le souhaites, une formation plus pratique en ayant déjà les idées claires.
L’IA n’est pas de la magie : c’est une combinaison de données, de maths, de modèles et de bon sens. Avec une bonne pédagogie, elle devient accessible à tout le monde.