Vous êtes sur la page 1sur 36

e-Motion Group 2007

Olivier.aycard@imag.fr
1
Olivier Aycard
(E. Gaussier)
Universit Joseph Fourier
http://emotion.inrialpes.fr/aycard
Mthodes de classification :
Partitionnement des
donnes
e-Motion Group 2007
Olivier.aycard@imag.fr
2
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
3
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
4
Introduction
On veut rpartir 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
n
o
m
b
r
e

d
'

t
u
d
i
a
n
t
s
Notes des tudiants
e-Motion Group 2007
Olivier.aycard@imag.fr
5
Introduction
On veut rpartir les tudiants en 2 classes en fonction de leur note












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)
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
n
o
m
b
r
e

d
'

t
u
d
i
a
n
t
s
notes <= 7
notes > 7
e-Motion Group 2007
Olivier.aycard@imag.fr
6
Introduction
On veut rpartir 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
n
o
m
b
r
e

d
'

t
u
d
i
a
n
t
s
classe 1
classe 2
e-Motion Group 2007
Olivier.aycard@imag.fr
7
Introduction
On veut rpartir les tudiants en 2 classes en fonction de leur note












On a un nouvel tudiant dont la note est 9
Comment 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
n
o
m
b
r
e

d
'

t
u
d
i
a
n
t
s
classe 1
classe 2
nouvel tudiant
e-Motion Group 2007
Olivier.aycard@imag.fr
8
Introduction
On veut rpartir les tudiants en 2 classes en fonction de leur note












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
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
n
o
m
b
r
e

d
'

t
u
d
i
a
n
t
s
classe 1
classe 2
nouvel tudiant
e-Motion Group 2007
Olivier.aycard@imag.fr
9
Introduction
On veut maintenant
rpartir 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
n
o
m
b
r
e
d
'
t u
d
i a
n
t s
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
n
o
m
b
r
e
d
'
t u
d
i a
n
t s
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
n
o
m
b
r
e
d
'
t u
d
i a
n
t s
classe 1
classe 2
classe 3
e-Motion Group 2007
Olivier.aycard@imag.fr
10
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
11
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 euclidienne)
(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)
2
1
) ( ) , ( distance
p
j
p
i
P
p
j i
x x x x =

=

=
=
P
p
p
j
p
i j i
x x x x
1
) , ( distance
e-Motion Group 2007
Olivier.aycard@imag.fr
12
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
13
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

= e
=
K
i
i
C j
j
i
x D
1
) , ( 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 rpartit 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
n
o
m
b
r
e

d
'
t
u
d
i
a
n
t
s
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
n
o
m
b
r
e

d
'

t
u
d
i
a
n
t
s
classe 1
classe 2
14 16 3 14 15 6 14 14 2 14 13 3 14 12 4 14 11 2 3 7 8 3 6 3 3 5 6 3 4 2 3 3 4
) 14 . 3 (
+ + + + + + + + + + = D
84 6 6 3 8 6 32 9 12 2
) 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 donnes 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
n
o
m
b
r
e

d
'

t
u
d
i
a
n
t
s
classe 1
classe 2
12 16 3 12 15 6 12 14 2 12 13 3 12 12 4 12 11 2 4 7 8 4 6 3 4 5 6 4 4 2 4 3 4
) 12 . 4 (
+ + + + + + + + + + = D
79 12 18 4 3 2 24 6 6 4
) 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 21
2
couples possibles
Si on voulait partitionner les tudiants en 5 classes, il
faudrait tester 21
5
(4x10
6
) 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
18
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
19
Algorithme des k moyennes
Initialiser
1
, ,
k

e
i
C j
j
i
x
N
1
Rpter
Pour chaque classe
i
,
recalcul du centre de gravit
i
=

Tant que >
Pour chaque donne x
j
avec 1 <= j <= N,
affectation la classe i la plus proche : C
i
= min
i
d(x
j
,
i
)

Complexit : O(KNI) avec I : nombre ditrations

e-Motion Group 2007
Olivier.aycard@imag.fr
20
Exemple de lalgorithme des k-moyennes pour 2 classes
Initialisation :
1
= 3 et
2
= 14
Affectation des donnes 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
n
o
m
b
r
e

d
'
t
u
d
i
a
n
t
s
classe 1
classe 2
( ) 39 . 5
23
124
7 8 6 3 5 6 4 2 3 4
23
1
1
~ = + + + + =
( ) 75 . 13
20
275
16 3 15 6 14 2 13 3 12 4 11 2
20
1
2
~ = + + + + + =
89 . 58 ~ D
e-Motion Group 2007
Olivier.aycard@imag.fr
21
Exemple de lalgorithme des k-moyennes pour 2 classes
2me itration :
1
= 5.39 et
2
= 13.75
Affectation des donnes 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
n
o
m
b
r
e

