Vous êtes sur la page 1sur 7

Chapitre 8

Classication automatique : introduction


La classication (clustering) est une mthode mathmatique danalyse de donnes : pour e e e faciliter ltude dune population deectif important (animaux, plantes, malades, g`nes, etc...), e e on les regroupe en plusieurs classes de telle sorte que les individus dune mme classe soient le e plus semblables possible et que les classes soient le plus distinctes possibles. Pour cela il y a diverses faons de procder (qui peuvent conduire ` des rsultats dirents...). Dans ce cours c e a e e nous prsentons deux algorithmes, un premier appel classication hierarchique ascendante et e e un second appel mthode des centres mobiles. e e

8.1

Distances entre individus dune mme population e

Pour regrouper les individus qui se ressemblent (et sparer ceux qui ne se ressemblent pas), e il faut un crit`re de ressemblance. Pour cela on examine lensemble des informations dont on e dispose concernant les individus (pression artrielle, temprature, taux de mtabolisme, ... par e e e exemple sil sagit de malades) notes (xi , yi , . . .) pour le i`me individu, et on imagine que chaque e e individu est un point Mi = (xi , yi , zi , . . .) de lespace. Sil ny a que deux variables releves (xi , yi ) e on obtient ainsi un nuage de points dans le plan, = {Mi , i = 1, . . . , n} o` n est leectif u total de la population. La distance euclidienne de deux individus Mi et Mj est par dnition e d2 (Mi , Mj ) = (xi xj )2 + (yi yj )2

Elle est dautant plus petite que les deux individus sont semblables (du point de vue des valeurs des deux crit`res retenus) et dautant plus grande quils sont dirents. e e On peut associer ` chaque nuage dindividus une matrice D = (dij )0in,0jn = (d2 (Mi , Mj )), a dite matrice des distances. Cest une matrice ` n lignes et n colonnes, ` coecients positifs, a a symtrique (puisque d2 (Mi , Mj ) = d2 (Mj , Mi )) et nulle sur la diagonale (puisque d2 (Mi , Mi ) = e 0). Pour un nuage deectif n, il y a donc n(n1) distances ` calculer. a 2 A cot de la distance euclidienne, on peut dnir dautres distances (et donc dautres matrices e e des distances). Par exemple d1 (Mi , Mj ) = |xi xj | + |yi yj | d (Mi , Mj ) = Max {|xi xj |, |yi yj |}

8.2

Ecarts entre classes

Supposons le nuage = {Mi , i = 1, . . . , n} dcompos en plusieurs classes 1 , 2 , .... , k et e e notons G1 , G2 , .... , Gk les centres de gravit respectifs de chaque classes et notons p1 , p2 , ... , e 55

56

CHAPITRE 8. CLASSIFICATION AUTOMATIQUE : INTRODUCTION

pk les poids respectifs de chaque classe que lon dnit de la faon suivante : si lon suppose que e c tous les individus ont le mme poids gal ` n , le poids pl de la classe l est gal ` leectif de e e a 1 e a l divis par n. De cette faon la somme des poids de toutes les classes vaut 1. Rappelons que e c le centre de gravit G dun nuage de points est le point moyen du nuage, cest-`-dire le point e a n n 1 1 G = (x, y, . . .) de coordonnes x = n i=1 xi , y = n i=1 yi , .... e Pour mesurer la proximit ou lcart entre deux classes l et m , il existe de nombreuses e e faons de procder. On calcule par exemple la quantit Min {d(Mi , Mj ), Mi m , Mj l } c e e appele distance du plus proche voisin ou encore Max {d(Mi , Mj ), Mi m , Mj l } ou sime plement la distance des centres de gravit d2 (Gm , Gl ). Mais la mesure que lon utilise le plus e souvent appele cart de Ward est dnie par : e e e d(m , l ) := o` pl et pm sont les poids des deux classes. u p m pl d2 (Gm , Gl )2 pm + p l

8.3

Inertie interclasse et inertie intraclasse

