Reconnaissance de formes: lettres/chiffres

Slides:



Advertisements
Présentations similaires
Sujets spéciaux en informatique I PIF Approches non-paramétriques u Technique de classification NN u Technique de classification k-NN u Erreurs.
Advertisements

Concepts avancés en mathématiques et informatique appliquées MAP-6014.
Chiffres significatifs, incertitudes et précision des instruments Laboratoire, A-08.
Progression2 Organisation et gestion de données CM Séquences Socle commun Compétences du palier 2 ProgrammesObjectifs d’apprentissage OG1.
Chapitre 1: Les fonctions polynômes
I- ANALYSE DU BESOIN / Plan

Ecriture collaborative d’une dissertation en classe
Entraînement et évaluation d’une méthode de régression
Les Tableaux Mme DJEBOURI. D.
Algorithmique demander jeu du pendu.
Chapitre 4: Variation dans le temps
JAVA et POO : Notion d'héritage
Fonctions.
la conversion des nombres décimaux
Principes de programmation (suite)
Semaine #4 INF130 par Frédérick Henri.
Techniques du Data Mining
INTELLIGENCE ARTIFICIELLE
INTELLIGENCE ARTIFICIELLE
INTELLIGENCE ARTIFICIELLE
Création Et Modification De La Structure De La Base De Données
PROGRAMMATION INFORMATIQUE D’INGÉNIERIE II
Regroupement contextuel de cimes dans les images aéroportées
Méthodologie scientifique
Réseaux de neurones appliqués à la reconnaissance de caractères
Formation sur les bases de données relationnelles.
Chapitre 7: Groupage.
Techniques du Data Mining
LOG770 Annexe A Éléments de probabilité
Évaluation Adresse de connexion à l’application web académique
Des mathématiques derrière l’intelligence artificielle
Chapitre 3 : Caractéristiques de tendance centrale
CHAPTER 2: Apprentissage supervisé
Arbres de décision.
Transformation linéaires
La projection orthogonale à vues multiples
Un ordinateur avec un œil !!
Lois de Probabilité Discrètes
Mesures simples & Objet en chute libre
Élections locales probabilistes
Langages de programmation TP11
Automatismes 3.
SIF1033 TRAITEMENT D’IMAGE
Le code de Huffman: est une méthode de compression statistique de données qui permet de réduire la longueur du codage d'un alphabet. Le code de Huffman.
Présentation 4 : Sondage stratifié
Présentation 9 : Calcul de précision des estimateurs complexes
MATHÉMATIQUES FINANCIÈRES I
Un Mécanisme d‘Adaptation Guidé par le Contexte en Utilisant une Représentation par Objets Manuele Kirsch Pinheiro Laboratoire LSR – IMAG, Équipe SIGMA.
Systèmes ADAS: Assistant de contrôle de direction et de voies
Chapitre 8 : Organisation et gestion de données
1°) Un nombre y est-il associé à 3, et si oui lequel ?
SUJETS SPÉCIAUX EN INFORMATIQUE II
Extraction de caractéristiques pour la classification d’images
Systèmes ADAS: Détection de panneaux d’arrêt
SUJETS SPÉCIAUX EN INFORMATIQUE II
Systèmes de Transport Intelligent: Interactions
Programmation Scratch
INTELLIGENCE ARTIFICIELLE
INTELLIGENCE ARTIFICIELLE
INTELLIGENCE ARTIFICIELLE
Chapitre 12 : Notion de fonction
Laboratoire II: Le modèle linéaire général (GLM)
Audrey Gervereau, Métis, stage M2
INTELLIGENCE ARTIFICIELLE
La résolution des inéquations
INTELLIGENCE ARTIFICIELLE
Sigle optionnel en français FBD
Elections locales probabilistes
Type Tableau Partie 1 : Vecteurs
Transcription de la présentation:

Reconnaissance de formes: lettres/chiffres PIF6004 Sujets Spéciaux en informatique II Reconnaissance de formes: lettres/chiffres

