Classification automatique - Fabrice Rossi

apiacoa.org

Classification automatique - Fabrice Rossi

Classification automatique

Fabrice Rossi

TELECOM ParisTech

Mai 2009


Plan

Introduction

Similarités

Définitions

Données numériques

Données non numériques

Visualisation

Classification hiérarchique

Modèle

Algorithmes

Exploitation des résultats

Optimisation directe d’un critère de qualité

Critères de qualité

Optimisation

Classes floues

2 / 114 F. Rossi


Plan

Introduction

Similarités

Définitions

Données numériques

Données non numériques

Visualisation

Classification hiérarchique

Modèle

Algorithmes

Exploitation des résultats

Optimisation directe d’un critère de qualité

Critères de qualité

Optimisation

Classes floues

3 / 114 F. Rossi Introduction


Classification

Définition informelle

Trouver dans un ensemble d’objets des groupes homogènes

(classes) et bien distincts les uns des autres

4 / 114 F. Rossi Introduction


Classification

Définition informelle

Trouver dans un ensemble d’objets des groupes homogènes

(classes) et bien distincts les uns des autres

Arbre phylogénétique de la vie

Bactéries

Archées

Eucaryotes

proximité évolutive

Bactéries

vertes

Myxomycètes

Spirochètes filamenteuses

Amibes

Animaux

Gram

Champignons

Methanosarcina

positives

Methanobacterium Halophiles

Protéobactéries

Plantes

Methanococcus

Cyanobactéries

Ciliés

T. celer

Planctomyces

Thermoproteus

Flagellés

Pyrodicticum

Bacteroides

Trichomonades

Cytophaga

Microsporides

Thermotoga

Diplomonades

Aquifex

source : Wikipédia

4 / 114 F. Rossi Introduction


Quelques applications

Analyse exploratoire de données (typologie) :

marketing : typologie des clients

bioinformatique : regroupement de gènes

image : segmentation de zones homogènes

Simplification de données :

recherche d’information : regroupement de pages web (par

ex. Clusty)

données très volumineuses : chaque groupe est remplacé

par un représentant

5 / 114 F. Rossi Introduction


Clusty

6 / 114 F. Rossi Introduction


Vocabulaire

Classement

À partir d’exemples d’objets répartis en groupes, construire un

algorithme qui détermine le groupe adapté pour un nouvel objet

7 / 114 F. Rossi Introduction


Vocabulaire

Classement

À partir d’exemples d’objets répartis en groupes, construire un

algorithme qui détermine le groupe adapté pour un nouvel objet

Collision Français et Anglais :

Français

Classification

Classement

Anglais

Clustering

Classification

7 / 114 F. Rossi Introduction


Vocabulaire

Classement

À partir d’exemples d’objets répartis en groupes, construire un

algorithme qui détermine le groupe adapté pour un nouvel objet

Collision Français et Anglais :

Français

Classification

Classement

Anglais

Clustering

Classification

Opposition entre

supervisé (classement) : groupes fixés, exemples d’objets

de chaque groupe

non supervisé (classification) : on ne connaît pas de

groupe

7 / 114 F. Rossi Introduction


Ingrédients

une mesure de similarité : comment comparer des objets

une notion de groupe : comment regrouper les objets

une structure de classification : comment organiser les

groupes

Beaucoup d’algorithmes s’appliquent à (presque) toute mesure

similarité, mais correspondent à un choix précis des autres

ingrédients

8 / 114 F. Rossi Introduction


Classification et similarité

La notion de similarité est au cœur de la classification :

groupe homogène : les objets du groupe se ressemblent

groupes bien distincts : les objets de groupes distincts ne

se ressemblent pas

notion relative :

• a et b dans le groupe A, c et d dans le groupe B

• si les groupes sont satisfaisants, la similarité entre a et b

(resp. c et d) est grande devant celle entre a et c, a et d,

etc.

9 / 114 F. Rossi Introduction


Classification et similarité

La notion de similarité est au cœur de la classification :

groupe homogène : les objets du groupe se ressemblent

groupes bien distincts : les objets de groupes distincts ne

se ressemblent pas

notion relative :

• a et b dans le groupe A, c et d dans le groupe B

• si les groupes sont satisfaisants, la similarité entre a et b

(resp. c et d) est grande devant celle entre a et c, a et d,

etc.

Similarités distinctes ⇒ classifications distinctes :

classification phylogénétique du vivant : distance évolutive

classification classique : caractères (vertébrés versus

invertébrés)

9 / 114 F. Rossi Introduction


Nature :

Groupes et structure

complet versus incomplet : éléments sans groupe

disjoint versus empiétant : éléments dans plusieurs

groupes

« net ou flou » : degré d’appartenance à un groupe

Similarité :

groupe homogène : similarité moyenne, minimale, ...

groupes distincts : similarité moyenne, maximale, ...

Structure :

groupes disjoints et complets : partition des données

emboîtés : structure hiérarchique

10 / 114 F. Rossi Introduction


Exemple

Iris de

Fisher/Anderson

source : Wikipédia

Sepal.Width

2 3 4 5

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

Sepal.Length

11 / 114 F. Rossi Introduction


Exemple : partitionnement

Iris de

Fisher/Anderson

source : Wikipédia

Sepal.Width

2 3 4 5

1

2

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

Sepal.Length

12 / 114 F. Rossi Introduction


Exemple : partitionnement

Iris de

Fisher/Anderson

source : Wikipédia

Sepal.Width

2 3 4 5

1

2

3

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

Sepal.Length

12 / 114 F. Rossi Introduction


Exemple : partitionnement

Iris de

Fisher/Anderson

source : Wikipédia

Sepal.Width

2 3 4 5

1

2

3

4

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

Sepal.Length

12 / 114 F. Rossi Introduction


Exemple : hiérarchie

Iris de

Fisher/Anderson

source : Wikipédia

Sepal.Width

2 3 4 5

1

2

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

Sepal.Length

13 / 114 F. Rossi Introduction


Exemple : hiérarchie

Iris de

Fisher/Anderson

source : Wikipédia

Sepal.Width

2 3 4 5

1

2

3

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

Sepal.Length

13 / 114 F. Rossi Introduction


Exemple : hiérarchie

Iris de

Fisher/Anderson

source : Wikipédia

Sepal.Width

2 3 4 5

1

2

3

4

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

Sepal.Length

13 / 114 F. Rossi Introduction


Exemple : flou

Iris de

Fisher/Anderson

source : Wikipédia

Sepal.Width

2 3 4 5

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

Sepal.Length

14 / 114 F. Rossi Introduction


Exemple : flou

Iris de

Fisher/Anderson

source : Wikipédia

Sepal.Width

2 3 4 5

1

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

Sepal.Length

14 / 114 F. Rossi Introduction


Exemple : flou

Iris de

Fisher/Anderson

source : Wikipédia

Sepal.Width

2 3 4 5

2

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

Sepal.Length

14 / 114 F. Rossi Introduction


Plan

Introduction

Similarités

Définitions

Données numériques

Données non numériques

Visualisation

Classification hiérarchique

Modèle

Algorithmes

Exploitation des résultats

Optimisation directe d’un critère de qualité

Critères de qualité

Optimisation

Classes floues

15 / 114 F. Rossi Similarités


Mesures de similarité

Similarité

sur un ensemble d’objets D

fonction s de D × D dans R +

maximale : s(a, a) ≥ s(a, b)

symétrique : s(a, b) = s(b, a)

16 / 114 F. Rossi Similarités


Mesures de similarité

Similarité

sur un ensemble d’objets D

fonction s de D × D dans R +

maximale : s(a, a) ≥ s(a, b)

symétrique : s(a, b) = s(b, a)

dissimilarité d :

• opération « inverse »

• axiomes équivalents d(a, a) = d(b, b), d(a, a) < d(a, b) et

d(a, b) = d(b, a)

transformations :

• s(a, b) = e −d(a,b)

• plus généralement, n’importe quelle fonction décroissante

16 / 114 F. Rossi Similarités


Données numériques

objets décrits par des vecteurs de R n , x = (x 1 , . . . , x n )

dissimilarités naturelles basées sur les normes de R n :

• distances de Minkowski

√ √√√ n∑

d p (x, y) = p |x i − y i | p

i=1

• p = 1 : distance Manhattan

• p = 2 : distance Euclidienne

• distance « sup » (de Chebyshev) :

d ∞ (x, y) = sup |x i − y i |

1≤i≤n

17 / 114 F. Rossi Similarités


en R

fonction dist (package stats) :

• dist(X) renvoie la distance Euclidienne d 2

• dist(X,method="métrique") permet de choisir une

autre distance :

• "maximum" : d ∞

• "manhattan" : d 1

• "minkowski" : d q en précisant p=q dans les paramètres

• le résultat est un objet de classe "dist"

• conversion possible en matrice par as.matrix

package proxy :

• implémentation plus rapide et plus riche

• toujours par l’intermédiaire d’une fonction dist

18 / 114 F. Rossi Similarités


Distances et dissimilarités

Distance

sur un ensemble d’objets D

fonction d de D × D dans R +

symétrie : d(a, b) = d(b, a)

séparation : d(a, b) = 0 ⇔ a = b

inégalité triangulaire : d(a, c) ≤ d(a, b) + d(b, c)

19 / 114 F. Rossi Similarités


Distances et dissimilarités

Distance

sur un ensemble d’objets D

fonction d de D × D dans R +

symétrie : d(a, b) = d(b, a)

séparation : d(a, b) = 0 ⇔ a = b

inégalité triangulaire : d(a, c) ≤ d(a, b) + d(b, c)

une dissimilarité ne vérifie pas nécessairement l’inégalité

triangulaire :

• très contre intuitif

• téléportation : en passant par b, on va plus vite de a vers c

qu’avec un chemin direct...

une dissimilarité ne vérifie pas toujours la propriété de

séparation

19 / 114 F. Rossi Similarités


Dissimilarités et groupes

idée naturelle : si ɛ est petit, le groupe suivant est

homogène

B(x, ɛ) = {y ∈ D|d(x, y) ≤ ɛ}

la dissimilarité détermine la forme du groupe

20 / 114 F. Rossi Similarités


Dissimilarités et groupes

idée naturelle : si ɛ est petit, le groupe suivant est

