SlideShare ist ein Scribd-Unternehmen logo
1 von 77
Downloaden Sie, um offline zu lesen
Combiner classification et visualisation pour
l’exploration de grands réseaux
Nathalie Villa-Vialaneix
http://www.nathalievilla.org
nathalie.villa@univ-paris1.fr
Séminaire, Bordeaux, 12 Janvier 2012
Travail joint avec Fabrice Rossi (SAMM, Université Paris 1)
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 1 / 24
Visualisation de graphes : pourquoi ?
Plan
1 Visualisation de graphes : pourquoi ?
2 Visualisation par classification hiérarchique
Obtention d’une hiérarchie de classifications
Visualisation d’une hiérarchie de classifications
Exemples et comparaisons
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 2 / 24
Visualisation de graphes : pourquoi ?
Contexte et problématique
Un réseau (graphe) G = (V, E, W) avec
• n sommets V = {x1, . . . , xn} ;
• des arêtes, E, pondérées par des poids Wij = Wji ≥ 0 (Wii = 0).
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 3 / 24
Visualisation de graphes : pourquoi ?
Visualisation : un outil pour comprendre le graphe
Approche courante pour explorer le graphe : visualisation par algorithme
de forces (FDP), par exemple [Fruchterman and Reingold, 1991]
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 4 / 24
Visualisation de graphes : pourquoi ?
Visualisation : un outil pour comprendre le graphe
Approche courante pour explorer le graphe : visualisation par algorithme
de forces (FDP), par exemple [Fruchterman and Reingold, 1991]
• forces attractives : le long des arêtes (analogues à des ressorts)
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 4 / 24
Visualisation de graphes : pourquoi ?
Visualisation : un outil pour comprendre le graphe
Approche courante pour explorer le graphe : visualisation par algorithme
de forces (FDP), par exemple [Fruchterman and Reingold, 1991]
• forces attractives : le long des arêtes (analogues à des ressorts)
• forces répulsives : entre toutes les paires de sommets (analogues à
des forces électriques)
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 4 / 24
Visualisation de graphes : pourquoi ?
Visualisation : un outil pour comprendre le graphe
Approche courante pour explorer le graphe : visualisation par algorithme
de forces (FDP), par exemple [Fruchterman and Reingold, 1991]
• forces attractives : le long des arêtes (analogues à des ressorts)
• forces répulsives : entre toutes les paires de sommets (analogues à
des forces électriques)
algorithme itératif jusqu’à stabilisation des positions des sommets.
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 4 / 24
Visualisation de graphes : pourquoi ?
Exemple (avec Gephi 1
)
1
http://gephi.org
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 5 / 24
Visualisation de graphes : pourquoi ?
Limites des approches FDP
• lents (difficiles à mettre en œuvre pour des graphes de très grande
taille) ;
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 6 / 24
Visualisation de graphes : pourquoi ?
Limites des approches FDP
• lents (difficiles à mettre en œuvre pour des graphes de très grande
taille) ;
• privilégient l’esthétique à l’interprétabilité :
• Tendance : arêtes courtes et de tailles uniformes
• Conséquence négative : regroupement des nœuds de forts degrés au
centre de la figure
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 6 / 24
Visualisation de graphes : pourquoi ?
Limites des approches FDP
• lents (difficiles à mettre en œuvre pour des graphes de très grande
taille) ;
• privilégient l’esthétique à l’interprétabilité :
• Tendance : arêtes courtes et de tailles uniformes
• Conséquence négative : regroupement des nœuds de forts degrés au
centre de la figure
Or, approche naturelle d’exploration d’un graphe :
1 repérer la structure macroscopique : recherche de
« communautés » et de leurs relations ;
2 affiner les détails dans certaines parties.
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 6 / 24
Visualisation de graphes : pourquoi ?
Mettre en valeur les « communautés » lors de la
représentation
1 approche globale : représenter tous les sommets du graphe en
modifiant les forces de manière à mettre en valeur les zones denses :
[Noack, 2007] algorithme LinLog
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 7 / 24
Visualisation de graphes : pourquoi ?
Mettre en valeur les « communautés » lors de la
représentation
1 approche globale
2 faire une classification des sommets puis une représentation
simplifiée [Herman et al., 2000]
• classification des sommets en classes V1, . . . , VC ;
• représenter le graphe des classes : sommets V1, . . . , VC (aire
proportionnelle à |Vj|) et arêtes d’épaisseur proportionnelle à
xk ∈Vi ,xk ∈Vj
Wij
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 7 / 24
Visualisation de graphes : pourquoi ?
Mettre en valeur les « communautés » lors de la
représentation
1 approche globale
2 faire une classification des sommets puis une représentation
simplifiée [Herman et al., 2000]
• classification des sommets en classes V1, . . . , VC ;
• représenter le graphe des classes : sommets V1, . . . , VC (aire
proportionnelle à |Vj|) et arêtes d’épaisseur proportionnelle à
xk ∈Vi ,xk ∈Vj
Wij
problème : Modifier FDP pour sommets de tailles variables.
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 7 / 24
Visualisation de graphes : pourquoi ?
Mettre en valeur les « communautés » lors de la
représentation
1 approche globale
2 faire une classification des sommets puis une représentation
simplifiée
approche alternative : classification et placement simultanés sur
une carte auto-organisatrice [Rossi and Villa-Vialaneix, 2010]
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 7 / 24
Visualisation de graphes : pourquoi ?
Mettre en valeur les « communautés » lors de la
représentation
1 approche globale
2 faire une classification des sommets puis une représentation
simplifiée
3 approche hybride : représentations hiérarchiques dont la précision
augmente
[Auber et al., 2003, Auber and Jourdan, 2005, Seifi et al., 2010]
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 7 / 24
Visualisation de graphes : pourquoi ?
Dans cette présentation...
... approche hiérarchique combinant visualisation et classification basée
sur la modularité [Rossi and Villa-Vialaneix, 2011].
Classification (C1, . . . , CK ),
Q(C1, . . . , CK ) =
1
2m
K
k=1 xi,xj∈Ck
(Wij − Pij)
avec Pij poids d’un « modèle nul » (même distribution des degrés mais les
poids dépendent seulement des degrés des sommets et non de leurs
classes) :
Pij =
didj
2m
avec di = 1
2 j i Wij.
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 8 / 24
Visualisation de graphes : pourquoi ?
Interprétation
Une bonne classification maximise la modularité :
• Q quand (xi, xj) sont dans la même classe et Wij Pij
• Q quand (xi, xj) sont dans deux classes différentes et Wij Pij
car
Q(C) +
1
2m
k k i∈Ck , j∈Ck
(Wij − Pij) = 0.
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 9 / 24
Visualisation de graphes : pourquoi ?
Interprétation
Une bonne classification maximise la modularité :
• Q quand (xi, xj) sont dans la même classe et Wij Pij
• Q quand (xi, xj) sont dans deux classes différentes et Wij Pij
car
Q(C) +
1
2m
k k i∈Ck , j∈Ck
(Wij − Pij) = 0.
• Modularité : aide à séparer des hubs ( spectral clustering ou
critère de coupe minimal) mais petit défaut de résolution (voir
[Fortunato and Barthélémy, 2007]).
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 9 / 24
Visualisation de graphes : pourquoi ?
Interprétation
Une bonne classification maximise la modularité :
• Q quand (xi, xj) sont dans la même classe et Wij Pij
• Q quand (xi, xj) sont dans deux classes différentes et Wij Pij
car
Q(C) +
1
2m
k k i∈Ck , j∈Ck
(Wij − Pij) = 0.
• Modularité : aide à séparer des hubs ( spectral clustering ou
critère de coupe minimal) mais petit défaut de résolution (voir
[Fortunato and Barthélémy, 2007]).
Problème : Optimisation = Pb NP-complet (recherche exhaustive
impossible pour des graphes de plus de qq centaines de sommets)
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 9 / 24
Visualisation par classification hiérarchique
Plan
1 Visualisation de graphes : pourquoi ?
2 Visualisation par classification hiérarchique
Obtention d’une hiérarchie de classifications
Visualisation d’une hiérarchie de classifications
Exemples et comparaisons
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 10 / 24
Visualisation par classification hiérarchique
Présentation générale de la méthodologie
2 étapes combinées :
• Obtention d’une hiérarchie de classifications (par optimisation de la
modularité) + test de la significativité du partitionnement à
chaque niveau ;
• Représentations des divers niveaux de la hiérarchie avec algorithme
de forces modifié.
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 11 / 24
Visualisation par classification hiérarchique Obtention d’une hiérarchie de classifications
Plan
1 Visualisation de graphes : pourquoi ?
2 Visualisation par classification hiérarchique
Obtention d’une hiérarchie de classifications
Visualisation d’une hiérarchie de classifications
Exemples et comparaisons
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 12 / 24
Visualisation par classification hiérarchique Obtention d’une hiérarchie de classifications
Méthodes d’approximation de l’optimisation de la
modularité
Méthode rapide : « Algorithme de Louvain » [Blondel et al., 2008]
(méthode gloutonne multi-niveaux) : peut traiter des graphes avec des
millions de nœuds ; légèrement sous efficace en terme d’optimisation.
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 13 / 24
Visualisation par classification hiérarchique Obtention d’une hiérarchie de classifications
Méthodes d’approximation de l’optimisation de la
modularité
Méthode rapide : « Algorithme de Louvain » [Blondel et al., 2008]
(méthode gloutonne multi-niveaux) : peut traiter des graphes avec des
millions de nœuds ; légèrement sous efficace en terme d’optimisation.
[Noack and Rotta, 2009] : travail expérimental comparatif ⇒
recommandation pour des améliorations de l’approche précédente (rapide
et plus efficace)
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 13 / 24
Visualisation par classification hiérarchique Obtention d’une hiérarchie de classifications
Méthodes d’approximation de l’optimisation de la
modularité
Méthode rapide : « Algorithme de Louvain » [Blondel et al., 2008]
(méthode gloutonne multi-niveaux) : peut traiter des graphes avec des
millions de nœuds ; légèrement sous efficace en terme d’optimisation.
[Noack and Rotta, 2009] : travail expérimental comparatif ⇒
recommandation pour des améliorations de l’approche précédente (rapide
et plus efficace)
Ici : méthodologie basée sur [Noack and Rotta, 2009] avec quelques
améliorations (dont ajout d’un test de connexité)
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 13 / 24
Visualisation par classification hiérarchique Obtention d’une hiérarchie de classifications
Description de l’approche de classification retenue
Étape 1 : Obtention d’une première partition
• Construction gloutonne d’une partition
• Initialiser les classes : C
(1)
1
= {x1}, . . . , C
(1)
n = {xn}
• Répéter : fusionner 2 classes qui maximisent
Sig(Ci, Cj) =
∆QCi ,Cj
deg(Ci)deg(Cj)
jusqu’à ne plus pouvoir augmenter la modularité par fusion.
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 14 / 24
Visualisation par classification hiérarchique Obtention d’une hiérarchie de classifications
Description de l’approche de classification retenue
Étape 1 : Obtention d’une première partition
• Construction gloutonne d’une partition
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 14 / 24
Visualisation par classification hiérarchique Obtention d’une hiérarchie de classifications
Description de l’approche de classification retenue
Étape 1 : Obtention d’une première partition
• Construction gloutonne d’une partition
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 14 / 24
Visualisation par classification hiérarchique Obtention d’une hiérarchie de classifications
Description de l’approche de classification retenue
Étape 1 : Obtention d’une première partition
• Construction gloutonne d’une partition
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 14 / 24
Visualisation par classification hiérarchique Obtention d’une hiérarchie de classifications
Description de l’approche de classification retenue
Étape 1 : Obtention d’une première partition
• Construction gloutonne d’une partition
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 14 / 24
Visualisation par classification hiérarchique Obtention d’une hiérarchie de classifications
Description de l’approche de classification retenue
Étape 1 : Obtention d’une première partition
• Construction gloutonne d’une partition
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 14 / 24
Visualisation par classification hiérarchique Obtention d’une hiérarchie de classifications
Description de l’approche de classification retenue
Étape 1 : Obtention d’une première partition
• Construction gloutonne d’une partition
• Au cours de l’algorithme, conservation des étapes correspondant
à une diminution de 25% du nombre de classes
. . .
Niveau 1 Niveau 2 ... Niveau L (final)
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 14 / 24
Visualisation par classification hiérarchique Obtention d’une hiérarchie de classifications
Description de l’approche de classification retenue
Étape 1 : Obtention d’une première partition
• Construction gloutonne d’une partition
• Au cours de l’algorithme, conservation des étapes correspondant
à une diminution de 25% du nombre de classes
• Raffinement multi-niveaux des niveaux l = L − 1 → 1
• Déterminer le graphe induit par la classification au niveau l...
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 14 / 24
Visualisation par classification hiérarchique Obtention d’une hiérarchie de classifications
Description de l’approche de classification retenue
Étape 1 : Obtention d’une première partition
• Construction gloutonne d’une partition
• Au cours de l’algorithme, conservation des étapes correspondant
à une diminution de 25% du nombre de classes
• Raffinement multi-niveaux des niveaux l = L − 1 → 1
• Déterminer le graphe induit par la classification au niveau l...
• ... et utiliser la classification de ses sommets selon le niveau l + 1...
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 14 / 24
Visualisation par classification hiérarchique Obtention d’une hiérarchie de classifications
Description de l’approche de classification retenue
Étape 1 : Obtention d’une première partition
• Construction gloutonne d’une partition
• Au cours de l’algorithme, conservation des étapes correspondant
à une diminution de 25% du nombre de classes
• Raffinement multi-niveaux des niveaux l = L − 1 → 1
• Déterminer le graphe induit par la classification au niveau l...
• ... et utiliser la classification de ses sommets selon le niveau l + 1...
• ... pour effectuer des changements de classes opportunistes de
certains « super-sommets »
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 14 / 24
Visualisation par classification hiérarchique Obtention d’une hiérarchie de classifications
Description de l’approche de classification retenue
Étape 1 : Obtention d’une première partition
• Construction gloutonne d’une partition
• Au cours de l’algorithme, conservation des étapes correspondant
à une diminution de 25% du nombre de classes
• Raffinement multi-niveaux des niveaux l = L − 1 → 1
• Contrôle de connexité : au niveau L, vérifier la connexité et scinder
les classes non connexes selon leurs composantes connexes
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 14 / 24
Visualisation par classification hiérarchique Obtention d’une hiérarchie de classifications
Description de l’approche de classification retenue
Étape 1 : Obtention d’une première partition
Étape 2 : Itérations jusqu’à stabilisation
• Fusion éventuelle des classes de la classification de niveau L ;
• Raffinement multi-niveaux aux niveaux 1, L et L + 1 ;
• Contrôle de connexité.
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 14 / 24
Visualisation par classification hiérarchique Obtention d’une hiérarchie de classifications
Obtention d’une hiérarchie de classifications
But : Limiter le défaut de résolution de la modularité.
Principe : Itérer l’optimisation de la modularité dans chacune des classes
trouvées.
Niveau 1
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 15 / 24
Visualisation par classification hiérarchique Obtention d’une hiérarchie de classifications
Obtention d’une hiérarchie de classifications
But : Limiter le défaut de résolution de la modularité.
Principe : Itérer l’optimisation de la modularité dans chacune des classes
trouvées.
Niveau 2
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 15 / 24
Visualisation par classification hiérarchique Obtention d’une hiérarchie de classifications
Obtention d’une hiérarchie de classifications
But : Limiter le défaut de résolution de la modularité.
Principe : Itérer l’optimisation de la modularité dans chacune des classes
trouvées.
Niveau 3
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 15 / 24
Visualisation par classification hiérarchique Obtention d’une hiérarchie de classifications
Critère d’arrêt de la hiérarchie
Limite des algorithmes de classification : ils fournissent toujours un
résultat !
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 16 / 24
Visualisation par classification hiérarchique Obtention d’une hiérarchie de classifications
Critère d’arrêt de la hiérarchie
Limite des algorithmes de classification : ils fournissent toujours un
résultat !
Significativité d’une partition : structure modulaire significative ?
• distribution de la modularité maximale dans {graphes aléatoires
de même distribution de degrés} (arrêtes « au hasard ») ;
• ⇒ p-value de la modularité maximale observée.
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 16 / 24
Visualisation par classification hiérarchique Obtention d’une hiérarchie de classifications
Critère d’arrêt de la hiérarchie
Limite des algorithmes de classification : ils fournissent toujours un
résultat !
Significativité d’une partition :
1 Générer des graphes aléatoires dans l’ensemble des graphes de
même distribution de degrés ;
Approche utilisée : algorithme MCMC de [Roberts Jr., 2000] par
permutations aléatoires d’arêtes du graphe observé
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 16 / 24
Visualisation par classification hiérarchique Obtention d’une hiérarchie de classifications
Critère d’arrêt de la hiérarchie
Limite des algorithmes de classification : ils fournissent toujours un
résultat !
Significativité d’une partition :
1 Générer des graphes aléatoires dans l’ensemble des graphes de
même distribution de degrés ;
Approche utilisée : algorithme MCMC de [Roberts Jr., 2000] par
permutations aléatoires d’arêtes du graphe observé
Après Q|E| permutations, obtention d’un graphe aléatoire pour la distribution
uniforme dans l’ensemble des graphes de distribution de degrés fixée.
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 16 / 24
Visualisation par classification hiérarchique Obtention d’une hiérarchie de classifications
Critère d’arrêt de la hiérarchie
Limite des algorithmes de classification : ils fournissent toujours un
résultat !
Significativité d’une partition :
1 Générer des graphes aléatoires dans l’ensemble des graphes de
même distribution de degrés ;
2 Chercher l’optimum de la modularité ;
3 Déterminer la p-value de l’optimum selon la distribution
empirique ;
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 16 / 24
Visualisation par classification hiérarchique Obtention d’une hiérarchie de classifications
Critère d’arrêt de la hiérarchie
Limite des algorithmes de classification : ils fournissent toujours un
résultat !
Significativité d’une partition :
1 Générer des graphes aléatoires dans l’ensemble des graphes de
même distribution de degrés ;
2 Chercher l’optimum de la modularité ;
3 Déterminer la p-value de l’optimum selon la distribution
empirique ;
4 Si maximum de la modularité observée significatif (supérieure à
la modularité maximum de 100 graphes aléatoires), on conserve la
partition ; sinon, on arrête le partitionnement.
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 16 / 24
Visualisation par classification hiérarchique Visualisation d’une hiérarchie de classifications
Plan
1 Visualisation de graphes : pourquoi ?
2 Visualisation par classification hiérarchique
Obtention d’une hiérarchie de classifications
Visualisation d’une hiérarchie de classifications
Exemples et comparaisons
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 17 / 24
Visualisation par classification hiérarchique Visualisation d’une hiérarchie de classifications
Principe général de la visualisation d’une classification
À partir d’un graphe G = (V, E, W) et d’une classification C1, . . . , CK ,
• déterminer le graphe induit par la classification :
• sommets : classes ;
• arêtes pondérées par la somme des arêtes entre les classes.
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 18 / 24
Visualisation par classification hiérarchique Visualisation d’une hiérarchie de classifications
Principe général de la visualisation d’une classification
À partir d’un graphe G = (V, E, W) et d’une classification C1, . . . , CK ,
• déterminer le graphe induit par la classification :
• sommets : classes ;
• arêtes pondérées par la somme des arêtes entre les classes.
• représenter le graphe induit :
• classes représentées par un symbole de surface proportionnelle à |C| ;
• arêtes représentées par un trait d’épaisseur proportionnelle à la
contribution à la modularité.
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 18 / 24
Visualisation par classification hiérarchique Visualisation d’une hiérarchie de classifications
Représenter une hiérarchie de classifications
Principe général
• partir de la classification la plus grossière
• développer les classes par ordre de plus faible réduction de la
modularité.
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 19 / 24
Visualisation par classification hiérarchique Visualisation d’une hiérarchie de classifications
Représenter une hiérarchie de classifications
Principe général
• partir de la classification la plus grossière
• développer les classes par ordre de plus faible réduction de la
modularité.
Problèmes
1 tenir compte de la taille des sommets : [Tunkelang, 1999]
(modification des forces de l’algorithme de Fruchterman et Reingold)
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 19 / 24
Visualisation par classification hiérarchique Visualisation d’une hiérarchie de classifications
Représenter une hiérarchie de classifications
Principe général
• partir de la classification la plus grossière
• développer les classes par ordre de plus faible réduction de la
modularité.
Problèmes
1 tenir compte de la taille des sommets : [Tunkelang, 1999]
(modification des forces de l’algorithme de Fruchterman et Reingold)
2 anticiper l’espace nécessaire au développement d’une classe
donnée : estimation récursive de l’espace nécessaire à la
représentation par la méthode précédente (en partant du niveau le
plus fin)
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 19 / 24
Visualisation par classification hiérarchique Visualisation d’une hiérarchie de classifications
Représenter la contribution à la modularité des liens
entre classes
Fusion des classes Ci et Cj induit une modification de modularité égale à
∆QCi,Cj
=
1
m
WCi,Cj
−
d(Ci)d(Cj)
2m
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 20 / 24
Visualisation par classification hiérarchique Visualisation d’une hiérarchie de classifications
Représenter la contribution à la modularité des liens
entre classes
Fusion des classes Ci et Cj induit une modification de modularité égale à
∆QCi,Cj
=
1
m
WCi,Cj
−
d(Ci)d(Cj)
2m
Proposition
• arêtes telles que ∆QCi,Cj
< 0 en pointillés bleus (lien faible au sens de
la modularité) d’épaisseur égale à 1 ;
• arêtes telles que ∆QCi,Cj
> 0 en rouge (lien fort au sens de la
modularité) d’épaisseur comprise entre 1 et 5 (proportionnellement à
la valeur) ;
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 20 / 24
Visualisation par classification hiérarchique Exemples et comparaisons
Plan
1 Visualisation de graphes : pourquoi ?
2 Visualisation par classification hiérarchique
Obtention d’une hiérarchie de classifications
Visualisation d’une hiérarchie de classifications
Exemples et comparaisons
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 21 / 24
Visualisation par classification hiérarchique Exemples et comparaisons
« Political books »
Description :
• sommets : 105 livres politiques américains ;
• arêtes pondérées par le nombre d’achats communs sur amazon.
Représentation FDP
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 22 / 24
Visualisation par classification hiérarchique Exemples et comparaisons
« Political books »
Description :
• sommets : 105 livres politiques américains ;
• arêtes pondérées par le nombre d’achats communs sur amazon.
Représentation LinLog
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 22 / 24
Visualisation par classification hiérarchique Exemples et comparaisons
« Political books »
Description :
• sommets : 105 livres politiques américains ;
• arêtes pondérées par le nombre d’achats communs sur amazon.
Représentation hiérarchique (niveaux 1-3, 4 développements)
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 22 / 24
Visualisation par classification hiérarchique Exemples et comparaisons
Visualisation d’un grand graphe
Description : graphe issu d’un corpus d’archives médiévales
http://graphcomp.univ-tlse2.fr/ :
• sommets : transactions du corpus et personnes actives (seigneurs,
tenanciers). 3 918 individus impliqués dans 6 455 transactions (total :
10 373 sommets) ;
• arêtes modélisent l’implication active d’une personne dans une
transaction.
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 23 / 24
Visualisation par classification hiérarchique Exemples et comparaisons
Visualisation d’un grand graphe
Description : graphe issu d’un corpus d’archives médiévales
http://graphcomp.univ-tlse2.fr/ :
• sommets : transactions du corpus et personnes actives (seigneurs,
tenanciers). 3 918 individus impliqués dans 6 455 transactions (total :
10 373 sommets) ;
• arêtes modélisent l’implication active d’une personne dans une
transaction.
Optimisation de la modularité : 48 classes composées de 10 à 740
sommets.
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 23 / 24
Visualisation par classification hiérarchique Exemples et comparaisons
Visualisation d’un grand graphe
Description : graphe issu d’un corpus d’archives médiévales
http://graphcomp.univ-tlse2.fr/ :
• sommets : transactions du corpus et personnes actives (seigneurs,
tenanciers). 3 918 individus impliqués dans 6 455 transactions (total :
10 373 sommets) ;
• arêtes modélisent l’implication active d’une personne dans une
transaction.
Optimisation de la modularité : 48 classes composées de 10 à 740
sommets.
Hiérarchie : 3 niveaux (limitée à 100 classes maximum) : 93 classes
retenues sur le niveau le plus fin.
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 23 / 24
Visualisation par classification hiérarchique Exemples et comparaisons
Visualisation d’un grand graphe
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 23 / 24
Visualisation par classification hiérarchique Exemples et comparaisons
Visualisation d’un grand graphe
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 23 / 24
Visualisation par classification hiérarchique Exemples et comparaisons
Visualisation d’un grand graphe
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 23 / 24
Visualisation par classification hiérarchique Exemples et comparaisons
Visualisation d’un grand graphe
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 23 / 24
Visualisation par classification hiérarchique Exemples et comparaisons
Visualisation d’un grand graphe
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 23 / 24
Visualisation par classification hiérarchique Exemples et comparaisons
Visualisation d’un grand graphe
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 23 / 24
Visualisation par classification hiérarchique Exemples et comparaisons
Visualisation d’un grand graphe
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 23 / 24
Visualisation par classification hiérarchique Exemples et comparaisons
Visualisation d’un grand graphe
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 23 / 24
Visualisation par classification hiérarchique Exemples et comparaisons
Visualisation d’un grand graphe
Plus d’informations sur l’analyse de ce graphe dans [Rossi et al., 2012]
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 23 / 24
Visualisation par classification hiérarchique Exemples et comparaisons
Conclusion et limites
Résumé des avantages de l’approche
• rapide
• totalement automatisée
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 24 / 24
Visualisation par classification hiérarchique Exemples et comparaisons
Conclusion et limites
Résumé des avantages de l’approche
• rapide
• totalement automatisée
Principale limite : estimation récursive de la place occupée par une
classe parfois surestimée ⇒ arêtes inutilement longues et biais de
visualisation
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 24 / 24
Visualisation par classification hiérarchique Exemples et comparaisons
Conclusion et limites
Résumé des avantages de l’approche
• rapide
• totalement automatisée
Principale limite : estimation récursive de la place occupée par une
classe parfois surestimée ⇒ arêtes inutilement longues et biais de
visualisation
Merci pour votre attention
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 24 / 24
Visualisation par classification hiérarchique Exemples et comparaisons
Références
Auber, D., Chiricota, Y., Jourdan, F., and Melançon, G. (2003).
Multiscale visualization of small world networks.
In INFOVIS’03.
Auber, D. and Jourdan, F. (2005).
Interactive refinement of multi-scale network clusterings.
In International Conference on Information Visualisation, International Conference,
pages 703–709, Los Alamitos, CA, USA. IEEE Computer Society.
Blondel, V., Guillaume, J., Lambiotte, R., and Lefebvre, E. (2008).
Fast unfolding of communites in large networks.
Journal of Statistical Mechanics : Theory and Experiment, P10008 :1742–5468.
Fortunato, S. and Barthélémy, M. (2007).
Resolution limit in community detection.
In Proceedings of the National Academy of Sciences, volume 104, pages 36–41.
doi :10.1073/pnas.0605965104 ; URL :
http://www.pnas.org/content/104/1/36.abstract.
Fruchterman, T. and Reingold, B. (1991).
Graph drawing by force-directed placement.
Software-Practice and Experience, 21 :1129–1164.
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 24 / 24
Visualisation par classification hiérarchique Exemples et comparaisons
Herman, I., Melançon, G., and Scott Marshall, M. (2000).
Graph visualization and navigation in information visualisation.
IEEE Transactions on Visualization and Computer Graphics, 6(1) :24–43.
Noack, A. (2007).
Energy models for graph clustering.
Journal of Graph Algorithms and Applications, 11(2) :453–480.
Noack, A. and Rotta, R. (2009).
Multi-level algorithms for modularity clustering.
In SEA ’09 : Proceedings of the 8th International Symposium on Experimental
Algorithms, pages 257–268, Berlin, Heidelberg. Springer-Verlag.
Roberts Jr., J. M. (2000).
Simple methods for simulating sociomatrices with given marginal totals.
Social Networks, 22(3) :273 – 283.
Rossi, F. and Villa-Vialaneix, N. (2010).
Optimizing an organized modularity measure for topographic graph clustering : a
deterministic annealing approach.
Neurocomputing, 73(7-9) :1142–1163.
Rossi, F. and Villa-Vialaneix, N. (2011).
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 24 / 24
Visualisation par classification hiérarchique Exemples et comparaisons
Représentation d’un grand réseau à partir d’une classification hiérarchique de ses
sommets.
Journal de la Société Française de Statistique, 152(3) :34–65.
Rossi, F., Villa-Vialaneix, N., and Hautefeuille, F. (2012).
Exploration of a large database of French notarial acts with social network methods.
Submitted.
Seifi, M., Guillaume, J., Latapy, M., and Le Grand, B. (2010).
Visualisation interactive multi-échelle des grands graphes : application à un réseau
de blogs.
In Atelier EGC 2010, Visualisation et Extraction de Connaissances, Hammamet,
Tunisie.
Tunkelang, D. (1999).
A Numerical Optimization Approach to General Graph Drawing.
PhD thesis, School of Computer Science, Carnegie Mellon University.
CMU-CS-98-189.
Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 24 / 24

