Fondements de l’Intelligence Artificielle, Chapitre 3 - PDF

Summary

Ce document présente le chapitre 3 sur l'apprentissage automatique (machine learning) en intelligence artificielle, couvrant des définitions, des types, et des exemples d'application. L'auteur, Dr. S. Sadi de l'Université de Tizi-Ouzou, détaille les concepts fondamentaux du sujet.

Full Transcript

République Algérienne Démocratique et Populaire Ministère de l’Enseignement Supérieur et de la Recherche Scientifique Université Mouloud Mammeri de Tizi-Ouzou Faculté de Génie Électrique e...

République Algérienne Démocratique et Populaire Ministère de l’Enseignement Supérieur et de la Recherche Scientifique Université Mouloud Mammeri de Tizi-Ouzou Faculté de Génie Électrique et Informatique Département d’Informatique Fondements de l’Intelligence Artificielle Dr. S. Sadi Certains éléments de ce chapitre proviennent entièrement ou en partie du cours « Intelligence artificielle » dispensé pour les L3, élaboré conjointement par S. Sadi et L. Lazib. Introduction Description : L'apprentissage automatique (AA), ou machine learning, est une branche de l'intelligence artificielle qui permet aux systèmes informatiques d'apprendre à partir de données sans être explicitement programmés pour chaque tâche. En utilisant des algorithmes, l'AA identifie des motifs dans les données, ajuste ses modèles en conséquence, et fait des prédictions ou prend des décisions. Dr. S. Sadi / FIA / UMMTO 2 Définitions de l’AA Définition 1, donnée par Arthur Samuel en 1959 : C’est « un champ d'études qui donne aux ordinateurs la capacité d'apprendre sans être explicitement programmés » Définition 2, donnée par Tom Mitchell en 1997 : « un programme informatique apprend de l'expérience (E) en ce qui concerne une certaine classe de tâches (T) et une mesure de performance (P), si ses performances aux tâches dans T, telles que mesurées par P, s'améliorent avec l'expérience E » - Samuel, Arthur L. "Machine learning." The Technology Review 62.1 (1959): 42-45. - Mitchell, Tom M., and Tom M. Mitchell. Machine learning. Vol. 1. No. 9. New York: McGraw-hill, 1997. Dr. S. Sadi / FIA / UMMTO 3 Intérêt et principe de l’AA Intérêt: L'intérêt principal de l’AA est de pouvoir réaliser des programmes informatiques pour résoudre des problèmes (exemple: faire des prédictions ou prendre des décisions), sans devoir explicitement coder les règles permettant de le faire. Principe: Le principe de l’AA, consiste à donner à la machine des données et de la laisser seule déduire les règles à utiliser pour atteindre un but donné. Exemple 1 : − Nous donnons à la machine une collection d’articles de journaux. − La machine doit identifier des groupes d’articles portant sur un même sujet, sans qu’aucune règle ne soit explicitement programmée. Exemple 2 : − Nous donnons à la machine une collection d’images de chats et de chiens. − La machine doit classer automatiquement une nouvelle image (pas nécessairement présente dans la collection) dans une des catégories « chien » ou « chat ». Dr. S. Sadi / FIA / UMMTO 4 Intérêt et principe de l’AA (suite) Exemple 3 : − Nous donnons à la machine une base de données regroupant les caractéristiques des logements dans une ville : superficie, quartier, étage, prix, année de construction, nombre d’occupants, montant des frais de chauffage, etc. − La machine doit pouvoir prédire la facture de chauffage à partir des autres caractéristiques pour un logement qui n’appartiendrait pas à cette base. Exemple 4 : − Nous donnons à la machine un ensemble de parties de jeux d’échecs, sans donner aucune règle de jeu et en indiquant à chaque fois le joueur gagnant. − La machine doit pouvoir apprendre les règles des jeux d’échecs et pouvoir prédire à chaque fois le coup gagnant. De plus, la machine doit s'améliorer en jouant. Dr. S. Sadi / FIA / UMMTO 5 Types de l’apprentissage automatique Il existe trois types principaux d’apprentissage automatique : − L’apprentissage supervisé ; Il englobe la classification et la régression. − L’apprentissage non supervisé ; Il traite le clustering (regroupement) et l’apprentissage de fonctionnalités (ou l’extraction de règles d’association). − L’apprentissage par renforcement. Il existe d’autres types d’apprentissage automatique : − L’apprentissage semi-supervisé ; − L’apprentissage par transfert. Dr. S. Sadi / FIA / UMMTO 6 Introduction à l’Apprentissage Supervisé L’apprentissage supervisé passe par les étapes suivantes : − Entrainement : on présente à l'ordinateur plusieurs exemples d'entrées et leurs sorties souhaitées (qu’on appelle étiquettes ou labelles), données par un expert, et le but est d'apprendre une règle générale qui fait correspondre les entrées aux sorties. − Prédiction : on présente à l’ordinateur des entrées uniquement (sans la sortie, qui est inconnue). Le but est de prédire la sortie en utilisant les règles apprises lors de l'entraînement. Il traite de deux sous problèmes : − La classification : lorsque la valeur cible (étiquette) est discrète (on cherche à prédire des classes ou des catégories). − La régression : lorsque la valeur cible est continue (on cherche à prédire, par exemple, un prix, une durée, etc.). Dr. S. Sadi / FIA / UMMTO 7 Introduction à l’Apprentissage Supervisé (suite) Exemple 1 : Nous donnons à l’ordinateur des photos d’animaux, en indiquant à chaque fois de quoi il s’agit. Le but est de pouvoir faire une prédiction sur de nouvelles photos. − Type : classification. Classes = {chien, chat, cheval, …} − Donnée en entrée : une image (sa représentation en pixels). − Donnée en sortie : une classe. Exemple 2 : Nous donnons à l’ordinateur plusieurs descriptions de voitures (kilométrage, usure de la peinture, modèle, année, etc.) avec leurs prix. Le but est de pouvoir faire une prédiction sur des voitures non listées. − Type : régression. − Donnée en entrée : description de la voiture. − Donnée en sortie : un flottant (le prix). Dr. S. Sadi / FIA / UMMTO 8 Introduction à l’Apprentissage Non-Supervisé Lors d’un apprentissage non supervisé : − Aucune étiquette n'est donnée à l'algorithme d'apprentissage, le laissant seul pour trouver une structure dans son entrée. − L'apprentissage non supervisé peut être un objectif en soi (découvrir des modèles cachés dans les données) ou un moyen d'atteindre une fin (apprentissage des fonctionnalités). Parmi les problématiques abordées : − Le clustering (ou regroupement) : pour classer les données dans des groupes homogènes. − La détection d’anomalies : pour identifier les éléments, événements ou observations rares qui se démarquent de la majorité des données. Dr. S. Sadi / FIA / UMMTO 9 Introduction à l’Apprentissage Non-Supervisé (suite) Exemples : − Regrouper des clients en tenant comptes de différents critères. Les entreprises utilisent l’apprentissage non supervisé pour répartir leurs clients dans différents groupes et ainsi employer des stratégies de marketing adéquates et plus ciblées par exemple. − Déterminer des règles d’association : pour déterminer quels produits sont achetés souvent ensemble par exemple dans un supermarché. − Détecter des activités frauduleuses ou des produits défectueux parmi un ensemble d’activités ou de produits (à travers la détection d’anomalies). − La réduction de dimensionnalité : lorsqu’il existe trop de variables en entrées pour un problème donnée, l’apprentissage non supervisé peut être utilisé pour réduire ce nombre de variables. Ainsi, d’autres algorithmes peuvent exploiter la sortie ainsi produite et opérer plus efficacement. Dr. S. Sadi / FIA / UMMTO 10 Introduction à l’Apprentissage par Renforcement Lors d’un apprentissage par renforcement : − Un programme informatique interagit avec un environnement dynamique dans lequel il doit réaliser un certain objectif (comme conduire un véhicule ou jouer à un jeu contre un adversaire). − Au fur et à mesure qu'il navigue dans son espace de problèmes, le programme reçoit des retours et s'améliore en conséquence. Exemple : Jeux d’échecs, trading, etc. Dr. S. Sadi / FIA / UMMTO 11 Autres types d’apprentissage Apprentissage semi-supervisé : − On utilise un ensemble de données étiquetées et non étiquetées. − C’est donc un type d’apprentissage qui emploie l’apprentissage supervisé avec une partie des données, puis l’apprentissage non supervisé pour une autre partie des données. Apprentissage par transfert : − Il permet de transférer des connaissances apprises (par apprentissage supervisé ou non supervisé) sur des problèmes similaires mais différents des problèmes initiaux (traités lors de l’apprentissage). − Par exemple, si l’on entraine un modèle à reconnaître les photos contenant un chat, on peut entraîner un autre modèle pour reconnaître les photos contenant des chiens rapidement en exploitant le premier modèle. Dr. S. Sadi / FIA / UMMTO 12 Phases d’un projet d’AA Un projet d’AA passe par les étapes suivantes : 1. Définir les objectifs du projet : Bien formaliser la problématique. Considérer les risques et les critères de succès. Etc. 2. L’extraction et le traitement des données : Trouver les données, nettoyer le bruit contenu dans les données, étiqueter les données, etc. 3. Construire le modèle : Sélectionner les données à utiliser ; Choisir l’approche à utiliser et la configurer (choix des hyper- paramètres); 4. Entraîner le modèle avec un ensemble de données d'entraînement. 5. Évaluation et validation du modèle : 6. Retourner à l’étape 1, si les critères de succès ne sont pas atteints. Dr. S. Sadi / FIA / UMMTO 13 Jeu de données Description: − L’apprentissage se base sur des données. Il est donc important de bien comprendre comment prétraiter et utiliser ces données. − Ces données, également appelées jeu de données, en anglais dataset, est formé d’un certain nombre d’observations (échantillons, exemples) relatives au problème à résoudre. Selon le type d’apprentissage, une observation est composée de l’entrée et (s’il s’agit d’apprentissage supervisé) de la sortie souhaitée du modèle qui sera construit. − L’entrée est constituée d’un ensemble d’attributs (ou features en anglais). Chaque valeur d’attribut est notée xi où i est l’indice de l’attribut. − La sortie peut consister d’une ou plusieurs valeurs notées yi. Dans le cas de la classification, ces valeurs indiquent en général, les probabilités d’appartenance à chaque classe. Un autre terme utilisé est celui d’étiquettes ou labels. Dr. S. Sadi / FIA / UMMTO 14 Jeu de données (suite) Remarques: Il est généralement plus facile de constituer un jeu de données non étiquetées qu’un jeu de données étiquetées. − Dans le premier cas, il « suffit » de collecter des données après un pré́-traitement minimal, alors que dans le second cas une intervention humaine potentiellement couteuse est souvent nécessaire pour définir les étiquettes. − La collecte et la préparation des exemples et leur étiquetage sont souvent les étapes les plus importantes, et les plus fastidieuses, dans la résolution d’un problème d’apprentissage automatique. Dr. S. Sadi / FIA / UMMTO 15 Types de données L'AA peut être appliqué à différents types de données, tels des tableaux, des graphes, des arbres, des courbes, des images, des sons, etc. Toutes doivent être converties en un format de données exploitable ! Généralement, chaque donnée (attribut ou étiquette) est convertie en une ou plusieurs valeurs. Chaque valeur peut être : − qualitative : une classe (exemple : chat, chien, etc.). − quantitative : une valeur numérique : Continue : des valeurs numériques appartenant à un intervalle continue ; Discrète : des valeurs numériques isolées. Dr. S. Sadi / FIA / UMMTO 16 Types de données (suite) Exemple 1 : en entrée nous avons comme attribut : la taille d’un individu, le nombre d’enfants qu’il possède. − Nous représentons l’attribut taille avec une valeur numérique continue (flottant). − Nous représentons l’attribut nombre d’enfants avec une valeur numérique discrète (un entier). Exemple 2 : en entrée nous avons une classe décrivant un animal (trois possibilités : chat, chien, autre). − Nous utilisons l’encodage one-hot pour représenter cette classe, comme suit : Il existe trois possibilités, donc on prévoit trois valeurs (v0, v1 et v2). On utilise le tableau suivant pour ces valeurs : Classe v0 v1 v2 chat 1 0 0 chien 0 1 0 autre 0 0 1 Dr. S. Sadi / FIA / UMMTO 17 Applications de l’AA Voici quelques exemples : − La reconnaissance de formes (images, vidéos, signaux) ; − La reconnaissance de la parole et l'assistance personnelle (exemple : Siri, Alexa, etc.) ; − La prévision du trafic (exemple : sur Google Maps, Waze, etc.); − La recommandation (exemple : de films sur Netflix, de musiques sur Spotify, de produits sur Amazon, etc.) ; − Vehicules autonomes (exemple : certains véhicules Tesla) ; − Filtrage automatique de spam et d’emails frauduleux ; − Détection de fraude (exemple : de transactions bancaires, de faux comptes sur les réseaux sociaux, etc.) ; − Trading (exemple : pour détecter les actions à risque) ; − Diagnostic médical (exemple : détection de tumeurs cancéreuses) ; − Traduction automatique (exemple sur www.deepl.com). Dr. S. Sadi / FIA / UMMTO 18 Apprentissage supervisé Description: L'apprentissage supervisé est une tâche d'apprentissage automatique consistant à apprendre une fonction qui fait correspondre une entrée à une sortie basée sur des exemples de paires d'entrée- sortie. Dr. S. Sadi / FIA / UMMTO 19 Apprentissage supervisé: algorithmes (liste non exhaustive) Algorithme En anglais Classification Régression Régression logistique Logistic regression K-plus proches voisins K-nearest neighbour (KNN) Machines à vecteurs de support Support vector machines (SVM) Classification naïve bayésienne Naive Bayes classification (NB) Régression linéaire Linear regression Arbres de décision Decision trees (DT) Forêts aléatoires Random forest (RF) Réseaux de neurones Neural Networks (NN) Dr. S. Sadi / FIA / UMMTO 20 Apprentissage supervisé: KNN Description: L’algorithme de classification KNN cherche à classer de nouveaux exemples de données (ou objets), en se basant sur les données précédentes (introduites durant l’apprentissage). Chaque objet étant représenté par des attributs, il suffit de comparer ces attributs pour déterminer la similarité entre deux objets. Moins il y a de différences entre deux objets, plus ceux-ci sont similaires. La similarité entre un objet A avec les attributs {a1, a2,... , an} et un objet B avec les attributs {b1, b2,... , bn}, peut alors être calculée avec la distance euclidienne : Dr. S. Sadi / FIA / UMMTO 21 Apprentissage supervisé: KNN (Exemple) Soient les objets (individus) suivants avec leurs attributs (taille, poids, âge) : − A (175cm, 65kg, 20ans), B(185cm, 62kg, 30ans), C(160cm, 55kg, 25ans). − Est-ce que A est plus similaire de B ou de C ? 1ère étape : normalisation. Nous ramenons ces valeurs dans l’intervalle [0..1]: − Il existe plusieurs façons de faire, la plus simple est en utilisant la normalisation min-max : Valeur_normalisée = (valeur - min) / (max - min). Par exemple, pour le premier attribut de A :  a1 = (175 - 160) / (185 - 160) = 0.6 − Nous obtenons : A (0.6, 1, 0), B(1, 0.7, 1), C(0, 0, 0.5) 2ème étape : calculer les similarités : − d(A, B) = √((0.6 - 1)2 + (1 - 0.7)2 + (0 - 1)2) = √1.25 = 1.12 − d(A, C) = √((0.6 - 0)2 + (1 - 0)2 + (0 - 0.5)2) = √1.61 = 1.27 − Donc A est plus similaire à B (la distance la plus faible). Dr. S. Sadi / FIA / UMMTO 22 Apprentissage supervisé: KNN (Algorithme) Description: L’algorithme KNN exploite la distance précédente pour classer un nouvel objet X, en tenant compte de la classification des K objets les plus proches (ou similaires) à X. − K est un hyper-paramètre de l’algorithme. Algorithme : 1. Parmi les exemples d'apprentissage, identifier les K voisins les plus proches de X. 2. Soit Ci la classe la plus fréquente parmi ces voisins les plus proches. 3. Étiqueter X avec Ci. Dr. S. Sadi / FIA / UMMTO 23 Apprentissage supervisé: KNN (Illustration) Classer X (dans une des classes: rouge, bleue ou verte). Attribut 1 X Attribut 2 Avec K = 1 (un voisin le plus proche à considérer), le voisin le plus proche appartient à la classe bleue. Avec K = 3 (trois voisins les plus proches), nous comptons 2 voisins verts et un voisin bleu. Donc la classe attribuée est la classe verte. Dr. S. Sadi / FIA / UMMTO 24 Apprentissage supervisé: KNN (Illustration 2) Avec K = 1, les exemples 1 et 3 sont classés comme positifs et 2 et 4 sont classés comme négatifs. Avec K = 3, l’exemple 4 est classé comme positif. Ainsi, le choix de K est très important. Aussi, si nous choisissons un K pair, nous risquons alors de ne pas savoir comment classer le 4 ème exemple. Il faut choisir un K impair pour garantir la classification dans cet exemple. Dr. S. Sadi / FIA / UMMTO 25 Apprentissage non-supervisé Description : L'apprentissage non-supervisé est un type d’AA dans lequel un modèle apprend à partir de données non-étiquetées au préalable. Contrairement à l'apprentissage supervisé, où les données d'entraînement sont associées à des réponses ou des catégories prédéfinies, dans l'apprentissage non supervisé, la machine doit découvrir des structures cachées, des modèles ou des régularités au sein des données sans intervention humaine. L'objectif principal est de permettre à l'algorithme d'identifier des groupes ou des motifs au sein des données. Par exemple, en analysant un grand ensemble de données, un modèle non supervisé peut détecter des regroupements d'éléments similaires (clustering), ou encore réduire la dimensionnalité des données tout en conservant leur essence principale (réduction dimensionnelle). Dr. S. Sadi / FIA / UMMTO 26 Apprentissage non-supervisé: algorithmes (liste non exhaustive) Algorithme En anglais Utilisation K-Moyennes K-Means Regroupement K-Médoïdes K-medoids Regroupement Modèles de mélange Mixture models Regroupement Forêts d'isolement Isolation forests Détection d’anomalies Facteur de valeur Local outlier factor (LOF) Détection d’anomalies aberrante locale Algorithme espérance- Expectation–maximization Apprentissage et extraction de maximisation algorithm variable latentes (cachées) Méthode des moments Method of moments Apprentissage et extraction de variable latentes (cachées) Réseaux de neurones Neural Networks (NN) Divers (notamment pour la réduction de dimensionnalité). Dr. S. Sadi / FIA / UMMTO 27 Apprentissage non-supervisé: K-Means Description: L'algorithme des K-Moyennes (ou K-Means en anglais) est une méthode de regroupement (ou clustering) utilisée en apprentissage non supervisé pour partitionner un ensemble de données en un nombre fixe de groupes, ou clusters. L'algorithme répartit les points de données dans K groupes, où K est un paramètre fixé à l'avance, représentant le nombre de clusters que l'on souhaite obtenir. L'objectif est de trouver des clusters qui minimisent une certaine fonction objective. En général, il s’agit de la somme des distances entre les points de données et le centre du cluster auquel ils appartiennent. C’est un problème d’optimisation combinatoire, NP-difficile dans le cas général et possède une heuristique qui permet de le résoudre de façon relativement satisfaisante (efficace mais ne garantit pas de trouver la solution optimale). Dr. S. Sadi / FIA / UMMTO 28 Apprentissage non-supervisé: K-Means (Algorithme) Algorithme heuristique : 1. Choisir K points aléatoirement qui représentent la position moyenne des clusters. Ces points sont notés Pi. 2. Répéter jusqu’à ce qu’il y ait convergence : 1. Calculer la distance entre chaque observation et chaque point Pi. Une observation est affectée au cluster correspondant point Pi le plus proche (selon la distance euclidienne). 2. Calculer le nouveau point moyen de chaque cluster. C’est à dire mettre à jour chaque Pi. Dr. S. Sadi / FIA / UMMTO 29 Apprentissage non-supervisé: K-Means (Exemple) Dr. S. Sadi / FIA / UMMTO 30 Apprentissage non-supervisé: K-Means (Exemple) Explications de l’exemple précédent : a. État initial, nous supposons pour la suite que K = 2. b. Nous choisissons deux points aléatoires (en bleu et rouge). c. Affecter les points les plus proches du point en rouge au premier cluster, et ceux les plus proches du point bleu au second cluster. d. Calculer le nouveau centre (point moyen) de chaque cluster. e. Refaire le clustering, en affectant les points les plus proches du point en rouge au premier cluster, et ceux les plus proches du point bleu au deuxième cluster. f. Calculer le nouveau centre (point moyen) de chaque cluster. g. Continuer ainsi, jusqu’à convergence. Dr. S. Sadi / FIA / UMMTO 31 Apprentissage par renforcement Description: − L'apprentissage par renforcement (ou Reinforcement Learning en anglais) est une approche de l'intelligence artificielle dans laquelle un agent apprend à interagir avec un environnement afin d'atteindre un objectif donné. − Plutôt que d’apprendre à partir de données étiquetées (comme en apprentissage supervisé) ou de découvrir des motifs dans des données non étiquetées (comme en apprentissage non supervisé), l'agent dans l'apprentissage par renforcement apprend par essais et erreurs, en recevant des récompenses ou des punitions en fonction des actions qu’il entreprend. Dr. S. Sadi / FIA / UMMTO 32 Apprentissage par renforcement: algorithmes (liste non exhaustive) Algorithme En anglais Description Monte Carlo Monte Carlo Se base sur des procédés aléatoires (méthode Monte- Carlo). Q-Learning Q-Learning Une des formes les plus basiques d’apprentissage par renforcement. Décrite plus loin. Etat-Action-Récompense- State–action–reward– Trés similaire au Q-Learning. Etat-Action state–action (SARSA) Q-Learning profond Deep Q-learning (DQN) Se base sur des réseaux de neurones. Algorithme acteur-critique Asynchronous Advantage Algorithme récent (2016) à avantage asynchrone Actor-Critic Algorithm développé par Google et (A3C) employant aussi des réseaux de neurones. Dr. S. Sadi / FIA / UMMTO 33 Apprentissage par renforcement: Q-Learning Description: Permet d’apprendre la valeur d'une action sans nécessiter d’avoir un modèle de l'environnement (donc "sans modèle"). Exemple: connaître les conséquences de la vente d’une action (dans le milieu du trading), sans avoir un modèle (ou une fonction “magique”) qui décrit comment la valeur de cette action change avec le temps. Il se base sur le principe suivant : − Un agent entreprend des actions pour passer d’un état à un autre. Chaque action donne alors une récompense r (une valeur numérique). − Le but de l’agent est de maximiser sa récompense totale. − Pour ce faire, une action est choisie en utilisant une politique qui dépend directement d’une fonction de valeur nommée Q. − Cette fonction est mise à jour après chaque action en se basant sur la récompense r. Dr. S. Sadi / FIA / UMMTO 34 Apprentissage par renforcement: Q-Learning (Algorithme) initialiser Q aléatoirement; Pour Chaque (épisode) Faire // début d'un épisode. Un épisode est une suite d’états // conclue avec un état terminal. // Exemple: une partie de jeux d’échecs. initialiser l'état s; répéter // étape d'un épisode a := choisir une action a depuis s en utilisant la politique spécifiée par Q; s’ := exécuter l'action a; r := observer la récompense r et l'état s'; Q := Mettre à jour Q; s := s'; jusqu'à ce que s soit l'état terminal; FinPour; Dr. S. Sadi / FIA / UMMTO 35 Apprentissage Profond Description: − L'apprentissage profond (ou Deep Learning en anglais) est une sous- catégorie de l'apprentissage automatique qui repose sur l'utilisation de réseaux de neurones artificiels multicouches pour apprendre des représentations hiérarchiques à partir de grandes quantités de données. − L’apprentissage profond peut être utilisé pour différents types d’apprentissage automatique (notamment supervisé et non supervisé). − Cette section a pour but d’introduire les réseaux de neurones en donnant des concepts généraux relatifs à leur fonctionnement. Dr. S. Sadi / FIA / UMMTO 36 Apprentissage Profond: Neurone Formel Description: Un neurone formel est une représentation mathématique et informatique d'un neurone biologique. Plus formellement, c’est une fonction mathématique qui prend en paramètre plusieurs entrées xi, les pondère avec des poids wi et retourne une sortie y après application d’une fonction d’activation (notée f, ci-après). x1 × w1 Σ f... y xn wn × Fonction Entrées Poids Sortie d’activation Dr. S. Sadi / FIA / UMMTO 37 Apprentissage Profond: Réseaux de Neurones Un réseau de neurones est un système où plusieurs neurones formels sont interconnectés. Ces neurones sont organisés en n couches de telle sorte à ce que les entrées d’un neurone d’une couche k sont les sorties des neurones qui sont dans la couche (k-1). La première couche est appelée couche d’entrée. Ses entrées sont les attributs (ou features) qui correspondent aux observations dans le jeu de données. La dernière couche est appelée couche de sortie. Sa sortie correspond à la prédiction faite par le réseau de neurones (s’il s’agit d’apprentissage supervisé). Les couches intermédiaires sont appelées couches cachées. Dr. S. Sadi / FIA / UMMTO 38 Apprentissage profond: Apprentissage et prédictions L’apprentissage dans un réseau de neurones est un processus qui consiste à ajuster les poids de chaque neurone pour accomplir une tâche donnée. Il existe différents algorithmes pour ce faire. Le plus basique est la descente du gradient. (Les descriptions du fonctionnement de ces algorithmes sortent du cadre de ce cours.) Une fois l'entraînement terminé, les réseau de neurones est prêt pour faire des prédictions. Il suffit alors de calculer la sortie de chaque neurone, en commençant par la couche d’entrée et en allant jusqu’à la couche de sortie. Dr. S. Sadi / FIA / UMMTO 39 Évaluation Description: − L’évaluation d’un modèle d’apprentissage automatique (AA) est une étape cruciale qui permet de mesurer la performance du modèle et de déterminer dans quelle mesure il est capable de résoudre le problème pour lequel il a été conçu. L'objectif est de s'assurer que le modèle généralise bien, c'est-à-dire qu'il fonctionne non seulement sur les données d'entraînement, mais également sur des données inédites. − Il existe plusieurs métriques utilisées pour évaluer les performances d’un algorithme d’apprentissage automatique. Nous présentons quelques-unes dans cette section, en nous focalisant sur les métriques utilisées pour l’apprentissage supervisé. − Attention à ne pas confondre l’évaluation et la validation. La validation est utilisée pour ajuster les hyper-paramètres d’un algorithme et vérifier que sa formulation est correcte indépendamment du jeu de données (notamment grâce à la validation croisée). Par contre, l’évaluation cherche à évaluer les performances finales de l’algorithme sur l’ensemble de test considéré. Dr. S. Sadi / FIA / UMMTO 40 Évaluation: Division du jeu de données Pour pouvoir évaluer les performances d’une solution (un modèle), il est nécessaire de diviser notre jeu de données en deux ensembles: − Un ensemble d’entraînement, en anglais training set, qui est utilisé lors de la phase d’entraînement. L’algorithme se sert de cet ensemble de données pour apprendre à résoudre notre problème. Ces données sont connues par notre algorithme. − Un ensemble de test, en anglais test set, qui est utilisé lors de la phase d’évaluation. Ces données n’ont jamais été vues par l’algorithme, ce qui nous permet de tester le modèle sur de nouvelles données, dont on connaît déjà les prédictions correctes. Le modèle nous retourne une réponse (prédiction) qu’on peut comparer avec la bonne prédiction (que nous connaissons déjà), et ainsi évaluer la performance de notre modèle dans la résolution de notre problème. Dr. S. Sadi / FIA / UMMTO 41 Évaluation: Division du jeu de données (suite) Les mesures d’évaluation choisies attestent de la capacité de notre modèle à faire de bonnes prédictions sur de futures données qu’il n’a jamais vues auparavant et dont on ne connaît pas non plus la bonne réponse. Si notre modèle obtient de bons résultats sur les données dans l’ensemble de test, alors on peut supposer qu’il fera de même sur de nouvelles données qu’il rencontrera une fois la solution déployée. Si les performances du modèle obtenues sont satisfaisantes, alors nous pouvons passer à la phase de déploiement de la solution. Sinon, revenir vers la phase de construction du modèle, soit pour ré-entraîner l’algorithme en modifiant ses hyper-paramètres, soit pour choisir un nouvel algorithme d’apprentissage automatique qui serait susceptible de mieux fonctionner. Dr. S. Sadi / FIA / UMMTO 42 Évaluation: Matrice de confusion Pour simplifier les explications, dans ce qui suit nous parlerons en terme de classification binaire (deux catégories). Pour comparer les classes prédites par le modèle avec les classes réelles, et ainsi mesurer la qualité du système de classification, nous utilisons une matrice de confusion. − Chaque ligne de la matrice correspond à une classe prédite ; − Chaque colonne correspond à une classe réelle ; − La cellule dans la ligne L et la colonne C contient le nombre d'éléments de la classe réelle C qui ont été prédites comme appartenant à la classe L. Dr. S. Sadi / FIA / UMMTO 43 Évaluation: Matrice de confusion (suite) Si on reprend l’exemple de la classification d’une image en chat ou chien, la matrice de confusion correspondante serait: Classes réelles Chat (+) Chien(-) Chat(+) True Positive (TP) False Positive (FP) Classes prédites Chien(-) False Negative (FN) True Negative (TN) Où: True Positive: le nombre d’images correctement classées en chat ; True Negative: le nombre d’images correctement classées en chien ; False Positive: le nombre d’images incorrectement classées en chat ; False Negative: le nombre d’images incorrectement classées en chien. Dr. S. Sadi / FIA / UMMTO 44 Évaluation: Métriques Description: − De la matrice de confusion, différentes mesures (métriques) peuvent être calculées pour mesurer les performances des classificateurs. − Chacune de ces mesures est comprise entre 0.0 et 1.0, où un taux de 1.0 représente un système parfait. Parmi elles, on trouve: − l’exactitude et le taux d’erreur ; − les mesures de Précision et de Rappel ; − la F-mesure. Dr. S. Sadi / FIA / UMMTO 45 Évaluation: Exactitude et taux d’erreur Description: Le taux de succès ou l’exactitude, en anglais Accuracy rate, et le taux d'erreur, en anglais Error rate, sont deux mesures souvent utilisées pour montrer les performances d’un système. − Le taux de succès désigne le pourcentage d'éléments bien classes, − Le taux d'erreur désigne le pourcentage d'éléments mal classés. Accuracy = (TP + TN) / (TP+TN+FP+FN) Error rate = (FP + FN) / (TP+TN+FP+FN) Dr. S. Sadi / FIA / UMMTO 46 Évaluation: Précision et Rappel La précision est la proportion des éléments pertinents prédits (TP) parmi l'ensemble des éléments prédits par le système (TP+FP). Exemple: Sur les images dites représenter un chat (TP+FP), combien représentent vraiment un chat (TP) ? Précision = TP / (TP+FP) Le rappel (en anglais recall) est la proportion des éléments pertinents prédits (TP) parmi l'ensemble des éléments pertinents (TP+FN). Exemple: Sur les images qui représentent vraiment un chat (TP+FN), combien ont bien été prédites comme représentant un chat (TP) ? Rappel = TP / (TP+FN) La précision peut ainsi être vue comme une mesure de qualité, tandis que le rappel est une mesure de quantité. Dr. S. Sadi / FIA / UMMTO 47 Évaluation: F-Mesure Description: La F-mesure, en anglais F-score, est la moyenne harmonique de la Précision et du Rappel: F-measure = 2 * (Précision * Rappel) / (Précision + Rappel) − La valeur la plus élevée est 1.0 indiquant de parfaites valeurs de précision et de rappel (un système parfait). − La valeur la plus basse est 0.0, si la précision ou le rappel sont nuls. Dr. S. Sadi / FIA / UMMTO 48 Évaluation: Exemple 1 Exemple: nous avons 100 images, dont 50 de chats et 50 de chiens. Classes réelles Chat (+) Chien(-) Chat(+) TP = 15 FP = 40 Classes prédites Chien(-) FN = 35 TN = 10 Accuracy = (TP + TN) / (TP+TN+FP+FN) = (15+10)/(15+10+40+35)= 25/100 = 0,25 = 25% Error = (FP + FN) / (TP+TN+FP+FN) = (40+35)/(15+10+40+35)= 75/100 = 0,75 = 75% Précision = TP / (TP+FP) = 15 /(15+40) = 0,2727 = 27,27% Rappel = TP / (TP+FN) = 15/(15+35) = 0,3 = 30% F-score = 2 * (Précision * Rappel) / (Précision + Rappel) = 2*(0,2727 * 0,3)/(0,2727 + 0,3) = 0,2858 = 28,58% Dr. S. Sadi / FIA / UMMTO 49 Évaluation: Exemple 2 Exemple: nous avons 100 images, dont 50 de chats et 50 de chiens. Classes réelles Chat (+) Chien(-) Chat(+) TP = 15 FP = 2 Classes prédites Chien(-) FN = 35 TN = 48 Accuracy = 63% Error = 37% Précision = 88% Rappel = 30% F-score = 44,74% Dr. S. Sadi / FIA / UMMTO 50 Conclusion Ce chapitre a présenté les généralités sur l’AA. Après ce chapitre, vous devriez pouvoir répondre à ces questions : − Quels sont les différents types d’apprentissage automatique ? − Quel est le rôle des données dans l’apprentissage automatique ? − Quel est la différence entre l’apprentissage supervisé, non supervisé et par renforcement? Quelles sont les autres formes d’apprentissage automatique ? Citer différents algorithmes utilisés pour chaque approche. − Donner des exemples d’application de différentes formes d’AA. − Comment fonctionnent les algorithmes KNN et K-Means ? − Qu’est ce qu’un réseau de neurones? − Quel est le principe de fonctionnement général de l’approche Q-Learning ? − Quelles metriques utiliser pour évaluer un algorithme d’AA supervisé? Dr. S. Sadi / FIA / UMMTO 51

Use Quizgecko on...
Browser
Browser