homogène

B(x, ɛ) = {y ∈ D|d(x, y) ≤ ɛ}

la dissimilarité détermine la forme du groupe

dans R n

−1.0 −0.5 0.0 0.5 1.0

−1.0 −0.5 0.0 0.5 1.0

−1.0 −0.5 0.0 0.5 1.0

−1.0 −0.5 0.0 0.5 1.0

−1.0 −0.5 0.0 0.5 1.0

−1.0 −0.5 0.0 0.5 1.0

d 1 d 2 d ∞

20 / 114 F. Rossi Similarités


Exemple

Données dans un

carré

0.0 0.2 0.4 0.6 0.8 1.0

0.0 0.2 0.4 0.6 0.8 1.0

21 / 114 F. Rossi Similarités


Exemple

0.0 0.2 0.4 0.6 0.8 1.0

Données dans un

carré : d 1

0.0 0.2 0.4 0.6 0.8 1.0

21 / 114 F. Rossi Similarités


Exemple

0.0 0.2 0.4 0.6 0.8 1.0

Données dans un

carré : d 2

0.0 0.2 0.4 0.6 0.8 1.0

21 / 114 F. Rossi Similarités


Exemple

0.0 0.2 0.4 0.6 0.8 1.0

Données dans un

carré : d ∞

0.0 0.2 0.4 0.6 0.8 1.0

21 / 114 F. Rossi Similarités


Échelle

pondération des variables :

√ √√√ n∑

d p (x, y) = p w i |x i − y i | p

effet majeur sur les résultats :

i=1

Sepal.Width

2 3 4 5

1

2

3

4

Sepal.Width

−2 −1 0 1 2 3

1

2

3

4

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

−2 −1 0 1 2 3

Sepal.Length

Sepal.Length

22 / 114 F. Rossi Similarités


Données non numériques

pas de solution générique

pour chaque type de données la littérature scientifique

propose de nombreuses (dis)similarités :

• données binaires (présence/absence)

• chaînes de caractères

• textes

• nœuds d’un graphe

• etc.

pas vraiment de consensus sur une bonne mesure pour un

type donné

données mixtes :

• choisir les (dis)similarités individuelles

• réaliser une combinaison (somme, moyenne, maximum,

etc.)

23 / 114 F. Rossi Similarités


Données binaires

un objet est un vecteur de 0 et de 1, x = (x 1 , . . . , x n )

x i ∈ {0, 1}

pour comparer deux objets x et y on peut compter les

co-occurences :

x

1 0

y 1 a b

0 c d

chaque case compte les co-occurences, par ex. a est le

nombre d’indices i pour lesquels x i = y i = 1

on construit une similarité en combinant les a, b, c et d

exemples :

• a

indice de Jaccard :

• coefficient de Dice :

a+b+c

2a

a+b+2c

24 / 114 F. Rossi Similarités


Chaînes de caractères

chaque objet est une chaîne de caractères dans un

alphabet donné :

• mot d’une langue ; alphabet de la langue

• séquence ADN (protéine, gène) ; alphabet = {C, G, T , A}

• trajectoire dans un site web ; alphabet = pages du site

distance d’édition (Levenshtein, 1965) :

• transformation de x en y par opérations élémentaires

(insertion, suppression, substitution) : ATG → ACAG

• d(x, y) : longueur de la plus petite séquence de

transformations

• calcul efficace par programmation dynamique (temps en

produit des longueurs des chaînes)

cf http://www.dcs.shef.ac.uk/~sam/stringmetrics.html pour

de nombreux autres exemples

généralisation aux arbres et aux graphes

25 / 114 F. Rossi Similarités


Textes

chaque objet est un texte (suite de mots)

pré-traitement « linguistique » :

• lemmatisation (passage à la racine linguistique)

• suppression des mots « vides » (par ex. les articles)

modèle vectoriel de Salton (1975) :

• un texte est représenté par le vecteur des occurrences des

lemmes

• on applique ensuite des distances classiques sur R n (avec

d’éventuelles pondérations) ou encore

• la similarité cosinus :

s cos(x, y) =

• le coefficient de Tanimoto :

s T (x, y) =

x.y

‖x‖‖y‖ :

x.y

‖x‖ 2 + ‖y‖ 2 − x.y

26 / 114 F. Rossi Similarités


Nœuds d’un graphe

chaque objet est un nœud d’un unique graphe

exemple :

• pages d’un site web

• réactions chimiques dans un réseau métabolique

• personnes dans un réseau social

distances/similarités :

• longueur du plus court chemin dans le graphe

• temps moyen pour passer d’un nœud à un autre par une

balade aléatoire

• temps moyen symétrisé (avec retour)

27 / 114 F. Rossi Similarités


en R

package proxy :

• nombreuses (dis)similarités pour les données binaires

• distance d’édition

package tm :

• traitement du texte

• s’appuie sur proxy pour les dissimilarités

nœuds d’un graphe :

• nombreux packages (igraph, graph, network, RBGL,

etc.)

• quelques distances mais rien de très complet

package ade4 :

• destiné à l’analyse de données écologiques

• très nombreuses (dis)similarités et fonctions associées

28 / 114 F. Rossi Similarités


Visualisation

D = (d(x i , x j )) i,j est la matrice de (dis)similarités

visualisation matricielle :

• un pixel par couple

• valeur représentée par la couleur (foncé : proche)

palette uniforme

palette proportionnelle

29 / 114 F. Rossi Similarités


Ordre

illisible sans un minimum d’ordre : problème de la sériation

essayer de placer les petites dissimilarités autour de la

diagonale

30 / 114 F. Rossi Similarités


Ordre

illisible sans un minimum d’ordre : problème de la sériation

essayer de placer les petites dissimilarités autour de la

diagonale

aléatoire

un peu d’ordre

30 / 114 F. Rossi Similarités


Ordre

illisible sans un minimum d’ordre : problème de la sériation

essayer de placer les petites dissimilarités autour de la

diagonale

aléatoire

problème associé à la classification

un peu d’ordre

30 / 114 F. Rossi Similarités


Exemple

1.5 3.0 4.5 −0.5 1.0 2.5

données Iris :

dimension 4

distance Euclidienne

1.5 3.0 4.5

Sepal.Length

Sepal.Width

4.5 6.0 7.5

2 classes

Petal.Length

1 3 5 7

−0.5 1.0 2.5

Petal.Width

4.5 6.0 7.5

1 3 5 7

31 / 114 F. Rossi Similarités


Exemple

données Iris :

dimension 4

distance Euclidienne

2 classes

matrice non ordonnée

31 / 114 F. Rossi Similarités


Exemple

données Iris :

dimension 4

distance Euclidienne

2 classes

matrice non ordonnée

sériation par 2 classes

31 / 114 F. Rossi Similarités


Exemple

1.5 3.0 4.5 −0.5 1.0 2.5

données Iris :

dimension 4

distance Euclidienne

1.5 3.0 4.5

Sepal.Length

Sepal.Width

4.5 6.0 7.5

2 classes

matrice non ordonnée

Petal.Length

1 3 5 7

sériation par 2 classes

−0.5 1.0 2.5

Petal.Width

4.5 6.0 7.5

1 3 5 7

31 / 114 F. Rossi Similarités


En R

fonction image (package graphics) :

• s’applique à une matrice carrée

• nombreuses options pour les couleurs, etc.

• affichage « inversé » : diagonale montante

package seriation :

• nombreux algorithmes de sériation (fonction seriate)

• fonction pimage en remplacement d’image dans l’ordre

« naturel »

32 / 114 F. Rossi Similarités


Projection/Plongement

alternative à la représentation matricielle :

• étant donnée D = (d(x i , x j )) i,j trouver un espace R p et des

points (y i ) 1≤i≤N tels que ‖y i − y j ‖ ≃ d(x i , x j )

• si possible avec p = 2 (ou p = 3)

• très nombreuses variantes :

• mesures de la qualité de la projection

• préservation des similarités par des produits scalaires

• etc.

quand d(x i , x j ) = ‖x i − x j ‖ avec les (x i ) 1≤i≤N dans R q , on

parle de projection

sinon de plutôt de plongement

un cas particulier important :

• projection linéaire : y i = Px i pour un projecteur P fixé

• mesure quadratique de la qualité de la projection

• il s’agit de l’Analyse en Composantes Principales

33 / 114 F. Rossi Similarités


Dissimilarités générales

famille des algorithmes de Multi Dimensional Scaling

méthode de Kruskal-Shepard : minimiser

∑ (

d(xi , x j ) − ‖y i − y j ‖ ) 2

i≠j

méthode de Sammon : minimiser

(

∑ d(xi , x j ) − ‖y i − y j ‖ ) 2

i≠j

d(x i , x j )

ce qui favorise les petites distances

nombreuses autres variantes

34 / 114 F. Rossi Similarités


Exemple

Données Iris

PC2

−3 −2 −1 0 1 2 3

iris.sammon$points[,2]

−3 −2 −1 0 1 2 3

−3 −2 −1 0 1 2 3

ACP

PC1

−4 −3 −2 −1 0 1 2 3

iris.sammon$points[,1]

Sammon

35 / 114 F. Rossi Similarités


Exemple

Club de karaté de

Zachary

liens d’amitié des 34

membres

distance du temps

moyen d’aller-retour

36 / 114 F. Rossi Similarités


Exemple

Club de karaté de

Zachary

liens d’amitié des 34

membres

distance du temps

moyen d’aller-retour

sériation

36 / 114 F. Rossi Similarités


Exemple

Club de karaté de

Zachary

liens d’amitié des 34

membres

distance du temps

moyen d’aller-retour

Sammon

36 / 114 F. Rossi Similarités


en R

analyses factorielles :

• fonction prcomp (package stats) pour l’ACP classique

• package FactorMineR pour l’analyse factorielle en

général (voir aussi les packages ade4 et vegan)

Multi Dimensional Scaling et projections :

• assez peu de choses modernes en R

• sammon et isoMDS dans le package MASS

• isomap et metaMDS dans le package vegan

37 / 114 F. Rossi Similarités


Résumé

classification : découverte de groupes homogènes et bien

distincts les uns des autres dans un ensemble d’objets

notion centrale en classification : (dis)similiarité

