1
Notes du cours RFIDEC (5) Jean-Yves Jaffray 20 janvier 2006 1 Classification non-paramétrique : la méthode des k plus proches voisins 1.1 Introduction Lorsque nous avons fait des hypothèses probabilistes (statistique inférentielle) nous avons toujours supposé que la famille des lois dont sont susceptibles d être tirées les observations pouvait être décrite à l aide d un petit nombre de paramètres ; par exemple, la famille des lois normales à une dimension a deux paramètres, (m,σ). On se trouvait alors dans le domaine de la statistique paramétrique. A contrario, lorsqu on n a qu une idée très vague de la loi dont est tiré l échantillon, on se trouve dans le cadre de la statistique non-paramétrique. En classification à K classes, il est souvent naturel de supposer que les objets de deux classes distinctes sont tirés aléatoirement selon des lois différentes et ceux d une même classe C k selon la même loi, mais que l on ne sait pas de quelles lois il s agit. On se trouve alors en classification non-paramétrique. 1.2 Une approche non-paramétrique 1.2.1 Estimation d une densité de probabilité Soit X une variable aléatoire vectorielle à d dimensions suivant une loi de densité p(x) continue en x ; soit V une boule de centre x ; on note p = P (X V ) la probabilité que X appartienne à V (p dépend donc de V ) et V le volume de V ; d après les propriétés de l intégrale, lim V 0 p V = lim P r(x V ) V 0 V = lim V 0 V p(x)dx V dx = p(x). Considérons alors un n-échantillon issu de X ; le nombre k de réalisations qui tombent dans le volume V est aléatoire et suit la loi binomiale B(n,p) (où p = P (X V )) : P ( k = k) = ( n k )pk (1 p) (n k),k = 0,,n 2
On sait que cette loi a pour espérance E( k) = np et donc que k n est un estimateur sans biais de p. Une estimation possible de p(x), d autant meilleure que le volume de V sera plus petit, est donc p(x) = k n V. En résumé, la densité de probabilité estimée en x est proportionnelle au nombre d observations qui sont dans un voisinage de taille fixée de x. 1.2.2 Application à la classification Considérons le problème de classification à K classes en apprentissage supervisé et supposons que l on ait une base d exemples contenant n objets de chacune des classes. Si le nouvel objet observé, qui est à classer, appartient à la classe j (j = 1,,K), la vraisemblance de x, c-à-d la densité de probabilité en x, p j (x), k j n V. vaut, approximativement Une règle de classement basée sur le principe du maximum de vraisemblance conduirait donc à attribuer à l objet la classe j = arg max k j j 1.3 La méthode des k plus proches voisins Cette méthode propose une variante du maximum de vraisemblance en jouant sur la dimension de la boule V ; elle prend V assez grande pour contenir exactement un nombre fixé k d exemples. Le nouvel objet observé x est attribué à la classe qui a le plus de représentants parmi ces k exemples. La méthode des k plus proches voisins (k P P V ) peut être utilisée en apprentissage supervisé : On donne une base d exemples fixe constituée de n objets de classes connues : les prototypes. Tout nouvel objet à classer, l est selon la règle des k P P V. En fait cette règle est surtout utilisée en apprentissage non-supervisé : L initialisation demande aussi une base d exemples constituée d objets de classes connues, le dictionnaire initial. Les nouveaux objets, à classer, le sont successivement selon la règle des k P P V. La différence est que dès qu un objet a été classé il est immédiatement intégré au dictionnaire. 3
Algorithme des k-ppv en apprentissage non-supervisé Entrée : x j, j = 1,,n + M. Initialisation Dictionnaire D 1 = {x 1,,x n }, m 1 Tant que m M Répéter Déterminer les k plus proches voisins de x n+m dans D m ; attribuer à x n+m la classe majoritaire m m + 1 Sortie : classification des x j, j = n + 1,,n + M Critique de la méthode des k P P V : Il y a beaucoup d arbitraire ; en particulier les classements dépendent de l ordre dans lequel les nouveaux objets arrivent. La valeur de k ne peut pas être prise très grande, sinon la méthode ne s appliquerait qu aux très grandes bases d objets ; or, si k est petit, la classification est très sensible au bruit (c-à-d qu une faible modification des objets pourrait modifier profondément les classements). 2 La quantification vectorielle 2.1 Introduction La quantification vectorielle, en abrégé VQ (V ector Quantization, en anglais), opère sur des objets pouvant prendre des valeurs très diverses, par exemple des vecteurs quelconques de R d +, et ramène chacun d eux à celui des objets d une liste restreinte (les prototypes) qui en est le plus proche. Dans un magasin de chaussures, on ne prend pas en compte la longueur exacte de votre pied, mais seulement votre pointure, qui en donne une idée approximative, chaque pointure correspondant idéalement à une longueur du pied précise. Cette simplification des données est fondamentale dans plusieurs domaines, dont la compression d images. La VQ est donc à la base une technique de regroupement mais peut aussi être considérée comme une méthode de classification, assimiler un objet à un prototype donné revenant à le ranger dans une classe donnée (associée à ce prototype). L utilisation la plus intéressante de la VQ est en apprentissage nonsupervisé et avec des prototypes qui ne sont pas fixes et vont évoluer au cours de l algorithme. Une phase d initialisation est cependant nécessaire pour choisir des prototypes initiaux. Une possibilité est d utiliser un algorithmeà seuil. 4
2.2 Algorithme à seuil Le nombre K de classes n est pas imposé a priori et est lui-même une sortie de l algorithme. On choisit une distance d(x,y) ; ce sera en général la distance euclidienne si l on est dans R d. On choisit ensuite un seuil, θ, c-à-d une distance minimale devant séparer tout couple de prototypes. La sélection d un dictionnaire de prototypes initiaux est alors opérée par l algorithme : Algorithme à seuil Entrée : X = {x j, j = 1,,n}. Seuil θ > 0 Initialisation Dictionnaire D 1 = {x 1 }, j 2 Tant que j n Répéter Si y D j 1, d(x j,y) θ Alors D j D j 1 Sinon D j D j 1 {x j } Sortie : un dictionnaire de prototypes D = D n de taille K = D 2.3 Algorithmes de K-moyenne Nous allons donner deux algorithmes, variantes l un de l autre, qui, partant de K prototypes initiaux, vont classer les une après les autres les objets de la base (règle de sélection) mais vont aussi modifier au passage les prototypes (règle d adaptation); l idée est que le prototype d une classe doit être un objet bien représentatif de cette classe, un objet moyen en quelque sorte, qu on appelle un centroïde ; un centroïde particulier souvent utilisé lorsque l on a affaire à des objets de R d est leur centre de gravité. 2.3.1 Algorithme de K-moyenne de type CL Dans l algorithme CL (initiales de C ompetitive Learning en anglais), seul compte pour le classement le critère de proximité du prototype. Cet algorithme est aussi connu sous d autres noms, dont algorithme d agrégation autour de centres mobiles. Algorithme de K-moyenne de type CL Entrée : K prototypes D = {y 1,,y K } ; X = {x j, j = 1,,n}. Initialisation j 1, n k = 1 ( 1 k K) Tant que j n Répéter k arg min 1 l K d(x j,y l ) Affecter x j à la classe C k (règle de sélection) y k y k + α(x j y k ) (règle d adaptation) n k n k + 1 Sortie : un regroupement en K classes et les prototypes de chaque classe (des centroïdes), D. Dans la règle d adaptation, α > 0 est une constante qui gère l intensité du 5
déplacement du prototype dans la direction du nouvel élément de la classe, x j. Il existe de nombreuses variantes de cette règle, en particulier, le déplacement peut être variable ; par exemple, on prend souvent : y k n k.y k +x j n k +1 ; les centroïdes sont alors exactement les centres de gravité des classes. 2.3.2 Algorithme de K-moyenne de type FSL Une difficulté avec les algorithmes de K-moyenne est qu il est possible que certains prototypes soient perdus - on dits aussi morts - c-à-d ne soient jamais sélectionnés, ce qui a pour inconvénient que les classes seront de tailles très inégales. L algorithme FSL (initiales de F requency S ensitive Learning en anglais) évite ce phénomène en pénalisant les prototypes trop utilisés (et donc en favorisant la sélection des autres). La règle de sélection n est plus basée sur la comparaison des distances d(x,y k ), mais sur celle des quantités u k d(x,y k ), où le poids u k est d autant plus élevé que la classe k a été choisie plus souvent ; par exemple, u k est incrémentée d une unité chaque fois que k est choisie. règle de sélection : k arg min 1 l K u l d(x j,y l ) Affecter x j à la classe C k La règle d adaptation est la même que dans l algorithme CL. 2.3.3 Algorithme de Linde-Buzo-Gray (LBG) L algorithme de Linde-Buzo-Gray (LBG) ne fait pas seulement évoluer les prototypes mais aussi leur nombre, par duplication. L intérêt de le faire est d accroître la précision et aussi d équilibrer les tailles des classes. Algorithme LBG Entrée : K prototypes D = {y 1,,y K }, centres de gravité des K ensembles de la partition de X = {x j, j = 1,,n}. Un vecteur z Tant que critère d arrêt non-satisfait Répéter Doubler le nombre de prototypes en remplaçant chaque prototype y par deux autres y + z et y z Affecter chaque exemple x j à la classe du nouveau prototype dont il est le plus proche Adapter les prototypes en les remplaçant par les centres de gravité de leurs classes. Sortie : un regroupement en K r classes et les prototypes de chaque classe (leurs centres de gravité). 6