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.