Weitere ähnliche Inhalte

Mehr von tuxette

Racines en haut et feuilles en bas : les arbres en maths
Racines en haut et feuilles en bas : les arbres en mathsRacines en haut et feuilles en bas : les arbres en maths
Racines en haut et feuilles en bas : les arbres en mathstuxette
 
Méthodes à noyaux pour l’intégration de données hétérogènes
Méthodes à noyaux pour l’intégration de données hétérogènesMéthodes à noyaux pour l’intégration de données hétérogènes
Méthodes à noyaux pour l’intégration de données hétérogènestuxette
 
Méthodologies d'intégration de données omiques
Méthodologies d'intégration de données omiquesMéthodologies d'intégration de données omiques
Méthodologies d'intégration de données omiquestuxette
 
Projets autour de l'Hi-C
Projets autour de l'Hi-CProjets autour de l'Hi-C
Projets autour de l'Hi-Ctuxette
 
Can deep learning learn chromatin structure from sequence?
Can deep learning learn chromatin structure from sequence?Can deep learning learn chromatin structure from sequence?
Can deep learning learn chromatin structure from sequence?tuxette
 
Multi-omics data integration methods: kernel and other machine learning appro...
Multi-omics data integration methods: kernel and other machine learning appro...Multi-omics data integration methods: kernel and other machine learning appro...
Multi-omics data integration methods: kernel and other machine learning appro...tuxette
 
