Université Paris 13/Younès Bennani Reconnaissance des Formes 1
Reconnaissance Statistique des Formes
4
Younès BENNANIClassification Automatique
Clustering
Objectif :
produire des groupements homogènes à partir d’un ensemble d’observations (formes).
x x x
x
x
x x x
x x
x
x x
x
xx x x
x x
x x
x
x
x x x
x x
x
x x
x
xx x x
x
Classification
« Clustering »
Université Paris 13/Younès Bennani Reconnaissance des Formes 3
Classification Automatique
Clustering
On définit :
- une mesure de similarité :
! ( x, y ) lim
x"y
! ( x, y ) = 0
!
(
x,µ)
= x"µ # =(
x"µ)
t#"1(
x"µ)
!
(
x,y)
= x"y- un indice de performance :
D =
i=1 m
! x " p
i 2x#C
!
iPrototype Centre de Ci
Classification Automatique
Clustering
Il existe plusieurs familles d ’algorithmes de classification :
- Méthodes d ’agrégation autour de centres mobiles : algorithmes conduisant directement à des partitions.
- Méthodes descendantes (ou encore divisives) :
procèdent par dichotomies successives de l’ensemble des formes, et peuvent fournir une hiérarchie de partitions.
- Méthodes ascendantes (ou encore agglomératives) :
procèdent à la construction des partitions par agglomérations successives des formes 2 à 2, et fournissent une hiérarchie de
Université Paris 13/Younès Bennani Reconnaissance des Formes 5
Classification Automatique
Agrégation autour des centres mobiles
La technique de partitionnement la mieux adaptée aux vastes recueils de données.
Cette méthode peut être considérée comme un cas particulier de techniques connues sous le nom de nuées dynamiques étudiées dans un cadre formel par Diday (1971).
Soit un ensemble D = { X1, X2,...,XN} de N observations à partitionner, caractérisés par n caractères ou variables (Xi! "n).
On suppose que "n est muni d’une distance appropriée notée d(Xi, Xj).
On désire constituer au maximum k groupes (clusters).
Classification Automatique
Agrégation autour des centres mobiles
Principe :
C10 C20
P10
P20
C11 C21 P11
P21
C12 C22 P12
P22
Tirage au hasard des centres et
Constitution des partitions et
Nouveaux centres et
et nouvelles partitions et
Nouveaux centres et
et nouvelles partitions et
C10 C20
P10 P20
C11 C21 P11 P21
C12 C22 P12 P22
Université Paris 13/Younès Bennani Reconnaissance des Formes 7
Classification Automatique
Agrégation autour des centres mobiles
Étape 0 : On détermine k centres provisoires (par exemple, par tirage pseudo-aléatoire sans remise). les k centres :
induisent une première partition Po de l’ensemble des formes en k clusters :
Ainsi la forme Xi! partition s’il est plus proche de que tous les autres centres.
Étape 1 : On détermine k nouveaux centres de partitions :
ces nouveaux centres induisent une nouvelle partition P1 construite selon la même règle que pour Po.
la partition P1 est formée des clusters :
Étape m : On détermine k nouveaux centres de partitions :
en prenant les centres de gravité des partitions qui ont été obtenues lors de l’étape précédente:
ces nouveaux centres induisent une nouvelle partition Pm de l’ensemble D.
{
C10,C20,K,Ci0,K,Ck0}
P1 0,P2
0,K,Pi 0,K,Pk
{
0}
C1 1,C2
1,K,Ci 1,K,Ck
{
1}
{
P11, P21,K, Pi1,K, Pk1}
C1 m,C2
m,K,Ci m,K,Ck
{
m}
{
P1m!1,P2m!1,K,Pim!1,K,Pkm!1}
{
P1m,P2m,K,Pim,K,Pkm}
Algorithme général
Agrégation autour des centres mobiles
Techniques connexes
Il existe de nombreux algorithmes dont le principe général est voisin de l’algorithme d’agrégation autour des centres mobiles :
Nuées dynamiques (Diday, 1972)
Les clusters ne sont pas caractérisés par un centre de gravité, mais par un certain nombre de formes à classer, dénommés « étalons », qui constituent alors un « noyau ».
K-moyennes (k-means) (MacQueen, 1967)
Commence par un tirage pseudo-aléatoire de centres.
Les clusters sont caractérisés par un centre de gravité.
Université Paris 13/Younès Bennani Reconnaissance des Formes 9
L’algorithme K-means
!
Squared error for cluster is the sum of the squared Euclidean distance between each pattern in and its cluster centre .
Then the sum of squared error for all cluster is defined by
!
Finding a partition containing K clusters which minimizes for fixed K.
!
P
k, e
k2,
!
e
k2= ( X " C
kX#Pk
$ )
t( X " C
k) = || X " C
kX#Pk
$ ||
2!
P
k!
C
k!
P
k(1 " k " K )
!
E
k2= e
k2k=1 K
" = || X # C
kX$Pk
" ||
2k=1 k
"
k2 E
L’algorithme K-means
1) Initialisation :
On pose m=0, Fixer le seuil d’arrêt.
On détermine k centres provisoires (par exemple, par tirage pseudo-aléatoire sans remise). les k centres :
induisent une première partition Po de l’ensemble des formes en k clusters :
2) Construction de la partition Pm : la forme Xi! ssi On détermine la distortion :
3) Test d’arrêt :
Si
alors on s’arrête Sinon aller en 4) 4) Recalcul des centroïdes :
On détermine k nouveaux centres :
en prenant les centres de gravité des partitions qui ont été obtenues lors de l’étape précédente.
On fait m=m+1, aller en 2).
{
C10,C20,K,Ci0,K,Ck0}
Dm= 1
N min
i=1 j N
!
d(Xi,Cjm) j=1KkC1 m,C2
m,K,Ci m,K,Ck
{
m}
Pjm d(Xi,Cjm)!d(Xi,Clm) l=1Kk
Dm!1!Dm
Dm "Seuil
{
P10,P20,K,Pi0,K,Pk0}
Université Paris 13/Younès Bennani Reconnaissance des Formes 11
L’algorithme K-means
"
Exemple:
!
C2t
!
C1 t
Classification Automatique
Méthodes descendantes
Principe :
C10 Calculer le centre de gravité de D :
Éclatement (« Splitting ») de : Nouveaux centres
et
et nouvelles partitions
Recalcul des nouveaux centres et
et nouvelles partitions C10
C11 C21 C10+!
C10!"
C10 C10+!
C10!"
C11
C21
Université Paris 13/Younès Bennani Reconnaissance des Formes 13
L’algorithme L
indeB
uzoG
ray1) Initialisation :
Fixer k (puissance de 2, k=2r), Fixer . On détermine le centre de gravité de D : Faire m=0
2) Eclatement :
Tout les centres (en nombre 2m) sont éclatés en et Faire m=m+1
3) Partitionnement :
Chercher les partitions autour de chaque centre 4) Recalcul des centroïdes :
On détermine les nouveaux centres.
5) Test d’arrêt
Si m < r aller en 2) Sinon arrêt.
C0
Ci +!
Ci !"
Ci
Classification Automatique
Classification Ascendante Hiérarchique
Principe :
créer, à chaque étape, une partition obtenue en agrégeant 2 à 2 les formes les plus proches.
l’algorithme ne fournit pas une partition en k clusters mais une hiérarchie de partitions sous la forme d’arbres appelés également dendrogrammes.
L’intérêt de ces arbres est qu ’ils peuvent donner une idée du nombre de clusters existant effectivement dans la population D des formes.
Université Paris 13/Younès Bennani Reconnaissance des Formes 15
Classification Automatique
Classification Ascendante Hiérarchique
Classification Automatique
Classification Ascendante Hiérarchique
Soit un ensemble D = { X1, X2,...,XN} de N observations à partitionner, caractérisés par n caractères ou variables (Xi! "n).
Soit H un ensemble de parties de D.
H est une hiérarchie si et seulement si : 1. D!H
2. "X !D, { }X !H
3. "hi!H,"hj !H, hi #hj =$ou hi%hjou hj %hi
H est une hiérarchie indicée s’il existe une fonction ƒ de H dans "+ telle que :
4. !X"D,ƒ
(
{ }X)
=05. !hi"H,!hj "H, hi#hj,hj $hi%ƒ
( )
hj < ƒ( )
hi La fonction ƒ est appelée indice d’agrégation(distance entre deux éléments de H).
Les 2 nœuds sont sur 2 branches différentes
Sur une même branche
Université Paris 13/Younès Bennani Reconnaissance des Formes 17
Classification Automatique
Classification Ascendante Hiérarchique
Représentation arborescente d’une hiérarchie :
Une hiérarchie indicée H est isomorphe à un arbre dont les nœuds sont associés aux éléments de H et la relation « fils de », à la relation de borne supérieure pour l ’inclusion.
Les feuilles représentent les formes et la racine, l’ensemble D.
Classification Automatique
Classification Ascendante Hiérarchique
Exemple :
Soit un ensemble de formes représentées par des points (numérotés de 1 à 5) dans un repère euclidien, et d la distance euclidienne.
2 1
3
4
5
d 1 2 3 4 5 1 0 !10 !8 !10 !13 2 0 !34 2 !41 3 0 !26 1 4 0 !29 5 0
À ce groupe h6={3,5} est associé son niveau, ou indice d ’agrégation ƒ qui est la distance entre ses 2 sous-groupes, ƒ(h6)=1
regrouper 3 et 5, qui sont les points les
plus proches, et former un groupe
h6={3,5}
Université Paris 13/Younès Bennani Reconnaissance des Formes 19
Classification Automatique
Classification Ascendante Hiérarchique
Comment déterminer la distance de h6 aux formes restantes ?
2
4
h6
Plusieurs solutions sont possibles : - le saut minimal
consiste à affecter à la distance entre 2 groupes la distance entre leurs formes les plus proches.
- le diamètre maximal
retient la distance entre leurs formes les plus éloignées.
Saut minimal d 1 2 4 h6 1 0 !10 !10 !8 2 0 2 !34 4 0 !26 h6 0
Diamètre maximal d 1 2 4 h6 1 0 !10 !10 !13 2 0 2 !41 4 0 !29 h6 0 1
Classification Automatique
Classification Ascendante Hiérarchique
2 1
4
h6
Saut minimal d 1 h6 h7 1 0 !8 !10 h6 0 !26 h7 0
À ce groupe h7={2,4} est associé son niveau, ou indice d ’agrégation ƒ qui est la distance entre ses 2 sous-groupes, ƒ(h7)=2
regrouper 2 et 4, qui sont les points les
plus proches, et former un groupe
h7={2,4}
Diamètre maximal d 1 h6 h7 1 0 !13 !10 h6 0 !41 h7 0 h7
Université Paris 13/Younès Bennani Reconnaissance des Formes 21
Classification Automatique
Classification Ascendante Hiérarchique
1
h6
Saut minimal d h7 h8 h7 0 !10 h8 0
À ce groupe h8 est associé son niveau, ou indice d ’agrégation ƒ qui est la distance entre ses 2 sous-groupes, ƒ(h8)= !8
regrouper 1 et h6, et former un groupe
h8={1}# h6 h7
Diamètre maximal d h6 h8 h6 0 !41 h8 0
À ce groupe h8 est associé son niveau, ou indice d ’agrégation ƒ qui est la distance entre ses 2 sous-groupes, ƒ(h8)= !10
regrouper 1 et h7, et former un groupe
h8={1}# h7
À la dernière étape toutes les formes sont regroupées.
Saut minimal Diamètre maximal
h9= h7 # h8 ={1,2,3,4,5} h9= h6 # h8 ={1,2,3,4,5}
ƒ(h9)= !10 ƒ(h9)= !41
Classification Automatique
Classification Ascendante Hiérarchique
2 1
3
4
5
2 1
3 5 4 D
ƒ
h7
h4 h2
h1 h5
h3 h6
h8
h9
CAH Saut minimal
Université Paris 13/Younès Bennani Reconnaissance des Formes 23
Classification Automatique
Classification Ascendante Hiérarchique
2 1
3
4
5
2 1
3 5 4 D
ƒ
h7
h4 h2
h1 h5
h3 h6
h8 h9
CAH Diamètre maximal
Exercice : 4 clusters
x1
x2
5
1
!1
!1
1 3 5
3
Université Paris 13/Younès Bennani Reconnaissance des Formes 25
Utilisation du clustering : Quantification Vectorielle
opération de discrétisation (codage) d'une ou plusieurs variables.
-So So
y1 y2 y3 S4 S5 y4
y5 y6 Q(x)
S1 S2 S3 x
Dictionnaire Référence séléctionnée
Forme à coder 1
2 3 4 5 6 7
k=6
Quantification Vectorielle
Soit Y = { Y1, Y2,..., YL} un dictionnaire (codebook) de L vecteurs-codes Yi(codeword).
Yi! "n et n la dimension de l'espace.
On peut écrire la fonction de quantification sous la forme : Yi = Q(X) ; où i ! {1,2, ...,L} et X! "n .
d(X, Yi) la distorsion due à l'erreur de quantification.
On peut ainsi définir une distorsion totale moyenne:
D
moy= 1
N min
i=1 j N
! d ( X
i, Y
j) j = 1 K L
Université Paris 13/Younès Bennani Reconnaissance des Formes 27
QV et reconnaissance
Considérons un vocabulaire de trois mots (fictifs) A, B et C et choisissons la distance de Hamming.
Soient YA, YB, YC les trois dictionnaires correspondant aux trois classes.
YA={A1,A2,A3}=
1 3 5
!
"
# #
$
%
&
& , 2
9 11
!
"
# #
$
%
&
& , 8 7 1
!
"
# #
$
%
&
&
' ( )
* )
+ , ) - )
YB ={B1,B2}=
2 9 7
!
"
# #
$
%
&
& , 3 2 1
!
"
# #
$
%
&
&
' ( )
* )
+ , ) - )
YC={C1,C2,C3}=
1 1 1
!
"
# #
$
%
&
& , 3 4 2
!
"
# #
$
%
&
& , 1 9 2
!
"
# #
$
%
&
&
' ( )
* )
+ , ) - )
Soit un mot inconnu X.
X={X1,X2,X3}=
2 7 1
!
"
# #
$
%
&
& , 1 4 6
!
"
# #
$
%
&
& , 2 7 8
!
"
# #
$
%
&
&
' ( )
* )
+ , )
- )
Codage(X/YA), Codage(X/YB), Codage(X/YC)
X. A B C
?
QV et reconnaissance
2 9 7
!
"
# #
$
%
&
& , 3 2 1
!
"
# #
$
%
&
&
' ( )
* )
+ , ) - ) X=
2 7 1
!
"
# #
$
%
&
& , 1 4 6
!
"
# #
$
%
&
& , 2 7 8
!
"
# #
$
%
&
&
' ( )
* )
+ , ) - )
X . A B C
?
1 1 1
!
"
# #
$
%
&
& , 3 4 2
!
"
# #
$
%
&
& , 1 9 2
!
"
# #
$
%
&
&
' ( )
* )
+ , ) - ) 1
3 5
!
"
# #
$
%
&
& , 2 9 11
!
"
# #
$
%
&
& , 8 7 1
!
"
# #
$
%
&
&
' ( )
* )
+ , ) - )
A
B
C
Université Paris 13/Younès Bennani Reconnaissance des Formes 29
QV et reconnaissance
A1 A2 A3 B1 B2 C1 C2 C3
X1 9 12 6 6 4
X2 2 11 15 7 6
X3 8 5 13 3 9
Codage(X/YA)=A3 A1 A2 D(X/A)=6+2+5=13
Codage(X/YB)= B2B1 B1 D(X/B)=6+7+3=16
Codage(X/YC)=C3C2 C3 D(X/C)=4+6+9=19 X={X1,X2,X3}=
2 7 1
!
"
# #
$
%
&
& , 1 4 6
!
"
# #
$
%
&
& , 2 7 8
!
"
# #
$
%
&
&
' ( )
* )
+ , ) - )