ménagerie de (dis)similiarités :

• normes dans R p

• co-occurrences pour les données binaires

• nombreuses solutions ad hoc pour divers types de données

visualisation :

• sériation : matrice des (dis)similiarités bien rangée

• projection/plongement : représentation vectorielle de faible

dimension

38 / 114 F. Rossi Similarités


Plan

Introduction

Similarités

Définitions

Données numériques

Données non numériques

Visualisation

Classification hiérarchique

Modèle

Algorithmes

Exploitation des résultats

Optimisation directe d’un critère de qualité

Critères de qualité

Optimisation

Classes floues

39 / 114 F. Rossi Classification hiérarchique


Partition

Partition

Une partition de D est un ensemble de parties de D tel que :

1. aucune partie n’est vide

2. les parties sont disjointes deux à deux

3. l’union des parties est D

Remarque : en classification, les parties sont appelées les

classes

40 / 114 F. Rossi Classification hiérarchique


Partition

Partition

Une partition de D est un ensemble de parties de D tel que :

1. aucune partie n’est vide

2. les parties sont disjointes deux à deux

3. l’union des parties est D

Remarque : en classification, les parties sont appelées les

classes

Ordre partiel sur les partitions

Une partition est plus fine qu’une autre si chaque partie de la

plus fine est incluse dans une partie de la moins fine

40 / 114 F. Rossi Classification hiérarchique


Partition

Partition

Une partition de D est un ensemble de parties de D tel que :

1. aucune partie n’est vide

2. les parties sont disjointes deux à deux

3. l’union des parties est D

Remarque : en classification, les parties sont appelées les

classes

Ordre partiel sur les partitions

Une partition est plus fine qu’une autre si chaque partie de la

plus fine est incluse dans une partie de la moins fine

Exemple : { {1, 2}, {3, 4}, {5, 6} } ≺ { {1, 2, 3, 4}, {5, 6} }

40 / 114 F. Rossi Classification hiérarchique


Hiérarchie

Classification hiérarchique

Une classification hiérarchique de D est un ensemble de

partitions totalement ordonnées de D, dont la partition la plus

fine est l’ensemble des singletons et la plus grossière réduite à

D tout entier

41 / 114 F. Rossi Classification hiérarchique


Hiérarchie

Classification hiérarchique

Une classification hiérarchique de D est un ensemble de

partitions totalement ordonnées de D, dont la partition la plus

fine est l’ensemble des singletons et la plus grossière réduite à

D tout entier

En pratique :

une partition triviale au plus bas de la hiérarchie : chacun

objet forme une classe

à chaque niveau (passage à une partition moins fine) :

fusion de classes

une partition triviale au plus haut de la hiérarchie : tous les

objets dans une seule classe

41 / 114 F. Rossi Classification hiérarchique


Dendrogramme

Représentation graphique d’une

classification hiérarchique par un

arbre

Phylogénie des cordés, par

G. Nève & J.F. Mauffrey

42 / 114 F. Rossi Classification hiérarchique


Dendrogramme

Représentation graphique d’une

classification hiérarchique par un

arbre

A B C D E F

Phylogénie des cordés, par

G. Nève & J.F. Mauffrey

42 / 114 F. Rossi Classification hiérarchique


Dendrogramme

Représentation graphique d’une

classification hiérarchique par un

arbre

A B C D E F

Phylogénie des cordés, par

G. Nève & J.F. Mauffrey

42 / 114 F. Rossi Classification hiérarchique


Dendrogramme

Représentation graphique d’une

classification hiérarchique par un

arbre

A B C D E F

Phylogénie des cordés, par

G. Nève & J.F. Mauffrey

42 / 114 F. Rossi Classification hiérarchique


Dendrogramme

Représentation graphique d’une

classification hiérarchique par un

arbre

A B C D E F

Phylogénie des cordés, par

G. Nève & J.F. Mauffrey

42 / 114 F. Rossi Classification hiérarchique


Dendrogramme

Représentation graphique d’une

classification hiérarchique par un

arbre

A B C D E F

Phylogénie des cordés, par

G. Nève & J.F. Mauffrey

42 / 114 F. Rossi Classification hiérarchique


Dendrogramme

Représentation graphique d’une

classification hiérarchique par un

arbre

A B C D E F

Phylogénie des cordés, par

G. Nève & J.F. Mauffrey

42 / 114 F. Rossi Classification hiérarchique


Dendrogramme

Représentation graphique d’une

classification hiérarchique par un

arbre

A B C D E F

Phylogénie des cordés, par

G. Nève & J.F. Mauffrey

42 / 114 F. Rossi Classification hiérarchique


Dendrogramme

résumé de la classification

hiérarchique

chaque palier correspond à

une fusion de classes

le niveau d’un palier donne une

indication sur la qualité de la

fusion correspondante

A B C D E F

43 / 114 F. Rossi Classification hiérarchique


Dendrogramme

résumé de la classification

hiérarchique

chaque palier correspond à

une fusion de classes

le niveau d’un palier donne une

indication sur la qualité de la

fusion correspondante

coupure horizontale ⇒ partition

A B C D E F

43 / 114 F. Rossi Classification hiérarchique


Dendrogramme

résumé de la classification

hiérarchique

chaque palier correspond à

une fusion de classes

le niveau d’un palier donne une

indication sur la qualité de la

fusion correspondante

coupure horizontale ⇒ partition

A B C D E F

43 / 114 F. Rossi Classification hiérarchique


Dendrogramme

résumé de la classification

hiérarchique

chaque palier correspond à

une fusion de classes

le niveau d’un palier donne une

indication sur la qualité de la

fusion correspondante

coupure horizontale ⇒ partition

attention : ordre des feuilles

presque arbitraire !

A B C D E F

43 / 114 F. Rossi Classification hiérarchique


Dendrogramme

résumé de la classification

hiérarchique

chaque palier correspond à

une fusion de classes

le niveau d’un palier donne une

indication sur la qualité de la

fusion correspondante

coupure horizontale ⇒ partition

attention : ordre des feuilles

presque arbitraire !

D E B C A F

43 / 114 F. Rossi Classification hiérarchique


Algorithmes

agrégation ou scission (ascendant ou descendant)

ascendant :

• la partition initiale est la plus fine

• à chaque étape de l’algorithme, on fusionne (ou agrège)

des classes dont l’union donne un groupe cohérent

• construit naturellement une classification hiérarchique

descendant :

• la partition initiale est la plus grossière

• à chaque étape de l’algorithme, on découpe (ou scinde)

des classes trop peu cohérentes

• construit naturellement une classification hiérarchique

très nombreuses variantes : beaucoup d’algorithmes

ascendants, assez peu d’algorithmes descendants

44 / 114 F. Rossi Classification hiérarchique


Approches ascendantes

classification ascendante hiérarchique (CAH)

algorithme (pour N objets) :

1. partition initiale : chaque objet forme une classe

2. pour i allant de 1 à N − 1 :

2.1 choisir et fusionner deux classes parmi les N − i + 1

question centrale : comment choisir les classes à

fusionner

45 / 114 F. Rossi Classification hiérarchique


Approches ascendantes

classification ascendante hiérarchique (CAH)

algorithme (pour N objets) :

1. partition initiale : chaque objet forme une classe

2. pour i allant de 1 à N − 1 :

2.1 choisir et fusionner deux classes parmi les N − i + 1

question centrale : comment choisir les classes à

fusionner

solution :

• choisir les deux classes les plus « proches »

• extension de la dissimilarité entre objets à une dissimilarité

entre classes

la CAH s’applique à toute dissimilarité

45 / 114 F. Rossi Classification hiérarchique


Dissimilarités inter classes

on considère deux classes A et B

lien simple (saut minimum, single linkage) :

d S (A, B) =

min d(a, b)

a∈A,b∈B

lien complet (saut maximum, complete linkage) :

d C (A, B) =

lien moyen (average linkage) :

d M (A, B) = 1

|A||B|

max d(a, b)

a∈A,b∈B


a∈A,b∈B

d(a, b)

niveau dans le dendrogramme : distance entre les classes

fusionnées

46 / 114 F. Rossi Classification hiérarchique


Coût algorithmique

boucle externe N − 1 étapes

étape i :

• N − i + 1 classes ⇒ (N−i+1)(N−i)

2

paires

• recherche exhaustive en O ( N 2)

coût total minimal en O ( N 3) avec une implémentation

naïve

comment calculer les d S∗ (A, B) en O (1)

47 / 114 F. Rossi Classification hiérarchique


Coût algorithmique

boucle externe N − 1 étapes

étape i :

• N − i + 1 classes ⇒ (N−i+1)(N−i)

2

paires

• recherche exhaustive en O ( N 2)

coût total minimal en O ( N 3) avec une implémentation

naïve

comment calculer les d S∗ (A, B) en O (1)

technique de mise à jour des dissimilarités :

• tableau des dissimilarités entre classes

• mise à jour à chaque fusion en O (N)

• par exemple d S (A ∪ B, C) = min {d S (A, C), d S (B, C)}

47 / 114 F. Rossi Classification hiérarchique


Implémentation efficace

file à priorités :

• file de stockage avec insertion et suppression en O (log N)

• un élément entre dans la file avec une priorité

• obtention de l’élément de plus grande priorité en O (1)

• l’élément de plus grande priorité sort en premier

utilisation pour la CAH :

• une file par classe : contient les distances aux autres

classes

• construction initiale en O ( N 2 log N )

• recherche de la meilleure fusion en O (N)

• mise à jour en O (N log N) (suppressions et insertions)

coût total en O ( N 2 log N )

des techniques basées sur des chaînes de plus proches

voisinages conduisent à des algorithmes en O ( N 2)

48 / 114 F. Rossi Classification hiérarchique


En R

package stats :

• fonction hclust(d,method="méthode")

• d : une dissimilarité comme produite par dist (dans stats

ou proxy, par exemple)

• le paramètre method correspond au lien "single",

"complete", "average" ou "ward"

• fonctions d’affichage du dendrogramme (plot), de coupure

(cutree), etc.

package flashClust :

• fonction flashClust d’interface identique à hclust

• implémentation rapide en O ( N 2)

• vitesses d’exécution incomparables (Core 2 Duo P8600) !

N hclust flashClust

