Anda di halaman 1dari 36

Mthodes de classification : Partitionnement des donnes

Olivier Aycard (E. Gaussier)


Universit Joseph Fourier

http://emotion.inrialpes.fr/aycard
e-Motion Group 2007 Olivier.aycard@imag.fr

Plan du cours
Introduction Distance ou mtrique Principe du partitionnement et exemple Lalgorithme k-moyennes Problme de minimums locaux et lalgorithme des formes fortes Choix du nombre de classes Conclusion

e-Motion Group 2007 Olivier.aycard@imag.fr

Introduction
On suppose maintenant quon ne connat pas les classes auxquelles appartiennent les donnes (contrairement aux mthodes de catgorisation) :
Mthode de classification Apprentissage non supervis

On veut rpartir les donnes en K classes disjointes Il faut une reprsentation pour chaque classe Il faut trouver une mthode pour classifier les donnes

e-Motion Group 2007 Olivier.aycard@imag.fr

Introduction
On veut rpartir les tudiants en 2 classes en fonction de leur note
notes des tudiants
9 8

6 nombre d'tudiants

5 Notes des tudiants 4

0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 notes des tudiants

e-Motion Group 2007 Olivier.aycard@imag.fr

Introduction
On veut rpartir les tudiants en 2 classes en fonction de leur note
notes des tudiants
9 8

6 nombre d'tudiants

5 notes <= 7 notes > 7 4

0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 notes des tudiants

Les tudiants dont la note est infrieure ou gale 7 (ou 8, 9, 10) et les tudiants dont la note est suprieure 7 (ou 8, 9, 10)
e-Motion Group 2007 Olivier.aycard@imag.fr

Introduction
On veut rpartir les tudiants en 2 classes en fonction de leur note
notes des tudiants
9 8

6 nombre d'tudiants

5 classe 1 classe 2 4

0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 notes des tudiants

Les tudiants dont la note est comprise entre 3 et 7 et les tudiants dont la note est comprise entre 11 et 16
e-Motion Group 2007 Olivier.aycard@imag.fr

Introduction
On veut rpartir les tudiants en 2 classes en fonction de leur note
notes des tudiants
9 8

6 nombre d'tudiants

classe 1 classe 2 nouvel tudiant

0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 notes des tudiants

On a un nouvel tudiant dont la note est 9 Comment va-t-on le classer ?


e-Motion Group 2007 Olivier.aycard@imag.fr

Introduction
On veut rpartir les tudiants en 2 classes en fonction de leur note
notes des tudiants
9 8

6 nombre d'tudiants

classe 1 classe 2 nouvel tudiant

0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 notes des tudiants

La classe dtudiants dont la moyenne est de 5,40 et la classe dtudiants dont la moyenne est de 13.75 Un tudiant avec une note de 9 fait partie de la 1 re classe
e-Motion Group 2007 Olivier.aycard@imag.fr

Introduction
On veut maintenant rpartir les tudiants en 3 classes en fonction de leur note
classes d'tudiants
9
9

classes d'tudiants
9

6 nombre d'tudiants

classe1 classe2 classe3

0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 notes des tudiants

classes d'tudiants

8
8

7
7

6
6

nombre d'tudiants

classe 1 classe 2 classe 3

nombre d'tudiants

classe 1 classe 2 classe 3

0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 notes des tudiants

0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 notes des tudiants

e-Motion Group 2007 Olivier.aycard@imag.fr

Plan du cours
Introduction Distance ou mtrique Principe du partitionnement et exemple Lalgorithme k-moyennes Problme de minimums locaux et lalgorithme des formes fortes Choix du nombre de classes Conclusion

e-Motion Group 2007 Olivier.aycard@imag.fr

10

Notion de distance ou mtrique


Pour partitionner des donnes, il faut pouvoir mesurer la distance entre 2 points (ou entre un point et une classe) distance( x , x ) = (x x ) (distance euclidienne) distance( x , x ) = x x (distance de Manhattan) Ce sont les 2 distances les plus simples et les plus utiliss Le choix de la distance influence la rpartition des points Les meilleures distances sont souvent dpendantes du problme tudi (cf. TP)
P i j p =1 p i p 2 j

p =1

p i

p j

e-Motion Group 2007 Olivier.aycard@imag.fr

11

Plan du cours
Introduction Distance ou mtrique Principe du partitionnement et exemple Lalgorithme k-moyennes Problme de minimums locaux et lalgorithme des formes fortes Choix du nombre de classes Conclusion

e-Motion Group 2007 Olivier.aycard@imag.fr

