Classification multiclasses

Slides:



Advertisements
Présentations similaires
Dans cette partie Graphes Eulériens.
Advertisements

Algorithmes et structures de données avancées Cours 6 Patrick Reuter
Algorithmes et structures de données avancés
Classification et prédiction
Classification et prédiction
GEF 435 Principes des systèmes d’exploitation
1 UMLV Optimalité des tris par comparaisons : O(n logn) Classements linéaires Tris lexicographiques Tri lexicographique.
Chap. 1 INTRODUCTION Beaucoup de problèmes de la vie courante, tels la gestion de réseaux de communication ou l'ordonnancement de tâches, correspondent.
Chapitre VI. Arbres (définition, parcours, représentation)
Traitement Co-Séquentiel: Appariment et Fusion de Plusieurs Listes
Chapitre VIII. Introduction aux graphes
COURS SUR LA THEORIE DES GRAPHES
Cours 7 - Les pointeurs, l'allocation dynamique, les listes chaînées
Structures de données linéaires
IPA – Catherine Faron Zucke et Anne Marie Deryr. suite ordonnée d'éléments de taille variable ArrayList liste; liste = new ArrayList (); Ne peuvent contenir.
Plus courts chemins On présente dans ce chapitre un problème typique de cheminement dans les graphes : la recherche d'un plus court chemin entre deux sommets.
Les structures de données arborescentes
Arbre binaire de recherche
Algorithmes Branch & Bound
Apprentissage et Fouilles de données Salma Najar 20 Mars 2008 FilterBoost: Regression et Classification On Large Datasets FilterBoost: Regression et Classification.
Heuristiques A. Introduction B. Recherche d ’une branche
Chapitre 2 Réductions: exemples et méthodes
Arbre Rouge Noir.
TD4 2 MIC Romaric GUILLERM Algo-Prog en Ada.
Gestion de Fichiers Arbres B.
LES ARBRES IUP 2 Génie Informatique
Algorithme de Bellman-Ford
Chapitre 2 Réductions: exemples et méthodes
IFT-2000: Structures de données Les graphes Dominic Genest, 2009.
Structures de données IFT-10541
Structures de données IFT-2000
Coloration gap sommet identifiante de graphes
IFT Complexité et NP-complétude
Programmation linéaire en nombres entiers Algorithme de la subdivision successive («Branch and Bound Algorithm»)
Gestion de Fichiers Tri Interne Efficace et Tri Externe.