1000 1.9 s 0.09 s

5000 265 s 2.6 s

49 / 114 F. Rossi Classification hiérarchique


Exemple

Sepal.Width

2 3 4 5

Iris de Fisher/Anderson

source : Wikipédia

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

Sepal.Length

50 / 114 F. Rossi Classification hiérarchique


Exemple : lien simple

hauteur

0.1 0.2 0.3 0.4 0.5

Sepal.Width

2 3 4 5

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

Sepal.Length

dendrogramme

51 / 114 F. Rossi Classification hiérarchique


Exemple : lien simple

hauteur

0.1 0.2 0.3 0.4 0.5

Sepal.Width

2 3 4 5

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

dendrogramme

Sepal.Length

52 classes

51 / 114 F. Rossi Classification hiérarchique


Exemple : lien simple

hauteur

0.1 0.2 0.3 0.4 0.5

Sepal.Width

2 3 4 5

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

dendrogramme

Sepal.Length

37 classes

51 / 114 F. Rossi Classification hiérarchique


Exemple : lien simple

hauteur

0.1 0.2 0.3 0.4 0.5

Sepal.Width

2 3 4 5

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

dendrogramme

Sepal.Length

15 classes

51 / 114 F. Rossi Classification hiérarchique


Exemple : lien simple

hauteur

0.1 0.2 0.3 0.4 0.5

Sepal.Width

2 3 4 5

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

dendrogramme

Sepal.Length

13 classes

51 / 114 F. Rossi Classification hiérarchique


Exemple : lien simple

hauteur

0.1 0.2 0.3 0.4 0.5

Sepal.Width

2 3 4 5

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

dendrogramme

Sepal.Length

10 classes

51 / 114 F. Rossi Classification hiérarchique


Exemple : lien simple

hauteur

0.1 0.2 0.3 0.4 0.5

Sepal.Width

2 3 4 5

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

dendrogramme

Sepal.Length

9 classes

51 / 114 F. Rossi Classification hiérarchique


Exemple : lien simple

hauteur

0.1 0.2 0.3 0.4 0.5

Sepal.Width

2 3 4 5

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

dendrogramme

Sepal.Length

5 classes

51 / 114 F. Rossi Classification hiérarchique


Exemple : lien simple

hauteur

0.1 0.2 0.3 0.4 0.5

Sepal.Width

2 3 4 5

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

dendrogramme

Sepal.Length

4 classes

51 / 114 F. Rossi Classification hiérarchique


Exemple : lien simple

hauteur

0.1 0.2 0.3 0.4 0.5

Sepal.Width

2 3 4 5

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

dendrogramme

Sepal.Length

3 classes

51 / 114 F. Rossi Classification hiérarchique


Exemple : lien simple

hauteur

0.1 0.2 0.3 0.4 0.5

Sepal.Width

2 3 4 5

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

dendrogramme

Sepal.Length

2 classes

51 / 114 F. Rossi Classification hiérarchique


Lien simple

CAH par lien simple ⇔ arbre couvrant minimal

effet de chaînage :

• tendance à l’agrégation plutôt qu’à la création de nouvelles

classes

• classes très « longues »

• classes déséquilibrées

• mauvaise résistance au bruit

52 / 114 F. Rossi Classification hiérarchique


Exemple : lien complet

hauteur

0 1 2 3

Sepal.Width

2 3 4 5

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

Sepal.Length

dendrogramme

53 / 114 F. Rossi Classification hiérarchique


Exemple : lien complet

hauteur

0 1 2 3

Sepal.Width

2 3 4 5

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

Sepal.Length

dendrogramme

52 classes

53 / 114 F. Rossi Classification hiérarchique


Exemple : lien complet

hauteur

0 1 2 3

Sepal.Width

2 3 4 5

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

Sepal.Length

dendrogramme

37 classes

53 / 114 F. Rossi Classification hiérarchique


Exemple : lien complet

hauteur

0 1 2 3

Sepal.Width

2 3 4 5

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

Sepal.Length

dendrogramme

15 classes

53 / 114 F. Rossi Classification hiérarchique


Exemple : lien complet

hauteur

0 1 2 3

Sepal.Width

2 3 4 5

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

Sepal.Length

dendrogramme

13 classes

53 / 114 F. Rossi Classification hiérarchique


Exemple : lien complet

hauteur

0 1 2 3

Sepal.Width

2 3 4 5

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

Sepal.Length

dendrogramme

10 classes

53 / 114 F. Rossi Classification hiérarchique


Exemple : lien complet

hauteur

0 1 2 3

Sepal.Width

2 3 4 5

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

Sepal.Length

dendrogramme

9 classes

53 / 114 F. Rossi Classification hiérarchique


Exemple : lien complet

hauteur

0 1 2 3

Sepal.Width

2 3 4 5

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

Sepal.Length

dendrogramme

5 classes

53 / 114 F. Rossi Classification hiérarchique


Exemple : lien complet

hauteur

0 1 2 3

Sepal.Width

2 3 4 5

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

Sepal.Length

dendrogramme

4 classes

53 / 114 F. Rossi Classification hiérarchique


Exemple : lien complet

hauteur

0 1 2 3

Sepal.Width

2 3 4 5

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

Sepal.Length

dendrogramme

3 classes

53 / 114 F. Rossi Classification hiérarchique


Exemple : lien complet

hauteur

0 1 2 3

Sepal.Width

2 3 4 5

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

Sepal.Length

dendrogramme

2 classes

53 / 114 F. Rossi Classification hiérarchique


Lien complet

comportement assez différent de celui du lien simple :

• classes plus équilibrées

• classes plus compactes mais proches les unes des autres

54 / 114 F. Rossi Classification hiérarchique


Lien complet

comportement assez différent de celui du lien simple :

• classes plus équilibrées

• classes plus compactes mais proches les unes des autres

Sepal.Width

2 3 4 5

Sepal.Width

2 3 4 5

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

Sepal.Length

lien simple

5 classes

Sepal.Length

lien complet

54 / 114 F. Rossi Classification hiérarchique


Diamètre et séparation

classification satisfaisante :

• groupes homogènes

• groupes bien séparés

diamètre d’un groupe A

D(A) =

max d(a, b)

a∈A, b∈A

distances entre groupes déjà vues :

• minimum

• maximum

• moyenne

remarque : la distance moyenne entre élément sera

étudiée plus loin...

55 / 114 F. Rossi Classification hiérarchique


Chaînage

−4 −2 0 2 4

2 4 6 8 10

56 / 114 F. Rossi Classification hiérarchique


Chaînage

hauteur

0.5 0.6 0.7 0.8 0.9 1.0

−4 −2 0 2 4

Lien simple

2 4 6 8 10

56 / 114 F. Rossi Classification hiérarchique


Chaînage

hauteur

0.5 0.6 0.7 0.8 0.9 1.0

−4 −2 0 2 4

Lien simple

2 4 6 8 10

Diamètres 9, séparation 1

56 / 114 F. Rossi Classification hiérarchique


Chaînage

hauteur

0 2 4 6 8

−4 −2 0 2 4

Lien complet

2 4 6 8 10

56 / 114 F. Rossi Classification hiérarchique


Chaînage

hauteur

0 2 4 6 8

−4 −2 0 2 4

Lien complet

2 4 6 8 10

Diamètres 3,64 et 5,10, séparation 0,5

56 / 114 F. Rossi Classification hiérarchique


Lien, diamètre et séparation

lien simple :

• D(A) n’est pas contrôlé par l’algorithme

• classes avec des diamètres très différents

• distances entre classes très faibles devant leur diamètre

lien complet :

• contrôle du diamètre : la fusion choisie est celle qui

engendre l’accroissement le plus faible des diamètres des

classes

• pas de contrôle de la séparation : classes arbitrairement

proches

simple et complet : deux cas extrêmes

lien moyen : intermédiaire

57 / 114 F. Rossi Classification hiérarchique


Exemple : lien moyen

hauteur

0.0 0.5 1.0 1.5

Sepal.Width

2 3 4 5

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

Sepal.Length

dendrogramme

58 / 114 F. Rossi Classification hiérarchique


Exemple : lien moyen

hauteur

0.0 0.5 1.0 1.5

Sepal.Width

2 3 4 5

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

Sepal.Length

dendrogramme

52 classes

58 / 114 F. Rossi Classification hiérarchique


Exemple : lien moyen

hauteur

0.0 0.5 1.0 1.5

Sepal.Width

2 3 4 5

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

Sepal.Length

dendrogramme

37 classes

58 / 114 F. Rossi Classification hiérarchique


Exemple : lien moyen

hauteur

0.0 0.5 1.0 1.5

Sepal.Width

2 3 4 5

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

Sepal.Length

dendrogramme

15 classes

58 / 114 F. Rossi Classification hiérarchique


Exemple : lien moyen

hauteur

0.0 0.5 1.0 1.5

Sepal.Width

2 3 4 5

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

Sepal.Length

dendrogramme

13 classes

58 / 114 F. Rossi Classification hiérarchique


Exemple : lien moyen

hauteur

0.0 0.5 1.0 1.5

Sepal.Width

2 3 4 5

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

Sepal.Length

dendrogramme

10 classes

58 / 114 F. Rossi Classification hiérarchique


Exemple : lien moyen

hauteur

0.0 0.5 1.0 1.5

Sepal.Width

2 3 4 5

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

Sepal.Length

dendrogramme

9 classes

58 / 114 F. Rossi Classification hiérarchique


Exemple : lien moyen

hauteur

0.0 0.5 1.0 1.5

Sepal.Width

2 3 4 5

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

Sepal.Length

dendrogramme

5 classes

58 / 114 F. Rossi Classification hiérarchique


Exemple : lien moyen

hauteur

0.0 0.5 1.0 1.5

Sepal.Width

2 3 4 5

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

Sepal.Length

dendrogramme

4 classes

58 / 114 F. Rossi Classification hiérarchique


Exemple : lien moyen

hauteur

0.0 0.5 1.0 1.5

Sepal.Width

2 3 4 5

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

Sepal.Length

dendrogramme

3 classes

58 / 114 F. Rossi Classification hiérarchique


Exemple : lien moyen

hauteur

0.0 0.5 1.0 1.5

Sepal.Width

2 3 4 5

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