12

Principe du partitionnement
Rpartir les N points en K classes disjointes Chaque point est affect la classe la plus proche Chaque classe est reprsente par un point i (appel le centre de gravit de la classe) avec 1<= i <= K Il faut trouver les K points reprsentants les classes Problme de minimisation
D = distance( x j , i )
i =1 jCi K

e-Motion Group 2007 Olivier.aycard@imag.fr

13

Exemple de partitionnement
Reprenons notre exemple de partitionnement des tudiants en fonction de leur note On choisit deux classes : 1= 3 et 1= 14 On rpartit les tudiants en fonction de la distance entre leur note et chaque classe
notes des tudiants
9 8

6 nombre d'tudiants

5 classe 1 classe 2 4

0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 notes des tudiants

e-Motion Group 2007 Olivier.aycard@imag.fr

14

Exemple de partitionnement
1= 3 et 2= 14
notes des tudiants
9 8

6 nombre d'tudiants

5 classe 1 classe 2 4

0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 notes des tudiants

D(3.14 ) = 4 3 3 + 2 4 3 + 6 5 3 + 3 6 3 + 8 7 3 + 2 11 14 + 4 12 14 + 3 13 14 + 2 14 14 + 6 15 14 + 3 16 14

D( 3.14 ) = 2 + 12 + 9 + 32 + 6 + 8 + 3 + 6 + 6 = 84

e-Motion Group 2007 Olivier.aycard@imag.fr

15

Exemple de partitionnement

1= 4 et 2= 12
notes des tudiants

6 nombre d'tudiants

5 classe 1 classe 2 4

0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 notes des tudiants

D( 4.12) = 4 3 4 + 2 4 4 + 6 5 4 + 3 6 4 + 8 7 4 + 2 11 12 + 4 12 12 + 3 13 12 + 2 14 12 + 6 15 12 + 3 16 12

D( 4.12) = 4 + 6 + 6 + 24 + 2 + 3 + 4 + 18 + 12 = 79

1= 4 et 1= 12 partitionnent mieux les donnes que 1= 3 et 1= 14

e-Motion Group 2007 Olivier.aycard@imag.fr

16

Exemple de partitionnement
Pour trouver le meilleur partitionnement, il faut calculer D(i,j) pour tous les couples (i, j) avec 0 <= i, j <= 20 Il y a 212 couples possibles Si on voulait partitionner les tudiants en 5 classes, il faudrait tester 215 (4x106) quintuplets possibles Dans le cas gnral, une approche exhaustive est proscrire En plus, on se restreint des valeurs entires pour reprsenter les classes On utilise lalgorithme des k-moyennes

e-Motion Group 2007 Olivier.aycard@imag.fr

17

Plan du cours
Introduction Distance ou mtrique Principe du partitionnement et exemple Lalgorithme k-moyennes Problme de minimums locaux et lalgorithme des formes fortes Choix du nombre de classes Conclusion

e-Motion Group 2007 Olivier.aycard@imag.fr

18

Algorithme des k moyennes


Initialiser 1, , k Rpter Pour chaque donne xj avec 1 <= j <= N, affectation la classe i la plus proche : Ci = mini d(xj, i) Pour chaque classe i, 1 recalcul du centre de gravit i = N i Tant que > Complexit : O(KNI) avec I : nombre ditrations
e-Motion Group 2007 Olivier.aycard@imag.fr

x
jCi

19

Exemple de lalgorithme des k-moyennes pour 2 classes


Initialisation : 1= 3 et 2= 14 Affectation des donnes aux 2 classes
notes des tudiants
9 8

6 nombre d'tudiants

5 classe 1 classe 2 4

0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 notes des tudiants

Recalcul des centres de gravit 1 124


1 =
23

( 4 3 + 2 4 + 6 5 + 3 6 + 8 7) =

23

5.39

1 275 2 = ( 2 11 + 4 12 + 3 13 + 2 14 + 6 15 + 3 16 ) = 13.75 20 20

D 58.89

e-Motion Group 2007 Olivier.aycard@imag.fr

20

Exemple de lalgorithme des k-moyennes pour 2 classes


2me itration : 1= 5.39 et 2= 13.75 Affectation des donnes aux 2 classes
notes des tudiants
9 8

6 nombre d'tudiants

5 classe 1 classe 2 4

0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 notes des tudiants

Recalcul des centres de gravit


1 =
1 ( 4 3 + 2 4 + 6 5 + 3 6 + 8 7 ) = 124 5.39 23 23

D 58.89

2 =