d
'
t
u
d
i
a
n
t
s
classe 1
classe 2
( ) 39 . 5
23
124
7 8 6 3 5 6 4 2 3 4
23
1
1
~ = + + + + =
( ) 75 . 13
20
275
16 3 15 6 14 2 13 3 12 4 11 2
20
1
2
~ = + + + + + =
89 . 58 ~ D
e-Motion Group 2007
Olivier.aycard@imag.fr
22
Exemple de lalgorithme des k-moyennes pour 3 classes
Initialisation :
1
= 1,
2
= 6 et
3
= 9
Affectation des donnes aux 3 classes







Recalcul des centres de gravit
3
1
=
89 . 5
2
~
82 . 47 ~ D
rpartition 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
n
o
m
b
r
e

d
'
t
u
d
i
a
n
t
s
classe1
classe2
classe3
75 . 13
3
~
e-Motion Group 2007
Olivier.aycard@imag.fr
23
Exemple de lalgorithme des k-moyennes pour 3 classes
2
me
itration :
1
= 3,
2
= 5.89 et
3
= 13.75
Affectation des donnes aux 3 classes








Recalcul des centres de gravit
33 . 3
1
=
11 . 6
2
~
28 . 46 ~ D
75 . 13
3
~
rpartition 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
n
o
m
b
r
e

d
'
t
u
d
i
a
n
t
s
classe1
classe2
classe3
e-Motion Group 2007
Olivier.aycard@imag.fr
24
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
25
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

Affectation des donnes aux 3 classes








16 . 4
1
~
72 . 6
2
~ 86 . 43 ~ D 75 . 13
3
~
rpartition 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
n
o
m
b
r
e

d
'
t
u
d
i
a
n
t
s
classe1
classe2
classe3
e-Motion Group 2007
Olivier.aycard@imag.fr
26
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

Affectation des donnes aux 3 classes








39 . 5
1
~
11 . 12
2
~ 18 . 40 ~ D 09 . 15
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
n
o
m
b
r
e

d
'

t
u
d
i
a
n
t
s
classe 1
classe 2
classe 3
e-Motion Group 2007
Olivier.aycard@imag.fr
27
Rpartition des tudiants en 3 classes
(rsum)
Selon les valeurs initiales des centres de gravit, on obtient :









On a des problmes de minimums locaux : 2 minimums
locaux et 1 minimum global
En pratique, les 3 valeurs obtenues sont utilisables
39 . 5
1
~
11 . 12
2
~ 18 . 40 ~ D 09 . 15
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
n
o
m
b
r
e

d
'
t
u
d
i
a
n
t
s
classe 1
classe 2
classe 3
16 . 4
1
~
72 . 6
2
~ 86 . 43 ~ D 75 . 13
3
~
33 . 3
1
=
11 . 6
2
~ 28 . 46 ~ D 75 . 13
3
~
e-Motion Group 2007
Olivier.aycard@imag.fr
28
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.
2. 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.

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
29
Exemple de lalgorithme des formes fortes(1/2)
On excute lalgorithme des k-moyennes 5 fois avec des centres de
gravit choisis alatoirement
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
rpartition 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
n
o
m
b
r e d
' t u
d
i a n
t s
classe1
classe2
classe3
rpartition 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
n
o
m
b
r e d
' t u
d
i a n
t s
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
n
o
m
b
r e d
' t u
d
i a n
t s
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
n
o
m
b
r e
d
'
t u
d
i a
n
t s
Notes des tudiants
e-Motion Group 2007
Olivier.aycard@imag.fr
30
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 :
1.
2.
3.
4.

39 . 5
1
~
11 . 12
2
~ 18 . 40 ~ D 09 . 15
3
~
16 . 4
1
~
72 . 6
2
~ 86 . 43 ~ D 75 . 13
3
~
16 . 4
1
~
72 . 6
2
~ 86 . 43 ~ D 75 . 13
3
~
39 . 5
1
~
11 . 12
2
~ 18 . 40 ~ D 09 . 15
3
~
e-Motion Group 2007
Olivier.aycard@imag.fr
31
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
32
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



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

= e
=
K
i
i
C j
j
i
x D
1
) , ( 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 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






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

= =
=
K
i
N
j
j i i
x
N
g N
1 1
1
g avec ) , ( distance
K 1 2 3 4 5 6
Variance
intra classe
178.9 58.89 40.17 25.18 17.43 13.44
Variance
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 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
35
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
36
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)

Vous aimerez peut-être aussi