Vous êtes sur la page 1sur 74

Apprentissage non supervisé : le

clustering
Enseignante : Rim Mahouachi
Rappel : apprentissage non supervisé
2
Introduction
3

Processus qui partitionne un ensemble de données en sous-classes (clusters)


ayant du sens

Classification non-supervisée : classes non prédéfinies


Les regroupements d'objets (clusters) forment les classes

Deux méthodologies générales


Algorithmes de partitionnement
Diviser un ensemble de N items en K clusters
Exemple : KMeans
Algorithmes hiérarchiques :
Par agglomérations : les paires d’items ou de clusters sont successivement liés pour
produire des clusters plus grands (bottom-up). Exemple : CAH

Par divisions : commencer par l’ensemble entier comme cluster et successivement


diviser en de plus petites partitions (top-down).
Introduction
4

Principales applications
Observer la distribution des données en identifiant les
groupes et leurs caractéristiques (découvrir des corrélations)
Préparation des données pour un autre algorithme ou
application
Affecter de nouveaux individus à des catégories
Résumer des comportements
Identifier les cas totalement atypiques
Exemples d’application
5

Identifier des communautés dans des réseaux sociaux


Identifier des clients avec un profil similaire
Analyser des logs d’applications
Analyser des textes, des emails
Segmenter des images
Exemple d’application
6

Segmentation des clients

Objectif : Etablir 3 stratégies

Données : clients (Age ; Engagement avec la page en combien de fois / jours)


Exemple d’application
7
Exemple d’application
8
Objectifs
9

Détecter au sein d’un ensemble de données non étiquetées


des groupes d’objets similaires
Organiser des données en groupes (clusters) de façon à ce
que les données similaires soient dans le même groupe
2 optimisations :
Similarités entre les données dans un groupe aussi élevées que
possible (intra-groupe)
grande homogénéité de chaque classe(critère de compacité)
Similarités entre les données de différents groupes aussi distinctes
que possible (inter-groupes)
bonne séparation des classes (critère de séparabilité)
Hypothèse
10

On suppose qu’une structure de classes existe au sein de


la population étudiée
Le but de la classification est de la mettre à jour ou de
l’identifier
On suppose que la population étudiée est séparable

Une classification automatique obtenue sur un ensemble


n’est jamais la classification de cet ensemble
C’est une classification parmi beaucoup d’autres
Etapes de la classification automatique
11

Choix des données


la classification s’intéresse à des tableaux de données (individus ×
variables quantitatives)

Choix d’un algorithme de classification à exécuter


Calcul des similarités entre les n individus

Interprétation des résultats :


Évaluation de la qualité de la classification
Description des classes obtenues
12 Algorithme K-means (k-moyennes)
Généralités
13

Le plus connu des algorithmes non hiérarchiques.

K-means
K : fait référence au nombre de groupes (clusters)
Means : fait référence au centroide du cluster, c’est-à-dire un
point de données choisi arbitrairement puis affiné de manière
itérative jusqu’à ce qu’il représente la moyenne vraie de tous
les points de données dans le cluster
Fonctionnement
14

Etape 1 : Choisir K éléments initiaux "centres" des K


groupes
Etape 2 : Placer les objets dans le groupe de centre le plus
proche
Etape 3 : Recalculer le centre de chaque groupe

Pour un cluster K de N points {p1, .., pN}, son centre :

Etape 4 : Itérer l'algorithme jusqu'à ce que les objets ne


changent plus de groupe
Exercice
15

4 types de médicaments
ayant chacun deux
modalités :
La concentration
L’efficacité,
on veut créer deux classes
=> K=2
On choisit A et B comme
centroids
Exercice – correction (1/3)
16

Etape 1 : On désigne
aléatoirement A et B comme
centres des classes.
C1 = A
C2 = B
Etape 2 :
On assigne chaque point à une des
classes.
On commence par D
Exercice – correction (2/3)
17

Etape 3 : Calculer les nouveaux centres des classes


compte tenu de la nouvelle classification

C1
Exercice – correction (3/3)
18

Le résultat final est


donc:
Classe1 = {A , B}
avec centre de classe
c1 = (1.5 , 1)
Classe2 = {C , D}
avec centre de classe
c2 = (4.5 , 3.5)
Points faibles
19