1 ( 2 11 + 4 12 + 3 13 + 2 14 + 6 15 + 3 16) = 275 13.75 20 20

e-Motion Group 2007 Olivier.aycard@imag.fr

21

Exemple de lalgorithme des k-moyennes pour 3 classes


Initialisation : 1= 1, 2= 6 et 3= 9 Affectation des donnes aux 3 classes
rpartition des tudiants en 3 classes
9 8

6 nombre d'tudiants

classe1 classe2 classe3

0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 notes des tudiants

Recalcul des centres de gravit


1 = 3
3 13.75
2 5.89
e-Motion Group 2007 Olivier.aycard@imag.fr

D 47.82

22

Exemple de lalgorithme des k-moyennes pour 3 classes


2me itration : 1= 3, 2= 5.89 et 3= 13.75 Affectation des donnes aux 3 classes
rpartition des tudiants en 3 classes
9 8

6 nombre d'tudiants

classe1 classe2 classe3

0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 notes des tudiants

Recalcul des centres de gravit 13.75 = 3.33


1

2 6.11
e-Motion Group 2007 Olivier.aycard@imag.fr

D 46.28

23

Plan du cours
Introduction Distance ou mtrique Principe du partitionnement et exemple Lalgorithme k-moyennes Problme de minimums locaux et lalgorithme des formes fortes Choix du nombre de classes Conclusion

e-Motion Group 2007 Olivier.aycard@imag.fr

24

Exemple de lalgorithme des k-moyennes pour 3 classes (autres valeurs initiales pour les centres de gravit)
Initialisation : 1= 0, 2= 6 et 3= 18 Valeurs finales des centres de gravit
1 4.16

2 6.72

3 13.75

D 43.86

Affectation des donnes aux 3 classes


rpartition des tudiants en 3 classes
9 8

6 nombre d'tudiants

classe1 classe2 classe3

0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 notes des tudiants

e-Motion Group 2007 Olivier.aycard@imag.fr

25

Exemple de lalgorithme des k-moyennes pour 3 classes (autres valeurs initiales pour les centres de gravit) : encore !!! Initialisation : 1= 0, 2= 10 et 3= 20 Valeurs finales des centres de gravit
1 5.39

2 12.11

3 15.09

D 40.18

Affectation des donnes aux 3 classes


classes d'tudiants
9 8

6 nombre d'tudiants

classe 1 classe 2 classe 3

0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 notes des tudiants

e-Motion Group 2007 Olivier.aycard@imag.fr

26

Rpartition des tudiants en 3 classes (rsum) Selon les valeurs initiales des centres de gravit, on obtient :
1 5.39 2 12.11 3 15.09 1 4.16 2 6.72

D 40.18 D 43.86 D 46.28

1 = 3.33 2 6.11
9

3 13.75 3 13.75
classes d'tudiants

6 nombre d'tudiants

classe 1 classe 2 classe 3

0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 notes des tudiants

On a des problmes de minimums locaux : 2 minimums locaux et 1 minimum global En pratique, les 3 valeurs obtenues sont utilisables
e-Motion Group 2007 Olivier.aycard@imag.fr

27

Problme de maximums locaux


Selon les valeurs initiales des centres de gravit, on obtient une rpartition diffrente des donnes dans les classes Comment obtenir la meilleure rpartition ? 2 solutions possibles :
1. On excute lalgorithme k-moyenne n fois en choisissant alatoirement les centres de gravit; On prend les centres de gravits qui minimisent D. On excute lalgorithme k-moyenne n fois en choisissant alatoirement les centres de gravit; On regroupe les donnes qui se retrouvent toujours dans les mmes classes (forme forte); On calcule les centres de gravits de ces classes; On excute lalgorithme k-moyenne avec ces centres de gravits.

2.

Aucun de ces 2 algorithmes nassure de trouver le minimum global En pratique, lalgorithme des formes fortes donne de bons rsultats

e-Motion Group 2007 Olivier.aycard@imag.fr

28

Exemple de lalgorithme des formes fortes(1/2)



9 8 7 6 nombre d'tudiants nombre d'tudiants

On excute lalgorithme des k-moyennes 5 fois avec des centres de gravit choisis alatoirement On obtient :
classes d'tudiants
9

rpartition des tudiants en 3 classes


9

rpartition des tudiants en 3 classes

6 nombre d'tudiants

classe 1 classe 2 classe 3

classe1 classe2 classe3

classe1 classe2 classe3

0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 notes des tudiants

0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 notes des tudiants

0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 notes des tudiants

2 fois
9 8 7