Algorithmes d ’approximation
Les arbres binaires.
Gestion de Fichiers GF-10: Traitement Co-Sequentiel: Appariment et Fusion de Plusieures Listes (Base sur les sections de Folk, Zoellick & Riccardi,
Les Algorithmes de Tri Introduction Tri par Sélection
IV. Arbres  Arbre binaire (AB) Représentation SDD d’un AB
Pour le chemin le plus court pour tous les couples
Programmation linéaire en nombres entiers : les méthodes de troncature

Heuristiques C. Recherche de la meilleure branche . Branch And Bound
Exploration systématique de graphes
Graphes 1. Introduction 2. Définition 3. Représentation mémoire
D.E ZEGOUR Ecole Supérieure d’Informatique
Tutorat 7 - Introduction au Routage et OSPF
Mathématiques Discrètes
Programmation linéaire en nombres entiers
Algorithmes Branch & Bound
Arbres binaires et tables de hachage
I.A. Session 2009/2010 E.P.S.I. Bordeaux – C.S.I.I – 2 ème Année – Cours n°6.
Cours 4 - Trois algorithmes de recherche dans un tableau
Problème de double digestion
Enveloppe convexe et triangulation de Delaunay
Mustapha Hamidou Vendredi 20 août Stage Contour Matching.
2005/2006 Structures de Données Introduction à la complexité des algorithmes.
Pour les boucles FOR on a fait intervenir la boucles TANT QUE équivalentes dont on connaît calculer le temps d’exécution. Toutes le procédures de comptage.
1 UMLV  FICHIERS Mémoire de masse découpée en blocs Fichier :liste chaînée de blocs, ou arbre de blocs (répertoires - fichiers)‏ Bloc d’éléments Bloc.
Chapitre 4 La représentation des nombres.
Algorithmique Tableaux de données
Les monceaux (Heap) Monceaux Propriétés des Monceaux
CSI25101 Tri Plus efficace. CSI25102 Tri récursif Le tri récursif divise les données de grande taille en deux presque moitiés et est appelé récursivement.
CSI2510 Structures de données et algorithmes Plus court chemin
Traversées (Parcours ) de graphes
Page: 1-Ali Walid Gestion de fichiers. B-Arbre +.
Les arbres Arbres binaires
Algorithmes Branch & Bound Module IAD/RP/RO Master d ’informatique Paris 6 Philippe Chrétienne.
Transcription de la présentation:

Classification multiclasses Maxime Benoît-Gagné

Introduction

Énoncé du problème Pour un ensemble d’entraînement constitué de points de données appartenant à N classes différentes, le but est de trouver une fonction qui prédit correctement la classe à laquelle appartient un nouveau point de données.

Exemple Couleur Classe Bleu 1 Vert 2 Mauve 3 Couleur Classe Bleu 1 Vert 2 Mauve 3 X est le point de données de classe inconnue dont on veut prédire la classe.

Plan de la présentation Introduction OVA (one-versus-all) AVA (all-versus-all) DAG (Directed Acyclic Graph) Discussion Conclusion

OVA one-versus-all

Phase d’entraînement de OVA Soit N le nombre de classes. Soit classifieurs un tableau de longueur N contenant des classifieurs binaires. Pour i de 1 à N Classifieurs[i] ← Entraîner un classifieur binaire sur toutes les données. Les données de la classe i sont considérées 1. Les données qui ne sont pas de la classe i sont considérées -1.

Exemple de la phase d’entraînement de OVA Classe 3 Classe 2 Classe 1 i = 1 1-vs-2 et 3 i = 2 2-vs-1 et 3 i = 3 3-vs-1 et 2 Classe 1 Classe -1

Phase de test de OVA Soit x un point de classe inconnue. Soit résultats un tableau de longueur N contenant des nombres. Soit meilleurRésultat un nombre. Soit résultat un entier représentant une classe. meilleurRésultat ← -∞ Résultat ← 0 Pour i de 1 à N résultats[i] ← Tester x sur classifieurs[i] Si résultats[i] > meilleurRésultat meilleurRésultat ← résultats[i] résultat ← i Retourner résultat

Exemple de la phase de test pour OVA Classe 1 Classe 2 Classe 3 1-vs-2 et 3 0,9 2-vs-1 et 3 -0,1 3-vs-1 et 2 -0.9 Résultat: La classe de x est 1.

AVA all-versus-all ou all-pairs

Phase d’entraînement de AVA Soit N le nombre de classes. Soit classifieurs une file contenant des classifieurs binaires. Soit classifieur un classifieur binaire. Pour chaque ensemble distinct {i, j} pour i et j de 1 à N tels que i ≠ j classifieur ← Entraîner un classifieur binaire sur les données. Celles-ci contiennent seulement les données des classes i et j. Ajouter classifieur à classifieurs. À la fin, classifieurs contient classifieurs.

Exemple de la phase d’entraînement pour AVA Classe 3 Classe 2 Classe 1 i = 1 et j = 2 1-vs-2 i = 1 et j = 3 1-vs-3 i = 2 et j = 3 2-vs-3

Phase de test avec AVA Soit x un point de classe inconnue. Soit résultat un entier représentant une classe. Tant que classifieurs n’est pas vide classifieur ← Défiler classifieurs. résultat ← Tester x sur le classifieur. Choisir la classe à partir des résultats.

Phase de test de AVA avec la Max Wins rule Soit votes un tableau de longueur N contenant des entiers représentant le nombre de votes obtenus pour chaque classe. Soit x un point de classe inconnue. Soit résultat un entier représentant une classe. Soit meilleurRésultat un entier représentant le nombre de votes obtenus par la meilleure classe jusqu’à maintenant. meilleurRésultat ← -1 Tant que classifieurs n’est pas vide classifieur ← Défiler classifieurs. résultat ←Tester x sur classifieur. Pour i de 1 à N Si résultat = i votes[i] ← votes[i] + 1 Si votes[i] > meilleurRésultat meilleurRésultat ← votes[i] résultat ← i Retourner résultat

Phase de test pour AVA avec la Max Wins rule Classe 1 Classe 2 Classe 3 1 1-vs-2 1-vs-3 1 2 2-vs-3 Résultat: La classe de x est 1.

DAG Directed Acyclic Graph (graphe acyclique orienté)

DAG Les arêtes du graphe sont orientées. Les arêtes ne forment pas de cycles. Un nœud peut être la destination de plusieurs arêtes. Le DAG utilisé est enraciné et binaire.

DAG Le DAG a nœuds internes et N feuilles. Chaque feuille contient une classe différente. Les nœuds sont arrangés en triangle avec une seule racine au sommet, 2 nœuds à la deuxième couche et ainsi de suite jusqu’à la dernière couche de N feuilles. La hauteur du DAG est N.

DAG Chaque nœud interne a un fils gauche et un fils droit. Le fils gauche est le nœud de la couche suivant immédiatement à gauche. Le fils droit est le nœud de la couche suivante immédiatement à droite.

DAG Chaque nœud interne est un classifieur binaire. Soit le nœud_ij. Ce nœud contient un classifieur binaire entre les classes i et j.

DAG Soit un point de données x. Le résultat du test du classifieur contenant le nœud_ij sur x est soit i soit j. Chaque feuille contient une classe plutôt qu’un classifieur.

Assignation de i et j à un nœud interne Soit le niveau m, m ≠ N, du DAG. Chacun des m nœuds aura i pour i de 1 à m. j est tel que N – j + i = m. Les m nœuds internes sont placés de gauche à droite en ordre décroissant de i.

Remarques Pour tout i, j i < j et le nœud interne_ij est situé à l’intersection de la diagonale contenant la feuille de la classe i et de la diagonale contenant la feuille de la classe j.

Parcours d’évaluation Le parcours à travers le DAG s’appelle percours d’évaluation (evaluation path).

Phase d’entraînement de DAG Faire la même phase d’entraînement pour AVA. Combiner les classifieurs binaires obtenus en un DAG.

Phase de test avec DAG Soit x un point de classe inconnue. Soit nœudCourant un nœud. Soit classifieur un classifieur binaire. Soit résultat un entier. // i ou j noeudCourant ← racine Tant que noeudCourant n’est pas une feuille classifieur ← Le classifieur binaire qui correspond à nœudCourant. résultat ← Tester x sur le classifieur. Si résultat = j noeudCourant ← Le fils gauche de noeudCourant Sinon noeudCourant ← Le fils droit de noeudCourant // noeudCourant est maintenant une feuille. Retourner la classe correspondant à noeudCourant.

Exemple de la phase de test avec DAG Classe 1 Classe 2 Classe 3 1-vs-2 1 1-vs-3 1 2 2-vs-3

Discussion

Rifkin et Klautau R. Rifkin et K. Klautau. In Defense of One-Vs-All Classification. Journal of Machine Learning Research, 5: 101-141, 2004. But: Comparer l’exactitude de OVA par rapport à AVA et à d’autres algorithmes de classification multiclasses (mais pas DAG).

Rifkin et Klautau Revue de la littérature Expérimentations en utilisant des classifieurs binaires qui étaient des SVMs bien ajustés (well-tuned SVMs).

Rifkin et Klautau Conclusion: OVA est un algorithme aussi exact qu’un autre algorithme plus compliqué de classification multiclasses à condition d’utiliser des classifieurs binaires bien ajustés.

Platt, Cristianini et Shawe-Taylor J. Platt, N. Cristianini et J. Shawe-Taylor. Large Margin DAGs for multiclass Classification. Advances in Neural Information Processing Systems, 12 ed. S. A. Solla, T. K. Leen et K.-R. Muller, MIT Press, 2000. But: Comparer l’exactitude et le temps d’exécution de OVA, AVA et DAG.

Platt, Cristianini et Shawe-Taylor Expérimentations avec des classifieurs binaires qui sont des SVMs. Conclusion DAG a une exactitude comparable à celle de OVA et AVA. DAG est plus rapide autant à la phase d’entraînement qu’à la phase de test.

Conclusion Les algorithmes de classification multiclasses OVA, AVA et DAG ont une exactitude comparable quand on utilise des classifieurs binaires bien ajustés. OVA est l’algorithme le plus simple. DAG est l’algorithme le plus rapide tant à la phase d’entraînement qu’à la phase de test.

Références J. Platt, N. Cristianini et J. Shawe-Taylor. Large Margin DAGs for multiclass Classification. Advances in Neural Information Processing Systems, 12 ed. S. A. Solla, T. K. Leen et K.-R. Muller, MIT Press, 2000. R. Rifkin et K. Klautau. In Defense of One-Vs-All Classification. Journal of Machine Learning Research, 5: 101-141, 2004.