• Aucun résultat trouvé

2.2 Cas des données transversales

2.2.1 Algorithmes non paramétriques

Les principaux algorithmes non paramétriques se divisent en deux familles : les algo-rithmes à partitionnement et les algoalgo-rithmes hiérarchiques.

• Les algorithmes à partitionnement centroïdes

Soit O un ensemble de n observations chacune déterminée par un vecteur xi =

(xi1...xip) ∈ Rp. Les algorithmes à partitionnement rigide divisent O en un nombre pré-défini K de clusters C = (C1,...,CK), aussi appelés partitions. Chaque observation de O appartient à un et un seul cluster (c’est-à-dire ∀(k,k0) ∈ {1..K} \ k 6= k0,CkTCk0 = ∅ et

K S k=1

Ck = O). Chaque cluster Ck possède un centre appelé noyau et noté zk. Les clusters sont d’abord déterminés aléatoirement puis redéfinis en attribuant chaque observation au cluster le plus proche (c’est-à-dire le cluster pour lequel la distance entre lui-même et le noyau est minimale) itérativement, jusqu’à la stabilité des clusters.

L’algorithme à partitionnement le plus connu est celui des K-moyennes [64, 65]. Dans cet algorithme le noyau est défini par la moyenne de tous les points appartenant au cluster