ASTERICS : une application pour intégrer des données omiques
ASTERICS : une application pour intégrer des données omiquesASTERICS : une application pour intégrer des données omiques
ASTERICS : une application pour intégrer des données omiquestuxette
 
Autour des projets Idefics et MetaboWean
Autour des projets Idefics et MetaboWeanAutour des projets Idefics et MetaboWean
Autour des projets Idefics et MetaboWeantuxette
 
Rserve, renv, flask, Vue.js dans un docker pour intégrer des données omiques ...
Rserve, renv, flask, Vue.js dans un docker pour intégrer des données omiques ...Rserve, renv, flask, Vue.js dans un docker pour intégrer des données omiques ...
Rserve, renv, flask, Vue.js dans un docker pour intégrer des données omiques ...tuxette
 
Apprentissage pour la biologie moléculaire et l’analyse de données omiques
Apprentissage pour la biologie moléculaire et l’analyse de données omiquesApprentissage pour la biologie moléculaire et l’analyse de données omiques
Apprentissage pour la biologie moléculaire et l’analyse de données omiquestuxette
 
Quelques résultats préliminaires de l'évaluation de méthodes d'inférence de r...
Quelques résultats préliminaires de l'évaluation de méthodes d'inférence de r...Quelques résultats préliminaires de l'évaluation de méthodes d'inférence de r...
Quelques résultats préliminaires de l'évaluation de méthodes d'inférence de r...tuxette
 