Sepal.Length

dendrogramme

2 classes

58 / 114 F. Rossi Classification hiérarchique


Comparaison

simple complet moyen

59 / 114 F. Rossi Classification hiérarchique


Qualité globale

le lien moyen donne généralement des résultats plus

satisfaisants :

• classes équilibrées (bon contrôle du diamètre)

• bon équilibre entre la séparation et le diamètre

inconvénient : pas de garantie globale sur la qualité d’une

partition

60 / 114 F. Rossi Classification hiérarchique


Qualité globale

le lien moyen donne généralement des résultats plus

satisfaisants :

• classes équilibrées (bon contrôle du diamètre)

• bon équilibre entre la séparation et le diamètre

inconvénient : pas de garantie globale sur la qualité d’une

partition

approche alternative : définir un critère de qualité d’une

partition et essayer de l’optimiser

exemple : l’inertie d’une partition P 1 , . . . , P K :

K∑

k=1

1

|P k |


a∈P k , b∈P k

d(a, b)

60 / 114 F. Rossi Classification hiérarchique


Méthode de Ward

optimisation de l’inertie

à chaque étape, on fusionne les classes produisent la

partition d’inertie la plus faible

algorithme similaire aux autres méthodes :

• la dissimilarité est remplacée par la mesure ∆(A, B)

d’accroissement d’inertie induit par la fusion de A et B

• mise à jour des accroissements en O (1)

• implémentation naïve en O ( N 3) , efficace en O ( N 2 log N ) ,

optimale en O ( N 2)

niveau dans le dendrogramme : accroissement d’inertie

induit par la fusion correspondante

61 / 114 F. Rossi Classification hiérarchique


Exemple : méthode de Ward

hauteur

0 10 20 30 40

Sepal.Width

2 3 4 5

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

Sepal.Length

dendrogramme

62 / 114 F. Rossi Classification hiérarchique


Exemple : méthode de Ward

hauteur

0 10 20 30 40

Sepal.Width

2 3 4 5

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

dendrogramme

Sepal.Length

52 classes

62 / 114 F. Rossi Classification hiérarchique


Exemple : méthode de Ward

hauteur

0 10 20 30 40

Sepal.Width

2 3 4 5

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

dendrogramme

Sepal.Length

37 classes

62 / 114 F. Rossi Classification hiérarchique


Exemple : méthode de Ward

hauteur

0 10 20 30 40

Sepal.Width

2 3 4 5

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

dendrogramme

Sepal.Length

15 classes

62 / 114 F. Rossi Classification hiérarchique


Exemple : méthode de Ward

hauteur

0 10 20 30 40

Sepal.Width

2 3 4 5

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

dendrogramme

Sepal.Length

13 classes

62 / 114 F. Rossi Classification hiérarchique


Exemple : méthode de Ward

hauteur

0 10 20 30 40

Sepal.Width

2 3 4 5

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

dendrogramme

Sepal.Length

10 classes

62 / 114 F. Rossi Classification hiérarchique


Exemple : méthode de Ward

hauteur

0 10 20 30 40

Sepal.Width

2 3 4 5

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

dendrogramme

Sepal.Length

9 classes

62 / 114 F. Rossi Classification hiérarchique


Exemple : méthode de Ward

hauteur

0 10 20 30 40

Sepal.Width

2 3 4 5

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

dendrogramme

Sepal.Length

5 classes

62 / 114 F. Rossi Classification hiérarchique


Exemple : méthode de Ward

hauteur

0 10 20 30 40

Sepal.Width

2 3 4 5

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

dendrogramme

Sepal.Length

4 classes

62 / 114 F. Rossi Classification hiérarchique


Exemple : méthode de Ward

hauteur

0 10 20 30 40

Sepal.Width

2 3 4 5

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

dendrogramme

Sepal.Length

3 classes

62 / 114 F. Rossi Classification hiérarchique


Exemple : méthode de Ward

hauteur

0 10 20 30 40

Sepal.Width

2 3 4 5

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

dendrogramme

Sepal.Length

2 classes

62 / 114 F. Rossi Classification hiérarchique


Comparaison

complet moyen Ward

63 / 114 F. Rossi Classification hiérarchique


Approches descendantes

algorithme :

1. partition initiale : tous les objets dans une même classe

2. pour i allant de 1 à N − 1 :

2.1 choisir une classe à scinder parmi les i

2.2 scinder la classe

moins répandues que les approches ascendantes :

• choix de la classe à scinder

• puis aspect combinatoire : N 2 fusions contre 2 N−1

partitions binaires !

quelques méthodes heuristiques, par exemple :

• scinder la classe de plus grand diamètre

• scission itérative : enlever l’élément le plus éloigné des

autres en moyenne et itérer

64 / 114 F. Rossi Classification hiérarchique


Exemple : méthode Diana

Kaufman et Rousseeuw

hauteur

0 1 2 3

Sepal.Width

2 3 4 5

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

Sepal.Length

dendrogramme

65 / 114 F. Rossi Classification hiérarchique


Exemple : méthode Diana

Kaufman et Rousseeuw

hauteur

0 1 2 3

Sepal.Width

2 3 4 5

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

dendrogramme

Sepal.Length

52 classes

65 / 114 F. Rossi Classification hiérarchique


Exemple : méthode Diana

Kaufman et Rousseeuw

hauteur

0 1 2 3

Sepal.Width

2 3 4 5

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

dendrogramme

Sepal.Length

37 classes

65 / 114 F. Rossi Classification hiérarchique


Exemple : méthode Diana

Kaufman et Rousseeuw

hauteur

0 1 2 3

Sepal.Width

2 3 4 5

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

dendrogramme

Sepal.Length

15 classes

65 / 114 F. Rossi Classification hiérarchique


Exemple : méthode Diana

Kaufman et Rousseeuw

hauteur

0 1 2 3

Sepal.Width

2 3 4 5

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

dendrogramme

Sepal.Length

13 classes

65 / 114 F. Rossi Classification hiérarchique


Exemple : méthode Diana

Kaufman et Rousseeuw

hauteur

0 1 2 3

Sepal.Width

2 3 4 5

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

dendrogramme

Sepal.Length

10 classes

65 / 114 F. Rossi Classification hiérarchique


Exemple : méthode Diana

Kaufman et Rousseeuw

hauteur

0 1 2 3

Sepal.Width

2 3 4 5

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

dendrogramme

Sepal.Length

9 classes

65 / 114 F. Rossi Classification hiérarchique


Exemple : méthode Diana

Kaufman et Rousseeuw

hauteur

0 1 2 3

Sepal.Width

2 3 4 5

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

dendrogramme

Sepal.Length

5 classes

65 / 114 F. Rossi Classification hiérarchique


Exemple : méthode Diana

Kaufman et Rousseeuw

hauteur

0 1 2 3

Sepal.Width

2 3 4 5

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

dendrogramme

Sepal.Length

4 classes

65 / 114 F. Rossi Classification hiérarchique


Exemple : méthode Diana

Kaufman et Rousseeuw

hauteur

0 1 2 3

Sepal.Width

2 3 4 5

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

dendrogramme

Sepal.Length

3 classes

65 / 114 F. Rossi Classification hiérarchique


Exemple : méthode Diana

Kaufman et Rousseeuw

hauteur

0 1 2 3

Sepal.Width

2 3 4 5

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

dendrogramme

Sepal.Length

2 classes

65 / 114 F. Rossi Classification hiérarchique


Comparaison

moyen Ward Diana

66 / 114 F. Rossi Classification hiérarchique


En R

package cluster

fonction diana(d) avec d une dissimilarité

la fonction as.hclust transforme le résultat de diana en

une structure hiérarchique compatible avec celle de

hclust :

• visualisation

• coupure

• etc.

la fonction agnes du package propose aussi de la

classification ascendante hiérarchique

67 / 114 F. Rossi Classification hiérarchique


Questions pratiques

quelle dissimilarité

quel lien choisir en CAH

que faire du résultat

• interprétation du dendrogramme

• choix d’une classification

68 / 114 F. Rossi Classification hiérarchique


Choix du critère

il vaut mieux éviter le lien simple

pas de règle universelle sur les autres liens, mais on

préfère souvent le lien moyen et la méthode de Ward au

lien complet

l’influence de la dissimilarité est au moins aussi importante

que celle du lien

le but est exploratoire :

• tester plusieurs dissimilarités

• tester plusieurs liens

• comparer les classifications obtenues

69 / 114 F. Rossi Classification hiérarchique


Dendrogramme

représentation très riche

70 / 114 F. Rossi Classification hiérarchique


Dendrogramme

représentation très riche, mais :

• l’ordre des branches (gauche à droite) est essentiellement

arbitraire (2 N−2 possibilités)

• l’arbre décrit le résultat de l’algorithme pas les données

le niveau des paliers donne la valeur du critère utilisé pour

les fusions

70 / 114 F. Rossi Classification hiérarchique


Dendrogramme

représentation très riche, mais :

• l’ordre des branches (gauche à droite) est essentiellement

arbitraire (2 N−2 possibilités)

• l’arbre décrit le résultat de l’algorithme pas les données

le niveau des paliers donne la valeur du critère utilisé pour

les fusions :

• des paliers proches indiquent généralement des fusions

équivalentes : l’ordre de celles-ci est arbitraire

• des écarts importants entre les paliers correspondent

souvent à la présence de « vraies » classes dans les

données

70 / 114 F. Rossi Classification hiérarchique


Exemple

complet

moyen

hauteur

0 1 2 3

hauteur

0.0 0.5 1.0 1.5

Ward

Diana

hauteur

0 10 20 30 40

hauteur

0 1 2 3

71 / 114 F. Rossi Classification hiérarchique


Courbe des hauteurs des paliers

complet

moyen

Hauteur

0 1 2 3

Hauteur

0.5 1.0 1.5

0 20 40 60 80 100 120

Classes

Ward

0 20 40 60 80 100 120

Classes

Diana

Hauteur

0 10 20 30 40

Hauteur

0 1 2 3

0 20 40 60 80 100 120

Classes

0 20 40 60 80 100 120

Classes

72 / 114 F. Rossi Classification hiérarchique


Choix du nombre de classes

littérature scientifique très riche

73 / 114 F. Rossi Classification hiérarchique