Approches d’apprentissage non-paramétriques (supervisées) Technique de classification NN Technique de classification k-NN Exemple(s) d’implémentation en python (voir le site: https://machinelearningmastery.com/tutorial-to-implement-k-nearest-neighbors-in-python-from-scratch/ ) LECTURES: Chapitres 18, Russell & Norvig: Learning from examples Notes de cours (site ftp UQTR)

Technique de classification NN La technique du voisin le plus proche permet de classer une observation x inconnue dans la classe la plus proche (NN), ou à l’observation la plus proche dans les données d’entraînement Chaque donnée d’entraînement (exemple) est représentée par un vecteur de caractéristiques xi et une étiquette yi, donc l’ensemble des n données d’entraînement est représenté par: {(x1, y1), (x2, y2), …. (xn, yn)}

Technique de classification NN Nous devons alors déterminer l’observation de référence la plus proche. La distance Euclidienne permet de déterminer la distance entre une observation à classer et l’observation de référence la plus proche et est donnée par:

Technique de classification NN Autres distances Différence absolue Distance maximale Minkowski

Technique de classification NN Exemple de classification NN NN 3-NN

Technique de classification k-NN Une généralisation de la technique NN consiste à associer la classe Ci à une observation x dont font partie une majorité des k voisins les plus proches de x Si nous utilisons 3 voisins, l’observation de l’exemple précédent sera classée dans B puisque 2/3 voisins appartiennent à B 

Technique de classification k-NN Algorithme K-NN Étant donnée une entrée inconnue x 

Technique de classification k-NN Exemple d’utilisation de l’algorithme 3-NN (lettre) Classification de caractères "e" et "o" Représentation des données d’entraînement sous forme de vecteur correspondant à l’image binaire linéarisée d’un exemple de caractère (ex:   "e")

Technique de classification k-NN Exemple d’utilisation de l’algorithme 3-NN Classification de caractères "e" et "o": Données d’entraînement (100/classe) Classe "o" Classe "e"

Technique de classification k-NN Exemple d’utilisation de l’algorithme 3-NN Classification de caractères "e" et "o": exemple de classification d’un "o" 3/3 "o" "o" "o" "o" "o" 3 plus proches voisins Nouvelle donnée

Technique de classification k-NN Exemple d’utilisation de l’algorithme 3-NN Classification de caractères "e" et "o": exemple de classification d’un "e" 2/3 "o" ? "o" "e" "o" "o" 3 plus proches voisins Nouvelle donnée

Technique de classification k-NN Exemple d’utilisation de l’algorithme 3-NN Classification de caractères "e" et "o": exemple de classification d’un "e" après avoir ajouté d’autres exemples de "e" et "o" 2/3 "e" "e" "e" "e" "o" 3 plus proches voisins Nouvelle donnée

Technique de classification k-NN Comportement de l’erreur de classification (ex: 2 classes) en comparaison avec l’approche de Bayes Plus le nombre de voisins k est grand plus le taux d’erreur s’approche de celui de l’approche de Bayes Donc pour améliorer le taux de bonnes classifications Choisir un k plus grand Augmenter le nombre d’exemples

Exemple d’implémentation en Python Classification de 3 espèces d’iris (setosa, versicolor, virginica) basée sur la largeur (cm) et longueur (cm) des pétales et sépales donc 4 caractéristiques

Exemple d’implémentation en Python Classification de 3 espèces d’iris (jeu de données)

Exemple d’implémentation en Python Étapes d’implémentation: Traitement des données: Accéder au jeu de données (fichier CSV) et séparation des données en deux sous-ensembles: données d’entraînement et données de test Calcul de similarité: Calcule la distance entre 2 instances (2 vecteurs de 4 composantes) de données. Voisins: Localisation de k instances les plus proches dans l’espace des données d’entraînement Réponse: Générer une réponse (classe d’appartenance) à partir des k plus proches voisins trouvés Précision: Estimation de la précision de la prédiction. Main(): Réunir ces composantes

Exemple d’implémentation en Python Traitement des données: Lecture des données et création des ensembles de données d’entraînement et de test

Exemple d’implémentation en Python Traitement des données: Lecture des données et création des ensembles de données d’entraînement et de test

Exemple d’implémentation en Python Calcul de la similarité: Pour déterminer la classe d’appartenance d’une observation inconnue de l’ensemble des données de test, nous devons calculer la similarité de cette observation avec les k instances les plus proches dans les données d’entraînement et ensuite déterminer la classe d’appartenance majoritaire des k instances les plus proches (distances) Sachant que les 4 mesures utilisées pour caractériser les fleurs sont numériques et de même unité (cm), la distance Euclidienne peut alors être utilisée directement

Exemple d’implémentation en Python Calcul de la similarité: Exemple d’appel (dimension 3)

Exemple d’implémentation en Python Voisins: La measure de distance permet de sélectionner les k instances (ensemble d’entraînement) les plus similaires à une instance inconnue (ensemble de test) En calculant la distance entre l’instance inconnue et celles de l’ensemble d’entraînement il est ensuite possible de sélectionner un sous-ensemble de k instances les plus proches dans l’espace d’entraînement La fonction getNeighbors  retoune k voisins les plus proches (similaires) dans l’ensemble d’entraînement d’une instance inconnue dans l’ensemble de test (utilisant la fonction euclideanDistance)

Exemple d’implémentation en Python Voisins: La fonction getNeighbors: Exemple d’appel

Exemple d’implémentation en Python Réponse Après avoir trouver les voisins d’une observation inconnue, il faut déterminer la classe d’appartenance majoritaire de ces k voisins Chaque voisin est alors classé selon sa classe d’appartenance, la classe majoritaire devient donc la réponse, la prédiction La fonction getResponse(neighbors) détermine la classe majoritaire des k voisins. Cette fonction considère que la classe est le dernier attribut de chaque voisin

Exemple d’implémentation en Python Réponse

Exemple d’implémentation en Python Précision L’évaluation de la précision du modèle est basée sur le calcule du ratio du total de prédictions correctes/total des prédictions faites: la précision de la classification La fonction getAccuracy fait la somme du nombre total de bonnes prédictions et retourne le % de bonnes classifications

Exemple d’implémentation en Python Main()

Exemple d’implémentation en Python Main() ….

Exemple d’implémentation en Python Main() ….

Exemple d’implémentation en Python Main() ….

Exemple d’implémentation en Python Classification de chiffres manuscrits représentés par une image de 28X28 (MNIST): ex mnist_text_10.csv Valeur des pixels de chaque image de 28X28 de chiffre Chiffre correspondant