e-motion group ©2007 [email protected] 1 olivier aycard (e. gaussier) université joseph...
TRANSCRIPT
e-Motion Group ©2007
Olivier Aycard (E. Gaussier)
Université Joseph Fourier
http://emotion.inrialpes.fr/aycard
Méthodes de classification :Partitionnement des
données
e-Motion Group ©2007
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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)