36
Classification multiclasses Maxime Benoît-Gagné

Classification multiclasses Maxime Benoît-Gagné. Introduction

Embed Size (px)

Citation preview

Page 1: Classification multiclasses Maxime Benoît-Gagné. Introduction

Classification multiclasses

Maxime Benoît-Gagné

Page 2: Classification multiclasses Maxime Benoît-Gagné. Introduction

Introduction

Page 3: 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.

Page 4: Classification multiclasses Maxime Benoît-Gagné. Introduction

Exemple

0

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.

Page 5: Classification multiclasses Maxime Benoît-Gagné. Introduction

Plan de la présentation

• Introduction

• OVA (one-versus-all)

• AVA (all-versus-all)

• DAG (Directed Acyclic Graph)

• Discussion

• Conclusion

Page 6: Classification multiclasses Maxime Benoît-Gagné. Introduction

OVA

• one-versus-all

Page 7: Classification multiclasses Maxime Benoît-Gagné. Introduction

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 à NClassifieurs[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.

Page 8: Classification multiclasses Maxime Benoît-Gagné. Introduction

Exemple de la phase d’entraînement de OVA

0Classe 1Classe 2Classe 3

Classe 1 Classe -1

i = 1

0

0

i = 2

0

i = 3

1-vs-2 et 3

2-vs-1 et 3

3-vs-1 et 2

Page 9: Classification multiclasses Maxime Benoît-Gagné. Introduction

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]

Pour i de 1 à N

Si résultats[i] > meilleurRésultat

meilleurRésultat ← résultats[i]

résultat ← i

Retourner résultat

Page 10: Classification multiclasses Maxime Benoît-Gagné. Introduction

Exemple de la phase de test pour OVA

0Classe 1Classe 2Classe 3

1-vs-2 et 3

2-vs-1 et 3

3-vs-1 et 2

0,9

-0,1

-0.9

Résultat: La classe de x est 1.

Page 11: Classification multiclasses Maxime Benoît-Gagné. Introduction

AVA

• all-versus-all ou all-pairs

Page 12: Classification multiclasses Maxime Benoît-Gagné. Introduction

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.

2

N

Page 13: Classification multiclasses Maxime Benoît-Gagné. Introduction

Exemple de la phase d’entraînement pour AVA

0Classe 1Classe 2Classe 3

i = 1 et j = 2

0

1-vs-2

0

i = 1 et j = 3

1-vs-3

0

i = 2 et j = 3

2-vs-3

Page 14: Classification multiclasses Maxime Benoît-Gagné. Introduction

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.

2

N

Page 15: Classification multiclasses Maxime Benoît-Gagné. Introduction

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 ← -1Tant que classifieurs n’est pas vide

classifieur ← Défiler classifieurs.résultat ←Tester x sur classifieur.Pour i de 1 à N

Si résultat = ivotes[i] ← votes[i] + 1

Pour i de 1 à NSi votes[i] > meilleurRésultat

meilleurRésultat ← votes[i]résultat ← i

Retourner résultat

Page 16: Classification multiclasses Maxime Benoît-Gagné. Introduction

Phase de test pour AVA avec la Max Wins rule

0Classe 1Classe 2Classe 3

1-vs-2

1-vs-3

2-vs-3

1

1

2

Résultat: La classe de x est 1.

Page 17: Classification multiclasses Maxime Benoît-Gagné. Introduction

DAG

• Directed Acyclic Graph (graphe acyclique orienté)

Page 18: Classification multiclasses Maxime Benoît-Gagné. Introduction

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.

Page 19: Classification multiclasses Maxime Benoît-Gagné. Introduction

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.

2

N

Page 20: Classification multiclasses Maxime Benoît-Gagné. Introduction

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.

Page 21: Classification multiclasses Maxime Benoît-Gagné. Introduction

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.

Page 22: Classification multiclasses Maxime Benoît-Gagné. Introduction

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.

Page 23: Classification multiclasses Maxime Benoît-Gagné. Introduction

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.

Page 24: Classification multiclasses Maxime Benoît-Gagné. Introduction

Remarques

Pour tout i, ji < 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.

Page 25: Classification multiclasses Maxime Benoît-Gagné. Introduction

Parcours d’évaluation

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

Page 26: Classification multiclasses Maxime Benoît-Gagné. Introduction

Phase d’entraînement de DAG

Faire la même phase d’entraînement pour AVA.

Combiner les classifieurs binaires obtenus en un DAG.

2

N

Page 27: Classification multiclasses Maxime Benoît-Gagné. Introduction

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.

Page 28: Classification multiclasses Maxime Benoît-Gagné. Introduction

Exemple de la phase de test avec DAG

0Classe 1Classe 2Classe 3

2-vs-3 2

1-vs-2 1

1-vs-3 1

Page 29: Classification multiclasses Maxime Benoît-Gagné. Introduction

Discussion

Page 30: Classification multiclasses Maxime Benoît-Gagné. Introduction

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).

Page 31: Classification multiclasses Maxime Benoît-Gagné. Introduction

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).

Page 32: Classification multiclasses Maxime Benoît-Gagné. Introduction

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.

Page 33: Classification multiclasses Maxime Benoît-Gagné. Introduction

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.

Page 34: Classification multiclasses Maxime Benoît-Gagné. Introduction

• 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.

Platt, Cristianini et Shawe-Taylor

Page 35: Classification multiclasses Maxime Benoît-Gagné. Introduction

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.

Page 36: Classification multiclasses Maxime Benoît-Gagné. Introduction

Références

1. 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.

2. R. Rifkin et K. Klautau. In Defense of One-Vs-All Classification. Journal of Machine Learning Research, 5: 101-141, 2004.