Beruflich Dokumente
Kultur Dokumente
soit D = {x
i
R
d
}
i=1, ,N
un ensemble dobservations dcrit par d attributs.
Mesure de dissimilarit DM : plus la mesure est faible plus les points sont
similaires ( distance)
Mesure de similarit SM : plus la mesure est grande, plus les points sont
similaires
DM = borne SM
Notations
Observation : x
i
R
d
avec x
i
=
_
_
_
_
_
_
x
i,1
x
i,2
.
.
.
x
i,d
_
_
_
_
_
_
Clustering p. 5/64
Notion de proximit
Mesure de la distance d(x
1
, x
2
) entre 2 points x
1
et x
2
d
j=1
|x
1,j
x
2,j
|
q
_
1
q
d
j=1
(x
1,j
x
2,j
)
2
=
_
(x
1
x
2
)
t
(x
1
x
2
)
d
j=1
|x
1,j
x
2,j
|
distance de Sebestyen :
d
2
(x
1
, x
2
) = (x
1
x
2
)
t
W(x
1
x
2
)
(W= matrice diagonale de pondration)
distance de Mahalanobis :
d
2
(x
1
, x
2
) = (x
1
x
2
)
t
C
1
(x
1
x
2
)
(C=matrice de variance-covariance)
...
Clustering p. 6/64
Notion de proximit
Mesure de la distance d(x
1
, x
2
) entre 2 points x
1
et x
2
Et si x
1
et x
2
sont valeurs discrtes ?
x
1
= [0, 1, 2, 1, 2, 1]
et x
1
= [1, 0, 2, 1, 0, 1]
A(x
1
, x
2
) = [0 1 2 ; 1 2 0; 1 0 1]
i=1
d
j=1,j=i
a
ij
diamtre maximum : D
max
(C
1
, C
2
) = max
_
d(x
i
, x
j
), x
i
C
1
, x
j
C
2
_
distance moyenne : D
moy
(C
1
, C
2
) =
x
i
C
1
x
j
C
2
d(x
i
,x
j
)
n
1
n
2
distance de Ward : D
Ward
(C
1
, C
2
) =
_
n
1
n
2
n
1
+n
2
d(
1
,
2
)
...
Clustering p. 8/64
Evaluation de la Qualit dun clustering
Inertie Intra-cluster
Chaque cluster C
k
est caractris par
iC
k
x
i
avec N
k
= card(C
k
)
Son inertie : J
k
=
iC
k
d
2
(x
i
,
k
)
Linertie dun cluster mesure la concentration des points du cluster autour du
centre de gravit. Plus cette inertie est faible, plus petite est la dispersion des
points autour du centre de gravit
Sa matrice de variance-covariance :
k
=
iC
k
(x
i
k
)(x
i
k
)
t
Remarque : on a la proprit suivante J
k
= trace(
k
). Linertie dun cluster
reprsente la variance des points de ce cluster
iC
k
d
2
(x
i
,
k
) =
iC
k
J
k
Clustering p. 9/64
Evaluation de la Qualit dun clustering
Inertie inter-cluster
i
x
i
Les centres de gravit des clusters forment eux aussi un nuage de points
caractris par
Inertie inter-cluster : J
b
=
k
N
k
d
2
(
k
, )
Linertie inter-cluster mesure "lloignement" des centres des clusters entre
eux. Plus cette inertie est grande, plus les clusters sont bien spars
b
=
k
(
k
)(
k
)
t
Remarque : J
b
= trace(
b
)
Comment obtenir une bonne partition?
Il faut minimiser linertie intra-cluster et maximiser linertie inter-cluster
Clustering p. 10/64
Bonne partition
Clustering hirachique
Clustering ou
Clustering spectral
...
Algorithmes EM et variantes
Clustering p. 13/64
CHA - principe
Algorithme
Initialisation :
Rpter
Fusion de C
I
et C
J
pour former un cluster C
G
tendance produire des classes spciques (on ne regroupe que des classes
trs proches)
Pas moyen de faire de sous-groupes, tout le monde est une distance de 0 ou 1 des autres
clusters.
Clustering p. 18/64
CHA : ASI4 Clustering : saut maximal
B
A
R
O
C
A
S
T
C
O
R
D
G
R
E
M
R
A
B
I
Z
E
H
N
C
A
M
P
P
E
R
S
W
E
Y
C
C
A
P
R
F
O
U
R
G
E
S
L
J
E
A
N
L
E
H
O
B
O
I
T
T
R
A
O
W
A
A
G
B
O
N
V
P
E
S
Q
H
A
U
T
O
H
A
N
R
A
B
A
B
O
N
D
S
P
E
R
C
H
A
M
L
E
D
I
Deux phases
en fonction de RI(C
i
, C
j
) et RC(C
i
, C
j
)
Clustering p. 26/64
CHAMELEON : rsultats
DS4 DS3
DS5
Clustering p. 27/64
Complexit
CURE : O(n
2
) en petite dimimension, O(n
2
+nmlog n) sinon (en
commenant avec m clusters)
CHAMELEON :
clustering : O(nm+nlog n +m
2
log m)
Clustering p. 28/64
Classication Hirarchique Descendante
Principe :
Problme :
Clustering hirachique
Clustering ou
Clustering spectral
...
Algorithmes EM et variantes
Clustering p. 30/64
Clustering par partitionnement
Objectifs
N donnes D = {x
i
R
d
}
i=1, ,N
disponibles
Approche directe
k=1
(1)
Kk
C
K
k
k
N
Pour N = 10 et K = 4, on a 34105 partitions possibles !
Clustering p. 31/64
Clustering par partitionnement
Solution plus pratique
K
k=1
iC
k
d
2
(x
i
,
k
)
dont le centre
est le
plus proche
On alterne ainsi laffectation des points aux clusters et lestimation des centres
de gravit jusqu convergence du critre
Clustering p. 32/64
K-Means : algorithme
Rpeter
x
i
tel que = arg min
k
d(x
i
,
k
)
Recalculer le centre
k
de chaque cluster
k
=
1
N
k
iC
k
x
i
avec N
k
= card(C
k
)
Convergence rapide
Initialisation des
k
:
F
3
nest pas reprsentatif
F
1
, F
1
, F
4
et F
5
sont les formes fortes
on peut recalculer les clusters partir des centres des formes fortes
Clustering p. 43/64
K-Means : formes fortes
Initialiser
1
,
K
Initialiser n
1
, n
K
0
Rpeter
acqurir x
x
i
tel que = arg min
k
d(x,
k
)
incrmenter n
recalculer le centre
de ce cluster
+
1
n
(x
)
Remarque
Si on dispose dune partition initiale, on utilisera les centres des clusters et on
initialisera n
k
= card(C
k
), k = 1, , K
Clustering p. 45/64
Variantes de K-means
K-means ous
Ici un point x
i
peut appartenir plusieurs clusters !
N
i=1
z
i,k
d
2
(x
i
,
k
) avec
> 1.
rgle le "degr de ou". Plus est grand, plus les clusters trouvs se
recouvrent.
Nues Dynamiques (Diday 1972, 1974)
n points reprsentatifs
Hyperplan
...
Clustering p. 46/64
Approches de clustering
Clustering hirachique
Clustering ou
Clustering spectral
...
Algorithmes EM et variantes
Clustering p. 47/64
Clustering par modlisation statistique
Introduction par lexemple
Considrons N donnes {x
i
R
d
}
i=1, ,N
formant deux classes
3 2 1 0 1 2 3 4 5 6
2
1
0
1
2
3
4
5
6
Donnes des deux classes
3 2 1 0 1 2 3 4 5 6
2
1
0
1
2
3
4
5
6
Donnes des deux classes et contours des classes
Dans la classe 1, les donnes suivent une loi normale i.e. N(X;
1
,
1
) o X
dsignent une variable alatoire. Dans la classe 2, X suit N(X;
2
,
2
)
Loi marginale de X
f(X) = f(X, Z = 1) +f(X, Z = 2)
= f(X/Z = 1) Pr(Z = 1) +f(X/Z = 2) Pr(Z = 2) daprs Bayes
f(X) =
1
f(X/Z = 1) +
2
f(X/Z = 2)
avec f(X/Z = 1) N(X;
1
,
1
), f(X/Z = 2) N(X;
2
,
2
)
1
et
2
dsignent la probabilit a priori que X relve resp. de la classe C
1
et
C
2
. Remarque : on a
1
+
2
= 1
K
k=1
k
f(X/Z = k)
Paramtres estimer Centres des clusters Proba a priori
k
k
, k = 1, , K Paramtres des lois f(X/Z = k)
Critre optimis Variance intra-classe Log-Vraisemblance
Indice daffectation d(x,
k
) Proba a posteriori Pr(Z = k/X = x)
Rgle daffectation de x Cluster dont le centre Cluster de plus grande
est le plus proche proba a posteriori
Clustering p. 52/64
Estimation des paramtres du modle
Retour lexemple
Modle de mlange gaussien
f(X) =
1
N(X;
1
,
1
) +
2
N(X;
2
,
2
)
Paramtres estimer :
1
,
2
,
1
,
1
,
2
et
2
1
,
2
,
1
,
1
(:)
,
2
,
2
(:)
Vraisemblance
(; x
1
, , x
N
) =
N
i=1
f(X = x
i
; )
i=1
log(f(X = x
i
; ))
Clustering p. 54/64
Maximisation de la vraisemblance
L(; x
1
, , x
N
) = max
i=1
log(f(X = x
i
; ))
Approche directe
La solution
du problme prcdent vrie L(
; x
1
, , x
N
) = 0
Il existe des cas simples o la solution analytique existe comme par exemple
lestimation des paramtres dune loi normale
Clustering p. 55/64
Maximisation de la vraisemblance
Approche directe : exemple de solution analytique
1
2
(X )
1
(X )
_
avec d = 2
La Log-vraisemblance est
L(, ; x
1
, , x
N
) =
1
2
N log((2)
d
||)
1
2
N
i=1
(x
i
)
1
(x
i
)
i=1
x
i
,
=
1
N
N
i=1
(x
i
)(x
i
)
Clustering p. 56/64
Maximisation de la vraisemblance
Approche directe : exemple o la solution analytique nexiste pas
i=1
log(
1
N(x
i
;
1
,
1
) +
2
N(x
i
;
2
,
2
))
i=1
z
i
log(
1
N(x
i
;
1
,
1
))+(1z
i
) log(
2
N(x
i
;
2
,
2
))
avec z
i
= 1 si x
i
C
1
et z
i
= 0 si x
i
C
2
Il est alors possible de dterminer
j
,
j
et
j
analytiquement
i=1
Esp(z
i
/x
i
) log(
1
N(x
i
;
1
,
1
))
+(1 Esp(z
i
/x
i
)) log(
2
N(x
i
;
2
,
2
))
Esp(z
i
/x
i
) = Pr(z
i
= 1/x
i
) est la probabilit a posteriori que x
i
C
1
1
N(x
i
;
1
,
1
) +
2
N(x
i
;
2
,
2
)
Rpeter
(1)
i
= Pr(z
i
= 1/x
i
) =
1
N(x
i
;
1
,
1
)
1
N(x
i
;
1
,
1
) +
2
N(x
i
;
2
,
2
)
, i = 1, , N
Rmq :
(2)
i
= Pr(z
i
= 0/x
i
) = 1
(1)
i
: proba a posteriori que x
i
C
2
j
=
N
i=1
(j)
i
x
i
N
i=1
(j)
i
,
j
=
N
i=1
(j)
i
(x
i
j
)(x
i
j
)
N
i=1
(j)
i
,
j
=
N
i=1
(j)
i
N
j {1, 2}
Jusqu convergence
Du modle de mlange au clustering
k=1
k
f (x;
k
) avec
K
k=1
k
= 1
Algorithme EM
(k)
i
=
k
f (x
i
;
k
)
K
k=1
k
f (x;
k
)
, i = 1, , N, et k = 1, , K
Rmq :
K
k=1
(k)
i
= 1
Rpter
max
()
i
Modication des proba a posteriori
(k)
i
= 1 et
()
i
= 0, = k
Jusqu convergence
Remarque : A la n de lalgorithme, on obtient directement les clusters
Clustering p. 64/64