K - Free

publicité
Fouille de données et
apprentissage
Farida Zehraoui
Classification non
supervisée - Clustering
Clustering - Plan
Problèmatique
 Soient N instances de données à k attributs,
 Trouver un partitionnement en c clusters
(groupes) ayant un sens (Similitude)
 Affectation automatique de “labels” aux clusters
 c peut être donné, ou “découvert”
 Plus difficile que la classification car les classes
ne sont pas connues à l’avance (non supervisé)
Clustering
Apprentissage non supervisé
Trouver les classes naturelles
(implicites) pour rassembler
des données non étiquetées
Qualité d’un clustering
Objectifs du clustering
Minimiser les distances
intra-cluster
Maximiser les distances
inter-clusters
Mesure de la similarité
Choix de la distance/similarité
   Propriétés d’une distance :
Disimilarité : distance à laquelle il manque l’inégalité
triangulaire
Similarité :
Distance – Données numériques
 Distance euclidienne :
 Distance de Manhattan :
 Distance de Minkowski :
k=1 : distance de Manhattan.
k=2 : distance euclidienne
Algorithme des K-means
(K-moyennes)
-Tirer aléatoirement K points pour les K moyennes initiales
-A chaque étape :
À chaque donnée est attribuée la plus proche des
« moyennes »
Re-calculer les moyennes de chaque groupe
Algorithme des K-moyennes
Etape 1 :
Choix de k
Initialisation par tirage aléatoire des k moyennes
Etape 2 :
Pour chaque observation xi, je cherche ck* tel que
k* = argmin || xi - ck||2
c.a.d xi est dans la classe de moyenne la plus proche
On a: M(i,k*) = 1 et M(i,k) = 0 pour k <> k*
Etape 3 : mettre à jour les moyennes des classes
dans chaque classe k définie par M(.,k), calculer la nouvelle
moyenne ck
Etape 4 : Si pas de stabilité, repartir à étape 2
Exemple K-moyennes, étape 1
k1
Y
Choisir 3
centres
de classes
(au hasard)
k2
k3
X
Exemple K-moyennes, étape 2
k1
Y
Affecter
chaque point
à la classe
dont le centre
est le plus
proche
k2
k3
X
Exemple K-moyennes, étape 3
k1
k1
Y
Déplacer
chaque
centre de
classe vers la
moyenne de
chaque classe
k2
k3
k2
k3
X
Exemple K-moyennes, étape 4
Réaffecter les
points qui sont
plus proches du
centre d'une
autre classe Y
Q : Quels sont
les points qui
changent de
classe?
k1
k3
k2
X
Exemple K-moyennes, étape 4 …
k1
Y
R : les trois
points qui
changent de
classe
k3
k2
X
Exemple K-moyennes, étape 4b
k1
Y
Re-calculer
les moyennes
des classes
k3
k2
X
Exemple K-moyennes, étape 5
k1
Y
Déplacer les
centres des
classes vers
les moyennes
k2
k3
X
Convergence
On montre que l'algorithme des k-moyennes réduit à
chaque étape la valeur du critère suivant :
K
N
Jkmoy = Σ Σ || xi - ck ||2
Il y a convergence mais vers une solution optimale
localement
Exemple
On dispose de 6 données d’expression de gènes :
0.10,0.12,0.09, 0.15,0.17,0.18
On choisit k = 2
Soit m1 = 0.12 et m2 = 0.09 les deux moyennes
initiales (tirées
aléatoirement)
K-moyennes : Avantages
K-moyennes : Inconvénients
K-moyennes : Variantes
     Sélection des centres initiaux