On appelle inertie totale dun nuage = {Mi , i = 1, . . . , n} la somme pondre des carrs ee e des distances de ses points au centre de gravit du nuage. Donc, si G dsigne le centre de gravit e e e 1 de , linertie totale de est, si tous les points du nuage sont de mme poids gal ` n , e e a I() = 1 d2 (M1 , G)2 + d2 (M2 , G)2 + . . . + d2 (Mn , G)2 . n (8.1)

Notons que le centre de gravit est prcisment le point G pour laquelle cette somme pondre e e e ee est minimal. Linertie mesure la dispersion du nuage. Si le nuage est compos de k classes e 1 , 2 , .... , k (disjointes deux ` deux), celles-ci seront dautant plus homog`nes que les inerties a e de chaque classe, I(1 ), I(2 ), .... , I(k ), calcules par rapport ` leurs centres de gravit G1 , e a e G2 , .... , Gk respectifs, sont faibles. La somme de ces inerties est appele inertie intraclasse : e Iintra = I(1 ) + I(2 ) + . . . + I(k ) Les inerties des classes I(1 ), I(2 ), ... sont simplement calcules avec la formule (8.1) ci-dessus e 1 o` lon remplace le centre de gravit G par celui de la classe G1 , G2 , ... et le poids n par celui u e de la classe. Linertie totale dun nuage nest gnralement pas gale ` la somme des inerties des classes e e e a qui le composent, cest-`-dire ` linertie intraclasse (sauf dans le cas o` les centres de gravit a a u e de toutes les classes sont confondus) car il faut prendre en compte galement la dispersion des e classes par rapport au centre de gravit du nuage. Il sagit de linertie interclasse dnie par e e Iinter = p1 d2 (G1 , G)2 +p2 d2 (G2 , G)2 +. . .+pk d2 (Gk , G)2 , o` pj dsigne le poids total de la classe j . u e On montre le rsultat suivant appel dcomposition de Huygens : e e e Thor`me 8.1 Linertie totale dun nuage de points compos de direntes classes disjointes e e e e deux ` deux est la somme de son inertie intraclasse et de son inertie interclasse, cest-`-dire : a a I() = I(1 2 . . . k ) = Iintra + Iinter .

8.4

Classication hirarchique ascendante e

Pour classier une population deectif n dont les individus sont numrots 1, 2, ..., on e e consid`re cette population comme la runion de n classes ` un seul lment et on regroupe e e a ee progressivement les classes deux ` deux selon lalgorithme suivant : a

8.5. METHODE DES CENTRES MOBILES2

57

1.2

0.8

0.6

0.4

0.2

21 25 23 27 22 30 24 26 28 29

5 11 12 20 17 14 15 16 19 13 18

7 10

Etape 1 : Calculer la matrice des distances D = (d(Mi , Mj )0in,0jn ou directement la mapi pj trice des distances de Ward des classes rduites aux points W = ( pi +pj (d(Mi , Mj )2 )1in,1jn . e Etape 2 : Remplacer les deux individus de distance minimale par une classe (` 2 lments) a ee numrote n + 1, qui sera reprsente par le centre de gravit des individus et aecte de la e e e e e e somme des poids des individus. Etape 3 : Calculer la perte dinertie interclasse (ou gain dinertie intraclasse) d au regroupeu ment prcdent : il sagit exactement de lcart de Ward des deux individus regroups. e e e e Apr`s ces trois tapes, la population compte alors n 1 classes (n 2 classes ` un lment e e a ee et une ` 2 lments). On peut donc recommencer ` ltape 1 en remplaant individus par a ee a e c classes si ncessaire (et donc distance entre individus par carts entre classes). Apr`s e e e n 1 itrations, tous les individus sont regroups en une classe unique. e e On construit alors un arbre, appel dendrogramme (voir dessin ci-dessus) de la faon suivante. e c On aligne sur laxe horizontal des points reprsentant les dirents individus et on les joint e e deux ` deux, successivement, en suivant cet algorithme de classication hierarchique ascendante a (commenant par les plus proches, etc...). On poursuit ainsi jusqu` regroupement de tous les c a individus en une classe unique. Pour plus de lisibilit, on pourra disposer les individus dans e lordre dans lequel les regroupements ont t eectus. Le niveau (hauteur) de chaque noeud de ee e larbre est, le plus souvent, choisi proportionnel ` la nouvelle dinertie intra ; en choisissant le a rapport (inertie intra)/(inertie totale) ce niveau est zro lorsque tous les individus sont spars e e e (en bas) et vaut 1 lorsquil sont tous runis en une seule classe (en haut). En fait, on trace ce e dendrogramme an de visualiser le niveau o` couper cet arbre pour raliser la meilleure partition u e de lensemble initial. On peut comprendre quil sera optimal de couper le dendrogramme ` un a niveau o` le regroupement entre classes conduit ` une perte dinertie inter maximale. On peut u a vrier que lcart de Ward entre deux classes est en fait gal ` la perte dinertie inter (ou le e e e a gain dinertie intra) que produirait la runion de ces deux classes en une seule. Le niveau des e noeuds de larbre est donc facile ` calculer ` partir des carts de Ward entre les classes. a a e

8.5

Mthode des centres mobiles1 e

Cette mthode sapplique lorsque lon sait ` lavance combien de classes on veut obtenir. e a Appelons k ce nombre. Lalgorithme est le suivant : Etape 0 : Pour initialiser lalgorithme, on tire au hasard k individus appartenant ` la population, a C1 (0), C2 (0), ..., Ck (0) : ce sont les k centres initiaux. Etape 1 : On regroupe les individus autours de ces k centres de sorte ` former k classes 1 (0), a 2 (0), ..., k (0) de la mani`re suivante : chaque classe l (0) est constitue des points plus proches e e du centre Cl (0) que des autres centres m (0) pour m = l. Etape 2 : On calcule alors les centres de gravit G1 , G2 , .... , Gk des k classes obtenues et on e dsigne ces points comme nouveaux centres C1 (I) = G1 , C2 (I) = G2 , .... , Ck (I) = Gk e
1

Hors programme en 2007/2008

58

CHAPITRE 8. CLASSIFICATION AUTOMATIQUE : INTRODUCTION

On rp`te les tapes 1 et 2 jusqu` ce que le dcoupage en classes obtenu ne soit presque e e e a e plus modi par une itration suplmentaire. On peut montrer que la variance intra classe ne e e e peut que dcro lorsque lon passe dun dcoupage en classes au suivant. e tre e

8.6

Exercices

Exercice 1 : La succession des quatres dessins suivants correspond aux tapes successives e dune classication hierarchique ascendantes des cinq points M1 (2, 0), M2 (0, 1), M3 (0, 2), M4 (3, 4) et M5 (5, 4) progressivement regroupes en classes de deux ou trois points dont les e centres de gravit sont nots G6 , G7 et G8 . On suppose que les cinq points initiaux sont e e tous aects du poids 1. La distance choisie pour cette classication, qui apparait dans les e quatres matrices de distance, est lcart de Ward. e

8.6. EXERCICES

59

1. Complter le troisi`me dessin en y plaant les trois points devant y gurer et indiquer e e c sur les quatres dessins le nom des points. 2. Complter les six distances manquantes dans les matrices de distances. e 3. Prciser les coordonnes des points G6 , G7 et G8 e e 4. Calculer les coordonnes du centre de gravit G9 des cinq points. e e 5. Tracer un dendrogramme rsumant cette classication. e Exercice 2 : Soient M1 = (1, 0), M2 = (0, 1) et M3 = (3, 1) trois points du plan. 1. Calculer les matrices des distances du nuage form de ces trois points en utilisant e successivement la distance euclidienne d2 puis les distances d1 et d . 2. On ajoute au nuage prcdent les deux points M4 = (4, 2) et M5 = (4, 3). Dcrire e e e les tapes successives dune classication hirarchique ascendante en calculant noe e tamment les coordonnes et poids des classes obtenues par regroupement et la perte e dinertie intraclasse ` chaque regroupement. a 3. En dduire le dendrogramme. Quelle coupure suggrez-vous ? e e Exercice 3 : (Sujet inspir dun article de John Hartshorne, paru dans le journal de la British e Ecological Society) Un laboratoire dcologie tudie les esp`ces micro-animales (larves, ..) prsentes dans les e e e e rivi`res et les tangs. Il ralise, dans 6 sites de rivi`re, nots R1, R2, R3, R4, R5 et R6, et 3 e e e e e sites dtangs, nots E1, E2 et E3, des prl`vements rpts qui lui permettent davancer e e ee e ee une liste des esp`ces prsentes dans chacun de ces sites et de reprer les esp`ces prsentes e e e e e dans plusieurs sites ` la fois. La matrice suivante contient, pour chaque paire de sites A et a B, le nombre desp`ces communes aux 2 sites. Ainsi on y lit par exemple que 11 esp`ces e e sont prsentes au site R1 et quil y a 7 esp`ces prsentes ` la fois au site R1 et au site R2. e e e a R1 11 7 4 6 6 7 4 4 3 R2 7 15 8 8 9 6 3 3 2 R3 4 8 13 7 7 4 2 3 2 R4 6 8 7 15 7 6 6 8 6 R5 6 9 7 7 12 4 3 5 4 R6 7 6 4 6 4 10 6 5 5 E1 4 3 2 6 3 6 13 10 9 E2 4 3 3 8 5 5 10 15 11 E3 3 2 2 6 4 5 9 11 12

R1 R2 R3 R4 R5 R6 E1 E2 E3

On se propose de regrouper les 9 sites en trois ou quatre classes composes de sites o` ce e u sont pratiquement les mmes esp`ces qui sont prsentes. Pour raliser cette classication, e e e e on propose de mesurer la distance entre deux sites A et B par la formule d(A, B) = nA + nB 2nAB nA + n B

o` nA (resp. nB ) dsigne le nombre desp`ces prsentes au site A (resp. au site B) et nAB u e e e le nombre desp`ces en commun entre les sites A et B. On obtient la matrice des distances e suivante :

60

CHAPITRE 8. CLASSIFICATION AUTOMATIQUE : INTRODUCTION R1 0 0, 462 0, 666 0, 538 0, 478 0, 334 0, 666 0, 692 0, 74 R2 0, 462 0 0, 428 0, 466 0, 334 0, 52 0, 786 0, 8 0, 852 R3 0, 666 0, 428 ...... ...... 0, 44 0, 652 0, 846 0, 786 0, 84 R4 0, 538 ...... ...... 0 0, 482 0, 52 0, 572 0, 466 0, 556 R5 0, 478 0, 334 0, 44 0, 482 0 0, 636 0, 76 0, 63 0, 666 R6 0, 334 0, 52 0, 652 0, 52 0, 636 0 0, 478 0, 6 0, 546 E1 0, 666 0, 786 0, 846 0, 572 0, 76 ..... ..... ..... 0, 28 E2 0, 692 0, 8 0, 786 0, 466 0, 63 ..... ..... ..... 0, 186 E3 0, 74 0, 852 0, 84 0, 556 0, 666 0, 546 0, 28 0, 186 0

R1 R2 R3 R4 R5 R6 E1 E2 E3

1. Complter les coecients manquants de cette matrice. e 2. Prciser quels sont les deux sites les plus proches ainsi que les deux sites les plus e loigns. e e 3. La classication conduit au dendrogramme reprsent ci-dessous. Dcrire la compoe e e sition des classes de la partition qui vous semble la plus approprie. e
0.8

0.7

0.6

0.5

0.4

0.3

0.2

0.1

4. Un autre choix de distance entre les sites aurait-il pu conduire ` une partition a dirente ? Pourquoi na-t-on pas choisi la distance euclidienne ? e Exercice 4 : 1. En choisissant un nuage de trois points aligns sur laxe des x regroups e e en deux classes, calculer linertie totale, linertie intraclasse et linertie interclasse. Vrier le thor`me de Huygens dans cet exemple. e e e 2. En considrant cette fois trois points du plan non ncessairement aligns, montrer e e e le thor`me de Huygens (on pourra utiliser le fait que leurs projections sur les deux e e axes de coordonnes vrient le thor`me). e e e e e Exercice 5 : Soit := {Mi = (xi , yi ), i = 1, . . . , n} un nuage de points du plan, chacun tant 1 pondr dun poids n . ee 1. Quelle formule donne les coordonnes (x, y) du centre de gravit G du nuage en e e fonction de xi , yi et n ? 2. En utilisant votre calculette, vrier sur quelques exemples de nuages la transitivit e e du centre de gravit, cest-`-dire le fait que pour calculer les coordonnes de G on e a e peut, lorsque le nuage est la runion de deux classes 1 et 2 , calculer dabord les e e centres de gravit G1 et G2 des deux classes puis calculer le centre de gravit de G1 e et G2 aects de leurs poids respectifs. e Exercice 6 : On consid`re les 6 points M1 = (2, 3), M2 = (2, 1), M3 = (2, 1), M4 = e (2, 1), M5 = (2, 1) et M6 = (1, 0). e 1. En supposant que les deux premiers points M1 et M2 sont les centres initiaux, dcrire par une succession de dessins, lalgorithme des centres mobiles en reprsentant les e centres, les classes, les nouveaux centres ... jusqu` stabilisation de lalgorithme. On a calculera au passage si ncessaire les coordonnes des centres. e e

8.6. EXERCICES

61

2. Recommencer en choisissant diremment les centres initiaux. Obtient-on la mme e e classication ? Exercice 7 : Classier les points du nuage prcdent par une classication hirarchique ase e e cendante et reprsenter le dendrogramme (` noter que lorsquon doit regrouper les deux e a points les plus proches et quil existe deux couples de points satisfaisant cette condition, on convient de choisir les deux points dont les numros sont les plus petits). e