Choix du nombre de classes

littérature scientifique très riche mais pas de solution

consensuelle :

• problème intrinsèquement mal posé : plus la partition est

fine, « meilleure » elle est

• algorithmes stables (cf les cours sur l’apprentissage

supervisé)

solution heuristique classique :

• étudier l’évolution de l’inertie avec le nombre de classes

• un saut « significatif » ou un « coude » dans la courbe

indique le nombre de classes

• formalisation possible par la Gap statistics de Tibshirani,

Walther et Hastie

73 / 114 F. Rossi Classification hiérarchique


Courbe de l’inertie totale

Inertie

0 20 40 60 80 100 120

complet

Inertie

0 20 40 60 80 100 120

moyen

0 20 40 60 80 100 120

Classes

Ward

0 20 40 60 80 100 120

Classes

Diana

Inertie

0 20 40 60 80 100

Inertie

0 20 40 60 80

0 20 40 60 80 100 120

Classes

0 20 40 60 80 100 120

Classes

74 / 114 F. Rossi Classification hiérarchique


Résumé

classification hiérarchique :

• ensemble totalement ordonné de partitions

• visualisation par un dendrogramme

• algorithmes ascendants en O ( N 2)

• quelques algorithmes descendants

• applicables en général à toute mesure de dissimilarité

questions génériques :

• choix d’une (dis)similarité

• choix d’une méthode hiérarchique

• choix d’un nombre de classes

solutions exploratoires : comparer les résultats par tous les

moyens possibles (dendrogramme, courbe des paliers,

courbe de l’inertie, sériation, projection/plongement)

75 / 114 F. Rossi Classification hiérarchique


Plan

Introduction

Similarités

Définitions

Données numériques

Données non numériques

Visualisation

Classification hiérarchique

Modèle

Algorithmes

Exploitation des résultats

Optimisation directe d’un critère de qualité

Critères de qualité

Optimisation

Classes floues

76 / 114 F. Rossi Optimisation directe d’un critère de qualité


Critères de qualité

qu’est-ce qu’une bonne classification

77 / 114 F. Rossi Optimisation directe d’un critère de qualité


Critères de qualité

qu’est-ce qu’une bonne classification

• classes homogènes

• classes bien séparées

77 / 114 F. Rossi Optimisation directe d’un critère de qualité


Critères de qualité

qu’est-ce qu’une bonne classification

• classes homogènes

• classes bien séparées

critères « naturels » :

• non-homogénéité de A (doit être petit)


d(a, b)

a∈A, b∈A

• séparation entre A et B (doit être grand)


d(a, b)

a∈A, b∈B

77 / 114 F. Rossi Optimisation directe d’un critère de qualité


Critères de qualité

qu’est-ce qu’une bonne classification

• classes homogènes

• classes bien séparées

critères « naturels » :

• non-homogénéité de A (doit être petit)


d(a, b)

a∈A, b∈A

• séparation entre A et B (doit être grand)


d(a, b)

a∈A, b∈B

classification : répartition des dissimilarités, petites dans

les classes, grandes en dehors

77 / 114 F. Rossi Optimisation directe d’un critère de qualité


Qualité d’une partition

partition : chaque objet est dans une classe

toutes les dissimilarités sont prises en compte :

• pour toute partition P = (P 1 , . . . , P K )



T = ∑ K∑

d(a, b) = ⎝


d(a, b) +


d(a, b) ⎠

a,b

k=1 a∈P k ,b∈P k a∈P k ,b∉P k

• donc maximiser l’homogénéité implique une maximisation

de la séparation entre classes

on préfère équilibrer les contributions de chaque classe et

mesurer la non-homogénéité par l’inertie intra-classe

K∑

k=1

1

|P k |


a∈P k ,b∈P k

d(a, b)

78 / 114 F. Rossi Optimisation directe d’un critère de qualité


Quantification vectorielle

but : résumer (x i ) 1≤i≤N par (y i ) 1≤k≤K (le tout dans R p )

un algorithme de quantification vectorielle produit :

• les représentants (y i ) 1≤k≤K

• une partition P = (P 1 , . . . , P K ) : les éléments de P k sont

résumés par le vecteur y k

critère d’erreur

E(y, P) =

K∑ ∑

k=1

pour P fixé, le minimum atteint pour

ŷ k = 1

|P K |

x∈P k

‖x − y k ‖ 2


x∈P k

x

79 / 114 F. Rossi Optimisation directe d’un critère de qualité


Quantification et classification

on montre que pour les ŷ k optimaux, on a

E(ŷ, P) = 1 2

K∑

k=1

1

|P k |


a∈P k ,b∈P k

‖a − b‖ 2

donc le critère de non homogénéité correspond au critère

de quantification vectorielle pour d(a, b) = ‖a − b‖ 2

on a aussi

K∑ ∑

‖x − ŷ k ‖ 2 + 1 ∑

|P k ||P k |‖ŷ k − ŷ l ‖ 2 = constante,

2

x∈P k k,l

k=1

donc des classes homogènes ont des représentants bien

séparés

80 / 114 F. Rossi Optimisation directe d’un critère de qualité


Classification et optimisation

optimiser l’inertie intra-classe semble donc une bonne idée

c’est le principe de l’algorithme de Ward, mais pas des

autres CAH

81 / 114 F. Rossi Optimisation directe d’un critère de qualité


Classification et optimisation

optimiser l’inertie intra-classe semble donc une bonne idée

c’est le principe de l’algorithme de Ward, mais pas des

autres CAH

solution alternative aux méthodes hiérarchiques : optimiser

directement l’inertie intra-classe

difficulté :

• optimisation combinatoire

• par exemple 2 N−1 partitions en 2 classes pour N

observations

81 / 114 F. Rossi Optimisation directe d’un critère de qualité


Quantification vectorielle

on cherche à minimiser

K∑ ∑

E(y, P) = ‖x − y k ‖ 2

k=1 x∈P k

si on fixe y ou P, le problème est facile :

min

P

K ∑

k=1


x∈P k

‖x − y k ‖ 2 = ∑ x

min

k

‖x − y k ‖ 2

min

y

K ∑

k=1


x∈P k

‖x − y k ‖ 2 = 1 2

K∑

k=1

1

|P k |


a∈P k ,b∈P k

‖a − b‖ 2

82 / 114 F. Rossi Optimisation directe d’un critère de qualité


Optimisation difficile

optimiser directement

P ↦→ 1 2

K∑

k=1

1

|P k |


a∈P k ,b∈P k

‖a − b‖ 2

est un problème combinatoire difficile

optimiser directement

y ↦→ ∑ x

min

k

‖x − y k ‖ 2

est difficile car la fonction n’est ni convexe ni C 1 (nombreux

minima locaux)

83 / 114 F. Rossi Optimisation directe d’un critère de qualité


Optimisation alternée

heuristique très simple : pour optimiser F(u, v) par rapport

à u et v, on applique l’algorithme suivant :

1. configuration initiale u 0 aléatoire

2. v k = arg min v F (u k−1 , v)

3. u k = arg min u F(u, v k )

4. retour en 2 jusqu’à convergence

on montre facilement que cet algorithme converge vers un

minimum local

84 / 114 F. Rossi Optimisation directe d’un critère de qualité


Optimisation alternée

heuristique très simple : pour optimiser F(u, v) par rapport

à u et v, on applique l’algorithme suivant :

1. configuration initiale u 0 aléatoire

2. v k = arg min v F (u k−1 , v)

3. u k = arg min u F(u, v k )

4. retour en 2 jusqu’à convergence

on montre facilement que cet algorithme converge vers un

minimum local

plusieurs points de départ aléatoire : plus de chance de

tomber dans un meilleur minimum

aucune garantie de trouver un minimum global

84 / 114 F. Rossi Optimisation directe d’un critère de qualité


Optimisation alternée

heuristique très simple : pour optimiser F(u, v) par rapport

à u et v, on applique l’algorithme suivant :

1. configuration initiale u 0 aléatoire

2. v k = arg min v F (u k−1 , v)

3. u k = arg min u F(u, v k )

4. retour en 2 jusqu’à convergence

on montre facilement que cet algorithme converge vers un

minimum local

plusieurs points de départ aléatoire : plus de chance de

tomber dans un meilleur minimum

aucune garantie de trouver un minimum global

mais les algorithmes hiérarchiques ne sont pas non plus

optimaux !

84 / 114 F. Rossi Optimisation directe d’un critère de qualité


K-means

l’un des algorithmes de classification les plus connus

réinventé régulièrement

optimisation alternée de l’inertie intra-classe euclidienne :

1. choix aléatoire des y = (y k ) 1≤k≤K

2. affectation

3. représentation

P k =

{

x


}

k = arg min ‖x − y k‖

1≤l≤K

y k = 1 ∑

x

|P K |

x∈P k

4. retour en 2 jusqu’à convergence

les y = (y k ) 1≤k≤K sont les prototypes ou centroïdes

85 / 114 F. Rossi Optimisation directe d’un critère de qualité


Exemple

Sepal.Width

2.0 2.5 3.0 3.5 4.0

5 6 7 8

Sepal.Length

86 / 114 F. Rossi Optimisation directe d’un critère de qualité


Exemple

Sepal.Width

2.0 2.5 3.0 3.5 4.0

5 6 7 8

Sepal.Length

86 / 114 F. Rossi Optimisation directe d’un critère de qualité


Exemple

Sepal.Width

2.0 2.5 3.0 3.5 4.0

5 6 7 8

Sepal.Length

86 / 114 F. Rossi Optimisation directe d’un critère de qualité


Exemple

Sepal.Width

2.0 2.5 3.0 3.5 4.0

5 6 7 8

Sepal.Length

86 / 114 F. Rossi Optimisation directe d’un critère de qualité


Exemple

Sepal.Width

2.0 2.5 3.0 3.5 4.0

5 6 7 8

Sepal.Length

86 / 114 F. Rossi Optimisation directe d’un critère de qualité


Exemple

Sepal.Width

2.0 2.5 3.0 3.5 4.0

5 6 7 8

Sepal.Length

86 / 114 F. Rossi Optimisation directe d’un critère de qualité


Exemple

Sepal.Width

2.0 2.5 3.0 3.5 4.0