Calcul des similarités
Calcul des centres (K-medoids : [Kaufman &
Rousseeuw’87] )
K-modes : données nominales [Huang’98]
K-prototype : données mixtes (numériques et
nominales)
La méthode des K-Medoides
• Trouver des objets représentatifs
(medoides) dans les clusters (au lieu de la
moyenne)
• Principe
– Commencer avec un ensemble de medoïdes
puis itérativement remplacer un par un autre
si ça permet de réduire la distance globale
– Efficace pour des données de petite taille
Algorithme des k-Medoides
Choisir arbitrairement k medoides
Répéter
affecter chaque objet au medoide le plus proche
Choisir aléatoirement un non-medoide Oh
Pour chaque medoide Oj
Calculer le coût TC du remplacement de Oj par Oh
Si TC < 0 alors
Remplacer Oj par Oh
Calculer les nouveaux clusters
Finsi
FinPour
Jusqu’à ce ce qu’il n’y ait plus de changement
Exemple
Soit A={1,3,4,5,8,9}, k=2 et M={1,8} ensemble des medoides
C1={1,3,4} et C2={5,8,9}
E{1,8}=dist(3,1)2+dist(4,1)2+dist(5,8)2+dist(9,8)2=23
• Comparons 1 et 3M={3,8}C1={1,3,4,5} et C2={8,9}
E{3,8} =dist(1,3)2+dist(4,3)2+dist(5,3)2+dist(9,8)2=10
TC = E {3,8} - E{1,8}= -13 <0 donc le remplacement est fait.
• Comparons 3 et 4 M={4,8} C1 et C2 inchangés et
E{4,8}=dist(1,4)2+dist(3,4)2+dist(5,4)2+dist(8,9)2= 12 3 n’est
pas remplacé par 4
• Comparons 3 et 5M={5,8} C1 et C2 inchangés et
E{5,8}>E{3,8}
Algorithme des k-medoids (PAM)
Total Cost = 20
10
9
8
7
6
5
4
3
2
1
0
0
1
2
3
4
5
6
7
8
9
Arbitrary
choose k
object as
initial
medoids
Assign
each
remainin
g object
to
nearest
medoids
10
K=2
Randomly select a
nonmedoid object,Oramdom
Total Cost = 26
Do loop
Until no
change
Swapping O
and Oramdom
If quality is
improved.
Compute
total cost of
swapping
10
10
9
9
8
7
6
5
4
3
2
1
0
0
1
2
3
4
5
6
7
8
9
10
8
7
6
5
4
3
2
1
0
0
1
2
3
4
5
6
7
8
9
10
Algorithme des k-modes
• Données catégorielles : k-modes (Huang’98)
– Remplacer les moyennes des clusters par les modes
– Utiliser de nouvelles mesures de dissimilarité pour manipuler les
données catégorielles
– Utiliser une méthode basée sur la fréquence pour mettre à jour
les modes de clusters
– Une mixture de données catégorielles et numériques : méthode
des k-prototypes
Algorithme des k-modes
Algorithme des k-modes
Cartes auto-organisatrices de
Kohonen
Objectif : clustering et visualisation des clusters
Principe : on projette les données vectorielles sur
une carte constituée de neurones (1, 2 dimensions)
en conservant la topologie de l’espace de départ
Objectif principal :
- visualisation /regroupement de données
32
Algorithme
• Présentation d’un vecteur d’entrée (pattern x)
• Calcul de l’activation des unités de la carte
• Détermination de l’unité gagnante
• Renforcement des poids de l’unité gagnante et de ses
• unités voisines.
• Arrêt lors de la stabilisation du réseau
33
Carte auto-organisatrice (SOM)
Structure prédéfinie (grille rectangulaire ou hexagonale),
notion de voisinage
Algorithme d‘apprentissage
Sélection du gagnant :
ns = Argmini d(x-wi)
Adaptation des poids des
neurones :
wj := wj + η·hij.(xi-wj)
i=(i1,i2)
wi
x
i : |x - wi|2 minimal