Intégration de données omiques multi-échelles : méthodes à noyau et autres ap...
Intégration de données omiques multi-échelles : méthodes à noyau et autres ap...Intégration de données omiques multi-échelles : méthodes à noyau et autres ap...
Intégration de données omiques multi-échelles : méthodes à noyau et autres ap...tuxette
 
Journal club: Validation of cluster analysis results on validation data
Journal club: Validation of cluster analysis results on validation dataJournal club: Validation of cluster analysis results on validation data
Journal club: Validation of cluster analysis results on validation datatuxette
 
Overfitting or overparametrization?
Overfitting or overparametrization?Overfitting or overparametrization?
Overfitting or overparametrization?tuxette
 
Selective inference and single-cell differential analysis
Selective inference and single-cell differential analysisSelective inference and single-cell differential analysis
Selective inference and single-cell differential analysistuxette
 
SOMbrero : un package R pour les cartes auto-organisatrices
SOMbrero : un package R pour les cartes auto-organisatricesSOMbrero : un package R pour les cartes auto-organisatrices
SOMbrero : un package R pour les cartes auto-organisatricestuxette
 
Graph Neural Network for Phenotype Prediction
Graph Neural Network for Phenotype PredictionGraph Neural Network for Phenotype Prediction
Graph Neural Network for Phenotype Predictiontuxette
 
A short and naive introduction to using network in prediction models
A short and naive introduction to using network in prediction modelsA short and naive introduction to using network in prediction models
A short and naive introduction to using network in prediction modelstuxette
 