Points d’attention
Le nombre de clusters K doit être fixé au départ
Reste bloqué dans un optimum local

Sensibilité aux bruits et anomalies


il calcule les centroïdes des clusters par la moyenne
de leurs points
et la moyenne est sensible aux outliers
Points faibles
20

Sensibilité à l’initialisation
si les centres initiaux sont tirés aléatoirement, des exécutions
successives de l’algorithme peuvent donner des résultats
différents.
K-means++ : Choix des centres avec une probabilité liée à la
distance au carré aux autres centres
Points faibles
21

Sensibilité à la densité des points, à la taille ou forme des clusters


fonctionne bien si les clusters à identifier sont hypersphériques
et de tailles similaires
Problèmes dans les autres cas :
Ex. si les clusters sont hypersphériques mais de tailles différentes
Points faibles
22

Sensibilité à la densité des points, à la taille ou forme des clusters


fonctionne bien si les clusters à identifier sont hypersphériques
et de tailles similaires
Problèmes dans les autres cas :
Ex. si les clusters ne sont pas hypersphériques
Comment choisir K ?
Méthode Elbow (du coude)
23

Choisir une plage de valeurs candidates de k


Appliquer K-Means en utilisant chacune des valeurs de k
Calculer la somme des carrées des distances entre chaque point d'un
cluster et son centre de gravité (dispersion intra-classes) et la
représenter dans un tracé :

Choisir la valeur de k, où la somme des distances tombe


soudainement
Comment choisir K ?
Méthode de la Silhouette
24

Coefficient de la silhouette
Pour chaque point, son coefficient de silhouette est la différence entre la
distance moyenne avec les points du même groupe que lui (cohésion) et la
distance moyenne avec les points du plus proche groupe voisin (séparation).
Si cette différence est négative, le point est en moyenne plus proche du groupe
voisin que du sien : il est donc mal classé.
A l'inverse, si cette différence est positive, le point est en moyenne plus proche de
son groupe que du groupe voisin : il est donc bien classé.

Le coefficient de silhouette proprement dit est la moyenne du coefficient de


silhouette pour tous les points.
Comment choisir K ?
Méthode de la Silhouette
25

Calcul du coefficient de la silhouette


Calculer a(i): la distance moyenne de ce point avec tous les autres points
dans le même cluster.
Calculer b(i): la distance moyenne de ce point avec tous les points du cluster
le plus proche de son cluster.
Calculer s(i) - coefficient de silhouette du point i en utilisant la formule:

La valeur de la silhouette est comprise entre [-1, 1]. Si


la plupart des objets ont une valeur élevée, la
configuration de clustering est appropriée. Si de
nombreux points ont une valeur faible ou négative, la
configuration de clustering peut avoir trop ou trop peu
de clusters.
Comment choisir K ?
Méthode de la Silhouette
26

Choisir une plage de valeurs candidates de k


Appliquer K-Means pour chacune des valeurs de k.
Pour chaque modèle obtenu, représenter les coefficients de silhouette
dans un graphique
27 Classification Ascendante Hiérarchique (CAH)
Exemple introductif
28
Exemple introductif
29
Exemple introductif
30
Exemple introductif
31
Exemple introductif
32
Observation
33
Distance entre deux points
34
Distance entre deux points
35
Distance entre deux ensembles de points
36

Saut minimal ou minimum (single linkage)

Le problème principal de cette méthode est que cela


peut créer un effet de "chaîne" qui finira par
regrouper des éléments qui ne sont pas similaires
entre eux. Si A et B sont similaires et B et C sont
similaires, cela ne veut pas dire que A et C sont
similaires.
Distance entre deux ensembles de points
37

Saut maximal (complete linkage)

Cette méthode permet d'éviter l'effet de


"chaîne" mais en contrepartie est très
conservatrice et crée souvent des
dendrogrammes très allongés
Distance entre deux ensembles de points
38

Distance entre centres de gravité

La distance entre 2 classes C1 et C2 est définie par la distance entre leurs


centres de gravité:
Distance entre deux ensembles de points
39

Distance de Ward
La distance de Ward entre deux classes (Cj , Cl) de centres de
gravité respectifs Gj et Gl est définie par :

Où : nj et nl sont les effectifs respectifs des classes Cj et Cl


Algorithme de la CAH
40
CAH – dendrogramme
41

