e-motion group ©2007 olivier.aycard@imag.fr 1 olivier aycard (e. gaussier) université joseph...

Post on 03-Apr-2015

105 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

e-Motion Group ©2007

Olivier.aycard@imag.fr 1

Olivier Aycard (E. Gaussier)

Université Joseph Fourier

http://emotion.inrialpes.fr/aycard

Méthodes de classification :Partitionnement des

données

e-Motion Group ©2007

Olivier.aycard@imag.fr 2

Plan du cours• Introduction• Distance ou métrique• Principe du partitionnement et exemple• L’algorithme k-moyennes• Problème de minimums locaux et l’algorithme des formes

fortes• Choix du nombre de classes• Conclusion

e-Motion Group ©2007

Olivier.aycard@imag.fr 3

IntroductionOn suppose maintenant qu’on ne connaît pas les classes

auxquelles appartiennent les données (contrairement aux méthodes de catégorisation) :– Méthode de classification– Apprentissage non supervisé

On veut répartir les données en K classes disjointesIl faut une représentation pour chaque classeIl faut trouver une méthode pour classifier les données

e-Motion Group ©2007

Olivier.aycard@imag.fr 4

IntroductionOn veut répartir les étudiants en 2 classes en fonction de leur note

notes des étudiants

0

1

2

3

4

5

6

7

8

9

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

notes des étudiants

no

mb

re d

'étu

dia

nts

Notes des étudiants

e-Motion Group ©2007

Olivier.aycard@imag.fr 5

IntroductionOn veut répartir les étudiants en 2 classes en fonction de leur note

Les étudiants dont la note est inférieure ou égale à 7 (ou 8, 9, 10) et les étudiants dont la note est supérieure à 7 (ou 8, 9, 10)

notes des étudiants

0

1

2

3

4

5

6

7

8

9

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

notes des étudiants

no

mb

re d

'étu

dia

nts

notes <= 7

notes > 7

e-Motion Group ©2007

Olivier.aycard@imag.fr 6

IntroductionOn veut répartir les étudiants en 2 classes en fonction de leur note

Les étudiants dont la note est comprise entre 3 et 7 et les étudiants dont la note est comprise entre 11 et 16

notes des étudiants

0

1

2

3

4

5

6

7

8

9

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

notes des étudiants

no

mb

re d

'étu

dia

nts

classe 1

classe 2

e-Motion Group ©2007

Olivier.aycard@imag.fr 7

IntroductionOn veut répartir les étudiants en 2 classes en fonction de leur note

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

notes des étudiants

0

1

2

3

4

5

6

7

8

9

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

notes des étudiants

no

mb

re d

'étu

dia

nts

classe 1

classe 2

nouvel étudiant

e-Motion Group ©2007

Olivier.aycard@imag.fr 8

IntroductionOn veut répartir les étudiants en 2 classes en fonction de leur note

La classe d’étudiants dont la moyenne est de 5,40 et la classe d’étudiants dont la moyenne est de 13.75

Un étudiant avec une note de 9 fait partie de la 1ère classe

notes des étudiants

0

1

2

3

4

5

6

7

8

9

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

notes des étudiants

no

mb

re d

'étu

dia

nts

classe 1

classe 2

nouvel étudiant

e-Motion Group ©2007

Olivier.aycard@imag.fr 9

Introduction

On veut maintenant répartir les étudiants en 3 classes en fonction de leur note

classes d'étudiants

0

1

2

3

4

5

6

7

8

9

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

notes des étudiants

no

mb

re d

'étu

dia

nts

classe1

classe2

classe3

classes d'étudiants

0

1

2

3

4

5

6

7

8

9

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

notes des étudiants

no

mb

re d

'étu

dia

nts

classe 1

classe 2

classe 3

classes d'étudiants

0

1

2

3

4

5

6

7

8

9

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

notes des étudiants

no

mb

re d

'étu

dia

nts

classe 1

classe 2

classe 3

e-Motion Group ©2007

Olivier.aycard@imag.fr 10

Plan du cours• Introduction• Distance ou métrique• Principe du partitionnement et exemple• L’algorithme k-moyennes• Problème de minimums locaux et l’algorithme des formes

fortes• Choix du nombre de classes• Conclusion

e-Motion Group ©2007

