HAL Id: hal-02810140
https://hal.inrae.fr/hal-02810140
Submitted on 6 Jun 2020
HAL
is a multi-disciplinary open access archive for the deposit and dissemination of sci- entific research documents, whether they are pub- lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire
HAL, estdestinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.
Jean-François Gibrat
To cite this version:
Jean-François Gibrat. Méthodes de classification. Réseau R-Syst/R-Tanumo, Nov 2011, Avignon,
France. 53 p. �hal-02810140�
Méthodes de classification
J-F. Gibrat
Unité Mathématique, Informatique et Génome, INRA, Jouy-en-Josas
Réseau R-Syst/R-Tanumo, Avignon, 7-9 novembre
Tâche : assigner des objets à des classes (groupes) sur la base de données décrivant ces objets et leur relations.
Apprentissage supervisé : les objets sont assignés à des classes existantes. On cherche à classer de nouveaux objets (classifieur).
machines à vecteurs de support (SVM)I réseaux de neurones
k plus proches voisins etc.
Apprentissage non-supervisé : les classes sont inconnues et on veut les découvrir à partir des données. Trouver une
représentation adéquate de la structuration sous-jacente des données.
Analyse des « clusters »
2 / 53
Principes généraux du clustering
But : On groupe des objets qui sont « proches ». Les objets d’un groupe doivent être plus « similaires » ou « apparentés » entre eux qu’avec ceux des autres groupes.
IDifférents types de méthode de clustering
HiérarchiquevspartitionIExclusifvsrecouvrantvsprobabiliste Completvspartiel
Différents types de clusters
« Bien séparés »I Basé sur un prototypeI
Mesure de dissimilarité
MD: Plus la mesure est faible plus les objets sont similaires (par ex. une distance)
IMesure de similarité
MS: plus la mesure est grande plus les points sont similaires.
MD
= borne -
MSComment savoir si un partitionnement est correct ?
Inertie intra-cluster : variance des points d’un même cluster Iintra=P
C
P
i∈Cd2(xi,gC)
Inertie inter-cluster : variance des centres des clusters Iinter =P
CNCd2(gC−G) I
On cherche à minimiser l’énergie intra-cluster et maximiser l’inertie inter-cluster (ne marche pas pour les méthodes basées sur la densité).
4 / 53
Méthodes de clustering
Clustering hiérarchique : clustering hiérarchique ascendant Clustering par partitionnement : K-means
Clustering basé sur la densité : DBSCAN
Clustering par modélisation : EM gaussien, cartes
auto-organisatrice (SOM)
Chaque point ou cluster est progressivement joint au point ou cluster le plus proche
La hauteur d’un cluster dans le dendogramme = distance entre les 2 clusters (ou points) avant la fusion.
Comment mesurer la distance entre deux classes ?
I6 / 53
Exemple
A B C D E F
A 0.0 0.7 3.2 4.2 1.4 2.2
B 0.7 0.0 2.5 3.5 0.8 1.6
C 3.2 2.5 0.0 1.1 1.8 1.2
D 4.2 3.5 1.1 0.0 2.8 2.2
E 1.4 0.8 1.8 2.8 0.0 1.0
F 2.2 1.6 1.2 2.2 1.0 0.0
A B C D E F A 0.0 0.7 3.2 4.2 1.4 2.2 B 0.7 0.0 2.5 3.5 0.8 1.6 C 3.2 2.5 0.0 1.1 1.8 1.2 D 4.2 3.5 1.1 0.0 2.8 2.2 E 1.4 0.8 1.8 2.8 0.0 1.0 F 2.2 1.6 1.2 2.2 1.0 0.0
On joint A et B (distance 0.7). On recalcule la matrice de distance entre AB, C, D, E, F
8 / 53
Exemple
AB C D E F
AB 0.0 2.5 3.5 0.8 1.6
C 2.5 0.0 1.1 1.8 1.2
D 3.5 1.1 0.0 2.8 2.2
E 0.8 1.8 2.8 0.0 1.0
F 1.6 1.2 2.2 1.0 0.0
AB C D E F AB 0.0 2.5 3.5 0.8 1.6
C 2.5 0.0 1.1 1.8 1.2 D 3.5 1.1 0.0 2.8 2.2 E 0.8 1.8 2.8 0.0 1.0 F 1.6 1.2 2.2 1.0 0.0
On joint E à AB (distance 0.8). On recalcule la matrice de distance entre ABE et C, D, F.
10 / 53
Exemple
ABE C D F
ABE 0.0 1.8 2.8 1.0
C 1.8 0.0 1.1 1.2
D 2.8 1.1 0.0 2.2
F 1.0 1.2 2.2 0.0
ABE C D F ABE 0.0 1.8 2.8 1.0
C 1.8 0.0 1.1 1.2 D 2.8 1.1 0.0 2.2 F 1.0 1.2 2.2 0.0
On joint F à ABE (distance 1.0). On recalcule la matrice de distance entre ABEF et C, D.
12 / 53
Exemple
ABEF C D ABEF 0.0 1.2 2.2
C 1.1 0.0 1.1
D 2.2 1.1 0.0
ABEF C D ABEF 0.0 1.2 2.2
C 1.1 0.0 1.1 D 2.2 1.1 0.0
On joint C et D (distance 1.1). On recalcule la matrice ABEF, CD.
14 / 53
Exemple
ABEF CD ABEF 0.0 1.2 CD 1.2 0.0
On joint ABEF et CD (distance 1.2).
16 / 53
CHA : forces et faiblesses
Souvent utilisée quand l’application sous-jacente nécessite une hiérarchie (taxonomie).
Possibilité de traiter des clusters de tailles différentes.
Manque d’une fonction globale à optimiser.
Les décisions de fusion sont définitives.
Choix des clusters est plus difficile.
Répartir N points en K ensembles disjoints, K fixé à l’avance.
Problème de minimisation (sum of squared errors) :
SSE =
K
X
g=1
X
i∈Cg
d2(xi, µg)
Algorithme
Initialiser les barycentres :µ1, . . . , µK Répéter
,→ affecter chaque point au cluster dont le barycentre est le plus proche :C(xi) =min
g d(xi, µg)
,→ recalculer le barycentreµgde chaque cluster :µg= N1
g
P
i∈Cgxi
Jusqu’à ce que les barycentres ne changent plus
18 / 53
K-means : quelques points clés
Choix du nombre de clusters : K (deux solutions avec des K voisins peuvent différer substantiellement).
Choix des barycentres initiaux, chaque choix peut conduire à une solution différente (optimum local).
Problème NP-complet (difficile à résoudre exactement).
Sensible aux points aberrants.
Il existe différentes techniques pour améliorer les K-means
Simple à implémenter.
Peut-être utilisé pour différents types de données, avec différentes fonctions de similarité/distance
Relativement efficace (même si il faut lancer l’algorithme de multiples fois).
A des difficultés si les cluster ne sont pas « globulaires » Ne gère pas très bien les points aberrants
Restreint à des données pour lesquelles il existe une notion de barycentre (prototype).
20 / 53
Algorithme basé sur la densité : DBSCAN
Principe : Définir des régions de forte densité séparées par des régions de faible densité.
IComment définir la densité ?
La densité est estimée en comptant, pour un point particulier, le nombre de points dans un rayon particulier,Eps.
Classement des points en fonction de la densité.
Points centraux (core points): le nombre de points dans le rayon Epsest supérieur à un seuil fixé par l’utilisateur,MinPts.
Points à la frontière (border points): pas un point central mais se trouve dans le voisinage d’un point central.
1
Etiquetter tous les points comme centraux, frontière ou bruit
2
Eliminer les points faisant partie du bruit
3
Tracer une arête entre tous les points centraux qui sont à une distance
Epsles uns des autres
4
Définir un cluster pour chaque groupe de points connectés
5
Assigner les points aux frontières à un des clusters de leurs points centraux associés
22 / 53
Choix des paramètres de DBSCAN
1
Comment choisir les 2 paramètres
Epset
MinPts?
SiEpstrop petit, la densité est 1SiEpsest trop grand, la densité estNtot, le nombre total de points.
2
Pour chaque point on calcule la distance du
kemeplus proche voisin.
ISi le point appartient à un cluster cette distance (k-dist) sera faible tant que k est inférieur à la taille du cluster et que la densité du cluster est homogène.
On calcule k-dist pour tous les points (k donné), On trie les points par k-dist croissante,
On trace le graphe.I.
Résistant aux points aberrants (bruit)
Peut traiter des clusters ayant des formes et des tailles arbitraires Problème lorsque les clusters ont des densités très différentes Difficulté pour traiter des données en grande dimension (définition de la densité)
Coûteux si beaucoup de points (calcul des plus proches voisins pour des données en grande dimension).
24 / 53
Algorithme basé sur la connectivité : MCL
Markov cluster algorithm (MCL)
Idée générale : les membres d’un cluster ont beaucoup d’arêtes en commun et moins avec les membres d’un autre cluster
IUne marche aléatoire sur le graphe ira rarement d’un cluster à un autre (analogie avec une fourmi).
On peut transformer le graphe précédent en matrice stochastique.
Iopérateur expansion (multiplication de matrice)
opérateur inflation (élever la matrice à la puissancer et
26 / 53
Pour conclure
J
28 / 53
Exemple de cluster 1
J
30 / 53
Exemple de cluster traité avec DBSCAN
J
32 / 53
Clusters bien séparés
Chaque objet est plus proche du centre de son cluster que du centre d’aucun autre cluster.
J34 / 53
Clusters basés sur la notion de connectivité
Les clusters sont des régions de haute densité séparées par des régions de faible densité.
J36 / 53
Clusters basés sur une propriété partagée
Comment mesurer la distance entre 2 points
d(x1,
x2) ?
Les points peuvent aussi être à valeurs discrètes.
J 38 / 53Distances entre 2 points
plus proche voisin : min(d (i , j ), i ∈ C
1, j ∈ C
2) diamètre maximum : max(d (i, j ), i ∈ C
1, j ∈ C
2) distance moyenne :
P
i∈C1,j∈C2d(i,j) n1n2
distance des barycentres : d (µ
1, µ
2) distance de Ward : p
(
nn1n21+n2
)d (µ
1, µ
2) I
Comment tenir compte de la taille des classes dans cas impliquant des sommes ?
pondéré : traite toutes les classes identiquement.
non-pondéré : utilise le nombre de points dans chaque classe.
Note : les termes pondéré et non-pondéré font reférences aux
pointsdans les classes,
pasaux classes elles-même.
J
40 / 53
exemples
plus proche voisin (simple lien) diamètre maximum (lien complet)
A point central, B point à la frontière, C point faisant partie du bruit
(MinPts
=10).
J42 / 53
Détermination de la distance k-dist
J
44 / 53
Graphe
46 / 53
Matrice carrée
48 / 53
Matrice stochastique correspondante
P(1->2) = 10/(10+6+9) = 0.40 P(1->3) = 9/(10+6+9) = 0.36 P(1->5) =
Chaque élément i,j de la matrice correspond à la probabilité ’aller de i et j par un chemin de longeur 2. Z2(1,3) = P(1->2) x P(2->3) + P(1->5) x P(5->3) = 0.1238
50 / 53
Matrice stochastique carrée élévée à la puissance 3
Il ne faut pas oublier de renormaliser à 1 chaque colonne pour avoir une matrice stochastique à nouveau. J
52 / 53