2 fois
notes des tudiants

1 fois

6 nombre d'tudiants

5 Notes des tudiants 4

0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 notes des tudiants

On a 4 formes fortes: 1 = 3.66, 2 = 6.73, 3 = 12.11 et 4 = 15.09

e-Motion Group 2007 Olivier.aycard@imag.fr

29

Exemple de lalgorithme des formes fortes(2/2) On choisit 3 centres de gravits parmi les 4 formes fortes, on a 4 possibilits :
1. 1 = 3.66, 2 = 6.73 et 3 = 12.11 2. 1 = 3.66, 2 = 6.73 et 3 = 15.09 3. 1 = 3.66, 2 = 12.11 et 3 = 15.09 4. 1 = 6.73, 2 = 12.11 et 3 = 15.09

On obtient : 4.16
1. 2. 3. 4.
1

2 6.72

3 13.75 3 13.75

D 43.86 D 43.86 D 40.18 D 40.18

1 4.16 2 6.72

1 5.39 2 12.11 3 15.09 1 5.39 2 12.11 3 15.09

e-Motion Group 2007 Olivier.aycard@imag.fr

30

Plan du cours
Introduction Distance ou mtrique Principe du partitionnement et exemple Lalgorithme k-moyennes Problme de minimums locaux et lalgorithme des formes fortes Choix du nombre de classes Conclusion

e-Motion Group 2007 Olivier.aycard@imag.fr

31

Choix du nombre de classes(1/2)


Lalgorithme K-moyennes suppose que le nombre de classes est fixe En pratique, on veut souvent dterminer le nombre de classes dans lesquelles on va rpartir les donnes On peut mesurer si un nombre donn de classes est correct :
on veut que les donnes appartenant une mme classe soit le plus proche les unes des autres la variance des donnes dune mme classe doit tre faible : on appelle aussi cela linertie intra classe cest en fait ce que fait lalgorithme k-moyennes K D 1 2 3 4 5 6
D = distance( x j , i )
i =1 jCi K

178.9 58.89 40.17 25.18 17.43 13.44

Plus on a de classes, plus la variance est faible : il suffit donc davoir beaucoup de classes !!!

e-Motion Group 2007 Olivier.aycard@imag.fr

32

Choix du nombre de classes(2/2)


Il faut aussi prendre en compte la distance entre les classes : la distance entre les classes doit tre la plus grande possible La distance entre les classes est aussi appel linertie inter classe Elle se calcule en mesurant la variance des centres de gravit de chaque classe par rapport au centre de gravit de lensemble des donnes

N distance( , g )
i =1 i i

1 avec g = N

x
j =1

K
Variance intra classe Variance inter classe

1 178.9 0

2 58.89 178.9

3 40.17 178.8

4 25.18 179

5 17.43 178.9

6 13.44 178.8

Il faut maximiser la distance entre les classes et minimiser la distance entre les donnes dune mme classe Dans notre exemple, on pourra choisir K=4

e-Motion Group 2007 Olivier.aycard@imag.fr

33

Plan du cours
Introduction Distance ou mtrique Principe du partitionnement et exemple Lalgorithme k-moyennes Problme de minimums locaux et lalgorithme des formes fortes Choix du nombre de classes Conclusion

e-Motion Group 2007 Olivier.aycard@imag.fr

34

Conclusion (1)
On cherche rpartir un ensemble de N donnes en K classes Les donnes ne sont pas tiquetes
Apprentissage non supervis Mthode de classification

Lalgorithme des k-moyennes rpartit les N donnes en K classes en minimisant la distance entre les donnes de chaque classe et le centre de gravit de la classe correspondante Lalgorithme des K-moyennes est un algorithme itratif qui part dune valeur initiale pour chaque centre de gravit et lamliore itrativement
Il trouve un minimum local dans lensemble des centres de gravit
e-Motion Group 2007 Olivier.aycard@imag.fr

35

Conclusion (2)
Lalgorithme des formes fortes permet de trouver de bonnes valeurs pour les valeurs initiales des centres de gravit Pour trouver le nombre de classes K pour rpartir un ensemble de N donnes, on cherche maximiser la distance entre les classes (i.e. linertie inter classe) et minimiser la distance entre les donnes dune mme classe (i.e. linertie intra classe) Il nous faut une distance/mesure pour rpartir les donnes Il existe dautres mthodes de classification : modles de mlanges (gnralisation de lalgorithme k-moyennes)

e-Motion Group 2007 Olivier.aycard@imag.fr

36

Anda mungkin juga menyukai