Dendrogramme (arbre de classification ou arbre hiérarchique)


CAH – dendrogramme
42

Dendrogramme (arbre de classification ou arbre hiérarchique)

Niveau de dissimilarité
Élevé

hauteur des branches


= distances entre les
2 éléments regroupés

Bas
CAH –exemple
43
CAH –exemple
44

Distance euclidienne
CAH –exemple
45
CAH –exemple
46

Mesure du saut
minimal

D({AC}, B) = min(d(A, B), d(C, B))


= min(0.5, 0.56) = 0.5
CAH –exemple
47

Mesure du saut
minimal
CAH –exemple
48
CAH –exemple
49
CAH –exemple
50
CAH –exemple
51
CAH –exemple
52
CAH –exemple
53
Exercice
54

Effectuer la classification hiérarchique des individus avec


la distance euclidienne et le critère de saut maximal
Exercice (correction)
55
Exercice (correction)
56
Exercice (correction)
57
Exercice (correction)
58
Exercice (correction)
59
Méthode de Ward : Inertie
60

(Bisson 2001)
L’inertie d’un 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é
Méthode de Ward : Inertie
61

(Bisson 2001)

Inertie totale des points = Inertie Intra-classes + Inertie Inter-classes

Dispersion totale Dispersion à l’intérieur des Dispersion des centres de


groupes groupes autour du centre
global
Méthode de Ward : Inertie
62

Minimiser l’inertie intra-classe ⇔ Maximiser l’inertie inter-classes (Bisson 2001)

L’inertie inter-classes mesure L’inertie intra-classes mesure la


"l’éloignement" des centres des concentration des points autour du centre
clusters entre eux. Plus cette inertie de leur cluster. Plus elle est faible, plus
est grande, plus les clusters sont petite est la dispersion des points autour du
bien séparés centre du cluster.
Méthode de Ward
63

Initialisation :
1 classe = 1 individu
⇒ Inertie Inter-classes = Inertie totale (car Inertie intra-classe = 0)
A chaque étape regrouper les deux classes Cj et Cl dont la fusion
entraine le plus faible gain d’inertie intra-classe (ou de manière
équivalente la plus faible perte d’inertie inter-classes)

La distance de Ward entre deux classes (Cj , Cl) de centres de


gravité respectifs Gj et Gl est définie par :

Où : nj et nl sont les nombres des individus


respectifs des classes Cj et Cl
Méthode de Ward
64

Regroupe les objets de faible poids et évite l’effet de


chaîne

Effet de chaine ⇒ dendrogramme en forme d’escalier


Méthode de Ward
65

Exemple : Effet de chaine


Arbre et partitions
66

En définissant un niveau
de coupure, on construit
une partition
Arbre et partitions
67

Le dendrogramme décrit un ensemble de partitions imbriquées


cohérentes, qui sont autant de solutions potentielles.
Arbre et partitions
68
Nombre de groupes
Arbre et partitions
69

De fortes différences entre deux niveaux d’agrégation successifs indique


une modification « significative » de la structure des données lorsqu’on a
procédé au regroupement.
Remarques
70

Le résultat est « figé ». Une fois effectué, un regroupement


ne peut plus être défait
Quand on dit oui, c’est pour la vie !
Pas les mêmes résultats selon la distance ultramétrique
utilisée
Interprétation d’un dendrogramme
71

Un dendrogramme fournit une classification des


éléments lorsque l'on se donne une « hauteur de coupe »
de l'arbre.
Plus l'arbre est coupé « bas » (proche des éléments
initiaux) plus la classification obtenue est fine.
Interprétation d’un dendrogramme
72

Une hauteur de coupe est pertinente si elle se trouve


entre 2 nœuds dont les hauteurs sont « relativement »
éloignées.
Interprétation d’un dendrogramme
73

Au final, les techniques de visualisation et l’interprétation des groupes


donnent des indications précieuses quant à l’identification du nombre
de groupes.
Nous avons des scénarios de solutions.

Partition en trois groupes Partition en deux groupes


Inconvénients des algorithmes hiérarchiques
74

Difficilement utilisables avec de grandes données


Il est difficile de déterminer la coupure significative de
l’arbre
La partition retenue à une étape dépend de celle obtenue
à l'étape précédente

Vous aimerez peut-être aussi