Upload
loup-marchand
View
108
Download
2
Embed Size (px)
Citation preview
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
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.
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 à 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.
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
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
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.
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.
2
N
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
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
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
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.
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.
2
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, 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.
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.
2
N
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
0Classe 1Classe 2Classe 3
2-vs-3 2
1-vs-2 1
1-vs-3 1
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.
• 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
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
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.