2 L’algorithme Croeuc
Dans la suite, la matrice des données est définie par x = { j
i
x; i ∈ I et j ∈ J}, où I est l'ensemble des
n instances (lignes, objets, observations), et J est l'ensemble des d attributs (colonnes, attributs). On
cherche à optimiser un critère W(z, w, g), où z = (z1,…,zs) est une partition de I en s classes, w = (w1,…,wm)
est une partition de J en m classes et g = ( l
k
g) est une matrice s x m, qui peut être vue comme un résumé
de la matrice de données x. Une définition plus précise de ce résumé et du critère W dépendra de la nature
des données. La recherche des partitions optimales z et w est effectuée en utilisant un algorithme itératif.
Lorsque les données sont continues, en prenant la somme des distances euclidiennes au carré comme une
mesure de la déviation entre la matrice x, et la structure décrite par z, w et g, l’algorithme Croeuc consiste
à trouver une paire de partition (z, w) et le paramètre g correspondant, tel que le critère suivant soit
minimisé :
( )
,),,(
1 1
2
∑∑ ∑ ∑
= = ∈ ∈ −= s
k
m
zi wj
k
j
i
k
gxW
l
l
l
gwz
où l
k
g est le centre du bloc l
k
x. Il est facile de voir que pour z et w fixés, la valeur optimale de l
k
g
est donnée par la moyenne de tous les j
i
x du bloc (k,ℓ). Les différentes étapes de Croeuc sont :
1. Les paramètres initiaux (z(0), w(0), g(0)) peuvent être choisis au hasard.
2. Calculer (z(q+1), w(q+1), g(q+1)) à partir de (z(q), w(q), g(q)) :
a. Calculer (z(q+1), w(q), g(q+0.5)) à partir de (z(q), w(q), g(q)).
b. Calculer (z(q+1), w(q+1), g(q+1)) à partir de (z(q+1), w(q), g(q+0.5)).
3. Répéter l'étape 2 jusqu'à la convergence
Dans les étapes 2(a) et 2(b), pour trouver z(q+1) et w(q+1) optimaux, nous cherchons à minimiser
alternativement le critère en ligne
( ) ( )
∑∑∑
= ∈ = −= s
k zi
m
k
i
k
guwW
1 1
2
#/,
l
ll
lwgz , avec
l
ll
x
uwj
j
i
i
∈
=, et le critère en
colonne
( )
( )
∑∑∑
= ∈ = −= m
wj
s
k
k
j
k
kgvzW
1 1
2
#/,
l
l
l
zgw avec k
zi
j
i
j
k
x
vk
∈
=. Ici, # représente la cardinalité. L'étape 2(a)
est effectuée par l'application de l'algorithme k-means, utilisant la matrice n x m ( l
i
u). Alternativement,
l'étape 2(b) est obtenue par l'application de l'algorithme k-means utilisant cette fois-ci la matrice s x d
(j
k
v). Ainsi, à la convergence, nous obtenons des blocs homogènes en réorganisant les lignes et les
colonnes selon les partitions z et w. De cette manière, chaque bloc (k,ℓ), défini par les éléments j
i
x pour i
∈ k
z et j ∈ l
w, est caractérisé par l
k
g.
L'intérêt de cet algorithme a été mis en évidence par comparaison avec k-means appliqué
séparément sur les instances et les attributs [NAD 04]. Par sa simplicité et sa rapidité, cet algorithme peut
s'appliquer sur des données comparables de grande taille. Malheureusement, il requiert la connaissance du
nombre de classes en lignes et en colonnes.
3 L’algorithme Two-way splitting
Lorsque les données sont directement comparables d'un attribut à un autre, Hartigan [HAR 75]
propose un algorithme divisif, Two-way splitting, qui choisit à chaque étape entre une division de
l’ensemble des instances et une division de l’ensemble des attributs. Ce choix est basé sur la réduction au
maximum de l'hétérogénéité du groupe d'instances ou de variables divisé. Afin de respecter les contraintes
hiérarchiques imposées pour cet algorithme, les divisions effectuées à une étape ne sont jamais remises en
cause aux étapes suivantes. Cet algorithme ne nécessite pas de savoir à l'avance le nombre de blocs que
l'on veut obtenir. Il peut être décrit succinctement de la manière suivante :