Explanable models for time series with random forest
Explanable models for time series with random forestExplanable models for time series with random forest
Explanable models for time series with random foresttuxette
 
Présentation du projet ASTERICS
Présentation du projet ASTERICSPrésentation du projet ASTERICS
Présentation du projet ASTERICStuxette
 

Mehr von tuxette (20)

Racines en haut et feuilles en bas : les arbres en maths
Racines en haut et feuilles en bas : les arbres en mathsRacines en haut et feuilles en bas : les arbres en maths
Racines en haut et feuilles en bas : les arbres en maths
 
Méthodes à noyaux pour l’intégration de données hétérogènes
Méthodes à noyaux pour l’intégration de données hétérogènesMéthodes à noyaux pour l’intégration de données hétérogènes
Méthodes à noyaux pour l’intégration de données hétérogènes
 
Méthodologies d'intégration de données omiques
Méthodologies d'intégration de données omiquesMéthodologies d'intégration de données omiques
Méthodologies d'intégration de données omiques
 
Projets autour de l'Hi-C
Projets autour de l'Hi-CProjets autour de l'Hi-C
Projets autour de l'Hi-C
 
Can deep learning learn chromatin structure from sequence?
Can deep learning learn chromatin structure from sequence?Can deep learning learn chromatin structure from sequence?
Can deep learning learn chromatin structure from sequence?
 
Multi-omics data integration methods: kernel and other machine learning appro...
Multi-omics data integration methods: kernel and other machine learning appro...Multi-omics data integration methods: kernel and other machine learning appro...
Multi-omics data integration methods: kernel and other machine learning appro...
 
ASTERICS : une application pour intégrer des données omiques
ASTERICS : une application pour intégrer des données omiquesASTERICS : une application pour intégrer des données omiques
ASTERICS : une application pour intégrer des données omiques
 
Autour des projets Idefics et MetaboWean
Autour des projets Idefics et MetaboWeanAutour des projets Idefics et MetaboWean
Autour des projets Idefics et MetaboWean
 
Rserve, renv, flask, Vue.js dans un docker pour intégrer des données omiques ...
Rserve, renv, flask, Vue.js dans un docker pour intégrer des données omiques ...Rserve, renv, flask, Vue.js dans un docker pour intégrer des données omiques ...
Rserve, renv, flask, Vue.js dans un docker pour intégrer des données omiques ...
 
Apprentissage pour la biologie moléculaire et l’analyse de données omiques
Apprentissage pour la biologie moléculaire et l’analyse de données omiquesApprentissage pour la biologie moléculaire et l’analyse de données omiques
Apprentissage pour la biologie moléculaire et l’analyse de données omiques
 
Quelques résultats préliminaires de l'évaluation de méthodes d'inférence de r...
Quelques résultats préliminaires de l'évaluation de méthodes d'inférence de r...Quelques résultats préliminaires de l'évaluation de méthodes d'inférence de r...
Quelques résultats préliminaires de l'évaluation de méthodes d'inférence de r...
 
Intégration de données omiques multi-échelles : méthodes à noyau et autres ap...
Intégration de données omiques multi-échelles : méthodes à noyau et autres ap...Intégration de données omiques multi-échelles : méthodes à noyau et autres ap...
Intégration de données omiques multi-échelles : méthodes à noyau et autres ap...
 
Journal club: Validation of cluster analysis results on validation data
Journal club: Validation of cluster analysis results on validation dataJournal club: Validation of cluster analysis results on validation data
Journal club: Validation of cluster analysis results on validation data
 
Overfitting or overparametrization?
Overfitting or overparametrization?Overfitting or overparametrization?
Overfitting or overparametrization?
 
Selective inference and single-cell differential analysis
Selective inference and single-cell differential analysisSelective inference and single-cell differential analysis
Selective inference and single-cell differential analysis
 
SOMbrero : un package R pour les cartes auto-organisatrices
SOMbrero : un package R pour les cartes auto-organisatricesSOMbrero : un package R pour les cartes auto-organisatrices
SOMbrero : un package R pour les cartes auto-organisatrices
 
Graph Neural Network for Phenotype Prediction
Graph Neural Network for Phenotype PredictionGraph Neural Network for Phenotype Prediction
Graph Neural Network for Phenotype Prediction
 
A short and naive introduction to using network in prediction models
A short and naive introduction to using network in prediction modelsA short and naive introduction to using network in prediction models
A short and naive introduction to using network in prediction models
 
Explanable models for time series with random forest
Explanable models for time series with random forestExplanable models for time series with random forest
Explanable models for time series with random forest
 
Présentation du projet ASTERICS
Présentation du projet ASTERICSPrésentation du projet ASTERICS
Présentation du projet ASTERICS
 

