Intelligence artificielle et apprentissage automatique
Une version article du chapitre pour comprendre l'essentiel rapidement, vérifier si le niveau correspond, puis basculer vers Wilo pour la pratique guidée et le suivi.
Lecture
6 chapitres
Un parcours éditorialisé et navigable.
Pratique
12 questions
Quiz et cartes mémoire à ouvrir après la lecture.
Objectif
Terminale générale
Format rapide pour vérifier si le chapitre correspond.
Chapitre 1
Introduction à l'Intelligence Artificielle
Définition et histoire de l'IA
L'Intelligence Artificielle (IA) est un domaine de l'informatique qui vise à créer des machines capables de simuler l'intelligence humaine. Cela inclut des capacités comme l'apprentissage, la résolution de problèmes, la perception, la compréhension du langage et la prise de décision. Le but est de permettre aux machines d'effectuer des tâches qui, si elles étaient réalisées par des humains, nécessiteraient de l'intelligence.
L'histoire de l'IA est jalonnée de périodes d'enthousiasme (les "printemps de l'IA") et de déceptions (les "hivers de l'IA").
-
Années 1940-1950 : Fondations
- 1943 : McCulloch et Pitts proposent un modèle mathématique de neurones.
- 1950 : Alan Turing propose le Test de Turing pour évaluer la capacité d'une machine à montrer un comportement intelligent indiscernable de celui d'un humain.
- 1956 : Conférence de Dartmouth, où le terme "Intelligence Artificielle" est officiellement inventé par John McCarthy.
-
Années 1960-1980 : Premiers systèmes et "hivers de l'IA"
- Développement de systèmes experts (ex: DENDRAL, MYCIN).
- Limites dues à la puissance de calcul et la quantité de données disponibles.
-
Années 1990-2000 : Retour en force
- Développement de l'apprentissage automatique (Machine Learning).
- 1997 : Deep Blue d'IBM bat Garry Kasparov aux échecs.
-
Années 2010 à aujourd'hui : L'âge d'or de l'IA
- Explosion de l'apprentissage profond (Deep Learning) grâce à l'augmentation des données, de la puissance de calcul (GPU) et de nouveaux algorithmes.
- Applications dans la reconnaissance d'images, le traitement du langage naturel, les véhicules autonomes.
Les domaines d'application de l'IA sont vastes et en constante expansion : santé (diagnostic, découverte de médicaments), finance (prédiction boursière, détection de fraude), transport (véhicules autonomes), commerce (recommandations personnalisées), éducation, robotique, et bien d'autres.
Types d'IA et leurs capacités
On peut classer l'IA selon sa complexité et ses capacités.
-
IA faible (ou IA étroite/ANI - Artificial Narrow Intelligence) :
- C'est le type d'IA que nous connaissons aujourd'hui.
- Elle est conçue et entraînée pour une tâche spécifique et limitée.
- Exemples : les assistants vocaux (Siri, Google Assistant), les systèmes de recommandation, les IA de jeu (échecs, Go), la reconnaissance faciale.
- Elle n'a pas de conscience, de sentiments ou de véritable compréhension. Elle simule l'intelligence pour une tâche donnée.
-
IA forte (ou IA générale/AGI - Artificial General Intelligence) :
- C'est une IA hypothétique qui aurait la capacité de comprendre, d'apprendre et d'appliquer l'intelligence à n'importe quel problème, comme un être humain.
- Elle pourrait effectuer n'importe quelle tâche intellectuelle qu'un humain peut faire.
- Ce type d'IA n'existe pas encore.
Une autre classification, proposée par Arend Hintze, se base sur les niveaux de capacités de l'IA :
-
IA réactive :
- Le type d'IA le plus basique.
- Elle perçoit le monde et réagit à partir d'un ensemble prédéfini de règles.
- Elle n'a pas de mémoire et ne peut pas apprendre de ses expériences passées.
- Exemple : Deep Blue d'IBM, capable de jouer aux échecs mais sans capacité d'apprendre de ses adversaires pour améliorer son jeu futur.
-
Mémoire limitée :
- Ces IA peuvent utiliser des expériences passées pour informer leurs décisions futures, mais cette mémoire est de courte durée.
- Elles ne stockent pas ces expériences de manière permanente comme les humains.
- Exemple : les voitures autonomes, qui stockent les informations récentes sur la vitesse d'autres véhicules, la distance, etc., pour prendre des décisions immédiates.
-
Théorie de l'esprit :
- C'est une IA hypothétique qui serait capable de comprendre que les êtres humains ont des émotions, des croyances, des intentions et des désirs.
- Elle pourrait interagir socialement de manière plus sophistiquée en tenant compte de l'état mental des autres.
- C'est un pas vers l'IA forte.
-
Conscience de soi :
- Le niveau le plus élevé de l'IA, également hypothétique.
- Une IA avec conscience de soi aurait une conscience d'elle-même, elle comprendrait ses propres états internes, ses sentiments et ses désirs.
- C'est le Saint Graal de l'IA, encore très loin d'être atteint.
Enjeux éthiques et sociétaux de l'IA
Le développement rapide de l'IA soulève de nombreuses questions éthiques et sociétales cruciales. Il est essentiel de les considérer pour un déploiement responsable de ces technologies.
-
Biais algorithmiques :
- Les modèles d'IA apprennent à partir des données qui leur sont fournies. Si ces données sont biaisées (par exemple, reflétant des inégalités sociales ou des stéréotypes), l'IA reproduira et amplifiera ces biais.
- Exemple : un système de recrutement basé sur l'IA pourrait défavoriser certains genres ou origines si les données d'entraînement proviennent d'un historique de recrutement biaisé.
- Conséquence : renforcement des discriminations. Il est crucial de veiller à la diversité et à l'équité des jeux de données d'entraînement.
-
Confidentialité des données :
- L'IA nécessite souvent de grandes quantités de données personnelles pour fonctionner efficacement. Cela pose des défis majeurs en matière de protection de la vie privée.
- Comment garantir que les données sont collectées, stockées et utilisées de manière éthique et sécurisée ?
- Réglementations comme le RGPD (Règlement Général sur la Protection des Données) tentent d'encadrer ces pratiques.
- Risque : fuite de données, utilisation abusive des informations personnelles.
-
Impact sur l'emploi :
- L'automatisation et les capacités de l'IA peuvent remplacer certains emplois, en particulier les tâches répétitives ou routinières.
- Cela pourrait entraîner des pertes d'emplois dans certains secteurs et nécessiter une reconversion professionnelle massive.
- Cependant, l'IA crée aussi de nouveaux emplois (développeurs IA, éthiciens de l'IA, analystes de données) et améliore la productivité.
- Défi : Gérer la transition et assurer une répartition équitable des bénéfices de l'IA.
-
Responsabilité :
- Qui est responsable en cas d'erreur ou de dommage causé par un système d'IA autonome ? Le concepteur, l'utilisateur, l'opérateur ?
- Exemple : en cas d'accident impliquant une voiture autonome, la question de la responsabilité est complexe.
- Ce vide juridique nécessite une réflexion approfondie et l'établissement de cadres légaux clairs.
-
Transparence et explicabilité :
- Certains modèles d'IA, notamment les réseaux de neurones profonds, sont des "boîtes noires" : il est difficile de comprendre comment ils arrivent à leurs décisions.
- Ceci pose problème dans des domaines critiques comme la médecine ou la justice, où la compréhension des raisons d'une décision est essentielle.
- L'IA explicable (XAI - Explainable AI) est un domaine de recherche visant à rendre les décisions des IA plus compréhensibles pour les humains.
Chapitre 2
Principes de l'Apprentissage Automatique
Qu'est-ce que l'apprentissage automatique ?
L'apprentissage automatique (Machine Learning - ML) est une branche de l'intelligence artificielle qui permet aux systèmes d'apprendre à partir de données, d'identifier des motifs (patterns) et de prendre des décisions ou de faire des prédictions, sans être explicitement programmés pour chaque tâche.
L'idée fondamentale est la suivante : au lieu d'écrire des règles complexes pour chaque situation possible, on fournit à un algorithme une grande quantité de données d'entraînement. L'algorithme va alors "apprendre" de ces données pour construire un modèle. Une fois entraîné, ce modèle peut être utilisé pour faire des prédictions ou des classifications sur de nouvelles données jamais vues auparavant.
Prenons un exemple : Si vous voulez qu'un ordinateur reconnaisse un chat sur une photo, au lieu de lui donner des règles comme "un chat a des moustaches, des oreilles pointues, quatre pattes...", vous lui montrez des milliers de photos de chats (et de non-chats). Le modèle d'apprentissage automatique va alors découvrir les caractéristiques qui définissent un chat et pourra, par la suite, identifier les chats sur de nouvelles photos.
Les composants clés sont :
- Données d'entraînement : L'ensemble des informations (exemples) utilisées pour "éduquer" le modèle. Plus les données sont nombreuses et de bonne qualité, meilleur sera l'apprentissage.
- Modèle : C'est le résultat de l'apprentissage. Il s'agit d'une représentation mathématique ou algorithmique des relations découvertes dans les données.
- Prédiction/Classification : L'action de prendre une décision ou de prévoir une valeur pour de nouvelles données, en utilisant le modèle entraîné.
Types d'apprentissage
L'apprentissage automatique se divise en plusieurs catégories principales, selon la nature des données d'entraînement et la tâche à accomplir.
-
Apprentissage supervisé :
- Le plus courant.
- Les données d'entraînement sont "étiquetées" (ou "labellisées"), c'est-à-dire que pour chaque exemple d'entrée, la sortie correcte est connue et fournie à l'algorithme.
- L'algorithme apprend à mapper les entrées aux sorties correctes.
- Exemples :
- Classification : Prédire une catégorie discrète (ex: spam/non-spam, chat/chien, maladie/pas de maladie).
- Régression : Prédire une valeur continue (ex: prix d'une maison, température, nombre de ventes).
- Nécessite des données étiquetées, ce qui peut être coûteux et chronophage.
-
Apprentissage non supervisé :
- Les données d'entraînement ne sont pas étiquetées. L'algorithme doit trouver des structures cachées, des motifs ou des relations par lui-même.
- L'objectif est de comprendre la structure intrinsèque des données.
- Exemples :
- Clustering : Regrouper des données similaires en "clusters" (ex: segmentation de clientèle, regroupement de documents).
- Réduction de dimensionnalité : Simplifier les données en réduisant le nombre de caractéristiques tout en conservant l'information essentielle (ex: analyse en composantes principales - PCA).
- Utile quand l'étiquetage des données est impossible ou trop cher.
-
Apprentissage par renforcement :
- L'algorithme apprend en interagissant avec un environnement. Il reçoit des "récompenses" ou des "pénalités" en fonction de ses actions.
- L'objectif est de maximiser la récompense cumulée au fil du temps.
- Pas de données d'entraînement fixes ; l'apprentissage se fait par essais et erreurs.
- Exemples : Jeux (AlphaGo), robotique, systèmes de contrôle autonomes.
- C'est ainsi que les IA apprennent à jouer aux jeux vidéo ou à contrôler des robots.
-
Apprentissage semi-supervisé :
- Combine des aspects de l'apprentissage supervisé et non supervisé.
- Utilise un petit ensemble de données étiquetées et un grand ensemble de données non étiquetées.
- Utile lorsque l'étiquetage est coûteux mais que des données non étiquetées sont abondantes.
- L'algorithme peut utiliser les données non étiquetées pour améliorer sa compréhension de la structure des données et ainsi améliorer les performances obtenues uniquement avec les données étiquetées.
Phases d'un projet d'apprentissage automatique
Un projet d'apprentissage automatique suit généralement un cycle de vie bien défini, composé de plusieurs étapes clés.
-
Collecte et préparation des données :
- Collecte : Acquérir les données pertinentes pour le problème à résoudre. Cela peut impliquer des bases de données, des API, des capteurs, etc.
- Nettoyage : Gérer les données manquantes, les erreurs, les doublons, les valeurs aberrantes (outliers). C'est une étape cruciale car "garbage in, garbage out" (des données de mauvaise qualité mènent à un modèle de mauvaise qualité).
- Transformation/Feature Engineering : Convertir les données brutes en un format utilisable par l'algorithme. Créer de nouvelles caractéristiques (features) à partir des existantes pour améliorer la performance du modèle. Par exemple, transformer une date en jour de la semaine, mois, année.
- Normalisation/Standardisation : Mettre les caractéristiques à la même échelle pour éviter que certaines caractéristiques dominent d'autres.
- Division des données : Séparer les données en jeux d'entraînement, de validation et de test (voir section "Validation des modèles").
-
Choix du modèle :
- Sélectionner l'algorithme d'apprentissage automatique le plus approprié pour la tâche et le type de données.
- Ce choix dépend de la nature du problème (classification, régression, clustering), de la taille et de la structure des données, et des ressources disponibles.
- Exemples : Régression linéaire, Arbres de décision, Machines à vecteurs de support (SVM), Réseaux de neurones.
- Souvent, plusieurs modèles sont testés pour trouver le meilleur.
-
Entraînement et évaluation :
- Entraînement : L'algorithme apprend les motifs à partir du jeu de données d'entraînement. Le modèle ajuste ses paramètres internes pour minimiser l'erreur entre ses prédictions et les sorties réelles.
- Évaluation : Mesurer la performance du modèle sur des données qu'il n'a jamais vues, en utilisant le jeu de validation ou de test. Utiliser des métriques appropriées (précision, rappel, MSE, etc.) pour quantifier sa performance.
- Cette étape est itérative : on entraîne, on évalue, on ajuste les hyperparamètres (paramètres du modèle non appris des données) et on répète.
-
Déploiement :
- Une fois le modèle entraîné et validé avec une performance satisfaisante, il est mis en production.
- Cela signifie l'intégrer dans une application, un service web ou un système existant pour qu'il puisse faire des prédictions sur de nouvelles données en temps réel.
- Surveillance : Une fois déployé, le modèle doit être surveillé pour s'assurer qu'il continue de fonctionner correctement et que sa performance ne se dégrade pas au fil du temps (dérive des données ou du modèle). Un ré-entraînement peut être nécessaire.
Chapitre 3
Apprentissage Supervisé : Classification et Régression
Introduction à la classification
La classification est une tâche de l'apprentissage supervisé où l'objectif est de prédire une catégorie discrète (une étiquette de classe) pour une nouvelle donnée d'entrée. Le modèle apprend à partir d'un ensemble de données d'entraînement où chaque exemple est déjà associé à une classe.
- Définition : Attribuer une donnée à l'une des classes prédéfinies.
- Exemples d'applications :
- Détection de spam : Classer un e-mail comme "spam" ou "non-spam".
- Diagnostic médical : Classer un patient comme "malade" ou "sain" en fonction de symptômes.
- Reconnaissance d'images : Identifier si une image contient un "chat", un "chien" ou "autre".
- Analyse de sentiment : Déterminer si un texte exprime un sentiment "positif", "négatif" ou "neutre".
- Classes : Les catégories que le modèle doit prédire. Il peut y avoir deux classes (classification binaire) ou plus (classification multi-classes).
- Frontière de décision : C'est la limite hypothétique ou l'ensemble des règles qu'un modèle de classification utilise pour séparer les différentes classes dans l'espace des caractéristiques. Les points d'un côté de la frontière sont classés dans une catégorie, et les points de l'autre côté dans une autre.
Algorithmes de classification simples
Plusieurs algorithmes sont couramment utilisés pour la classification.
-
K plus proches voisins (K-Nearest Neighbors - KNN) :
- Un algorithme simple et non paramétrique.
- Pour classer une nouvelle donnée, il trouve les K données d'entraînement les plus proches (en termes de distance, souvent euclidienne) dans l'espace des caractéristiques.
- La classe de la nouvelle donnée est déterminée par la majorité des classes de ces K voisins.
- Exemple : Si K=3 et que parmi les 3 voisins les plus proches, 2 sont de classe A et 1 de classe B, la nouvelle donnée est classée en A.
- Avantages : Simple à comprendre et à implémenter.
- Inconvénients : Peut être lent pour de grands ensembles de données et sensible aux données bruitées. Le choix de K est crucial.
-
Arbres de décision :
- Un modèle qui ressemble à un organigramme.
- Il prend des décisions en posant une série de questions sur les caractéristiques des données. Chaque nœud de l'arbre représente une décision (un test sur une caractéristique), et chaque branche représente le résultat de cette décision. Les feuilles de l'arbre représentent les classes finales.
- Exemple : "Le patient a-t-il de la fièvre ?" Si oui, "A-t-il des maux de tête ?" etc.
- Avantages : Facile à interpréter (modèle explicable), gère bien les données non numériques.
- Inconvénients : Peut être sujet au surapprentissage et instable (petits changements dans les données peuvent changer l'arbre entier).
-
Machines à vecteurs de support (Support Vector Machines - SVM) :
- L'objectif des SVM est de trouver le meilleur hyperplan (une ligne en 2D, un plan en 3D, un hyperplan en dimensions supérieures) qui sépare les données en différentes classes, en maximisant la marge entre les classes.
- Les points les plus proches de l'hyperplan sont appelés "vecteurs de support".
- Avantages : Efficace dans les espaces de grande dimension, fonctionne bien même avec des ensembles de données de taille moyenne.
- Inconvénients : Peut être lent pour de très grands ensembles de données, sensible au bruit dans les données.
-
Régression logistique :
- Malgré son nom, la régression logistique est un algorithme de classification binaire.
- Elle utilise une fonction logistique (ou sigmoïde) pour estimer la probabilité qu'une instance appartienne à une classe donnée. Si la probabilité est supérieure à un certain seuil (souvent 0.5), elle est classée dans une classe, sinon dans l'autre.
- La fonction sigmoïde transforme n'importe quelle valeur réelle en une probabilité entre 0 et 1.
- Avantages : Simple, rapide, fournit des probabilités, bonne base pour la classification binaire.
- Inconvénients : Ne peut modéliser que des relations linéaires, moins performante sur des problèmes complexes.
Introduction à la régression
La régression est une autre tâche de l'apprentissage supervisé, où l'objectif est de prédire une valeur continue (numérique) plutôt qu'une catégorie discrète.
- Définition : Estimer une valeur numérique basée sur une ou plusieurs variables d'entrée.
- Prédiction de valeurs continues : La sortie est un nombre réel (ex: 10.5, 2000, -3.2).
- Exemples d'applications :
- Prédiction du prix d'une maison : En fonction de sa taille, de son emplacement, du nombre de chambres, etc.
- Prévision météo : Prédire la température de demain.
- Estimation des ventes : Prédire le nombre de produits vendus le mois prochain.
- Prédiction de la consommation d'énergie : En fonction de l'heure, de la saison, des conditions météorologiques.
- Droite de régression : Dans le cas le plus simple (régression linéaire simple), le modèle cherche à trouver la "meilleure" droite qui représente la relation entre la variable d'entrée (caractéristique) et la variable de sortie (cible).
Algorithmes de régression
-
Régression linéaire simple :
- Modélise la relation entre une seule variable d'entrée (indépendante) et une variable de sortie (dépendante) comme une ligne droite.
- L'équation est de la forme , où est la variable à prédire, est la variable d'entrée, est la pente et est l'ordonnée à l'origine.
- L'algorithme trouve les valeurs de et qui minimisent la somme des carrés des erreurs (la distance verticale entre les points de données réels et la ligne prédite).
- C'est le point de départ pour comprendre la régression.
-
Régression linéaire multiple :
- Une extension de la régression linéaire simple, qui utilise plusieurs variables d'entrée pour prédire la variable de sortie.
- L'équation devient , où est la variable à prédire, sont les variables d'entrée, et sont les coefficients (poids) pour chaque variable.
- L'objectif est toujours de trouver les coefficients qui minimisent l'erreur.
- Avantages : Simple à comprendre et à interpréter, bonne performance pour des relations linéaires.
- Inconvénients : Ne peut pas capturer des relations non-linéaires complexes.
-
Mesure de performance (RMSE, MAE) :
- Pour évaluer la qualité d'un modèle de régression, on utilise des métriques qui quantifient l'écart entre les valeurs prédites et les valeurs réelles.
- Erreur Quadratique Moyenne (Mean Squared Error - MSE) :
- est la valeur réelle, est la valeur prédite.
- Pénalise fortement les grandes erreurs.
- Racine Carrée de l'Erreur Quadratique Moyenne (Root Mean Squared Error - RMSE) :
- C'est la racine carrée du MSE. Elle est dans la même unité que la variable cible, ce qui la rend plus interprétable.
- Erreur Absolue Moyenne (Mean Absolute Error - MAE) :
- Mesure la moyenne des erreurs absolues. Moins sensible aux valeurs aberrantes que le MSE/RMSE.
- Un RMSE ou MAE faible indique un bon modèle.
-
Surapprentissage et sous-apprentissage :
- Ce sont des problèmes courants en apprentissage automatique.
- Surapprentissage (Overfitting) : Le modèle apprend trop bien les données d'entraînement, y compris le bruit et les particularités spécifiques de cet ensemble de données. Il performe très bien sur les données d'entraînement mais très mal sur de nouvelles données jamais vues. C'est comme un élève qui apprend par cœur sans comprendre.
- Cause : Modèle trop complexe pour les données, trop de caractéristiques, données d'entraînement insuffisantes.
- Solution : Simplifier le modèle, augmenter les données, régularisation.
- Sous-apprentissage (Underfitting) : Le modèle est trop simple et n'a pas réussi à capturer les relations sous-jacentes dans les données d'entraînement. Il performe mal aussi bien sur les données d'entraînement que sur les nouvelles données. C'est comme un élève qui n'a rien appris.
- Cause : Modèle trop simple, données d'entraînement insuffisantes ou de mauvaise qualité, caractéristiques non pertinentes.
- Solution : Rendre le modèle plus complexe, ajouter des caractéristiques, réduire la régularisation.
Chapitre 4
Apprentissage Non Supervisé : Clustering
Principes du clustering
Le clustering est une technique d'apprentissage non supervisé dont l'objectif est de regrouper des points de données similaires en ensembles appelés clusters. Contrairement à la classification, les données utilisées pour le clustering ne sont pas étiquetées, c'est-à-dire que le modèle ne sait pas à l'avance à quel groupe chaque donnée appartient. L'algorithme doit découvrir ces groupes par lui-même.
- Définition : Processus de regroupement d'un ensemble d'objets de telle sorte que les objets du même groupe (cluster) soient plus similaires les uns aux autres que ceux des autres groupes.
- Regroupement de données : L'algorithme identifie des structures ou des motifs intrinsèques dans les données pour former ces groupes.
- Absence d'étiquettes : C'est la caractéristique clé de l'apprentissage non supervisé. Il n'y a pas de "bonne réponse" prédéfinie pour chaque donnée.
- Exemples d'applications :
- Segmentation de clientèle : Regrouper les clients d'une entreprise en fonction de leur comportement d'achat pour des campagnes marketing ciblées.
- Bio-informatique : Regrouper des gènes ayant des fonctions similaires.
- Reconnaissance de motifs : Détection d'anomalies (par exemple, fraude) où les données anormales forment de petits clusters isolés.
- Organisation de documents : Regrouper des articles de presse par sujet sans avoir de catégories prédéfinies.
Algorithme K-Means
L'algorithme K-Means est l'une des méthodes de clustering les plus populaires pour sa simplicité et son efficacité.
- Fonctionnement de K-Means :
- Initialisation : Choisir le nombre de clusters
Kque l'on souhaite former. Choisir aléatoirementKpoints de données comme centres initiaux des clusters (appelés centroïdes). - Affectation : Chaque point de données est affecté au centroïde le plus proche. La distance la plus couramment utilisée est la distance euclidienne.
- Mise à jour : Les centroïdes sont recalculés. Chaque nouveau centroïde est la moyenne de tous les points de données qui lui ont été affectés.
- Itération : Les étapes 2 et 3 sont répétées jusqu'à ce que les centroïdes ne changent plus significativement, ou qu'un nombre maximal d'itérations soit atteint.
- Initialisation : Choisir le nombre de clusters
- Centres de clusters (centroïdes) : Ce sont les points représentant le "centre de gravité" de chaque cluster.
- Distance euclidienne : La distance entre deux points et est . En dimensions supérieures, la formule s'étend.
- Choix du nombre de clusters (méthode du coude) :
- Le choix de
Kest crucial et n'est pas toujours évident. - La méthode du coude (Elbow Method) est une technique heuristique courante. Elle consiste à exécuter K-Means pour différentes valeurs de
K(par exemple, de 1 à 10) et à calculer la somme des carrés des distances des points à leur centroïde (Inertie) pour chaqueK. - On trace ensuite un graphique de l'Inertie en fonction de
K. Le "coude" (point où la décroissance de l'Inertie ralentit brusquement) indique la valeur optimale deK. - Plus l'Inertie est faible, plus les points sont proches de leur centroïde, ce qui signifie des clusters plus compacts.
- Le choix de
Autres méthodes de clustering
Bien que K-Means soit populaire, d'autres algorithmes de clustering existent et sont adaptés à différentes structures de données ou problèmes.
-
Clustering hiérarchique :
- Construit une hiérarchie de clusters, généralement visualisée sous forme de dendrogramme.
- Il existe deux approches principales :
- Agglomérative (ascendante) : Chaque point de données commence comme son propre cluster. On fusionne ensuite les clusters les plus proches jusqu'à ce qu'un seul cluster contienne tous les points, ou qu'une condition d'arrêt soit remplie.
- Divisive (descendante) : Tous les points sont dans un seul cluster, puis on divise récursivement le cluster en sous-clusters.
- Avantages : Ne nécessite pas de spécifier le nombre de clusters à l'avance, permet de visualiser la structure hiérarchique.
- Inconvénients : Peut être coûteux en calcul pour de grands ensembles de données.
-
DBSCAN (Density-Based Spatial Clustering of Applications with Noise) :
- Un algorithme de clustering basé sur la densité.
- Il identifie des clusters comme des régions denses de points, séparées par des régions de faible densité. Il est capable de détecter des clusters de formes arbitraires et d'identifier les points aberrants (bruit).
- Nécessite deux paramètres :
eps(rayon autour d'un point) etMinPts(nombre minimal de points dans le rayonepspour qu'un point soit considéré comme un point central). - Avantages : Découvre des clusters de formes complexes, robuste au bruit.
- Inconvénients : Difficile de choisir les paramètres
epsetMinPts, ne fonctionne pas bien avec des densités de clusters très différentes.
-
Applications pratiques :
- Détection d'anomalies : Les points qui ne sont affectés à aucun cluster (dans DBSCAN) ou qui sont très éloignés de tous les centroïdes (dans K-Means) peuvent être considérés comme des anomalies.
- Compression d'images : Regrouper les couleurs similaires pour réduire la palette de couleurs d'une image.
- Organisation de données : Classer automatiquement des articles de journaux, des livres ou des résultats de recherche.
-
Évaluation de clusters :
- Puisqu'il n'y a pas d'étiquettes réelles, l'évaluation de la qualité d'un clustering est plus difficile que pour la classification.
- On utilise des métriques intrinsèques, qui mesurent la cohésion au sein des clusters (les points sont-ils proches les uns des autres ?) et la séparation entre les clusters (les clusters sont-ils distincts les uns des autres ?).
- Exemples de métriques :
- Coefficient de silhouette : Mesure à quel point un objet est similaire à son propre cluster par rapport aux autres clusters. Sa valeur varie de -1 à 1. Une valeur proche de 1 indique que l'objet est bien regroupé, proche de 0 indique qu'il est entre deux clusters, et négative indique qu'il est probablement dans le mauvais cluster.
- Indice de Davies-Bouldin : Mesure le rapport entre la dispersion intra-cluster et la séparation inter-cluster. Un score plus bas indique un meilleur clustering.
Chapitre 5
Réseaux de Neurones et Apprentissage Profond
Introduction aux réseaux de neurones
Les réseaux de neurones artificiels (RNA) sont des algorithmes d'apprentissage automatique inspirés par la structure et le fonctionnement du cerveau humain. Ils sont la base de l'apprentissage profond (Deep Learning).
-
Inspiration biologique : Le cerveau humain est composé de milliards de neurones interconnectés qui communiquent entre eux. Chaque neurone reçoit des signaux, les traite et transmet un nouveau signal s'il est suffisamment stimulé. Les RNA tentent de simuler ce processus.
-
Neurone artificiel (Perceptron) : C'est l'unité de base d'un réseau de neurones.
- Il reçoit une ou plusieurs entrées numériques.
- Chaque entrée est multipliée par un poids (), qui représente l'importance de cette entrée.
- Toutes les entrées pondérées sont additionnées, et un biais () est ajouté au résultat. La somme pondérée est .
- Le résultat est ensuite passé à travers une fonction d'activation (non-linéaire) qui détermine la sortie du neurone.
-
Couches (entrée, cachée, sortie) : Un réseau de neurones est organisé en couches de neurones.
- Couche d'entrée : Reçoit les données brutes. Le nombre de neurones dans cette couche correspond au nombre de caractéristiques d'entrée.
- Couches cachées : Ce sont des couches intermédiaires entre l'entrée et la sortie. Elles effectuent des calculs complexes et extraient des caractéristiques de plus haut niveau des données. Un réseau peut avoir une ou plusieurs couches cachées.
- Couche de sortie : Produit le résultat final du réseau (par exemple, une probabilité dans un problème de classification, ou une valeur numérique dans un problème de régression).
-
Poids et biais :
- Les poids () et les biais () sont les paramètres "apprenables" du réseau.
- Au début, ils sont initialisés aléatoirement. Pendant l'entraînement, l'algorithme ajuste ces poids et biais pour que le réseau produise les sorties correctes.
Fonctionnement d'un réseau de neurones simple
Comprendre comment un réseau de neurones apprend est essentiel.
-
Propagation avant (Forward Propagation) :
- C'est le processus par lequel une entrée traverse le réseau, de la couche d'entrée à la couche de sortie, pour produire une prédiction.
- Pour chaque neurone :
- Les entrées sont multipliées par leurs poids respectifs.
- Ces produits sont additionnés, et le biais est ajouté.
- Le résultat est passé à travers la fonction d'activation pour produire la sortie du neurone.
- Cette sortie devient l'entrée des neurones de la couche suivante, et ainsi de suite, jusqu'à atteindre la couche de sortie.
-
Fonction d'activation :
- Introduit la non-linéarité dans le réseau, permettant d'apprendre des relations complexes. Sans fonctions d'activation non-linéaires, un réseau de neurones, quelle que soit sa profondeur, se comporterait comme un simple modèle linéaire.
- Exemples courants :
- Sigmoïde : (comprime la sortie entre 0 et 1, utile pour les probabilités).
- ReLU (Rectified Linear Unit) : (très populaire pour les couches cachées en apprentissage profond).
- Tanh (Tangente hyperbolique) : (comprime la sortie entre -1 et 1).
-
Apprentissage par rétropropagation (Backpropagation) :
- C'est l'algorithme clé pour ajuster les poids et biais du réseau.
- Après la propagation avant, le réseau compare sa prédiction avec la sortie réelle (la "vérité terrain").
- L'erreur (la différence entre la prédiction et la réalité) est calculée.
- Cette erreur est ensuite "rétropropagée" à travers le réseau, de la couche de sortie vers la couche d'entrée.
- À chaque neurone, l'algorithme calcule comment chaque poids et chaque biais a contribué à l'erreur.
- Ces informations sont utilisées pour ajuster (mettre à jour) les poids et les biais de manière à réduire l'erreur lors de la prochaine itération.
-
Descente de gradient (Gradient Descent) :
- C'est la méthode d'optimisation utilisée par la rétropropagation.
- Imaginez une fonction d'erreur (ou fonction de coût) que l'on veut minimiser. Cette fonction représente l'erreur globale du réseau par rapport à ses poids et biais.
- La descente de gradient est un algorithme itératif qui trouve le "chemin" le plus raide (le gradient) pour descendre vers le minimum de cette fonction d'erreur.
- À chaque étape, les poids et biais sont ajustés proportionnellement à la pente négative du gradient (c'est-à-dire dans la direction opposée à la plus forte augmentation de l'erreur).
- Le "taux d'apprentissage" (learning rate) est un hyperparamètre qui contrôle la taille des pas effectués lors de la descente.
Principes de l'apprentissage profond (Deep Learning)
L'apprentissage profond (Deep Learning) est un sous-domaine de l'apprentissage automatique qui utilise des réseaux de neurones profonds, c'est-à-dire des réseaux avec de nombreuses couches cachées.
-
Réseaux de neurones profonds : La "profondeur" fait référence au nombre de couches cachées. Un réseau profond peut avoir des dizaines, voire des centaines de couches.
- Chaque couche apprend et extrait des caractéristiques de plus en plus abstraites et complexes des données.
- Par exemple, dans la reconnaissance d'images, la première couche pourrait détecter les bords, la deuxième les textures, la troisième les formes de base, et les couches supérieures les objets complets.
-
Grandes quantités de données : L'apprentissage profond excelle lorsqu'il dispose d'une quantité massive de données d'entraînement. Plus il y a de données, plus les réseaux profonds peuvent apprendre des motifs complexes et généraliser efficacement.
-
Puissance de calcul : L'entraînement de réseaux de neurones profonds est très gourmand en ressources de calcul. L'avènement des GPU (Graphics Processing Units), initialement conçus pour les jeux vidéo, a été un catalyseur majeur pour l'apprentissage profond, car ils sont très efficaces pour les calculs matriciels parallèles nécessaires.
-
Applications (vision, langage) : L'apprentissage profond a révolutionné de nombreux domaines :
- Vision par ordinateur : Reconnaissance faciale, détection d'objets (véhicules, piétons), classification d'images, imagerie médicale.
- Traitement du langage naturel (TLN/NLP) : Traduction automatique, reconnaissance vocale, analyse de sentiment, chatbots, génération de texte (ChatGPT).
- Systèmes de recommandation : Films, produits, musique.
- Véhicules autonomes : Perception de l'environnement, prise de décision.
- Jeux : AlphaGo, DeepMind.
Les architectures spécifiques comme les réseaux de neurones convolutifs (CNN) pour l'image et les réseaux de neurones récurrents (RNN) ou les Transformers pour les séquences (texte, voix) sont des exemples de modèles d'apprentissage profond qui ont permis ces avancées.
Chapitre 6
Évaluation et Amélioration des Modèles
Mesures de performance pour la classification
Pour évaluer un modèle de classification, nous avons besoin de métriques spécifiques qui nous indiquent à quel point le modèle est bon pour attribuer les bonnes classes.
- Matrice de confusion :
- C'est un tableau qui résume les performances d'un algorithme de classification. Elle compare les classes prédites par le modèle aux classes réelles (vraies).
- Pour une classification binaire (deux classes, par exemple, Positif et Négatif) :
- Vrais Positifs (VP) : Le modèle a prédit Positif, et c'était réellement Positif.
- Vrais Négatifs (VN) : Le modèle a prédit Négatif, et c'était réellement Négatif.
- Faux Positifs (FP) : Le modèle a prédit Positif, mais c'était réellement Négatif (erreur de type I).
- Faux Négatifs (FN) : Le modèle a prédit Négatif, mais c'était réellement Positif (erreur de type II).
| Prédit Positif | Prédit Négatif | |
|---|---|---|
| Réel Positif | VP | FN |
| Réel Négatif | FP | VN |
-
Précision (Precision) :
- Mesure la proportion de prédictions positives qui étaient réellement correctes. Utile quand le coût des faux positifs est élevé.
- Exemple : Sur 100 e-mails classés comme spam, combien étaient réellement du spam ?
-
Rappel (Recall ou Sensibilité) :
- Mesure la proportion de toutes les instances positives réelles qui ont été correctement identifiées. Utile quand le coût des faux négatifs est élevé.
- Exemple : Sur tous les e-mails qui sont réellement du spam, quelle proportion a été détectée ?
-
Score F1 :
- Moyenne harmonique de la précision et du rappel. Il est utile quand on cherche un équilibre entre précision et rappel.
- Un score F1 élevé indique que le modèle a à la fois une bonne précision et un bon rappel.
-
Courbe ROC (Receiver Operating Characteristic) :
- Représente la performance d'un modèle de classification à tous les seuils de classification.
- Elle trace le taux de vrais positifs (Rappel) contre le taux de faux positifs (FP / (FP + VN)).
- L'AUC (Area Under the Curve) est l'aire sous la courbe ROC. Une AUC de 1.0 indique un classificateur parfait, tandis qu'une AUC de 0.5 indique un classificateur aléatoire.
- Permet de visualiser le compromis entre le rappel et le taux de faux positifs.
Mesures de performance pour la régression
Pour les modèles de régression, nous mesurons l'erreur entre les valeurs prédites et les valeurs réelles.
-
Erreur Quadratique Moyenne (Mean Squared Error - MSE) :
- C'est la moyenne des carrés des différences entre les valeurs réelles () et les valeurs prédites ().
- Pénalise plus fortement les grandes erreurs. L'unité est le carré de l'unité de la variable cible.
-
Racine Carrée de l'Erreur Quadratique Moyenne (Root Mean Squared Error - RMSE) :
- L'unité est la même que celle de la variable cible, ce qui la rend plus interprétable.
- Indique la taille typique des erreurs de prédiction. Un RMSE plus petit est meilleur.
-
Erreur Absolue Moyenne (Mean Absolute Error - MAE) :
- C'est la moyenne des valeurs absolues des erreurs.
- Moins sensible aux valeurs aberrantes que le MSE/RMSE. L'unité est la même que celle de la variable cible.
-
Coefficient de détermination (R² ou R-squared) :
- Mesure la proportion de la variance de la variable dépendante qui est expliquée par le modèle.
- où est la moyenne des valeurs réelles.
- Varies de 0 à 1 (ou peut être négatif pour un très mauvais modèle).
- Un de 1 indique que le modèle explique 100% de la variance, tandis qu'un de 0 indique que le modèle n'explique aucune variance (il fait aussi bien qu'une prédiction basée uniquement sur la moyenne).
- Un R² plus élevé est généralement meilleur.
Validation des modèles
Pour garantir que le modèle est performant sur de nouvelles données et éviter le surapprentissage ou le sous-apprentissage, des techniques de validation sont utilisées.
-
Jeu d'entraînement, de validation et de test :
- Jeu d'entraînement (Training Set) : La plus grande partie des données (ex: 70-80%) utilisée pour entraîner le modèle, c'est-à-dire lui permettre d'apprendre les motifs et d'ajuster ses paramètres (poids et biais).
- Jeu de validation (Validation Set) : Une partie des données (ex: 10-15%) utilisée pour évaluer le modèle pendant l'entraînement et pour régler les hyperparamètres (paramètres du modèle non appris des données, comme K dans KNN, ou la profondeur d'un arbre de décision). Cela permet de ne pas surapprendre sur le jeu de test.
- Jeu de test (Test Set) : Une petite partie des données (ex: 10-15%) jamais vue par le modèle pendant l'entraînement ou la validation. Il est utilisé une seule fois, à la fin, pour obtenir une estimation impartiale de la performance finale du modèle sur de nouvelles données. C'est la mesure la plus fiable de la capacité de généralisation du modèle.
-
Validation croisée (Cross-Validation) :
- Une technique plus robuste que la simple division en trois jeux, surtout pour les petits ensembles de données.
- K-Fold Cross-Validation :
- Les données d'entraînement sont divisées en
Ksous-ensembles (folds) de taille égale. - Le modèle est entraîné
Kfois. À chaque fois, un fold différent est utilisé comme jeu de validation, et lesK-1autres folds sont utilisés pour l'entraînement. - Les performances sont moyennées sur les
Kexécutions pour obtenir une estimation plus stable de la performance du modèle.
- Les données d'entraînement sont divisées en
- Réduit le risque de biais dû à une division aléatoire spécifique des données.
-
Surapprentissage (Overfitting) :
- Lorsque le modèle est trop complexe et apprend le bruit dans les données d'entraînement, ce qui nuit à sa capacité de généralisation sur de nouvelles données.
- Signe : Très bonne performance sur le jeu d'entraînement, mais mauvaise performance sur les jeux de validation et de test.
-
Sous-apprentissage (Underfitting) :
- Lorsque le modèle est trop simple et ne parvient pas à capturer les relations importantes dans les données.
- Signe : Mauvaise performance à la fois sur le jeu d'entraînement et sur les jeux de validation/test.
Techniques d'amélioration
Plusieurs techniques peuvent être utilisées pour améliorer la performance d'un modèle.
-
Réglage des hyperparamètres (Hyperparameter Tuning) :
- Les hyperparamètres sont des paramètres du modèle qui ne sont pas appris directement à partir des données, mais sont définis avant l'entraînement (ex:
Kdans KNN, profondeur maximale d'un arbre de décision, taux d'apprentissage d'un réseau de neurones). - Le réglage consiste à trouver la meilleure combinaison de ces hyperparamètres pour optimiser la performance du modèle sur le jeu de validation.
- Méthodes : Recherche par grille (Grid Search), Recherche aléatoire (Random Search), optimisation bayésienne.
- Les hyperparamètres sont des paramètres du modèle qui ne sont pas appris directement à partir des données, mais sont définis avant l'entraînement (ex:
-
Sélection de caractéristiques (Feature Selection) :
- Choisir les caractéristiques (variables d'entrée) les plus pertinentes et les plus informatives pour le modèle.
- Éliminer les caractéristiques redondantes ou non pertinentes peut réduire le bruit, accélérer l'entraînement et améliorer la précision du modèle.
- Méthodes : Tests statistiques, sélection basée sur l'importance des caractéristiques (ex: dans les arbres de décision), méthodes wrapper ou filtre.
-
Augmentation des données (Data Augmentation) :
- Technique utilisée pour augmenter la taille et la diversité du jeu de données d'entraînement, surtout en vision par ordinateur ou en traitement du langage naturel, lorsque les données sont rares.
- Pour les images : rotation, redimensionnement, découpage, retournement, ajustement de la luminosité.
- Pour le texte : remplacement de synonymes, insertion/suppression aléatoire de mots.
- Aide à réduire le surapprentissage et à améliorer la généralisation.
-
Ensembles de modèles (Ensemble Methods) :
- Combiner les prédictions de plusieurs modèles (souvent des modèles "faibles") pour obtenir une meilleure performance globale qu'avec un seul modèle.
- Bagging (Bootstrap Aggregating) : Entraîne plusieurs instances du même type de modèle sur différents sous-échantillons des données d'entraînement (tirés avec remplacement). Les prédictions sont ensuite agrégées (moyenne pour la régression, vote majoritaire pour la classification). Ex: Random Forest (forêt aléatoire).
- Boosting : Entraîne séquentiellement des modèles de manière à ce que chaque nouveau modèle corrige les erreurs des modèles précédents. Les modèles faibles sont combinés pour former un modèle fort. Ex: AdaBoost, Gradient Boosting Machines (GBM), XGBoost.
- Ces méthodes sont très puissantes et souvent utilisées pour obtenir des performances de pointe.
Après la lecture
Passe à la pratique avec deux blocs bien visibles
Une fois le cours lu, ouvre soit le quiz pour vérifier la compréhension, soit les flashcards pour mémoriser les idées importantes. Les deux s'ouvrent dans une fenêtre dédiée.
Suite naturelle
Tu veux aller plus loin que l'article ?
Retrouve le même chapitre dans Wilo avec la suite des questions, la répétition espacée, les corrigés complets et une progression suivie dans le temps.