5 6 7 8

Sepal.Length

86 / 114 F. Rossi Optimisation directe d’un critère de qualité


Exemple

Sepal.Width

2.0 2.5 3.0 3.5 4.0

5 6 7 8

Sepal.Length

86 / 114 F. Rossi Optimisation directe d’un critère de qualité


Exemple

Sepal.Width

2.0 2.5 3.0 3.5 4.0

5 6 7 8

Sepal.Length

86 / 114 F. Rossi Optimisation directe d’un critère de qualité


Exemple

Sepal.Width

2.0 2.5 3.0 3.5 4.0

5 6 7 8

Sepal.Length

86 / 114 F. Rossi Optimisation directe d’un critère de qualité


Exemple

Sepal.Width

2.0 2.5 3.0 3.5 4.0

5 6 7 8

Sepal.Length

86 / 114 F. Rossi Optimisation directe d’un critère de qualité


Exemple

Sepal.Width

2.0 2.5 3.0 3.5 4.0

5 6 7 8

Sepal.Length

86 / 114 F. Rossi Optimisation directe d’un critère de qualité


Exemple

Sepal.Width

2.0 2.5 3.0 3.5 4.0

5 6 7 8

Sepal.Length

86 / 114 F. Rossi Optimisation directe d’un critère de qualité


Exemple

Sepal.Width

2.0 2.5 3.0 3.5 4.0

5 6 7 8

Sepal.Length

86 / 114 F. Rossi Optimisation directe d’un critère de qualité


Exemple

Sepal.Width

2.0 2.5 3.0 3.5 4.0

5 6 7 8

Sepal.Length

86 / 114 F. Rossi Optimisation directe d’un critère de qualité


En pratique

convergence rapide

coût algorithmique faible :

• N données en dimension p, K classes

• affectation : O (NKp)

• représentation : O (Np)

mais plus élevé qu’une CAH si on veut toutes les partitions

pour K allant de 2 à N − 1

87 / 114 F. Rossi Optimisation directe d’un critère de qualité


En pratique

convergence rapide

coût algorithmique faible :

• N données en dimension p, K classes

• affectation : O (NKp)

• représentation : O (Np)

mais plus élevé qu’une CAH si on veut toutes les partitions

pour K allant de 2 à N − 1

choix aléatoire des y = (y k ) 1≤k≤K

• parmi les x i

• dans leur hypercube (hypersphère) englobant(e)

tester de nombreux tirages et garder le meilleur (au sens

de l’inertie intra-classe)

87 / 114 F. Rossi Optimisation directe d’un critère de qualité


Plusieurs initialisations

Sepal.Width

2 3 4 5

Sepal.Width

2 3 4 5

Sepal.Width

2 3 4 5

4.5 5.5 6.5 7.5

Sepal.Length

4.5 5.5 6.5 7.5

Sepal.Length

4.5 5.5 6.5 7.5

Sepal.Length

Sepal.Width

2 3 4 5

Sepal.Width

2 3 4 5

Sepal.Width

2 3 4 5

4.5 5.5 6.5 7.5

Sepal.Length

4.5 5.5 6.5 7.5

Sepal.Length

4.5 5.5 6.5 7.5

Sepal.Length

88 / 114 F. Rossi Optimisation directe d’un critère de qualité


en R

fonction kmeans dans le package stats :

• kmeans(x,centers,iter.max=10,nstart=1)

• nstart permet d’essayer plusieurs initialisations aléatoires

• la valeur par défaut d’iter.max est souvent trop faible

plusieurs autres implémentations :

• package cclust

• package flexclust

• etc.

89 / 114 F. Rossi Optimisation directe d’un critère de qualité


Dissimilarités

l’algorithme des K-means ne s’applique qu’à des données

de R p avec une norme de Minkowski

par exemple pour d 1 , les y optimaux sont définis par

y k = médiane(P k ) = arg min


u∈R p

x∈P k

p∑

|x j − u j |

j=1

généralisation :

• quantification « non vectorielle »

• trouver y = (y k ) 1≤k≤K et une partition P = (P 1 , . . . , P K ) qui

minimisent

K∑ ∑

E(y, P) = d(x, y k )

k=1 x∈P k

90 / 114 F. Rossi Optimisation directe d’un critère de qualité


Dissimilarités

l’algorithme des K-means ne s’applique qu’à des données

de R p avec une norme de Minkowski

par exemple pour d 1 , les y optimaux sont définis par

y k = médiane(P k ) = arg min


u∈R p

x∈P k

p∑

|x j − u j |

j=1

généralisation :

• quantification « non vectorielle »

• trouver y = (y k ) 1≤k≤K et une partition P = (P 1 , . . . , P K ) qui

minimisent

K∑ ∑

E(y, P) = d(x, y k )

k=1 x∈P k

• on contraint les y k à être des x i bien choisis

90 / 114 F. Rossi Optimisation directe d’un critère de qualité


K-medoids

K-means pour une dissimilarité arbitraire

optimisation alternée :

1. choix aléatoire des y = (y k ) 1≤k≤K comme sous-ensemble

des D = (x i ) 1≤i≤N

2. affectation

P k =

{

x


}

k = arg min d(x, y k)

1≤l≤K

3. représentation


y k = arg min d(x, y)

y∈D

x∈P k

4. retour en 2 jusqu’à convergence

91 / 114 F. Rossi Optimisation directe d’un critère de qualité


En pratique

le choix des prototypes dans les données permet

d’appliquer l’algorithme à tout ensemble sur lequel est

défini une dissimilarité

convergence rapide

coût algorithmique élevé :

• affectation en O (NK )

• mais recherche exhaustive pour la représentation :

O ( N 2 K )

sensible à l’initialisation : tester plusieurs initialisations

variante sur une heuristique voisine : Partition Around

Medoids (PAM) de Kaufman et Rousseeuw

92 / 114 F. Rossi Optimisation directe d’un critère de qualité


Exemple

Sepal.Width

2 3 4 5

Sepal.Width

2 3 4 5

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

Sepal.Length

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

Sepal.Length

d 2

Sepal.Width

2 3 4 5

Sepal.Width

2 3 4 5

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

d 1

Sepal.Length

4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

Sepal.Length

d max

93 / 114 F. Rossi Optimisation directe d’un critère de qualité


Limitations

pour la distance euclidienne, optimiser l’inertie intra-classe

est équivalent à optimiser l’erreur de quantification

c’est faux pour une dissimilarité arbitraire

les K-medoids optimisent

et n’optimisent pas

K∑

k=1

K∑ ∑

k=1

1

|P k |

x∈P k

d(x, y k )


a∈P k ,b∈P k

d(a, b)

différences importantes si la dissimilarité n’est pas

métrique

94 / 114 F. Rossi Optimisation directe d’un critère de qualité


En R

pas d’implémentation des K-medoids

package cluster :

• fonction pam : implémente l’algorithme PAM

• fonction clara : couche au dessus de PAM pour les

grands jeux de données ; ne traite que les distances

euclidiennes et Manhattan

package flexclust :

• cadre général pour des algorithmes de type K-means

• fonction kcca : k-means pour distances euclidiennes,

Manhattan et quelques autres

95 / 114 F. Rossi Optimisation directe d’un critère de qualité


Autres stratégies

beaucoup d’autres stratégies d’optimisation pour l’inertie

intra-classe et l’erreur de quantification

recuit :

• méthodes inspirées de la physique statistique : introduire

une forme d’agitation thermique pour éviter les minima

locaux

• recuit simulé ou recuit déterministe

• méthodes associées comme Neural Gas

algorithmes en ligne :

• optimiser exemple par exemple

• règles de la forme

y k ← αy k + (1 − α)x i

heuristiques : échanges, « bonne « configuration initiale,

etc.

96 / 114 F. Rossi Optimisation directe d’un critère de qualité


Résumé

classification par prototypes :

• K-means et K-medoids

• applicables à toute mesure de dissimilarité

• produit une partition

• sensible aux conditions initiales

point crucial : définir une mesure de qualité et l’optimiser

comparée aux méthodes hiérarchiques :

+ optimise un critère de qualité

+ meilleurs résultats à K fixé

= même ordre de grandeur pour le temps calcul

= mêmes problèmes d’exploitation (nombre de classes,

dissimilarités, etc.)

- non déterministe

- pas de structure générale de type dendrogramme

97 / 114 F. Rossi Optimisation directe d’un critère de qualité


Classes « floues »

degré d’appartenance : chaque objet appartient plus ou

moins à chaque classe

matrice d’affectation pour N objets dans K classes,

M 1≤i≤N,1≤k≤K :

• M i,k ∈ [0, 1] : degré d’appartenance entre 0 et 1

• ∑ K

k=1 M ik = 1 : appartenance totale de 1

• cas classique : M i,k ∈ {0, 1}

interprétations de M ik :

• degré d’appartenance de x i à la classe k : logique floue

• probabilité d’appartenance de x i à la classe k : approches

dites à modèle

98 / 114 F. Rossi Optimisation directe d’un critère de qualité


Quantification floue

critère :

E(y, M) =

K∑

k=1 i=1

rôle de b :

• intensité du mélange des classes

• b = 1 : K-means classique

• b > 1 : flou

N∑

Mik b ‖x i − y k ‖ 2

l’optimisation doit se faire sous les contraintes sur M

généralisation immédiate au cas d’une dissimilarité

99 / 114 F. Rossi Optimisation directe d’un critère de qualité


K-means flous

optimisation alternée du critère :

1. choix aléatoire des y = (y k ) 1≤k≤K

2. calcul des d ik = ‖x − y k ‖ 2

3. affectation floue (optimisation par rapport à M)

M ik =

(1/d ik) 1/(b−1)

∑ K

j=1 (1/d ij) 1/(b−1)

4. représentation (optimisation par rapport à y)

y k =

1

∑ N

j=1 Mb jk

5. retour en 2 jusqu’à convergence

N∑

i=1

M b

ik x i

100 / 114 F. Rossi Optimisation directe d’un critère de qualité


Exemple

Sepal.Width

2.0 2.5 3.0 3.5 4.0

4 5 6 7 8

Sepal.Length

101 / 114 F. Rossi Optimisation directe d’un critère de qualité


Exemple

b=1.1

Sepal.Width

