Intelligence Artificielle (AI) Technology PDF
Document Details
Uploaded by Deleted User
Pr. El Motaki Saloua
Tags
Summary
This document is a presentation on Artificial Intelligence (AI) technology. It covers topics such as AI vs. traditional programming, technical presentation of AI, and introduction to machine learning. The presentation is structured into different sections, and it includes several visuals, graphs, and tables to support the information.
Full Transcript
06/12/2024 Intelligence Artificielle ‘’It happened gradually, then suddenly’’ 1 Pr. El Motaki Saloua 1 Plan IA vs. Programmation traditionnelle Prése...
06/12/2024 Intelligence Artificielle ‘’It happened gradually, then suddenly’’ 1 Pr. El Motaki Saloua 1 Plan IA vs. Programmation traditionnelle Présentation technique de l’IA : Data, Model, Power Introduction au Machine Learning 2 2 1 06/12/2024 IA vs. Programmation traditionnelle 3 3 Programmation Traditionnelle : Méthode où les experts humains définissent un ensemble de règles fixes pour qu’un ordinateur exécute des tâches précises. Caractéristiques : Basé sur des instructions codées manuellement. Suit des étapes prédéfinies (par exemple, « SI-ALORS-SINON »). Convient aux environnements stables avec des règles bien définies. 4 4 2 06/12/2024 Exemple d’un Système Traditionnel - gestionnaire d'énergie SI la demande d'énergie est élevée, ALORS augmenter la production depuis le réseau. SINON utiliser l'énergie renouvelable. Limites des Systèmes Programmés Traditionnellement : Manque de Flexibilité : Les systèmes ne peuvent pas s'adapter aux changements rapides ou imprévus (ex. : variations météo affectant les énergies renouvelables). Complexité Exponentielle :La gestion des situations complexes nécessite de nombreuses règles imbriquées. Ex.: Gérer les pics de demande et les pannes du réseau simultanément. Maintenance Difficile : Modifier ou ajouter de nouvelles règles nécessite une expertise manuelle constante. 5 Les règles deviennent obsolètes avec l'évolution des technologies ou des conditions du marché. 5 Les systèmes d'IA apprennent des données pour résoudre des problèmes. Caractéristiques : Apprentissage Automatique : Les algorithmes s'entraînent sur des ensembles de données pour détecter des patterns. Prise de Décision Dynamique : Les systèmes IA ajustent leurs décisions en fonction de nouveaux environnements ou de nouvelles données. Auto-amélioration : L'IA continue de s'améliorer au fil du temps avec l'expérience. 6 6 3 06/12/2024 Exemple d’un Système Basé sur l’IA - gestionnaire d'énergie Règles dynamiques pour un gestionnaire d'énergie. Prédiction de la demande énergétique basée sur des données historiques et des prévisions météo. Optimisation de l'utilisation des sources renouvelables. Ajustement automatique de la production en fonction des conditions en temps réel. 7 7 Système traditionnel Système basé sur l’IA 8 8 4 06/12/2024 Programmation Traditionnelle Intelligence Artificielle (IA) Basée sur des règles définies Apprentissage basé sur les données manuellement Rigide, peu flexible face aux changements Dynamique, s'adapte aux nouveaux environnements Nécessite une maintenance manuelle Apprend en continu et s'améliore Convient aux environnements simples et Convient aux environnements complexes et stables dynamiques 9 9 Présentation technique de l’IA : Data, Model, Power 10 10 5 06/12/2024 L'IA existe depuis des décennies, mais les progrès récents en matière de puissance de calcul, de disponibilité des données et d'algorithmes ont permis des innovations majeures, rendant l'IA plus omniprésente dans la réalité quotidienne. Les algorithmes indiquent aux ordinateurs ce qu'ils doivent faire. Les données indiquent aux ordinateurs ce qu'ils doivent apprendre. La puissance de calcul donne aux machines le pouvoir d'apprendre et de prendre des décisions 11 11 “Data is the new oil” souligne l'importance des données à l'ère numérique. Les données alimentent l'informatique moderne et l'IA en permettant l'apprentissage, la reconnaissance de modèles et la prise de décisions. Des volumes massifs de données sont générés quotidiennement à travers les emails, les réseaux sociaux, les photos, les vidéos et les capteurs dans diverses infrastructures. Un rapport de 2023 prévoit que la production mondiale de données pourrait atteindre 175 zettaoctets d'ici 2025. Cela représente une augmentation significative par rapport à moins d’un zettaoctet en 2010 (une croissance de 175 fois en 15 ans). Les données produites en 2025 équivaudraient à 175 milliards d’ordinateurs portables, soit 21 ordinateurs par personne dans le monde. 12 Source : Science news 12 6 06/12/2024 L'augmentation rapide des données numériques mondiales a conduit les Donnée Bytes Taille scientifiques, en 2022, à introduire deux 1 Kilobyte (KB) 1,000 10 nouvelles unités de mesure : le Ronnabyte 1 Megabyte 1,000,000 10 (RB) et le Quettabyte (QB). (MB) Un ronnabyte équivaut à un milliard de 1 Gigabyte (GB) 1,000,000,000 10 milliards de milliards d'octets, et un 1 Terabyte (TB) 1,000,000,000,000 10 quettabyte représente 1 000 ronnabytes (1 1 Petabyte (PB) 1,000,000,000,000,000 10 suivi de 30 zéros). 1 Exabyte (EB) 1,000,000,000,000,000,000 10 Ces unités devraient suffire pour au moins 25 1 Zettabyte 1,000,000,000,000,000,000,000 10 ans, mais le rythme effréné de l'innovation (ZB) numérique pourrait rendre les quettabytes 13 courants plus tôt que prévu. 13 L'augmentation des appareils connectés : En 2023, il y a environ 29,3 milliards d'appareils connectés, soit plus de trois fois la population mondiale de 8 milliards de personnes. La croissance des réseaux sociaux : Les plateformes sociales produisent de nombreux téraoctets de données chaque jour. En 2020, WhatsApp enregistrait environ 100 milliards de messages échangés quotidiennement. TikTok et YouTube représentent plus de la moitié du trafic internet. Les nouvelles technologies de collecte de données : Les capteurs et l'Internet des objets (IoT) génèrent de vastes quantités de données. Parmi les 29,3 milliards d'appareils connectés, 14,7 milliards sont des dispositifs IoT, avec près de 50 % étant des appareils électroménagers connectés et 30 % des applications pour voitures connectées. Source : Cisco Annual Internet Report (2018–2023) White Paper 14 14 7 06/12/2024 Les ensembles de données extrêmement volumineux et très complexes sont souvent appelés « Big Data » et se caractérisent par leur volume, leur vitesse, leur variété, leur Valeur et leur véracité, communément appelés les « 5 V ». 15 15 Besoins en données massives : La conception de l'IA nécessite le traitement rapide de données volumineuses et complexes, ce qui requiert une puissance de calcul spécialisée. Progrès des supercalculateurs : Les supercalculateurs modernes permettent un apprentissage rapide de l'IA, ce qui stimule les innovations actuelles. Croissance historique de la technologie : La loi de Moore et les GPU ont alimenté une puissance de calcul exponentielle, essentielle aujourd'hui pour l'IA et les graphiques 16 réalistes. 16 8 06/12/2024 La production limitée de puces GPU entraîne des tensions entre les États-Unis, la Chine et l'UE, chacun investissant pour renforcer sa capacité. La Chine, l'UE et les États-Unis lancent des plans ambitieux pour sécuriser leur production de semi- conducteurs. TSMC (Taïwan) et Samsung produisent 70 % des puces, rendant l'économie numérique mondiale vulnérable. Grandes entreprises tech comme IntelAmazon, Apple, Google, IBM, Microsoft et Tesla développent leurs propres puces et ouvrent de nouvelles usines pour répondre à la 17 demande. 17 Depuis 2016, Google a développé le TPU, un processeur spécialement conçu pour l’IA, capable de calculs matriciels, accélérant les tâches d'apprentissage automatique bien au-delà des GPU traditionnels. Les superordinateurs actuels, composés de milliers de puces comme les GPU et TPU, sont essentiels pour entraîner de grands modèles d’IA mais nécessitent d’énormes ressources, coûtant des millions de dollars et occupant des entrepôts entiers. 18 18 9 06/12/2024 Introduction au Machine Learning 19 19 Intelligence Artificielle L'IA est un vaste domaine qui englobe le développement de systèmes intelligents capables d'effectuer des tâches qui requièrent généralement l'intelligence humaine, telles que la perception, le raisonnement, l'apprentissage, la résolution de problèmes et la prise de décision. L'IA sert de terme générique pour diverses techniques et approches, notamment l'apprentissage automatique, l'apprentissage profond et l'IA générative, entre autres. 20 20 10 06/12/2024 Intelligence Artificielle Le ML est un type d'IA qui vise à comprendre et à élaborer des Machine Learning méthodes permettant aux machines d'apprendre. Ces méthodes utilisent des données pour améliorer les performances des ordinateurs sur un ensemble de tâches. 21 21 Intelligence Artificielle L'apprentissage en profondeur Machine Learning utilise le concept de neurones et de synapses, similaire à celui de notre cerveau. Deep Learning 22 22 11 06/12/2024 Intelligence Artificielle L'IA générative est un sous- ensemble de l'apprentissage profond, car elle peut adapter les modèles construits à l'aide de Machine Learning l'apprentissage profond, mais sans entraînement ni ajustement fin. Deep Learning Les systèmes d'IA générative sont capables de générer de nouvelles données sur la base des modèles et des structures appris à partir des Generative données d'entraînement. AI 23 23 Le Machine Learning (ML) est une sous-discipline de l'informatique, intégrée à l'intelligence artificielle, qui permet aux ordinateurs d'apprendre et de s'améliorer par eux-mêmes sans être explicitement programmés pour chaque tâche. Au lieu de définir manuellement les règles de calcul, on fournit aux machines des données et des algorithmes permettant de détecter des modèles et de prendre des décisions autonomes en fonction des apprentissages précédents. Le Machine Learning, consiste à laisser l’ordinateur apprendre quel calcul effectuer, plutôt que de lui donner ce calcul (définition de Arthur Introduction Apprentissage automatique (Machine Learning): ML Samuel, mathématicien américain qui a développé un programme pouvant apprendre tout seul comment jouer aux Dames en 1959). 24 24 12 06/12/2024 Le Machine Learning est aujourd’hui au coeur de nos systèmes de prise de décision : Banque, justice, sécurité, business, marketing. Les algorithmes de Google, Youtube, Facebook, Amazon, ou Netflix, fonctionnent tous grâce au Machine Learning. Grâce au Machine Learning, nos ordinateurs sont capables de conduire des voitures et des avions de façon plus sûre que nous, ils peuvent diagnostiquer un patient (cancer, fracture) de façon plus fiable qu’un médecin. Pour donner à un ordinateur la capacité d’apprendre, on utilise des méthodes d’apprentissage qui sont fortement inspirées de la façon dont nous, les êtres humains, apprenons à faire des choses. 25 25 26 26 13 06/12/2024 27 28 14 06/12/2024 La principale motivation pour développer des programmes informatiques est d'automatiser divers processus, souvent répétitifs ou fastidieux. L'un des principaux objectifs du ML est d'éliminer la nécessité de développer des programmes manuellement. Le ML peut être considéré comme une « Programme traditionnel automatisation de l'automatisation » puisqu'il permet aux ordinateurs de créer des programmes par eux- mêmes. Le ML permet aux ordinateurs de générer des programmes, souvent dans le but de faire des prédictions. Par essence, la ML est le processus de transformation des données en programmes. Apprentissage automatique 29 29 ML Process Data Data Choosing model Model Model Test collection preparation & training Optimization 30 15 06/12/2024 ML Process Data Data Choosing model Model Model Test collection preparation & training Optimization Model deployment 31 Cible : catégorie ou valeur prédite des données (colonne à prédire) Température (°C) Pression (bar) Débit de gaz (m³/h) Production (MW) Type de centrale 550 150 1000 50 Thermique 600 200 1200 100 Nucléaire 45 1 500 1 Solaire 30 2 600 0.5 Hydraulique 650 180 1400 80 Thermique 700 250 1500 120 Nucléaire 32 32 16 06/12/2024 Attributs/Caractéristiques : propriétés des données utilisées pour la prédiction (colonnes non ciblées) Température (°C) Pression (bar) Débit de gaz (m³/h) Production (MW) Type de centrale 550 150 1000 50 Thermique 600 200 1200 100 Nucléaire 45 1 500 1 Solaire 30 2 600 0.5 Hydraulique 650 180 1400 80 Thermique 700 250 1500 120 Nucléaire 33 33 Exemple/Enregistrement : un seul point de données dans la base de données (une ligne) Température (°C) Pression (bar) Débit de gaz (m³/h) Production (MW) Type de centrale 550 150 1000 50 Thermique 600 200 1200 100 Nucléaire 45 1 500 1 Solaire 30 2 600 0.5 Hydraulique 650 180 1400 80 Thermique 700 250 1500 120 Nucléaire 34 34 17 06/12/2024 Label (étiquette) : la valeur cible pour un seul point de données Température (°C) Pression (bar) Débit de gaz (m³/h) Production (MW) Type de centrale 550 150 1000 50 Thermique 600 200 1200 100 Nucléaire 45 1 500 1 Solaire 30 2 600 0.5 Hydraulique 650 180 1400 80 Thermique 700 250 1500 120 Nucléaire 35 35 Les données sont des faits, des nombres, des images, des vidéos, ou des textes pouvant être traités par un ordinateur. Les principaux types de données : Type de données Description Peuvent prendre toutes les valeurs possibles d'un intervalle de Continues nombres réels. Quantitatives : Ex. La taille, le poids d’une personne Ont des valeurs finies. les valeurs admissibles ne sont que les peuvent être exprimée nombres entiers, Il est possible de les énumérer (”1, 2, 3,…”); par un nombre, une quantité Discrètes Ex. Le nombre d’items dans une liste Le nombre de personnes dans une salle Qualitatives: Nominales ou Les modalités ne peuvent pas être ordonnées. Catégorielles Ex. Homme ou Femme, expriment des valeurs qui ne représentes pas des les modalités sont ordonnées selon un ordre «logique». Ordinales quantités Par exemple : les tailles 36 36 18 06/12/2024 Dans un processus de ML, les données sont généralement divisées en trois ensembles distincts : l'ensemble d'entraînement, l'ensemble de validation et l'ensemble de test. Ensemble d'entraînement (70-80% des données) : Utilisé pour apprendre les relations entre les caractéristiques et la cible. Permet au modèle de s'adapter aux données. Exemple : Le modèle apprend la relation entre la température, la pression, et le type de centrale. Entraînement 37 37 Dans un processus de ML, les données sont généralement divisées en trois ensembles distincts : l'ensemble d'entraînement, l'ensemble de validation et l'ensemble de test. Ensemble de validation (10-15% des données) Utilisé pour ajuster les hyperparamètres du modèle. Évalue les performances du modèle pendant l'entraînement pour éviter le surapprentissage. Exemple : Tester différentes configurations pour optimiser la précision du modèle sans qu'il se spécialise trop sur l'ensemble d'entraînement. Entraînement Validation 38 38 19 06/12/2024 Dans un processus de ML, les données sont généralement divisées en trois ensembles distincts : l'ensemble d'entraînement, l'ensemble de validation et l'ensemble de test. Ensemble de test (10-15% des données) Utilisé uniquement après l'entraînement final du modèle. Fournit une évaluation objective des performances du modèle sur des données non vues. Exemple : Mesurer la capacité du modèle à classer correctement le type de centrale sur des données réelles. Entraînement Validation Test 39 39 Souvent dans les cas pratiques, l’ensemble de validation n'est pas utilisé directement parce que d'autres méthodes d'évaluation peuvent fournir des résultats fiables (lors de l’étape de validation). En python, la fonction train_test_split(args) de scikit-learn est couramment utilisée pour diviser un jeu de données en deux sous-ensembles : un ensemble d'entraînement et un ensemble de test. from sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test = train_test_split(X_input, y_target, test_size=0.25, random_state=0) X_inplut : Les caractéristiques (features) du jeu de données (généralement une matrice 2D). Y_target : Les étiquettes (labels) associées aux données (souvent un tableau 1D). test_size : La proportion des données à réserver pour le test (par exemple, 0.25 signifie 25 % pour le test et 75 % pour l'entraînement). random_state : Un entier qui permet de rendre la division des données reproductible en fixant une graine pour le générateur aléatoire. 40 40 20 06/12/2024 La collecte de données peut varier considérablement d'une industrie à l'autre, mais certaines questions et difficultés communes surgissent lorsqu'on assemble des données pour l'entraînement d'un modèle. Quels attributs d'entrée (ou caractéristiques) inclure ? Comment obtenir les valeurs connues de ma variable cible ? Combien de données d'entraînement me faut-il ? Comment savoir si mes données d'entraînement sont de bonne qualité ? 41 41 41 En ML, bien choisir les caractéristiques est crucial pour éviter le bruit, améliorer l'efficacité du modèle et obtenir des prédictions pertinentes. Principes de Sélection des Caractéristiques: Critères de Pertinence : Une caractéristique doit être : Connue au moment de la prédiction. Directement ou indirectement liée à la cible : Seules les caractéristiques ayant une relation logique avec la variable cible doivent être incluses. Éviter les Caractéristiques Inutiles : Inclure des caractéristiques non pertinentes peut introduire du "bruit" et réduire la performance du modèle. 42 42 42 21 06/12/2024 Dilemme entre Trop et Trop Peu de Caractéristiques: Inclure Trop de Caractéristiques : Risque de "noyer" les informations pertinentes dans une masse de données peu utiles, ce qui diminue le signal utile par rapport au bruit. Inclure Trop Peu de Caractéristiques : Risque d’omettre des informations importantes, ce qui limite la capacité du modèle à détecter des relations pertinentes avec la cible. Exemple : Pour un modèle de consommation énergétique, n'utiliser que des données de température et de surface peut être insuffisant. À l'inverse, inclure des données très détaillées sur chaque appareil pourrait générer trop de bruit. 43 43 43 Stratégie Pratique de Sélection des Caractéristiques: Méthodologie par Étapes : Étape 1 : Inclure les caractéristiques les plus probables (celles qu'on suppose liées à la cible). Étape 2 : Tester le modèle. Si la précision est insuffisante, ajouter des caractéristiques secondaires et réévaluer. Étape 3 : Si la précision reste insatisfaisante, utiliser des algorithmes de sélection de caractéristiques pour réduire le bruit tout en maximisant les informations pertinentes. Algorithmes de Sélection de Caractéristiques : Ces méthodes, comme les techniques de sélection en fonction de l'importance ou l'analyse de variance, permettent de filtrer les caractéristiques moins utiles pour optimiser la performance. 44 44 44 22 06/12/2024 Certaines caractéristiques peuvent être manquantes pour certaines observations (ex., absence de relevés d’humidité pour certains jours). Techniques de Gestion : Méthodes d’imputation (remplacement par des valeurs moyennes, médianes, ou estimées) lorsque les individus ayant des valeurs manquantes représentent plus de 5% de la population. Approches plus avancées pour traiter les données manquantes tout en conservant les informations utiles. Exemple : Dans un modèle de prédiction énergétique, si l'humidité est manquante pour certaines heures, des méthodes d’imputation peuvent être appliquées pour compléter ces valeurs et utiliser pleinement la caractéristique. 45 45 De nombreuses possibilités d'imputation simple existent en Python, par exemple Imputer(missing_values='NaN', strategy='mean', axis=0) Les paramètres d’appel sont : missing_values : codage des valeurs manquantes dans le tableau de données. Ce codage peut être fait de différentes façons, par ex. par “NaN” (Not a Number), np.nan, parfois par 0 ou par des valeurs qui sont éloignées du domaine de variation de la variable concernée, par ex. -999. strategy : méthode employée pour l’imputation : 'mean' (par défaut) ou 'median' ou 'most_frequent'; le calcul est réalisé sur les observations complètes, suivant l’axe indiqué dans le paramètre axis. axis : 0 (par défaut) ou 1, indique si la valeur utilisée pour l’imputation est calculée par colonne (0) ou par ligne (1). 46 46 46 23 06/12/2024 Exemple1: from sklearn.preprocessing import Imputer import numpy as np # imputation par la moyenne imp = Imputer(missing_values=np.nan, strategy='mean', axis=0) data_imputed = imp.fit_transform(data_missing) Exemple2: Imputation de valeurs manquantes de la variable "Age", en utilisant la moyenne des valeurs, et remplacement les valeurs manquantes de l'attribut "Class" par la chaine "S": import numpy as np # Identification de valeurs manquantes dans DataFrame df df.isnull() # imputation des valeurs manquantes df["Age"]=df["Age"].fillna(df["Age"].median()) df.Class=df["Class"].fillna("S") 47 47 47 Obtention d'une vérité terrain (ground truth) pour la variable cible: La vérité terrain désigne la valeur réelle ou observée de la variable cible dans le cadre de l'apprentissage supervisé. Elle est cruciale pour la formation de modèles d'apprentissage automatique précis, car elle définit les relations correctes entre les caractéristiques d'entrée et les variables cibles. Le processus de préparation de peut prendre du temps, car il nécessite souvent l'exploitation des systèmes existants pendant de longues périodes. 48 48 48 24 06/12/2024 Méthodes pour Obtenir la Vérité Terrain : Observation d’un Système Existant Collecter des données en observant des installations réelles pendant une période donnée permet de récolter des valeurs précises pour la variable cible. Exemples : Prévision de la Production d'Énergie Solaire : Utiliser les données de production solaire quotidienne pour estimer les niveaux de production en fonction des conditions météorologiques, du positionnement des panneaux, etc. Gestion de la Charge Électrique : Observer et enregistrer la charge électrique d'un réseau pour identifier les périodes de pointe et les besoins en capacité supplémentaires. Détection de Défaillances dans un Réseau de Distribution : Analyser les historiques d’interruption de service pour détecter les moments et lieux où des pannes sont survenues et anticiper les faiblesses du réseau. 49 49 49 Autres Méthodes pour Obtenir la Vérité Terrain Analyse par des Experts : Des experts peuvent examiner les données historiques pour déterminer les valeurs de vérité terrain des variables cibles. Crowdsourcing : Tirer parti d'un grand groupe de personnes pour les estimations, en utilisant par exemple des plateformes telles qu'Amazon Mechanical Turk. Expériences et Tests en Conditions Réelles : Mettre en place des tests ou des expérimentations avec des utilisateurs. Expérimentations Contrôlées (tests A/B) : Mettre en œuvre des tests A/B pour contrôler les réponses et déterminer l'efficacité. 50 50 50 25 06/12/2024 Accélérer la Collecte de Données avec l’Apprentissage Actif: L'apprentissage actif permet au modèle d'identifier les instances les plus informatives d'un grand ensemble de données, améliorant ainsi l'efficacité de l'apprentissage. Un petit ensemble de données d’entraînement est d'abord utilisé pour identifier les exemples supplémentaires qui permettraient d’améliorer significativement la précision du modèle s’ils incluaient une vérité terrain. En se concentrant sur ces données prioritaires, l’apprentissage actif permet de réduire les ressources et le temps nécessaires. Exemple : Lors de l'installation de capteurs sur un réseau de distribution, l’apprentissage actif peut aider à déterminer les points les plus stratégiques où la collecte de données supplémentaires serait la plus bénéfique pour optimiser la gestion de la charge. 51 51 51 Éléments à prendre en compte pour la collecte de données de Vérité Terrain: Être attentif aux éventuels écarts dans la collecte des données afin de garantir la représentativité et d'éviter les résultats erronés. Reconnaître que les spécificités des instances peuvent changer au fil du temps, ce qui affecte la pertinence des données historiques, 52 52 52 26 06/12/2024 Les données d’entraînement constituent le fondement des modèles de ML, permettant au modèle d’apprendre des relations et des modèles. Relation entre quantité de données et précision : plus le nombre de données est grand, plus la précision du modèle peut être élevée, à condition que les données soient représentatives du problème réel. Les données doivent être suffisamment nombreuses pour capturer les variations naturelles du phénomène étudié. 53 53 53 Facteurs Affectant la Quantité de Données Nécessaire: Complexité du Problème : La complexité influence la quantité de données nécessaire pour apprendre des relations entre les caractéristiques et la variable cible. Exigences en Précision : Des problèmes qui nécessitent une haute précision exigent souvent plus de données. Dimensionnalité des Données (Nombre de Caractéristiques) : Plus il y a de caractéristiques, plus de données sont nécessaires pour couvrir l’espace de données. 54 54 54 27 06/12/2024 La précision se En règle générale, plus l’ensemble stabilise >1000 instances d’entraînement est grand, plus le modèle est capable de capter des relations subtiles dans les données, à condition que celles-ci soient représentatives du processus à modéliser. Il est essentiel d'adapter les stratégies de collecte de données en fonction de la complexité du problème, de la précision requise et de la dimensionnalité de l'espace des caractéristiques. 55 55 55 Méthodes d'Évaluation de la Quantité de Données Nécessaire: Échantillonnage Progressif : Tester la précision du modèle en augmentant progressivement le nombre d’instances d’entraînement. Utiliser une Cible de Précision : Si un objectif de précision est fixé (ex. 95 %), on peut évaluer si le modèle atteint cet objectif avec les données actuelles. Apprentissae actif: On identifie les instances ayant le plus d’impact potentiel sur l’augmentation de la précision du modèle. 56 56 56 28 06/12/2024 Les algorithmes de ML utilisent souvent des données numériques. Or, les ensembles de données peuvent comporter : Variables catégorielles : par exemple, type d’appareil ou statut (fonctionnel/non- fonctionnel). Valeurs manquantes : des données absentes nécessitent des techniques d’imputation. Besoin de redimensionnement : certaines caractéristiques numériques nécessitent d’être mises à l’échelle pour garantir leur comparabilité. Types d’Opérations de Prétraitement : Conversion de variables catégoriques en numériques. Gestion des valeurs manquantes. Normalisation et mise à l’échelle des caractéristiques. Création de nouvelles caractéristiques (feature engineering). 57 57 57 Type Variables Catégorielles solaire Une variable est catégorielle lorsque ses valeurs peuvent être éolienne Solaire Éolienne réparties en catégories, sans hiérarchie entre elles (ex : type d’énergie Solaire 1 0 - solaire, éolienne, hydraulique). Solaire 0 1 La plupart des algorithmes du ML ne peuvent pas directement utiliser les variables catégorielles ; il faut les transformer en données Solaire 1 0 numériques. 1 0 Eolienne Méthode de Conversion : Variables "dummy" 1 0 Processus : Convertir chaque catégorie en une variable binaire. 0 1 Par exemple, pour le type d’énergie : "solaire" = 1 pour les installations def cat_to_num(data):.. solaires, sinon = 0. "éolienne" = 1 pour les installations éoliennes, sinon = 0. categories = unique(data).. features = [] Avantage : Permet à l’algorithme de traiter chaque catégorie for solaire in..categories: binary = (data == solaire) indépendamment, sans introduire un ordre arbitraire entre elles. ………….features.append(binary.astype("int")) return features 58 58 58 29 06/12/2024 Gestion des Valeurs Manquantes Les valeurs manquantes, communes dans les données de capteurs, peuvent introduire des biais ou fausser les résultats. Méthodes de Traitement : Suppression des Instances Manquantes : Si les valeurs manquantes sont rares ou sans sémantique, on peut éliminer les enregistrements incomplets. Imputation : Remplacer les valeurs manquantes par des estimations comme la moyenne, la médiane, ou des valeurs prédites. 59 59 59 Gestion des Valeurs Manquantes Lorsque les valeurs manquantes n'ont pas de signification informative : Éviter les remplacements arbitraires (par exemple, fixer les âges manquants à -1 pourrait fausser les résultats). Retirer les lignes avec des données manquantes : Efficace pour les petites quantités de données manquantes Risque : réduit la taille de l'ensemble de données, ce qui peut affecter la précision du modèle. Certains algorithmes ignorent les valeurs manquantes ; d'autres nécessitent un prétraitement. 60 60 60 30 06/12/2024 Gestion des Valeurs Manquantes Lorsque les valeurs manquantes ont une signification informative : Remplir avec la valeur précédente/suivante : utile pour les données séquentielles (par exemple, séries chronologiques). Suppose un changement minimal entre les valeurs consécutives. Techniques d'imputation : Imputation moyenne/médiane : Remplacer les valeurs manquantes par la moyenne ou la médiane de la colonne. La moyenne est sensible aux valeurs aberrantes ; la médiane est plus robuste. Imputation prédictive : utilisation d'un modèle de base (par exemple, régression linéaire) pour prédire les valeurs manquantes. Exploite les relations entre les variables pour améliorer la précision 61 61 PS : Exemple du code est donné dans le complément de cours pandas.ipynb 61 Feature Engineering L’ingénierie des caractéristiques consiste à créer de nouvelles variables ou caractéristiques à partir de données existantes, afin d'améliorer la performance des modèles. Elle consiste à utiliser les connaissances du domaine pour enrichir les données, en identifiant les éléments les plus informatifs pour la tâche de prédiction. Exemple Générique : Extraire des caractéristiques spécifiques à partir d'une donnée complexe (comme une chaîne de caractères, un identifiant ou un signal). 62 62 62 31 06/12/2024 Exemple : Dans un système de production hybride (solaire, éolien, batteries), les capteurs fournissent des données brutes telles que l'emplacement de chaque unité, sa puissance de sortie et son statut de maintenance. Chaque capteur a un identifiant (ID) incluant des informations cryptées sur sa localisation et sa catégorie. ID Composant Données Brutes Puissance de Sortie (kW) Coordonnées Géographiques Statut C1 A1-EOL 150 (45.32, -75.67) En activité S1 B2-SOL 50 (45.31, -75.68) Maintenance B1 C1-BAT 200 (45.33, -75.65) En activité S2 B1-SOL 60 (45.34, -75.66) En activité C2 A2-EOL 160 (45.30, -75.69) En activité pour rendre les données plus utiles, nous décomposons les données brutes en plusieurs colonnes : Code de Localisation : Extraire la partie du code qui désigne la localisation (A1). Type d'Unité : Extraire le type d'unité à partir du code (EOL devient "Éolienne", SOL devient "Solaire", etc.). Statut de Maintenance : Transformer le statut ("En activité" devient 0, "Maintenance" devient 1). 63 63 63 Redimensionnement des Données Numériques Dans de nombreuses applications du ML, les variables peuvent avoir des plages de valeurs très différentes, ce qui peut biaiser les modèles. Si certaines variables prennent des valeurs nettement plus élevées, elles risquent de dominer l'apprentissage, même si elles ne sont pas les plus significatives pour la prédiction. Méthodes de Redimensionnement des Données : Normalisation : Les valeurs sont redimensionnées pour être comprises entre 0 et 1. Standardisation :Les valeurs sont ajustées pour suivre une distribution normale avec une moyenne de 0 et un écart type de 1. 64 64 64 32 06/12/2024 Normalisation Transforme chaque valeur en un ratio par rapport aux valeurs minimales et maximales, ce qui est utile pour des algorithmes où les données doivent être dans une certaine plage. Les données normalisées seront toutes dans l’intervalle [0, 1]. Formule mathématique Code Python from sklearn.preprocessing import MinMaxScaler 𝑥−𝑥 𝑥 = 𝑥 −𝑥 # Initialiser le normaliseur scaler = MinMaxScaler() # Appliquer la normalisation normalized_data = scaler.fit_transform(data) 65 65 65 Standarisation Centrer les valeurs et les ajuster par rapport à l’écart type, une méthode souvent utilisée lorsque les données doivent suivre une distribution normale pour certains algorithmes. Formule mathématique Code Python 𝑥−𝜇 from sklearn.preprocessing import StandardScaler 𝑥 = 𝜎 # Initialiser le normaliseur scaler = StandardScaler() 𝜇 : moyenne des données 𝜎 : écart type des données # Appliquer la normalisation standardized_data = scaler.fit_transform(data) 66 66 66 33 06/12/2024 Visualisation des Données Entre la collecte/prétraitement des données et la construction de modèles du ML, la visualisation des données joue un rôle crucial. Elle permet de vérifier la cohérence des caractéristiques d’entrée (features) et de la variable cible (target) avant de se lancer dans les mécanismes de prédiction et d’apprentissage. À travers la visualisation, vous pouvez : Explorer les Relations : Examiner les liens entre les caractéristiques d’entrée et la variable cible pour guider la construction du modèle. Évaluer la Représentativité : Analyser si l’ensemble de données est représentatif et identifier les types d’instances qui pourraient manquer dans l’échantillon. 67 67 67 Variable d’entrée Visualisation des Données Chaque technique de visualisation est adaptée à un type catégorielle numérique spécifique de données (numériques ou catégorielles) et de variable cible. catégorielle Variable de sortie (cible) Les méthodes les plus utilisées : Mosaic Box Mosaic Plots : Permettent de visualiser les relations entre des variables catégorielles et d’identifier les distributions plot plot et interactions dans les catégories. Box Plots : Utiles pour visualiser la distribution des données numériques par catégories, montrant la médiane, les quartiles, et les valeurs aberrantes. numérique Density Plots : Représentent la distribution d’une variable numérique en continu, offrant une vue sur la densité et la Density Scatter répartition des valeurs. Scatter Plots : Utilisés pour examiner la relation entre plot plot deux variables numériques, permettant d’identifier les corrélations ou patterns linéaires/non-linéaires. 68 68 68 34 06/12/2024 Visualisation des Données : diagramme en mosaïque Un diagramme en mosaïque permet de visualiser la relation entre deux ou plusieurs variables catégorielles. Il utilise des rectangles proportionnels pour montrer la taille et la relation des catégories. Il divise les données de manière hiérarchique en fonction des probabilités conditionnelles. Outils pris en charge : R, SAS, Python et autres langages de programmation scientifique. Objectif des diagrammes en mosaïque dans ML: Visualiser les dépendances entre les variables cibles (réponse) et les variables d'apprentissage (caractéristiques). Détecter rapidement si la réponse dépend des caractéristiques. Valide la force des relations entre les variables. Souligne l'importance des caractéristiques pour les modèles prédictifs. 69 69 69 Visualisation des Données : diagramme en mosaïque Étapes de la création du diagramme en mosaïque : Séparations horizontales : Proportionnelle à l'occurrence de chaque condition de fonctionnement : Normal : 20% Surchargé : 50% Sous-maintenu : 30%. Divisions verticales : À l'intérieur de chaque segment vertical, on divise les rectangles en fonction de la distribution des états de défaillance : Normal : 10 % en panne, 90 % non en panne. Surchargé : 60 % d'échecs, 40 % de non-échecs. Sous-entretien : 80 % d'échecs, 20 % de non-échecs. Rectangles verticaux : Représentent la proportion de chaque état de fonctionnement. Divisions horizontales : montrent la répartition des défaillances au sein de chaque condition de fonctionnement. 70 70 70 35 06/12/2024 Visualisation des Données : diagramme en mosaïque État normal : Majorité de « non défaillants » (90 %), très peu de défaillances. Indique la fiabilité dans des conditions de fonctionnement normales. État de surcharge : 60 % des cas aboutissent à une défaillance. La surcharge augmente considérablement le risque de défaillance. État de sous-entretien : 80 % des cas entraînent une défaillance. La fiabilité de l'équipement dépend fortement de la maintenance. Principales conclusions du graphique : Les conditions de sous- entretien et de surcharge présentent une forte corrélation avec les défaillances. Implications pour la modélisation : Utiliser les conditions d'exploitation comme caractéristique prédictive dans les modèles. 71 71 71 Visualisation des Données : Box Plot Un box plot est un graphique statistique qui résume la distribution d'une variable numérique à travers ses quartiles, la médiane, et les valeurs extrêmes. Les box plots offrent une méthode visuelle pour analyser rapidement la distribution des données numériques, utile pour : Visualiser la Variabilité : Permettent de voir la dispersion des données autour de la moyenne, indiquant la stabilité ou instabilité d’un processus ou d’un équipement. Identifier la Tendance Centrale La médiane dans le box plot montre la valeur centrale, utile pour évaluer une valeur « typique » ou attendue d'une mesure. Détecter les Anomalies : Les outliers, en dehors des moustaches, signalent d’éventuels dysfonctionnements, erreurs de mesure ou problèmes nécessitant des actions correctives. 72 72 72 36 06/12/2024 Visualisation des Données : Box Plot Éléments Clés : Boîte (IQR) : Représente les 50 % centraux des données Ligne Médiane : Divise les données en deux parties égales Moustaches : S’étendent au minimum et maximum dans une certaine limite Valeurs Aberrantes (Outliers) : Points en dehors des moustaches, indiquant des valeurs inhabituelles Interprétation en Pratique :La largeur de la boîte montre la dispersion des données, la médiane montre la valeur centrale et les outliers peuvent signaler des anomalies ou erreurs de mesure. 73 73 73 Visualisation des Données : Box Plot Exemple : Consommation d'Énergie des Équipements Analyser la consommation d'énergie d'équipements (ex. transformateurs, générateurs, moteurs) dans différentes conditions Variables des Données : Type d'équipement, condition de fonctionnement, consommation d'énergie (kWh) Objectif : Utiliser des box plots pour explorer les différences de consommation selon les conditions : Normale, Surchargée, Sous-maintenue 74 74 74 37 06/12/2024 Visualisation des Données : Box Plot Exemple : Consommation d'Énergie des Équipements Condition Normale : Consommation stable, peu d'outliers. Condition Surchargée : Médiane plus élevée et distribution plus large, indiquant une variabilité et un stress sur l’équipement. Condition Sous-maintenue : Médiane similaire à la condition normale mais avec plus de dispersion, indiquant des performances irrégulières. Les box plots aident à visualiser la variabilité et le stress sur l'équipement dans différentes conditions, soutenant la planification de maintenance. 75 75 75 Visualisation des Données : Density Plots Les density plots sont des outils de visualisation qui permettent d’afficher la distribution d’une variable numérique. Ils offrent une alternative plus lisse et interprétable aux histogrammes traditionnels. Différences avec les histogrammes : Les histogrammes segmentent les données en bins (intervalles discrets) tandis que les density plots utilisent un lissage par noyau (kernel smoothing) pour estimer une distribution continue. Applications principales : Explorer la distribution des valeurs d’une variable. Comparer plusieurs distributions pour différents groupes catégoriels. Identifier des sous-tendances ou des clusters dans les données. 76 76 76 38 06/12/2024 Visualisation des Données : Density Plot Exemple : Analyse de la Consommation d'Énergie des Batiments Variablenumérique (réponse) : Consommation moyenne d'énergie par jour (kWh). Variable catégorique (explicative) : Type de bâtiment (Résidentiel, Commercial, Industriel). But : Comprendre comment la consommation varie selon le type de bâtiment. Identifier des anomalies ou des clusters spécifiques (ex. bâtiments à haute consommation). Données simulées Consommation moyenne (kWh) : Résidentiel : Moyenne autour de 50 kWh avec une distribution homogène. Commercial : Moyenne autour de 200 kWh avec une variabilité élevée. Industriel : Moyenne autour de 500 kWh avec des pics dus à des processus intensifs. 77 77 77 Visualisation des Données : Density Plot Exemple : Analyse de la Consommation d'Énergie des Batiments Les bâtiments résidentiels consomment généralement moins que les bâtiments commerciaux ou industriels. Les buildings industriels montrent souvent une distribution multimodale (due à des processus variés comme les pics de production). Pics principaux : Indiquent les consommations typiques pour chaque catégorie. Étalement des courbes : Reflète la variabilité des consommations au sein d'un groupe. Anomalies : Des "bumps" secondaires peuvent révéler des clusters à explorer, comme des bâtiments résidentiels utilisant des équipements industriels. 78 78 78 39 06/12/2024 Visualisation des Données : diagrammes de dispersion (Scatter Plot) Un scatter plot (nuage de points) est une visualisation graphique qui permet de représenter la relation entre deux variables numériques. Chaque point dans le graphique représente une observation, avec la position sur l'axe x correspondant à une variable d'entrée et celle sur l'axe y correspondant à la variable de réponse. Bien que simples, les diagrammes de dispersion peuvent révéler des relations linéaires et non linéaires entre les variables d'entrée et de réponse. 79 79 79 Visualisation des Données : Box Plot Exemple : Analyse de la performance d'une batterie Variable numérique : Température ambiante (x, en °C). Variable numérique 2 : Capacité résiduelle de la batterie (y, en Ah). Hypothèse :La capacité d'une batterie est influencée par la température, avec des performances réduites à des températures extrêmes (très basses ou très élevées). Analyse attendue : Forme en cloche inversée (parabolique) : La capacité est maximale à une température optimale (20–25 °C). Chute rapide aux extrêmes : La capacité diminue lorsque la température est trop basse ou trop élevée. 80 80 40 06/12/2024 Visualisation des Données : Scatter Plot Exemple : Analyse de la performance d'une batterie Température vs Capacité : Une forme parabolique, indiquant que la capacité est maximale à une température optimale (~25 °C). Cycles vs Capacité : Une relation linéaire décroissante montrant que la capacité diminue à mesure que le nombre de cycles augmente. Ces analyses peuvent aider à identifier les facteurs influençant la performance des batteries et guider les décisions en matière de gestion thermique et de cycles de charge. 81 81 81 Recap Compilation des Données d'Entraînement: Caractéristiques d'entrée : Décider des caractéristiques à inclure. Valeurs de vérité terrain. Suffisance : Savoir quand les données sont suffisantes. Biais : attention aux données non représentatives ou biaisées. 82 82 82 41 06/12/2024 Recap Étapes de prétraitement: Recodage des caractéristiques catégorielles. Traitement des données manquantes. Normalisation des caractéristiques (pour des méthodes ML spécifiques). Ingénierie des caractéristiques pour améliorer le pouvoir prédictif. 83 83 83 Recap Visualisations de données utiles Graphiques en mosaïque : Comprendre les relations entre les variables catégorielles. Graphiques de densité : Analyser les distributions de données numériques. Diagrammes en boîte : Identifier la variabilité et les valeurs aberrantes. Diagrammes de dispersion : Explorer les relations entre deux variables numériques. Étape suivante Les données étant prêtes, commençons à construire des modèles d'apprentissage automatique ! 84 84 84 42 06/12/2024 Ressources “Introduction to Artificial Intelligence (AI) Technology“, guide for travel & tourism leaders. (January 2024) ‘’L'intelligence artificielle en action Santé, environnement, énergie... ce que l'IA change concrètement’’. Damien Gromier. (Novembre 2020) “Real-World Machine Learning”, Henrik Brink, Joseph W. Richards, and Mark Fetherolf. Foreword by Beau Cronin. (September 2016) 85 85 43