Algorithme d'apprentissage
1° Faire n fois :
Etape 1Tirer aléatoirement uniformément un
vecteur x d'entrée parmi les données S = {x1,…xn}
Etape 2 Soit x le vecteur d’entrée.
î = argmin || x - wi||2
L'unité î est la plus activée
Etape 3 Pour toute unité j 2 Vois(î) :
wj(t+1) = wj(t) + a(t). hvois(i).(x – wj(t))
2° : Calcul de la différence entre les anciens vecteurs w et
les nouveaux. On s'arrête dès que cette différence est
inférieur à ε sinon retour en 1°
35
Condition de convergence vers
une solution (locale)
a(t) : fonction décroissante en fonction du temps
(pas d’apprentissage)
Vois(i) = {j, fs,i(j) > val}
fs : forme d'une gaussienne définie sur la grille
En 2D :Soit l'unité (i1,i2) et (j1,j2)
fs,i(j)= (1/(2p) s2) exp(-[(j1 - i1)2 + (j2 - i2)2/(2s2)])
Visualisation
Après apprentissage :
on peut déformer la grille d’origine en visualisant
les nouvelles distances entre « neurones » de la
grille :
i.e. trouver les points en deux dimensions
qui correspondent aux distances calculées par
exemple par Sammon’s mapping.
Variantes et extensions
importantes
- Cartes évolutives : NG, GNG, GCS
- cartes hiérarchiques : découverte de la complexité
- Séquences temporelles : séries temporelles, …
- données structurées : des arbres, Peura 1999
38
abscisse : temps (heures)
ordonnée : concentration ARNm
Carte topologique des profils cinétiques des gènes de la
levure soumise à une irradiation [données Institut Curie]
Classification hiérarchique
Objectif :
Grouper des objets de manière à ce que les groupes satisfassent
un critère d’homogénéité
Séparer les groupes de manière à ce que les groupes
satisfassent un critère de séparabilité
2 types d’approches :
- méthodes ascendantes (par agglomération)
- méthodes descendantes (par division)
Classification hiérarchique :
Exemple
Step 0
a
Step 1
Step 2
Step 3
ab
b
abcde
c
d
e
Step 4
cde
de
Approches ascendante et
descendante
Approche ascendante : on part des données et on
regroupe
une paire de clusters(classes) à chaque étape de
l'algorithme récursif
Approche descendante : on part des clusters existants
et on les sépare
en 2 pour accroître la dissimilarité entre groupes
Application à la classification
de gènes
Premiers résultats encourageants (depuis 1998) :
- des mesures distinctes concernant le même gène se
retrouvent dans le même cluster
- des gènes de fonction similaire apparaissent dans le
même cluster
- il est possible de suggérer certaines fonctions à partir
des clusters
Exemple
Nature Feb, 2000
Paper by Allzadeh. A et al
Distinct types of diffuse large B-cell lymphoma identified by gene expression profiling Exemple (1)
On dispose de 6 données d’expression de gènes :
0.10,0.12,0.09, 0.15,0.17,0.18
Au départ, on a 6 classes :
{0.12}, {0.15},{0.17},{0.18},{0.10},{0.09}
1) On cherche les deux classes les plus proches : {0.17} et {0.18}
2) On les agrège en {0.17,0.18}
3) On calcule la matrice de distance entre ces 5 classes :
Par exemple, par la méthode du saut minimal (simple linkage) :
Entre {0.17,0.18} et {0.10}, on a :
d({0.17,0.18},{0.10}) = min(d(0.17,0.10),d(0.18,0.10)) = 0.07
4) On cherche les deux classes les plus proches et ainsi de suite…
Exemple de dendogramme non
ré-ordonné
3
2
1
12
15
17
18
Données d’origine n = 4 (x10-2)
10
9
Ré-arrangement des feuilles :
optimisation du dendogramme
15
17
18
(x10-2)
12
10
9
Comment interpréter le
dendogramme
Un algorithme appelé Optimal Leaf Ordering doit être
Appliqué pour construire un dendogramme optimisé
Différentes hiérarchies peuvent être obtenues selon la
stratégie de regroupement (simple linkage,average linkage,
maximal linkage)
Si on perturbe légèrement les données (bruit), on affecte
énormément cette hiérarchie qui n'est donc pas robuste
Obtenir une classification
Il faut tronquer l'arbre à un certain niveau.
On peut s'aider des valeurs de distances
inter-classes.
Selon la méthode de regroupement, on obtient
des classes très différentes
Exemple de dendogramme
5.1
4.2
1.9
Données d’origine n = 4
L'algorithme de classification
ascendante hiérarchique
« Neighbor Joining »
1. Matrice D = (Dij ): matrice des dissimilarités entre
données
Initialement, les clusters (groupes) sont les singletons contenant les données
2. Trouver les groupes r et s tels que Drs = minij(Dij)
3. Fusionner les groupes r et s en un groupe t
4. Nouvelle matrice D dans laquelle r et s ont disparu et
le nouveau groupe t a pour distance avec chaque groupe i,
Dti: à définir
5. Répéter le processus jusqu’à trouver un seul groupe
Différentes variantes
pour la distance inter-classe
Soient deux classes G et H
Distance du lien minimal (Simple linkage)
DSL(G,H) = mini 2 G,i' 2 H dii'
Distance du lien maximal (Complete linkage)
DCL(G,H) = maxi 2 G, i' 2 H dii'
Distance moyenne (Average linkage)
DGA(G,H) = (1/(nG.nH)) ∑i 2 G ∑i' 2 H dii'
Méthode "simple linkage"
Le "simple linkage" a tendance à combiner des classes
dès que deux données de chaque classe sont très proches
Indépendamment des autres données
L'effet de bord est le suivant :
Des données liées par une série d'observations proches
vont être combinées même si elles sont éloignées
Soit DG le diamètre d'une classe G :
DG = maxi 2 G, i' 2 G dii'
Cette méthode produit des classes de diamètre élevé
Méthode "complete linkage"
(saut maximal)
2 clusters G et H sont considérés comme proches si toutes
les données qu'ils contiennent sont très proches
L'algorithme tend à développer des clusters de faible
diamètre
Cependant, il peut aussi produire des clusters plus proches
de certains membres d'autres clusters que des membres
de leur propre cluster
Méthode de la distance moyenne
("group average linkage")
Compromis entre les deux autres méthodes
Cependant, si on applique une transformation monotone aux
distances,on peut considérablement changer le résultat
alors que les 2 autres méthodes sont indépendantes par
rapport à ce type de transformation.
Méthodes descendantes
On part d'un seul cluster G1 constitué de toutes les
données
On choisit la donnée la plus éloignée du cluster actuel :
elle formera la première donnée du second cluster G2
On continue à transférer des données de G1 vers G2 tant
qu'il existe des données de G1 plus proches en moyenne de
G2 que de G1
Ensuite chaque niveau successif est obtenu en séparant un
des clusters du niveau précédent
Méthodes descendantes
- moins étudiées
- moins utilisées que les approches ascendantes
Classification hiérarchique
de gènes
Avantages :
- obtention d’un arbre (dendogramme)
aspect visuel, algorithme déjà utilisé en phylogénie et en
analyse de séquences
Désavantages :
- pas d'obtention d'un optimum (solution sous-optimale)
- manque de robustesse
- algorithme en O(n3) (existe version en O(n2) : Eppstein 98)
- pas de partition explicite en clusters (choisir la granularité)
Méthodes pour sélectionner k
Qu’est ce qu’on veut ?
• Un indice qui représente la : Separabilité
Augmenter la confiance pour que k=2
Qu’est ce qu’on veut ?
• Un indice qui représente la : Separabilité
Augmenter la confiance pour que k=2
Qu’est ce qu’on veut ?
• Un indice qui représente la : Separabilité
Augmenter la confiance pour que k=2
Qu’est ce qu’on veut ?
• Un indice qui représente la : Separabilité
Augmenter la confiance pour que k=2
Qu’est ce qu’on veut ?
• Un indice qui représente la : Separabilité
Augmenter la confiance pour que k=2
Méthodes pour sélectionner k
• Calinski and Harabasz ‘74
• Krzanowski and Lai ’85
• Hartigan ’75
• Kaufman and Rousseeuw ’90 (silhouette)
Méthode Silhouette
Kaufman and Rousseeuw ’90
La valeur de Silhouette d’un objet (gène) i est définie par :
• ai: la moyenne des distances de i aux autres objets du
même cluster
• bi: la moyenne des distances de i aux autres objets du
cluster le plus proche
La plus grande valeur de la moyenne donne le nombre optimal
de clusters.
66
Méthode Silhouette
Kaufman and Rousseeuw ’90
 Silhouette mesure combien les objets dans un cluster
sont proches comparés aux objets qui sont dans
d’autres clusters
 La valeur de Silhouette s(i) mesure la qualité du
clustering d’un objet i
 Les objets dont la valeur s(i) est positive (~1) sont
dans les bons clusters
 Les objet dont la valeur de s(i) est proche de 0
peuvent appartenir à plusieurs clusters
 Les objets dont la valeur s(i) est négative sont dans
de mauvais clusters
67
Méthode Silhouette
Kaufman and Rousseeuw ’90
k=2
k=3
68
Références
 M. R. Anderberg. Cluster Analysis for
Applications. Academic Press, 1973.
 P. Arabie, L. J. Hubert, and G. De Soete.
Clustering and Classification. World
Scietific, 1996
 A. K. Jain and R. C. Dubes. Algorithms for
Clustering Data. Printice Hall, 1988
 L. Kaufman and P. J. Rousseeuw. Finding
Groups in Data: an Introduction to Cluster
Analysis. John Wiley & Sons, 1990.
Téléchargement