2.0 2.5 3.0 3.5 4.0

4 5 6 7 8

Sepal.Length

101 / 114 F. Rossi Optimisation directe d’un critère de qualité


Exemple

b=1.2

Sepal.Width

2.0 2.5 3.0 3.5 4.0

4 5 6 7 8

Sepal.Length

101 / 114 F. Rossi Optimisation directe d’un critère de qualité


Exemple

b=1.5

Sepal.Width

2.0 2.5 3.0 3.5 4.0

4 5 6 7 8

Sepal.Length

101 / 114 F. Rossi Optimisation directe d’un critère de qualité


Exemple

b=2

Sepal.Width

2.0 2.5 3.0 3.5 4.0

4 5 6 7 8

Sepal.Length

101 / 114 F. Rossi Optimisation directe d’un critère de qualité


Exemple

b=5

Sepal.Width

2.0 2.5 3.0 3.5 4.0

4 5 6 7 8

Sepal.Length

101 / 114 F. Rossi Optimisation directe d’un critère de qualité


Exemple

b=10

Sepal.Width

2.0 2.5 3.0 3.5 4.0

4 5 6 7 8

Sepal.Length

101 / 114 F. Rossi Optimisation directe d’un critère de qualité


Exemple

b=20

Sepal.Width

2.0 2.5 3.0 3.5 4.0

4 5 6 7 8

Sepal.Length

101 / 114 F. Rossi Optimisation directe d’un critère de qualité


Exemple

b=20

Sepal.Width

2.0 2.5 3.0 3.5 4.0

4 5 6 7 8

Sepal.Length

101 / 114 F. Rossi Optimisation directe d’un critère de qualité


Exemple

b=20

Sepal.Width

2.0 2.5 3.0 3.5 4.0

4 5 6 7 8

Sepal.Length

101 / 114 F. Rossi Optimisation directe d’un critère de qualité


En R

package cluster :

• fonction fanny

• applicable à toute dissimilarité

package e1071 :

• fonction cmeans

• distance euclidienne ou Manhattan

102 / 114 F. Rossi Optimisation directe d’un critère de qualité


Approche probabiliste

modèle génératif des données :

• choisir une distribution paramétrée pour les données

• déterminer les paramètres optimaux par maximum de

vraisemblance

modèle pour des données réparties en classes :

• K classes

• probabilité a priori de la classe k, δ k ( ∑ K

k=1 δ k = 1)

• ensemble de paramètres noté θ k pour la classe k

• densité des observations dans la classe k, p k (x|θ k )

• modèle de mélange

p(x|θ, δ) =

K∑

δ k p k (x|θ k )

k=1

• on engendre un x en tirant au hasard une classe, puis en

utilisant la densité de cette classe pour fabrique x

103 / 114 F. Rossi Optimisation directe d’un critère de qualité


Mélange de gaussiennes

modèle le plus classique pour la classification

dans une classe x est distribuée selon une loi normale

N(µ, Σ) de densité

p(x|µ, Σ) =

pour des x dans R p

1

(2π) p/2 |Σ| 1/2 e− 1 2 (x−µ)T Σ −1 (x−µ)

µ est le vecteur moyenne, Σ la matrice de covariance (|Σ|

est son déterminant)

dans R

p(x|µ, σ) = 1 √

2πσ

e − 1

2σ 2 (x−µ)2

104 / 114 F. Rossi Optimisation directe d’un critère de qualité


Maximum de vraisemblance

vraisemblance d’une observation x, la densité p(x)

pour un ensemble d’observations indépendantes

D = (x i ) 1≤i≤N , la vraisemblance est le produit ∏ N

i=1 p(x i)

on cherche le modèle (c.-à-d. les paramètres) les plus

vraisemblables en maximisant la vraisemblance ou son

logarithme

105 / 114 F. Rossi Optimisation directe d’un critère de qualité


Maximum de vraisemblance

vraisemblance d’une observation x, la densité p(x)

pour un ensemble d’observations indépendantes

D = (x i ) 1≤i≤N , la vraisemblance est le produit ∏ N

i=1 p(x i)

on cherche le modèle (c.-à-d. les paramètres) les plus

vraisemblables en maximisant la vraisemblance ou son

logarithme

pour le modèle de mélange, on maximise par rapport à θ, δ

L(D|θ, δ) =

(

N∑ K

)


ln δ k p k (x i |θ k )

i=1

k=1

c’est un problème difficile en général

105 / 114 F. Rossi Optimisation directe d’un critère de qualité


Algorithme EM

optimisation par l’algorithme EM :

• principe général proche de l’optimisation alternée

• s’obtient par complétion de la vraisemblance : on ajoute

des variables qui simplifient le problème

maximum de vraisemblance général pour p(D|ω)

si on complète les données D par d’autres données Z , on

a

p(D|ω) = ∑ p(x|ω, Z = z)p(Z = z|ω)

z

connaissant une estimation ω n de ω, on montre que

p(D|ω n+1 ) ≥ p(D|ω n ) si

ω n+1 = arg max

ω


p(z|ω n , D) ln p(D, z|ω)

z

106 / 114 F. Rossi Optimisation directe d’un critère de qualité


Commentaires

optimiser directement p(D|ω) est généralement complexe

car p(x|ω, Z = z) et p(Z = z|ω) dépendent de ω

le passage au logarithme n’aide pas (logarithme d’une

somme...)

optimiser ∑ z p(z|ω n, D) ln p(D, z|ω) est souvent plus facile,

car ω n’intervient que sur le terme p(D, z|ω)

vocabulaire :

• Expectation : calcul de ∑ z p(z|ω n, D) ln p(D, z|ω) qui est

l’espérance de ln p(D, Z |ω) par rapport à la loi de Z |ω n , D

• Maximization : calcul de ω n+1

107 / 114 F. Rossi Optimisation directe d’un critère de qualité


Algorithme EM

pour maximiser ln p(D|ω) :

1. choisir aléatoirement ω 1

2. Expectation : calculer

3. Maximization : calculer

Q(ω; ω n−1 ) = E Z |ωn−1 ,D(ln p(D, Z |ω))

ω n = arg max Q(ω; ω n−1)

ω

4. retour en 2 jusqu’à convergence

comme tous les algorithmes d’optimisation alternée, on

trouve un maximum local

très sensible à la configuration initiale

108 / 114 F. Rossi Optimisation directe d’un critère de qualité


EM pour un mélange

dans le cas du mélange, on ajoute des variables aléatoires

Z = (z ik ) 1≤i≤N,1≤k≤K :

• z ik ∈ {0, 1} et ∑ N

k=1 z ik = 1

• z ik = 1 si et seulement si x i a été engendré par la classe k

109 / 114 F. Rossi Optimisation directe d’un critère de qualité


EM pour un mélange

dans le cas du mélange, on ajoute des variables aléatoires

Z = (z ik ) 1≤i≤N,1≤k≤K :

• z ik ∈ {0, 1} et ∑ N

k=1 z ik = 1

• z ik = 1 si et seulement si x i a été engendré par la classe k

vraisemblance complétée

• p(z i |δ) = ∏ K

k=1 δz ik

k

et donc

soit

p(D, Z |δ, θ) =

N∏

K∏

i=1 k=1

δ z ik

k p k(x i |θ k ) z ik

,

ln p(D, Z |δ, θ) =

N∑ K∑

z ik (ln δ k + ln p k (x i |θ k ))

i=1 k=1

• formulation plus simple (découplage des paramètres)

109 / 114 F. Rossi Optimisation directe d’un critère de qualité


Mélange de gaussiennes

on obtient l’algorithme EM suivant :

1. choisir aléatoirement les µ 1 k , Σ1 k et δ1 k

2. Expectation : calculer

γ n ik =

δ n−1

k

∑ K

l=1 δn−1 l

p(x i |µ n−1 , Σ n−1

k

p(x i |µ n−1

l

k

)

, Σ n−1

l

)

3. Maximization : calculer N k = ∑ N

i=1 γn ik , δn k = N k/N et

µ n k = 1 N k N ∑

i=1

γ n ikx i

Σ n k = 1 ∑ N

γ

N

ik(x n i − µ n k) T (x i − µ n k)

k

i=1

4. retour 2 jusqu’à convergence

110 / 114 F. Rossi Optimisation directe d’un critère de qualité


Exemple

Sepal.Width

2.0 2.5 3.0 3.5 4.0

5 6 7 8

Sepal.Length

111 / 114 F. Rossi Optimisation directe d’un critère de qualité


Exemple

1

Sepal.Width

2.0 2.5 3.0 3.5 4.0

5 6 7 8

Sepal.Length

111 / 114 F. Rossi Optimisation directe d’un critère de qualité


Exemple

2

Sepal.Width

2.0 2.5 3.0 3.5 4.0

5 6 7 8

Sepal.Length

111 / 114 F. Rossi Optimisation directe d’un critère de qualité


Approche probabiliste

cadre général très souple :

• modèle de type k-means si les Σ k s’écrivent Σ k = σ k Id

• modèle général plus souple (formes plus complexes pour

les classes)

• modèles spécifiques pour différents types de données

(texte, graphe, etc.)

expertise mathématique utile :

• pour maîtriser le modèle

• pour construire un modèle spécifique

implémentation délicate :

• sensible à l’initialisation

• convergence parfois très lente

• schémas d’approximation sophistiqués pour les modèles

évolués (non gaussiens)

112 / 114 F. Rossi Optimisation directe d’un critère de qualité


En R

package mclust :

• référence dans le domaine

• très efficace

• mais licence restrictive : seule l’utilisation strictement

académique (recherche et enseignement) est autorisée

sans paiement d’une licence annuelle

package mixtools :

• plus récent

• moins complet et moins rapide

• logiciel libre

113 / 114 F. Rossi Optimisation directe d’un critère de qualité


Résumé

optimisation d’un critère :

• approche très générale et très fructueuse

• deux aspects relativement indépendants :

• choisir un bon critère

• construire un algorithme d’optimisation efficace du critère

• unification :

• quantification vectorielle

• approches floues

• approches probabilistes

• stratégie assez souple : optimisation alternée

question ouverte principale : quel modèle

114 / 114 F. Rossi Optimisation directe d’un critère de qualité

More magazines by this user
Similar magazines