Combiner classification et visualisation pour l’exploration de grands réseaux

  • 1. Combiner classification et visualisation pour l’exploration de grands réseaux Nathalie Villa-Vialaneix http://www.nathalievilla.org nathalie.villa@univ-paris1.fr Séminaire, Bordeaux, 12 Janvier 2012 Travail joint avec Fabrice Rossi (SAMM, Université Paris 1) Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 1 / 24
  • 2. Visualisation de graphes : pourquoi ? Plan 1 Visualisation de graphes : pourquoi ? 2 Visualisation par classification hiérarchique Obtention d’une hiérarchie de classifications Visualisation d’une hiérarchie de classifications Exemples et comparaisons Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 2 / 24
  • 3. Visualisation de graphes : pourquoi ? Contexte et problématique Un réseau (graphe) G = (V, E, W) avec • n sommets V = {x1, . . . , xn} ; • des arêtes, E, pondérées par des poids Wij = Wji ≥ 0 (Wii = 0). Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 3 / 24
  • 4. Visualisation de graphes : pourquoi ? Visualisation : un outil pour comprendre le graphe Approche courante pour explorer le graphe : visualisation par algorithme de forces (FDP), par exemple [Fruchterman and Reingold, 1991] Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 4 / 24
  • 5. Visualisation de graphes : pourquoi ? Visualisation : un outil pour comprendre le graphe Approche courante pour explorer le graphe : visualisation par algorithme de forces (FDP), par exemple [Fruchterman and Reingold, 1991] • forces attractives : le long des arêtes (analogues à des ressorts) Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 4 / 24
  • 6. Visualisation de graphes : pourquoi ? Visualisation : un outil pour comprendre le graphe Approche courante pour explorer le graphe : visualisation par algorithme de forces (FDP), par exemple [Fruchterman and Reingold, 1991] • forces attractives : le long des arêtes (analogues à des ressorts) • forces répulsives : entre toutes les paires de sommets (analogues à des forces électriques) Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 4 / 24
  • 7. Visualisation de graphes : pourquoi ? Visualisation : un outil pour comprendre le graphe Approche courante pour explorer le graphe : visualisation par algorithme de forces (FDP), par exemple [Fruchterman and Reingold, 1991] • forces attractives : le long des arêtes (analogues à des ressorts) • forces répulsives : entre toutes les paires de sommets (analogues à des forces électriques) algorithme itératif jusqu’à stabilisation des positions des sommets. Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 4 / 24
  • 8. Visualisation de graphes : pourquoi ? Exemple (avec Gephi 1 ) 1 http://gephi.org Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 5 / 24
  • 9. Visualisation de graphes : pourquoi ? Limites des approches FDP • lents (difficiles à mettre en œuvre pour des graphes de très grande taille) ; Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 6 / 24
  • 10. Visualisation de graphes : pourquoi ? Limites des approches FDP • lents (difficiles à mettre en œuvre pour des graphes de très grande taille) ; • privilégient l’esthétique à l’interprétabilité : • Tendance : arêtes courtes et de tailles uniformes • Conséquence négative : regroupement des nœuds de forts degrés au centre de la figure Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 6 / 24
  • 11. Visualisation de graphes : pourquoi ? Limites des approches FDP • lents (difficiles à mettre en œuvre pour des graphes de très grande taille) ; • privilégient l’esthétique à l’interprétabilité : • Tendance : arêtes courtes et de tailles uniformes • Conséquence négative : regroupement des nœuds de forts degrés au centre de la figure Or, approche naturelle d’exploration d’un graphe : 1 repérer la structure macroscopique : recherche de « communautés » et de leurs relations ; 2 affiner les détails dans certaines parties. Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 6 / 24
  • 12. Visualisation de graphes : pourquoi ? Mettre en valeur les « communautés » lors de la représentation 1 approche globale : représenter tous les sommets du graphe en modifiant les forces de manière à mettre en valeur les zones denses : [Noack, 2007] algorithme LinLog Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 7 / 24
  • 13. Visualisation de graphes : pourquoi ? Mettre en valeur les « communautés » lors de la représentation 1 approche globale 2 faire une classification des sommets puis une représentation simplifiée [Herman et al., 2000] • classification des sommets en classes V1, . . . , VC ; • représenter le graphe des classes : sommets V1, . . . , VC (aire proportionnelle à |Vj|) et arêtes d’épaisseur proportionnelle à xk ∈Vi ,xk ∈Vj Wij Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 7 / 24
  • 14. Visualisation de graphes : pourquoi ? Mettre en valeur les « communautés » lors de la représentation 1 approche globale 2 faire une classification des sommets puis une représentation simplifiée [Herman et al., 2000] • classification des sommets en classes V1, . . . , VC ; • représenter le graphe des classes : sommets V1, . . . , VC (aire proportionnelle à |Vj|) et arêtes d’épaisseur proportionnelle à xk ∈Vi ,xk ∈Vj Wij problème : Modifier FDP pour sommets de tailles variables. Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 7 / 24
  • 15. Visualisation de graphes : pourquoi ? Mettre en valeur les « communautés » lors de la représentation 1 approche globale 2 faire une classification des sommets puis une représentation simplifiée approche alternative : classification et placement simultanés sur une carte auto-organisatrice [Rossi and Villa-Vialaneix, 2010] Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 7 / 24
  • 16. Visualisation de graphes : pourquoi ? Mettre en valeur les « communautés » lors de la représentation 1 approche globale 2 faire une classification des sommets puis une représentation simplifiée 3 approche hybride : représentations hiérarchiques dont la précision augmente [Auber et al., 2003, Auber and Jourdan, 2005, Seifi et al., 2010] Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 7 / 24
  • 17. Visualisation de graphes : pourquoi ? Dans cette présentation... ... approche hiérarchique combinant visualisation et classification basée sur la modularité [Rossi and Villa-Vialaneix, 2011]. Classification (C1, . . . , CK ), Q(C1, . . . , CK ) = 1 2m K k=1 xi,xj∈Ck (Wij − Pij) avec Pij poids d’un « modèle nul » (même distribution des degrés mais les poids dépendent seulement des degrés des sommets et non de leurs classes) : Pij = didj 2m avec di = 1 2 j i Wij. Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 8 / 24
  • 18. Visualisation de graphes : pourquoi ? Interprétation Une bonne classification maximise la modularité : • Q quand (xi, xj) sont dans la même classe et Wij Pij • Q quand (xi, xj) sont dans deux classes différentes et Wij Pij car Q(C) + 1 2m k k i∈Ck , j∈Ck (Wij − Pij) = 0. Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 9 / 24
  • 19. Visualisation de graphes : pourquoi ? Interprétation Une bonne classification maximise la modularité : • Q quand (xi, xj) sont dans la même classe et Wij Pij • Q quand (xi, xj) sont dans deux classes différentes et Wij Pij car Q(C) + 1 2m k k i∈Ck , j∈Ck (Wij − Pij) = 0. • Modularité : aide à séparer des hubs ( spectral clustering ou critère de coupe minimal) mais petit défaut de résolution (voir [Fortunato and Barthélémy, 2007]). Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 9 / 24
  • 20. Visualisation de graphes : pourquoi ? Interprétation Une bonne classification maximise la modularité : • Q quand (xi, xj) sont dans la même classe et Wij Pij • Q quand (xi, xj) sont dans deux classes différentes et Wij Pij car Q(C) + 1 2m k k i∈Ck , j∈Ck (Wij − Pij) = 0. • Modularité : aide à séparer des hubs ( spectral clustering ou critère de coupe minimal) mais petit défaut de résolution (voir [Fortunato and Barthélémy, 2007]). Problème : Optimisation = Pb NP-complet (recherche exhaustive impossible pour des graphes de plus de qq centaines de sommets) Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 9 / 24
  • 21. Visualisation par classification hiérarchique Plan 1 Visualisation de graphes : pourquoi ? 2 Visualisation par classification hiérarchique Obtention d’une hiérarchie de classifications Visualisation d’une hiérarchie de classifications Exemples et comparaisons Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 10 / 24
  • 22. Visualisation par classification hiérarchique Présentation générale de la méthodologie 2 étapes combinées : • Obtention d’une hiérarchie de classifications (par optimisation de la modularité) + test de la significativité du partitionnement à chaque niveau ; • Représentations des divers niveaux de la hiérarchie avec algorithme de forces modifié. Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 11 / 24
  • 23. Visualisation par classification hiérarchique Obtention d’une hiérarchie de classifications Plan 1 Visualisation de graphes : pourquoi ? 2 Visualisation par classification hiérarchique Obtention d’une hiérarchie de classifications Visualisation d’une hiérarchie de classifications Exemples et comparaisons Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 12 / 24
  • 24. Visualisation par classification hiérarchique Obtention d’une hiérarchie de classifications Méthodes d’approximation de l’optimisation de la modularité Méthode rapide : « Algorithme de Louvain » [Blondel et al., 2008] (méthode gloutonne multi-niveaux) : peut traiter des graphes avec des millions de nœuds ; légèrement sous efficace en terme d’optimisation. Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 13 / 24
  • 25. Visualisation par classification hiérarchique Obtention d’une hiérarchie de classifications Méthodes d’approximation de l’optimisation de la modularité Méthode rapide : « Algorithme de Louvain » [Blondel et al., 2008] (méthode gloutonne multi-niveaux) : peut traiter des graphes avec des millions de nœuds ; légèrement sous efficace en terme d’optimisation. [Noack and Rotta, 2009] : travail expérimental comparatif ⇒ recommandation pour des améliorations de l’approche précédente (rapide et plus efficace) Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 13 / 24
  • 26. Visualisation par classification hiérarchique Obtention d’une hiérarchie de classifications Méthodes d’approximation de l’optimisation de la modularité Méthode rapide : « Algorithme de Louvain » [Blondel et al., 2008] (méthode gloutonne multi-niveaux) : peut traiter des graphes avec des millions de nœuds ; légèrement sous efficace en terme d’optimisation. [Noack and Rotta, 2009] : travail expérimental comparatif ⇒ recommandation pour des améliorations de l’approche précédente (rapide et plus efficace) Ici : méthodologie basée sur [Noack and Rotta, 2009] avec quelques améliorations (dont ajout d’un test de connexité) Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 13 / 24
  • 27. Visualisation par classification hiérarchique Obtention d’une hiérarchie de classifications Description de l’approche de classification retenue Étape 1 : Obtention d’une première partition • Construction gloutonne d’une partition • Initialiser les classes : C (1) 1 = {x1}, . . . , C (1) n = {xn} • Répéter : fusionner 2 classes qui maximisent Sig(Ci, Cj) = ∆QCi ,Cj deg(Ci)deg(Cj) jusqu’à ne plus pouvoir augmenter la modularité par fusion. Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 14 / 24
  • 28. Visualisation par classification hiérarchique Obtention d’une hiérarchie de classifications Description de l’approche de classification retenue Étape 1 : Obtention d’une première partition • Construction gloutonne d’une partition Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 14 / 24
  • 29. Visualisation par classification hiérarchique Obtention d’une hiérarchie de classifications Description de l’approche de classification retenue Étape 1 : Obtention d’une première partition • Construction gloutonne d’une partition Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 14 / 24
  • 30. Visualisation par classification hiérarchique Obtention d’une hiérarchie de classifications Description de l’approche de classification retenue Étape 1 : Obtention d’une première partition • Construction gloutonne d’une partition Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 14 / 24
  • 31. Visualisation par classification hiérarchique Obtention d’une hiérarchie de classifications Description de l’approche de classification retenue Étape 1 : Obtention d’une première partition • Construction gloutonne d’une partition Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 14 / 24
  • 32. Visualisation par classification hiérarchique Obtention d’une hiérarchie de classifications Description de l’approche de classification retenue Étape 1 : Obtention d’une première partition • Construction gloutonne d’une partition Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 14 / 24
  • 33. Visualisation par classification hiérarchique Obtention d’une hiérarchie de classifications Description de l’approche de classification retenue Étape 1 : Obtention d’une première partition • Construction gloutonne d’une partition • Au cours de l’algorithme, conservation des étapes correspondant à une diminution de 25% du nombre de classes . . . Niveau 1 Niveau 2 ... Niveau L (final) Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 14 / 24
  • 34. Visualisation par classification hiérarchique Obtention d’une hiérarchie de classifications Description de l’approche de classification retenue Étape 1 : Obtention d’une première partition • Construction gloutonne d’une partition • Au cours de l’algorithme, conservation des étapes correspondant à une diminution de 25% du nombre de classes • Raffinement multi-niveaux des niveaux l = L − 1 → 1 • Déterminer le graphe induit par la classification au niveau l... Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 14 / 24
  • 35. Visualisation par classification hiérarchique Obtention d’une hiérarchie de classifications Description de l’approche de classification retenue Étape 1 : Obtention d’une première partition • Construction gloutonne d’une partition • Au cours de l’algorithme, conservation des étapes correspondant à une diminution de 25% du nombre de classes • Raffinement multi-niveaux des niveaux l = L − 1 → 1 • Déterminer le graphe induit par la classification au niveau l... • ... et utiliser la classification de ses sommets selon le niveau l + 1... Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 14 / 24
  • 36. Visualisation par classification hiérarchique Obtention d’une hiérarchie de classifications Description de l’approche de classification retenue Étape 1 : Obtention d’une première partition • Construction gloutonne d’une partition • Au cours de l’algorithme, conservation des étapes correspondant à une diminution de 25% du nombre de classes • Raffinement multi-niveaux des niveaux l = L − 1 → 1 • Déterminer le graphe induit par la classification au niveau l... • ... et utiliser la classification de ses sommets selon le niveau l + 1... • ... pour effectuer des changements de classes opportunistes de certains « super-sommets » Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 14 / 24
  • 37. Visualisation par classification hiérarchique Obtention d’une hiérarchie de classifications Description de l’approche de classification retenue Étape 1 : Obtention d’une première partition • Construction gloutonne d’une partition • Au cours de l’algorithme, conservation des étapes correspondant à une diminution de 25% du nombre de classes • Raffinement multi-niveaux des niveaux l = L − 1 → 1 • Contrôle de connexité : au niveau L, vérifier la connexité et scinder les classes non connexes selon leurs composantes connexes Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 14 / 24
  • 38. Visualisation par classification hiérarchique Obtention d’une hiérarchie de classifications Description de l’approche de classification retenue Étape 1 : Obtention d’une première partition Étape 2 : Itérations jusqu’à stabilisation • Fusion éventuelle des classes de la classification de niveau L ; • Raffinement multi-niveaux aux niveaux 1, L et L + 1 ; • Contrôle de connexité. Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 14 / 24
  • 39. Visualisation par classification hiérarchique Obtention d’une hiérarchie de classifications Obtention d’une hiérarchie de classifications But : Limiter le défaut de résolution de la modularité. Principe : Itérer l’optimisation de la modularité dans chacune des classes trouvées. Niveau 1 Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 15 / 24
  • 40. Visualisation par classification hiérarchique Obtention d’une hiérarchie de classifications Obtention d’une hiérarchie de classifications But : Limiter le défaut de résolution de la modularité. Principe : Itérer l’optimisation de la modularité dans chacune des classes trouvées. Niveau 2 Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 15 / 24
  • 41. Visualisation par classification hiérarchique Obtention d’une hiérarchie de classifications Obtention d’une hiérarchie de classifications But : Limiter le défaut de résolution de la modularité. Principe : Itérer l’optimisation de la modularité dans chacune des classes trouvées. Niveau 3 Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 15 / 24
  • 42. Visualisation par classification hiérarchique Obtention d’une hiérarchie de classifications Critère d’arrêt de la hiérarchie Limite des algorithmes de classification : ils fournissent toujours un résultat ! Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 16 / 24
  • 43. Visualisation par classification hiérarchique Obtention d’une hiérarchie de classifications Critère d’arrêt de la hiérarchie Limite des algorithmes de classification : ils fournissent toujours un résultat ! Significativité d’une partition : structure modulaire significative ? • distribution de la modularité maximale dans {graphes aléatoires de même distribution de degrés} (arrêtes « au hasard ») ; • ⇒ p-value de la modularité maximale observée. Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 16 / 24
  • 44. Visualisation par classification hiérarchique Obtention d’une hiérarchie de classifications Critère d’arrêt de la hiérarchie Limite des algorithmes de classification : ils fournissent toujours un résultat ! Significativité d’une partition : 1 Générer des graphes aléatoires dans l’ensemble des graphes de même distribution de degrés ; Approche utilisée : algorithme MCMC de [Roberts Jr., 2000] par permutations aléatoires d’arêtes du graphe observé Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 16 / 24
  • 45. Visualisation par classification hiérarchique Obtention d’une hiérarchie de classifications Critère d’arrêt de la hiérarchie Limite des algorithmes de classification : ils fournissent toujours un résultat ! Significativité d’une partition : 1 Générer des graphes aléatoires dans l’ensemble des graphes de même distribution de degrés ; Approche utilisée : algorithme MCMC de [Roberts Jr., 2000] par permutations aléatoires d’arêtes du graphe observé Après Q|E| permutations, obtention d’un graphe aléatoire pour la distribution uniforme dans l’ensemble des graphes de distribution de degrés fixée. Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 16 / 24
  • 46. Visualisation par classification hiérarchique Obtention d’une hiérarchie de classifications Critère d’arrêt de la hiérarchie Limite des algorithmes de classification : ils fournissent toujours un résultat ! Significativité d’une partition : 1 Générer des graphes aléatoires dans l’ensemble des graphes de même distribution de degrés ; 2 Chercher l’optimum de la modularité ; 3 Déterminer la p-value de l’optimum selon la distribution empirique ; Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 16 / 24
  • 47. Visualisation par classification hiérarchique Obtention d’une hiérarchie de classifications Critère d’arrêt de la hiérarchie Limite des algorithmes de classification : ils fournissent toujours un résultat ! Significativité d’une partition : 1 Générer des graphes aléatoires dans l’ensemble des graphes de même distribution de degrés ; 2 Chercher l’optimum de la modularité ; 3 Déterminer la p-value de l’optimum selon la distribution empirique ; 4 Si maximum de la modularité observée significatif (supérieure à la modularité maximum de 100 graphes aléatoires), on conserve la partition ; sinon, on arrête le partitionnement. Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 16 / 24
  • 48. Visualisation par classification hiérarchique Visualisation d’une hiérarchie de classifications Plan 1 Visualisation de graphes : pourquoi ? 2 Visualisation par classification hiérarchique Obtention d’une hiérarchie de classifications Visualisation d’une hiérarchie de classifications Exemples et comparaisons Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 17 / 24
  • 49. Visualisation par classification hiérarchique Visualisation d’une hiérarchie de classifications Principe général de la visualisation d’une classification À partir d’un graphe G = (V, E, W) et d’une classification C1, . . . , CK , • déterminer le graphe induit par la classification : • sommets : classes ; • arêtes pondérées par la somme des arêtes entre les classes. Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 18 / 24
  • 50. Visualisation par classification hiérarchique Visualisation d’une hiérarchie de classifications Principe général de la visualisation d’une classification À partir d’un graphe G = (V, E, W) et d’une classification C1, . . . , CK , • déterminer le graphe induit par la classification : • sommets : classes ; • arêtes pondérées par la somme des arêtes entre les classes. • représenter le graphe induit : • classes représentées par un symbole de surface proportionnelle à |C| ; • arêtes représentées par un trait d’épaisseur proportionnelle à la contribution à la modularité. Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 18 / 24
  • 51. Visualisation par classification hiérarchique Visualisation d’une hiérarchie de classifications Représenter une hiérarchie de classifications Principe général • partir de la classification la plus grossière • développer les classes par ordre de plus faible réduction de la modularité. Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 19 / 24
  • 52. Visualisation par classification hiérarchique Visualisation d’une hiérarchie de classifications Représenter une hiérarchie de classifications Principe général • partir de la classification la plus grossière • développer les classes par ordre de plus faible réduction de la modularité. Problèmes 1 tenir compte de la taille des sommets : [Tunkelang, 1999] (modification des forces de l’algorithme de Fruchterman et Reingold) Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 19 / 24
  • 53. Visualisation par classification hiérarchique Visualisation d’une hiérarchie de classifications Représenter une hiérarchie de classifications Principe général • partir de la classification la plus grossière • développer les classes par ordre de plus faible réduction de la modularité. Problèmes 1 tenir compte de la taille des sommets : [Tunkelang, 1999] (modification des forces de l’algorithme de Fruchterman et Reingold) 2 anticiper l’espace nécessaire au développement d’une classe donnée : estimation récursive de l’espace nécessaire à la représentation par la méthode précédente (en partant du niveau le plus fin) Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 19 / 24
  • 54. Visualisation par classification hiérarchique Visualisation d’une hiérarchie de classifications Représenter la contribution à la modularité des liens entre classes Fusion des classes Ci et Cj induit une modification de modularité égale à ∆QCi,Cj = 1 m WCi,Cj − d(Ci)d(Cj) 2m Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 20 / 24
  • 55. Visualisation par classification hiérarchique Visualisation d’une hiérarchie de classifications Représenter la contribution à la modularité des liens entre classes Fusion des classes Ci et Cj induit une modification de modularité égale à ∆QCi,Cj = 1 m WCi,Cj − d(Ci)d(Cj) 2m Proposition • arêtes telles que ∆QCi,Cj < 0 en pointillés bleus (lien faible au sens de la modularité) d’épaisseur égale à 1 ; • arêtes telles que ∆QCi,Cj > 0 en rouge (lien fort au sens de la modularité) d’épaisseur comprise entre 1 et 5 (proportionnellement à la valeur) ; Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 20 / 24
  • 56. Visualisation par classification hiérarchique Exemples et comparaisons Plan 1 Visualisation de graphes : pourquoi ? 2 Visualisation par classification hiérarchique Obtention d’une hiérarchie de classifications Visualisation d’une hiérarchie de classifications Exemples et comparaisons Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 21 / 24
  • 57. Visualisation par classification hiérarchique Exemples et comparaisons « Political books » Description : • sommets : 105 livres politiques américains ; • arêtes pondérées par le nombre d’achats communs sur amazon. Représentation FDP Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 22 / 24
  • 58. Visualisation par classification hiérarchique Exemples et comparaisons « Political books » Description : • sommets : 105 livres politiques américains ; • arêtes pondérées par le nombre d’achats communs sur amazon. Représentation LinLog Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 22 / 24
  • 59. Visualisation par classification hiérarchique Exemples et comparaisons « Political books » Description : • sommets : 105 livres politiques américains ; • arêtes pondérées par le nombre d’achats communs sur amazon. Représentation hiérarchique (niveaux 1-3, 4 développements) Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 22 / 24
  • 60. Visualisation par classification hiérarchique Exemples et comparaisons Visualisation d’un grand graphe Description : graphe issu d’un corpus d’archives médiévales http://graphcomp.univ-tlse2.fr/ : • sommets : transactions du corpus et personnes actives (seigneurs, tenanciers). 3 918 individus impliqués dans 6 455 transactions (total : 10 373 sommets) ; • arêtes modélisent l’implication active d’une personne dans une transaction. Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 23 / 24
  • 61. Visualisation par classification hiérarchique Exemples et comparaisons Visualisation d’un grand graphe Description : graphe issu d’un corpus d’archives médiévales http://graphcomp.univ-tlse2.fr/ : • sommets : transactions du corpus et personnes actives (seigneurs, tenanciers). 3 918 individus impliqués dans 6 455 transactions (total : 10 373 sommets) ; • arêtes modélisent l’implication active d’une personne dans une transaction. Optimisation de la modularité : 48 classes composées de 10 à 740 sommets. Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 23 / 24
  • 62. Visualisation par classification hiérarchique Exemples et comparaisons Visualisation d’un grand graphe Description : graphe issu d’un corpus d’archives médiévales http://graphcomp.univ-tlse2.fr/ : • sommets : transactions du corpus et personnes actives (seigneurs, tenanciers). 3 918 individus impliqués dans 6 455 transactions (total : 10 373 sommets) ; • arêtes modélisent l’implication active d’une personne dans une transaction. Optimisation de la modularité : 48 classes composées de 10 à 740 sommets. Hiérarchie : 3 niveaux (limitée à 100 classes maximum) : 93 classes retenues sur le niveau le plus fin. Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 23 / 24
  • 63. Visualisation par classification hiérarchique Exemples et comparaisons Visualisation d’un grand graphe Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 23 / 24
  • 64. Visualisation par classification hiérarchique Exemples et comparaisons Visualisation d’un grand graphe Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 23 / 24
  • 65. Visualisation par classification hiérarchique Exemples et comparaisons Visualisation d’un grand graphe Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 23 / 24
  • 66. Visualisation par classification hiérarchique Exemples et comparaisons Visualisation d’un grand graphe Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 23 / 24
  • 67. Visualisation par classification hiérarchique Exemples et comparaisons Visualisation d’un grand graphe Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 23 / 24
  • 68. Visualisation par classification hiérarchique Exemples et comparaisons Visualisation d’un grand graphe Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 23 / 24
  • 69. Visualisation par classification hiérarchique Exemples et comparaisons Visualisation d’un grand graphe Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 23 / 24
  • 70. Visualisation par classification hiérarchique Exemples et comparaisons Visualisation d’un grand graphe Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 23 / 24
  • 71. Visualisation par classification hiérarchique Exemples et comparaisons Visualisation d’un grand graphe Plus d’informations sur l’analyse de ce graphe dans [Rossi et al., 2012] Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 23 / 24
  • 72. Visualisation par classification hiérarchique Exemples et comparaisons Conclusion et limites Résumé des avantages de l’approche • rapide • totalement automatisée Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 24 / 24
  • 73. Visualisation par classification hiérarchique Exemples et comparaisons Conclusion et limites Résumé des avantages de l’approche • rapide • totalement automatisée Principale limite : estimation récursive de la place occupée par une classe parfois surestimée ⇒ arêtes inutilement longues et biais de visualisation Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 24 / 24
  • 74. Visualisation par classification hiérarchique Exemples et comparaisons Conclusion et limites Résumé des avantages de l’approche • rapide • totalement automatisée Principale limite : estimation récursive de la place occupée par une classe parfois surestimée ⇒ arêtes inutilement longues et biais de visualisation Merci pour votre attention Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 24 / 24
  • 75. Visualisation par classification hiérarchique Exemples et comparaisons Références Auber, D., Chiricota, Y., Jourdan, F., and Melançon, G. (2003). Multiscale visualization of small world networks. In INFOVIS’03. Auber, D. and Jourdan, F. (2005). Interactive refinement of multi-scale network clusterings. In International Conference on Information Visualisation, International Conference, pages 703–709, Los Alamitos, CA, USA. IEEE Computer Society. Blondel, V., Guillaume, J., Lambiotte, R., and Lefebvre, E. (2008). Fast unfolding of communites in large networks. Journal of Statistical Mechanics : Theory and Experiment, P10008 :1742–5468. Fortunato, S. and Barthélémy, M. (2007). Resolution limit in community detection. In Proceedings of the National Academy of Sciences, volume 104, pages 36–41. doi :10.1073/pnas.0605965104 ; URL : http://www.pnas.org/content/104/1/36.abstract. Fruchterman, T. and Reingold, B. (1991). Graph drawing by force-directed placement. Software-Practice and Experience, 21 :1129–1164. Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 24 / 24
  • 76. Visualisation par classification hiérarchique Exemples et comparaisons Herman, I., Melançon, G., and Scott Marshall, M. (2000). Graph visualization and navigation in information visualisation. IEEE Transactions on Visualization and Computer Graphics, 6(1) :24–43. Noack, A. (2007). Energy models for graph clustering. Journal of Graph Algorithms and Applications, 11(2) :453–480. Noack, A. and Rotta, R. (2009). Multi-level algorithms for modularity clustering. In SEA ’09 : Proceedings of the 8th International Symposium on Experimental Algorithms, pages 257–268, Berlin, Heidelberg. Springer-Verlag. Roberts Jr., J. M. (2000). Simple methods for simulating sociomatrices with given marginal totals. Social Networks, 22(3) :273 – 283. Rossi, F. and Villa-Vialaneix, N. (2010). Optimizing an organized modularity measure for topographic graph clustering : a deterministic annealing approach. Neurocomputing, 73(7-9) :1142–1163. Rossi, F. and Villa-Vialaneix, N. (2011). Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 24 / 24
  • 77. Visualisation par classification hiérarchique Exemples et comparaisons Représentation d’un grand réseau à partir d’une classification hiérarchique de ses sommets. Journal de la Société Française de Statistique, 152(3) :34–65. Rossi, F., Villa-Vialaneix, N., and Hautefeuille, F. (2012). Exploration of a large database of French notarial acts with social network methods. Submitted. Seifi, M., Guillaume, J., Latapy, M., and Le Grand, B. (2010). Visualisation interactive multi-échelle des grands graphes : application à un réseau de blogs. In Atelier EGC 2010, Visualisation et Extraction de Connaissances, Hammamet, Tunisie. Tunkelang, D. (1999). A Numerical Optimization Approach to General Graph Drawing. PhD thesis, School of Computer Science, Carnegie Mellon University. CMU-CS-98-189. Visualisation de réseaux (Sem. Bordeaux) Nathalie Villa-Vialaneix & Fabrice Rossi 12 Janvier 2012 24 / 24