Apprentissage de Classifieurs à Noyau sur des Données Bruitées Guillaume Stempfel Encadré par: Liva Ralaivola Laboratoire d’Informatique Fondamentale de Marseille 21 février 2007 Introduction Apprentissage automatique Plusieurs déclinaisons : classification supervisée, régression, estimation de densité. . . Applications pratiques : catégorisation de textes, reconnaissance de chiffres manuscrits. . . Types de problèmes Classification de données linéairement séparables : problème simple Classification de données bruitées : problème NP-dur Algorithmes existants : Classifieurs linéaires tolérants au bruit de classification uniforme Et pour les données non linéairement séparables ? Algorithme RP-learn Sommaire Classification supervisée Contexte Exemples tirés dans un espace X étiquetés dans un ensemble fini de classes Y = {−1, 1} selon une distribution D inconnue Espace Des Descriptions X Espace Des Etiquettes Y 111 000 000 111 000 111 000 111 000 111 Objectif : produire un classifieur possédant de bonnes capacités de généralisation Minimisation du risque empirique à condition de maîtriser la complexité de la classe de concepts Séparateur linéaire f : f (x) = signe(w · x) Algorithme du perceptron [Ros58] Caractéristiques Résolution de problèmes linéaires Algorithme itératif glouton Complexité en temps polynomiale [MP69] mais. . . . . . dépendante de la marge γ γ = minx∼D |w·x| kwk Algorithme E NTRÉES : S = {(x1 , y1 ) . . . (xm , ym )} S ORTIES : un classifieur linéaire w w = ~0 tantque il existe un exemple xi ∈ S mal classé faire w ← w + yi kxxi k i fin tantque Retourner w Algorithme du perceptron [Ros58] (2) Illustration 111111111111111111111111111111111111111 000000000000000000000000000000000000000 00 11 γ 000000000000000000000000000000000000000 111111111111111111111111111111111111111 00 11 000000000000000000000000000000000000000 111111111111111111111111111111111111111 00 w ~ 000000000000000000000000000000000000000 111111111111111111111111111111111111111 w~∗11 00 11 000000000000000000000000000000000000000 111111111111111111111111111111111111111 00 11 000000000000000000000000000000000000000 111111111111111111111111111111111111111 000000000000000000000000000000000000000 111111111111111111111111111111111111111 000000000000000000000000000000000000000 111111111111111111111111111111111111111 000000000000000000000000000000000000000 111111111111111111111111111111111111111 000000000000000000000000000000000000000 111111111111111111111111111111111111111 000000000000000000000000000000000000000 111111111111111111111111111111111111111 γ Positifs Négatifs Bruit de classification Types de bruits Attributs erronés Attributs manquants Etiquettes erronées. . . Bruit de classification uniforme Bruit de classification uniforme η < 1 2 Pour un exemple (x, y ), on observe l’exemple (x, y η ) tel que ( y avec probabilité 1 − η η y = −y avec probabilité η Algorithme du perceptron inutilisable sur un problème bruité Bruit de classification (2) Illustration 00 11 11 00 00 11 11 00 00 11 00 11 1 0 0 1 0 1 0 1 1 0 0 1 Positifs Négatifs Cadre PAC [Val84], [AL88] Idée Probablement approximativement correct Caractériser les classes de concepts apprenables et les algorithmes associés Caractéristiques Paramètre de confiance δ, précision ε Production, avec une probabilité 1 − δ, d’un classifieur qui fait une erreur d’au plus ε Complexités d’échantillonnage et en temps polynomiales en fonction de 1 n, ε1 , δ1 et 1−2η Sommaire Travaux connexes Algorithme du perceptron inutilisable sur un problème bruité Travaux sur les séparateurs linéaires LTF-noise [Byl94],[Byl98] Mises à jour effectuées avec une moyenne pondérée des exemples mal classés et de l’ensemble des exemples Tolérant au bruit Perceptron modifié / Outlier Removal [BFKV96] [Coh97] Tolérant au bruit Complexités dépendant logarithmiquement de la marge Algorithmes "lourds" Rescaling [DV04] Basé sur une transformation de l’espace Complexités dépendant logarithmiquement de la marge mais pas de tolérance au bruit Données non linéairement séparables Kernel Trick Utilisation d’algorithmes linéaires sur des données non linéairement séparables Plongement des données dans un espace de dimension potentiellement infinie où elles sont linéairement séparables Apprentissage dans l’espace de plongement reste possible en contrôlant la marge Noyaux de Mercer Application k : X × X → R Espace de Hilbert associé H et fonction de plongement Φ telle que ∀(u, v ) ∈ X 2 , k (u, v ) = hΦ(u), Φ(v )i Données non linéairement séparables Kernel Trick Utilisation d’algorithmes linéaires sur des données non linéairement séparables Plongement des données dans un espace de dimension potentiellement infinie où elles sont linéairement séparables Apprentissage dans l’espace de plongement reste possible en contrôlant la marge Plongement des données 11 00 00 11 (0,1) 1 0 0 (1,1,1) 1 (1,1) (0,1,0) 11 00 00 11 00 11 1 0 1 0 (0,0) (1,0) (0,0,0) (1,0,0) Sommaire Projection aléatoire Motivation LTF-noise, peceptron modifié et rescaling ne peuvent être utilisés que dans un espace de dimension finie Projection aléatoire Projection aléatoire Projection d’une distribution dans un espace aléatoire de dimension 1 d( γ1 , ln εδ ) finie Avec une probabilité 1 − δ, la distribution est séparable avec une erreur ε Application Pour un échantillon S de taille m, S est séparable avec une probabilité (1 − δ)(1 − mε) Echantillon séparable pour l’apprentissage Distribution approximativement séparable avec une erreur arbitrairement petite Généralisation possible sur une fraction (1 − ε) de la distribution Projection aléatoire + 00000000000000000000000 11111111111111111111111 00000000000000000000000 11111111111111111111111 00000000000000000000000 11111111111111111111111 00000000000000000000000 11111111111111111111111 00000000000000000000000 11111111111111111111111 00000000000000000000000 11111111111111111111111 0000000000000000000 1111111111111111111 1111111111111111111 0000000000000000000 γ 0000000000000000000 1111111111111111111 0000000000000000000 1111111111111111111 0000000000000000000 1111111111111111111 0000000000000000000 1111111111111111111 0000000000000000000 1111111111111111111 0000000000000000000 1111111111111111111 0000000000000000000 1111111111111111111 0000000000000000000 1111111111111111111 0000000000000000000 1111111111111111111 Echantillon − Ex. Positifs Ex. Négatifs Distribution Application Pour un échantillon S de taille m, S est séparable avec une probabilité (1 − δ)(1 − mε) Echantillon séparable pour l’apprentissage Distribution approximativement séparable avec une erreur arbitrairement petite Généralisation possible sur une fraction (1 − ε) de la distribution Projection aléatoire + 00000000000000000000000 11111111111111111111111 00000000000000000000000 11111111111111111111111 00000000000000000000000 11111111111111111111111 00000000000000000000000 11111111111111111111111 00000000000000000000000 11111111111111111111111 00000000000000000000000 11111111111111111111111 0000000000000000000 1111111111111111111 1111111111111111111 0000000000000000000 γ 0000000000000000000 1111111111111111111 0000000000000000000 1111111111111111111 0000000000000000000 1111111111111111111 0000000000000000000 1111111111111111111 0000000000000000000 1111111111111111111 0000000000000000000 1111111111111111111 0000000000000000000 1111111111111111111 0000000000000000000 1111111111111111111 0000000000000000000 1111111111111111111 Echantillon Ex. Positifs Ex. Négatifs − Distribution Projections multiples Génération d’un tel espace pour tout δ, ε Projection dans un espace de dimension d1 ≥ d1 ( γ12 , ln Génération de t(ln δ, ln m , d1 ) ε m ) ε espaces de projection Pour tout échantillon S de taille m, avec une probabilité 1 − δ, au moins un des t espaces est satisfaisant Apprendre sur les données projetées Apprentissage Algorithme d’apprentissage utilisé : LTF-noise [Byl98] Borne maximale sur la dimension d2 ≤ d2 (m, 1 1 1 , , ) γ2 ε δ Dimension d doit convenir à la fois pour la projection (borne minimale d1 ) et l’apprentissage (borne maximale d2 ) Possible si borne minimale sur m Apprentissage sur les données projetées dans les t espaces de projection Sélection d’un classifieur convenable Sélection du classifieur Utilisation d’un ensemble de test Evaluation du risque empirique de chaque classifieur Nombre d’exemples suffisant pour une approximation assez précise du risque réel Choix du classifieur qui fait le moins d’erreurs Algorithme RP-learn(δ,ε,η) E NTRÉES : Distribution D, m = m(ε, δ, η), m2 = m2 (ε, δ, η), S = {(x1 , y1 ) . . . (xm , ym )} et S2 = {(p1 , q1 ) . . . (pm2 , qm2 )} tirés selon D S ORTIES : un classifieur linéaire w et un ensemble de d = d(ε, δ, η) vecteurs (v1 . . . vd ) Choisir une dimension d’espace de projection d Déterminer le nombre t = t(ε, δ, η) d’espaces de projection à générer boucler Générer d vecteurs (v1i . . . vdi ) selon D Projeter les exemples de S dans vecthv1i . . . vdi i Trouver un séparateur linéaire w i avec LTF-Noise fin boucle Sélectionner le meilleur couple ((v1i . . . vdi ), w i ) généré en testant sur S2 Sommaire Double cercle Taux de bruit η = 0.30 Ensemble d’apprentissage Ensemble d’apprentissage bruite 10 5 5 0 0 -5 -5 -10 -10 -5 0 5 -10 -5 0 5 Double cercle Taux de bruit η = 0.30 Ensemble d’apprentissage Ensemble de test 5 5 0 0 -5 -5 -10 -10 -5 0 5 -10 -10 -5 0 5 Anneau Taux de bruit η = 0.30 Ensemble d’apprentissage Ensemble d’apprentissage bruite 10 5 5 0 0 -5 -5 -10 -10 -10 -5 0 5 -5 0 5 10 Anneau Taux de bruit η = 0.30 Ensemble d’apprentissage Ensemble de test 5 5 0 0 -5 -5 -10 -10 -5 0 5 -10 -10 -5 0 5 Sommaire Conclusion En théorie RP-learn est un algorithme PAC Séparation de données non linéairement séparables Complexités élevées en échantillonnage et en temps En pratique Bons résultats avec des espaces de projection de tailles raisonnables Tolérance au bruit satisfaisante même avec un échantillon de taille réduite Ouvertures Perspectives Choix d’un noyau adapté au problème Dimension de l’espace dépendante de la marge Estimation du taux de bruit Autres types de bruit Recherche d’un séparateur optimal : kernel-adatron [FCC98] D. Angluin and P. Laird. Learning from Noisy Examples. Machine Learning, 2, 1988. A. Blum, A. M. Frieze, R. Kannan, and S. Vempala. A Polynomial-Time Algorithm for Learning Noisy Linear Threshold Functions. In Proc. of 37th IEEE Symposium on Foundations of Computer Science, pages 330–338, 1996. T. Bylander. Learning Linear Threshold Functions in the Presence of Classification Noise. In Proc. of 7th Annual Workshop on Computational Learning Theory, pages 340–347. ACM Press, New York, NY, 1994, 1994. T. Bylander. Learning Noisy Linear Threshold Functions. 1998. E. Cohen. Learning Noisy Perceptrons by a Perceptron in Polynomial Time. In Proc. of 38th IEEE Symposium on Foundations of Computer Science, pages 514–523, 1997. J. Dunagan and S. Vempala. Polynomial-time rescaling algorithm for solving linear programs. In Proc. of the ACM Symposium on Theory of Computing (STOC), 2004. T. Friess, N. Cristianini, and N. Campbell. The Kernel-Adatron Algorithm : a Fast and Simple Learning Procedure for Support Vector Machines. In J. Shavlik, editor, Machine Learning : Proc. of the 15th Int. Conf. Morgan Kaufmann Publishers, 1998. M. Minsky and S. Papert. Perceptrons : an Introduction to Computational Geometry. MIT Press, 1969. F. Rosenblatt. The Perceptron : A probabilistic model for information storage and organization in the brain. 65 :386–407, 1958. L. Valiant. A theory of the learnable. Communications of the ACM, 27 :1134–1142, 1984.