(∀k ∈ {1..K} ,z = 1 P

2.2. Cas des données transversales

1. Initialisation : ` = 0

Tirer aléatoirement K observations représentant les noyaux initiaux z1(`),...,zK(`)

2. Assigner chaque observation i au cluster le plus proche : ∀k,Ck(`)= ( xi ∈ O \ k = arg min k0∈1..K (d(xi,zk(`)0 )) )

3. Définir les nouveaux noyaux zk(`+1) qui sont les moyennes des cluster Ck(`) : ∀k,zk(`+1) = 1 card(Ck(`)) P xi∈C(`) k xi

Tant que ∃ k ∈ {1..K} \z(`+1)k 6= zk(`), répéter les étapes 2 et 3.

Les étapes 2 et 3 sont répétées jusqu’à convergence de l’algorithme, c’est-à-dire jusqu’à ce que les clusters restent inchangés. La figure 9 illustre cet algorithme.

Figure 9 – L’algorithme des K-moyennes

Dans cet exemple chaque point représente une observation dans un espace de dimension 2. La distance utilisée pour la réalisation de cette figure est la distance euclidienne.

L’avantage de cette méthode réside dans sa simplicité et sa capacité à toujours conver-ger [66]. Cependant, l’algorithme peut converconver-ger vers des optima locaux différents dès lors que les paramètres de l’initialisation changent et donc ne pas converger vers la meilleure classification. Tester plusieurs paramètres d’initialisation ou utiliser un algorithme permet-tant de définir les meilleurs paramètres d’initialisation peut pallier ce problème [67, 68]. De plus, l’algorithme des K-moyennes est très sensible aux valeurs aberrantes («

2.2. Cas des données transversales

liers »). L’impacte des valeurs extrêmes ou aberrantes peut être minimisé en remplaçant

la moyenne par la médiane. L’algorithme à partitionnement K-médoïdes fonctionne sur le même principe que les K-moyennes à la différence que le noyau de chaque cluster n’est plus représenté par la moyenne du cluster mais par la donnée la plus centrale (médoïde) du cluster [69]. La médoïde zk du kème cluster est définie par zk = arg min

xj∈Ck

P xi∈Ck

d(xj,xi). La médoïde peut être assimilée à une médiane. Ainsi, cet algorithme est considéré comme plus robuste que l’algorithme des K-moyennes [70]. De plus, cet algorithme reste efficace même dans le cas de petits effectifs.

Ces algorithmes peuvent s’étendre à des algorithmes à frontières floues autorisant une observation à appartenir à plusieurs clusters avec un certain degré d’appartenance [71]. Si on note ci,k le degré d’appartenance de xi au cluster Ck, alors 0 ≤ ci,k ≤ 1 et PK

k=1

ci,k = 1. Les algorithmes à partitionnement rigide sont un cas particulier où ci,k ne peut prendre que les valeurs 0 ou 1. L’avantage des algorithmes à frontières floues réside dans le fait qu’on peut combiner l’information donnée par ci,k avec les a priori sur les observations pour déterminer le meilleur cluster auquel assigner chaque observation.

Toutes ces méthodes nécessitent de connaître le nombre de clusters et ne peuvent pas identifier des groupes non convexes.

• Les algorithmes à partitionnement par densité

Les algorithmes à densité ont émergé à la fin des années 90 et reposent sur le principe qu’un cluster est formé de nombreuses observations très proches et que les observations isolées sont des données aberrantes [72]. Ainsi, toutes les observations n’appartiennent pas forcément à un cluster SK

k=1

Ck⊆ O

!

. L’algorithme visite les données une par une en leur appliquant les règles suivantes, où q et ε sont des paramètres prédéfinis par l’utilisateur : 1. une observation x ∈ O peut définir un cluster si au moins q observations sont à une

distance inférieure à ε de x.

2. une observation yp ∈ O appartient à un cluster si elle peut le définir ou si le cluster lui est accessible, c’est-à-dire s’il existe un chemin y1,...,yp tel que y1 peut définir un cluster et que ∀i = 1..p − 1, la distance entre yi et yi+1 est inférieure à ε.

3. une observation z est une donnée aberrante si elle ne peut ni définir un cluster ni avoir un cluster accessible.

2.2. Cas des données transversales

Figure 10 – Schématisation de l’algorithme à partitionnement par densité

Si q = 3, les observations bleues forment un cluster dont la seule observation qui le définit est l’observation A (seule observation avec au moins 3 observations à une distance inférieure à ε). L’observation B appar-tient à ce cluster car le cluster lui est accessible via la suite d’observations A-i-j-k-B. Enfin, l’observation C est considérée comme une donnée aberrante.

L’algorithme mis en place est le suivant :

Soit q le nombre minimal d’observations de O d’une distance inférieure à ε de x ∈ O nécessaires à la formation d’un cluster.

∀x ∈ O n’ayant pas été visitée :

• Considérer x comme ayant été visitée.

• Soit Vx = {y ∈ O \ d(x,y) ≤ ε} le voisinage de x

• Si Card(Vx) < q, alors x est considérée comme une donnée aberrante. • Si Card(Vx) ≥ q, alors x appartient au cluster Cx

∀y ∈ Vx :

• Si y n’a pas été visitée :

• Soit Vy = {z ∈ O \ d(y,z) ≤ ε} le voisinage de y • Si Card(Vy) ≥ q, alors Vx ← Vx∪ Vy :

• Si y n’appartient à aucun cluster, alors y ∈ Cx

L’un des avantages de cet algorithme est qu’il est capable d’identifier des structures de clusters non convexes. De plus, il définit lui-même le nombre de clusters. Cependant le nombre de clusters dépendra des paramètres choisis pour q et ε. Lorsque les clusters ont des densités différentes, cet algorithme donne de mauvais résultats.

• Les algorithmes hiérarchiques

Le Clustering Ascendant Hiérarchique (CAH) est un algorithme déterministe qui part d’un état où il y a n clusters, chacun étant une observation de O pour arriver à un état où il n’y a qu’un seul cluster O. L’algorithme regroupe au fur et à mesure les deux clusters les plus proches jusqu’à n’en former qu’un seul, comme le montre le dendrogramme de la figure 11. Il crée une décomposition hiérarchique des observations. Contrairement

2.2. Cas des données transversales

aux K-moyennes et K-médoïdes, cet algorithme ne suppose pas de nombre de clusters a

priori [73].

Figure 11 – Un dendrogramme, résultat de l’algorithme ascendant hiérarchique

Dans cet exemple chaque point représente une observation dans un espace de dimension 2 de coordonnées (x; y). La distance utilisée pour cette figure est la distance euclidienne. Il s’agit des mêmes coordonnées utilisées dans la figure 9. Les couleurs rouge et bleue font référence aux clusters définis par l’algorithme des

K-moyennes. Les nœuds du dendrogramme représentent les clusters tandis que la hauteur des branches

représente la distance à laquelle les clusters sont fusionnés.

Les distances entre les clusters peuvent avoir plusieurs définitions. Dans la méthode dite « lien simple » (« single linkage »), ou technique du plus proche voisin, la distance entre deux clusters est la plus petite distance entre les observations de chaque cluster [74]. Mathématiquement, cela se traduit par d(C,C0) = min {d(xi,xj),xi ∈ C,xj ∈ C0}. Dans la méthode dite « lien complet » (« complete linkage »), la distance entre deux clusters est la plus grande distance entre les observations de chaque cluster [75]. Mathématiquement, cela se traduit par d(C,C0) = max {d(xi,xj),xi ∈ C,xj ∈ C0}. Ces deux méthodes ne tiennent pas compte de la structure des clusters. Dans la méthode dite centroïde, la distance entre deux clusters est la distance entre les moyennes de chaque cluster. Mathématiquement, cela se traduit par d(C,C0) = d(¯x, ¯x0) avec ¯x = card(C)1 P

xi∈C

xi et ¯x0 = card(C1 0)

P

xj∈C0xj. Dans cette mé-thode, la fusion de deux clusters est dominée par le cluster ayant le plus d’observations [76]. Enfin, la méthode dite « lien moyen » (« average linkage »), définit la distance entre deux clusters comme la moyenne des distances entre chaque observations des clusters. Mathé-matiquement, cela se traduit par d(C,C0) = card(D)1 P

d∈D

d où D = {d(xi,xj),xi ∈ C,xj ∈ C0}. Cette méthode semble être la plus robuste. Ces définitions sont représentées sur la fi-gure 12.

A la suite de ces méthodes, plusieurs extensions ont émergé, comme par exemple l’utilisation de la valeur médiane ou d’un système de pondération [77, 78, 79]. Toutes les méthodes développées pour le CAH peuvent se transposer au clustering descendant

2.2. Cas des données transversales

seul cluster O qui regroupe toutes les données, pour arriver à un état où chaque observation de O représente un cluster. L’algorithme dissocie au fur et à mesure les deux clusters les plus éloignés.

Figure 12 – Représentation schématique des définitions des distances ente deux clusters utilisées dans l’algorithme ascendant hiérarchique