Olivier.aycard@imag.fr 11

Notion de distance ou métrique

• Pour partitionner des données, il faut pouvoir mesurer la distance entre 2 points (ou entre un point et une classe)

(distance euclidienne)(distance de Manhattan)

• Ce sont les 2 distances les plus simples et les plus utilisés

• Le choix de la distance influence la répartition des points

• Les « meilleures » distances sont souvent dépendantes du problème étudié (cf. TP)

2

1

)(),(distance pj

pi

P

pji xxxx

P

p

pj

piji xxxx

1

),(distance

e-Motion Group ©2007

Olivier.aycard@imag.fr 12

Plan du cours• Introduction• Distance ou métrique• Principe du partitionnement et exemple• L’algorithme k-moyennes• Problème de minimums locaux et l’algorithme des formes

fortes• Choix du nombre de classes• Conclusion

e-Motion Group ©2007

Olivier.aycard@imag.fr 13

Principe du partitionnement

• Répartir les N points en K classes disjointes• Chaque point est affecté à la classe la plus proche

• Chaque classe est représentée par un point µi (appelé le centre de gravité de la classe) avec 1<= i <= K

• Il faut trouver les K points représentants les classes• Problème de minimisation

K

ii

Cjj

i

xD1

),(distance

e-Motion Group ©2007

Olivier.aycard@imag.fr 14

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 répartit les étudiants en fonction de la distance entre leur note et chaque classe

notes des étudiants

0

1

2

3

4

5

6

7

8

9

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

notes des étudiants

no

mb

re d

'étu

dia

nts

classe 1

classe 2

e-Motion Group ©2007

Olivier.aycard@imag.fr 15

Exemple de partitionnement• µ1= 3 et µ2= 14

notes des étudiants

0

1

2

3

4

5

6

7

8

9

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

notes des étudiants

no

mb

re d

'étu

dia

nts

classe 1

classe 2

141631415614142141331412414112378363356342334)14.3( D

8466386329122)14.3( D

e-Motion Group ©2007

Olivier.aycard@imag.fr 16

Exemple de partitionnement• µ1= 4 et µ2= 12

• µ1= 4 et µ1= 12 partitionnent mieux les données que µ1= 3 et µ1= 14

notes des étudiants

0

1

2

3

4

5

6

7

8

9

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

notes des étudiants

no

mb

re d

'étu

dia

nts

classe 1

classe 2

121631215612142121331212412112478463456442434)12.4( D

79121843224664)12.4( D

e-Motion Group ©2007

Olivier.aycard@imag.fr 17

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 général, une approche exhaustive est à proscrire

• En plus, on se restreint à des valeurs entières pour représenter les classes

• On utilise l’algorithme des k-moyennes

e-Motion Group ©2007

Olivier.aycard@imag.fr 18

Plan du cours• Introduction• Distance ou métrique• Principe du partitionnement et exemple• L’algorithme k-moyennes• Problème de minimums locaux et l’algorithme des formes

fortes• Choix du nombre de classes• Conclusion

e-Motion Group ©2007

Olivier.aycard@imag.fr 19

Algorithme des k moyennes

Initialiser µ1, …, µk

iCj

ji

xN

1

Répéter

Pour chaque classe µi,recalcul du centre de gravité µi =

Tant que Δ µ > ε

Pour chaque donnée xj avec 1 <= j <= N, affectation à la classe i la plus proche : Ci = mini d(xj, µi)

Complexité : O(KNI) avec I : nombre d’itérations

e-Motion Group ©2007

Olivier.aycard@imag.fr 20

Exemple de l’algorithme des k-moyennes pour 2 classes

• Initialisation : µ1= 3 et µ2= 14

• Affectation des données aux 2 classes

• Recalcul des centres de gravité

notes des étudiants

0

1

2

3

4

5

6

7

8

9

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

notes des étudiants

no

mb

re d

'étu

dia

nts

classe 1

classe 2

39.523

1247863564234

23

11

75.1320

275163156142133124112

20

12

89.58D

e-Motion Group ©2007

Olivier.aycard@imag.fr 21

Exemple de l’algorithme des k-moyennes pour 2 classes

• 2ème itération : µ1= 5.39 et µ2= 13.75

• Affectation des données aux 2 classes

• Recalcul des centres de gravité

notes des étudiants

0

1

2

3

4

5

6

7

8

9

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

notes des étudiants

no

mb

re d

'étu

dia

nts

classe 1

classe 2

39.523

1247863564234

23

11

75.1320

275163156142133124112

20

12

89.58D

e-Motion Group ©2007

Olivier.aycard@imag.fr 22

Exemple de l’algorithme des k-moyennes pour 3 classes

• Initialisation : µ1= 1, µ2= 6 et µ3= 9

• Affectation des données aux 3 classes

• Recalcul des centres de gravité31 89.52 82.47D

répartition des étudiants en 3 classes

0

1

2

3

4

5

6

7

8

9

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

notes des étudiants

no

mb

re d

'étu

dia

nts

classe1

classe2

classe3

75.133

e-Motion Group ©2007

Olivier.aycard@imag.fr 23

Exemple de l’algorithme des k-moyennes pour 3 classes

• 2ème itération : µ1= 3, µ2= 5.89 et µ3= 13.75• Affectation des données aux 3 classes

• Recalcul des centres de gravité33.31

11.62 28.46D

75.133

répartition des étudiants en 3 classes

0

1

2

3

4

5

6

7

8

9

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

notes des étudiants

no

mb

re d

'étu

dia

nts

classe1

classe2

classe3

e-Motion Group ©2007

Olivier.aycard@imag.fr 24

Plan du cours• Introduction• Distance ou métrique• Principe du partitionnement et exemple• L’algorithme k-moyennes• Problème de minimums locaux et l’algorithme des formes

fortes• Choix du nombre de classes• Conclusion

e-Motion Group ©2007

Olivier.aycard@imag.fr 25

Exemple de l’algorithme 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é

• Affectation des données aux 3 classes

16.41 72.62 86.43D75.133

répartition des étudiants en 3 classes

0

1

2

3

4

5

6

7

8

9

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

notes des étudiants

no

mb

re d

'étu

dia

nts

classe1

classe2

classe3

e-Motion Group ©2007

Olivier.aycard@imag.fr 26

Exemple de l’algorithme 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é

• Affectation des données aux 3 classes

39.51 11.122 18.40D09.153

classes d'étudiants

0

1

2

3

4

5

6

7

8

9

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

notes des étudiants

no

mb

re d

'étu

dia

nts

classe 1

classe 2

classe 3

e-Motion Group ©2007

Olivier.aycard@imag.fr 27

Répartition des étudiants en 3 classes(résumé)

• Selon les valeurs initiales des centres de gravité, on obtient :

• On a des problèmes de minimums locaux : 2 minimums locaux et 1 minimum global

• En pratique, les 3 valeurs obtenues sont « utilisables »

39.51 11.122 18.40D09.153

classes d'étudiants

0

1

2

3

4

5

6

7

8

9

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

notes des étudiants

no

mb

re d

'étu

dia

nts

classe 1

classe 2

classe 3

16.41 72.62 86.43D75.133 33.31 11.62 28.46D75.133

e-Motion Group ©2007

Olivier.aycard@imag.fr 28

Problème de maximums locaux

• Selon les valeurs initiales des centres de gravité, on obtient une répartition différente des données dans les classes

• Comment obtenir la meilleure répartition ?

• 2 solutions possibles :1. On exécute l’algorithme k-moyenne n fois en choisissant aléatoirement les

centres de gravité;On prend les centres de gravités qui minimisent D.

2. On exécute l’algorithme k-moyenne n fois en choisissant aléatoirement les centres de gravité;On regroupe les données qui se retrouvent toujours dans les mêmes classes (forme forte);On calcule les centres de gravités de ces classes;On exécute l’algorithme k-moyenne avec ces centres de gravités.

• Aucun de ces 2 algorithmes n’assure de trouver le minimum global

• En pratique, l’algorithme des formes fortes donne de bons résultats

e-Motion Group ©2007

Olivier.aycard@imag.fr 29

Exemple de l’algorithme des formes fortes(1/2)• On exécute l’algorithme des k-moyennes 5 fois avec des centres de

gravité choisis aléatoirement• On obtient :

2 fois 2 fois 1 fois

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

répartition des étudiants en 3 classes

0

1

2

3

4

5

6

7

8

9

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

notes des étudiants

no

mb

re d

'étu

dia

nts

classe1

classe2

classe3

répartition des étudiants en 3 classes

0

1

2

3

4

5

6

7

8

9

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

notes des étudiants

no

mb

re d

'étu

dia

nts

classe1

classe2

classe3

classes d'étudiants

0

1

2

3

4

5

6

7

8

9

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

notes des étudiants

no

mb

re d

'étu

dia

nts

classe 1

classe 2

classe 3

notes des étudiants

0

1

2

3

4

5

6

7

8

9

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

notes des étudiants

no

mb

re d

'étu

dia

nts

Notes des étudiants

e-Motion Group ©2007

Olivier.aycard@imag.fr 30

Exemple de l’algorithme des formes fortes(2/2)

On choisit 3 centres de gravités parmi les 4 formes fortes, on a 4 possibilités :

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 :1.

2.

3.

4.

39.51 11.122 18.40D09.153

16.41 72.62 86.43D75.133

16.41 72.62 86.43D75.133

39.51 11.122 18.40D09.153

e-Motion Group ©2007

Olivier.aycard@imag.fr 31

Plan du cours• Introduction• Distance ou métrique• Principe du partitionnement et exemple• L’algorithme k-moyennes• Problème de minimums locaux et l’algorithme des formes

fortes• Choix du nombre de classes• Conclusion

e-Motion Group ©2007

Olivier.aycard@imag.fr 32

Choix du nombre de classes(1/2)• L’algorithme K-moyennes suppose que le nombre de

classes est fixée• En pratique, on veut souvent déterminer le nombre de

classes dans lesquelles on va répartir les données• On peut mesurer si un nombre donné de classes est

« correct » : – on veut que les données appartenant à une même classe soit le plus proche

les unes des autres – la variance des données d’une même classe doit être faible : on appelle

aussi cela l’inertie intra classe– c’est en fait ce que fait l’algorithme k-moyennes

• Plus on a de classes, plus la variance est faible : il suffit donc d’avoir beaucoup de classes !!!

K

ii

Cjj

i

xD1

),(distance K 1 2 3 4 5 6

D 178.9 58.89 40.17 25.18 17.43 13.44

e-Motion Group ©2007

Olivier.aycard@imag.fr 33

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é l’inertie inter classe

• Elle se calcule en mesurant la variance des centres de gravité de chaque classe par rapport au centre de gravité de l’ensemble des données

• Il faut maximiser la distance entre les classes et minimiser la distance entre les données d’une même classe

• Dans notre exemple, on pourra choisir K=4

K

i

N

jjii x

NgN

1 1

1 g avec ),(distance

K 1 2 3 4 5 6Variance intra classe 178.9 58.89 40.17 25.18 17.43 13.44Variance inter classe 0 178.9 178.8 179 178.9 178.8

e-Motion Group ©2007

Olivier.aycard@imag.fr 34

Plan du cours• Introduction• Distance ou métrique• Principe du partitionnement et exemple• L’algorithme k-moyennes• Problème de minimums locaux et l’algorithme des formes

fortes• Choix du nombre de classes• Conclusion

e-Motion Group ©2007

Olivier.aycard@imag.fr 35

Conclusion (1)• On cherche à répartir un ensemble de N données en K

classes

• Les données ne sont pas étiquetées– Apprentissage non supervisé

– Méthode de classification

• L’algorithme des k-moyennes répartit les N données en K classes en minimisant la distance entre les données de chaque classe et le centre de gravité de la classe correspondante

• L’algorithme des K-moyennes est un algorithme itératif qui part d’une valeur initiale pour chaque centre de gravité et l’améliore itérativement– Il trouve un minimum local dans l’ensemble des centres de gravité

e-Motion Group ©2007

Olivier.aycard@imag.fr 36

Conclusion (2)

• L’algorithme 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 répartir un ensemble de N données, on cherche à maximiser la distance entre les classes (i.e. l’inertie inter classe) et à minimiser la distance entre les données d’une même classe (i.e. l’inertie intra classe)

• Il nous faut une distance/mesure pour répartir les données

• Il existe d’autres méthodes de classification : modèles de mélanges (généralisation de l’algorithme k-moyennes)

top related