présenté par : hamouche amine el hassane mohamed...
TRANSCRIPT
14.12.16 1 / 31
Présenté par :HAMOUCHE AmineEL HASSANE MohamedVALENTIN SamirDAHHANI MohamedMIZEB Noureddine
Plan de Travail
14.12.16 2 / 41
Introduction
Basics of Communities
Hierarchical Clustering
Modularity
Overlapping Communities
Testing Communities
Conclusion
Characterizing Communities
1- Introduction
14.12.16 3 / 41
- Existence pacifique de deux groupes ethniques dans un même pays.- Développement d’un algorithme par Vincent Blondel afin d’identifier la structure communautaire du pays. - Domaines dans lesquels les communautés jouent un rôle important : Social Networks Biological Networks
-La question qui se posent :
Comment définir une communauté ?
2- Basics of communities
14.12.16 4 / 41
-Une communauté est un sous-graphe localement dense dans un réseau. - Une clique est un sous-graphe complet.
- Notion de Communauté forteSi chaque nœud à l'intérieur de la communauté a plus de liens au sein de la communauté qu'avec le reste du graphe- Notion de Communauté faible Si le degré interne total d'un sous-graphe dépasse son degré externe total
De combien de façons pouvons-nous regrouper les nœuds d'un réseau en communautés ? Graph Patitioning Community Detection
3- Hierarchical Clustering
Deux algorithmes différentes :
Agglomerative algorithms : basés sur Ravaszalgorithm
Divisive algorithms : GIRVAN-NEWMAN algorithm
14.12.16 5 / 41
Agglomerative algorithms
Étape 1: Définir la matrice de similarité
J(i,j) : nombre des voisin en commun
Min(ki,kj): le degré minimum entre i et j
14.12.16 6 / 41
Agglomerative algorithms
Étape 2 : Regroupement des nœuds :
14.12.16 7 / 41
Agglomerative algorithms
Étape 3: Décider de la similarité du groupe
14.12.16 8 / 41
Agglomerative algorithms
Étape 4: Refaire l’étape 2 et 3 jusqu’ a l’obtention d’une seule communauté
14.12.16 9 / 41
Agglomerative algorithms
Dendrogramme :
14.12.16 10 / 41
Divisive algorithms
Caractéristiques : Sélectionne les nœuds existant
dans différentes communautés X(i,j) la matrice centralité : les
paire de nœuds relient deux communauté ont la valeur la plus élevée
X(i,j) est calculé par l’approche Link Betweeness qui prend le nombre des plus courts chemin traversant i et j
14.12.16 11 / 41
Divisive algorithms
Étape 2: Suppression du lien ayant la centralité la plus grande
14.12.16 12 / 41
Divisive algorithms
Étape 3:Recalculer la matrice centralité ensuite refaire l’étape 2
14.12.16 13 / 41
4- Modularité
C’est quoi ?
H3: Random Hypothesis
14.12.16 14 / 3114.12.16 14 / 41
Modularité
Un réseau de N nœuds, L liens et subdivisé en Nc communautés
14.12.16 15 / 3114.12.16 15 / 41
Modularité
- Une modularité supérieure implique une meilleure partition M>0
- Une modularité nulle ou négative
14.12.16 16 / 3114.12.16 16 / 41
Modularité
H4: Maximal Modularity HypothesisPour un réseau donné, une partition avec une modularité maximale correspond à la structure de communauté la plus optimale.
H4-> nouveau départ pour des algorithmes de détection de communautés
14.12.16 17 / 41
Modularité
- Trouver les partition proches du M max, tout en évitant l’inspection de toutes les partitions.
- L’algorithme Greedy joint itérativement des paires de communautés si le mouvement augmente la modularité de la partition.
14.12.1614.12.16 18 / 41
Modularité
1. Affecter chaque nœud à une communauté2. Inspecter chaque couple de communautés connecté par au moins un lien3. Répéter 2 => tous les nœuds en une seule communauté.
14.12.1614.12.16 19 / 41
Modularité
Limitations ! Resolution limit
kAkB|2L < 1Dans le cas où
Fusionnement des petites communautés avec des grandes communautés
14.12.16 20 / 4114.12.16
Modularité
Modularity maxima
Pour un réseau composé de Nc sous-graphes avec kC ≈ 2L/nc
ΔM = −2/nc2
Difficulté de trouver la partition optimal
14.12.16 21 / 4114.12.16
5- Overlapping communities
14.12.16 22 / 41
k-clique communauté
k -clique est une clique (sous-graphe complet) avec k nœuds.
Une « k-clique communauté » est l’union de tout les k-cliques adjacents .
Deux k-cliques sont considérées comme étant adjacents s’ils partagent k-1 nœuds.
Adjacent 4-cliques
F
1ère
Communauté
2ème Communauté
14.12.16 23 / 41
Clique Percolation algorithme
- Trouver les cliques maximales
- Creation du clique overlap matrix ( matrice de
chevauchement des cliques )
- Fixer un seuil pour la matrice égal à K-1
- Communité = composants connectés
CFinder algorithme Proposé par Tamás Vicsek
C’est quoi une clique maximale ?
- {b, c, f} est une clique maximale- {a, d, e} n’est pas une clique maximale
14.12.16 24 / 41
Clique Percolation algorithme
- Diagonale : Supprimé si c’est inferieur à k- Pour le reste, supprimer si c’est inférieur à k-1
1ère
Communauté
2ème
Communauté
14.12.16 25 / 41
Link Clustering
Proposé par Ahn, Bagrow and Lehmann
Etape 1 : Définir les liens similaires
14.12.16 26 / 41
Considérons les liens (i,k) et (j,k), qui sont connectés au même nœud k. Leur similarité est défini comme suit :
Représente la liste des voisins du nœud i, incluant lui-même.
Link Clustering
14.12.16 27 / 41
Link Clustering
14.12.16 28 / 41
Etape 2 :Appliquer un Clustering Hiérarchique
- La matrice de similarité S permet d'utiliser le regroupement hiérarchique pour identifier les communautés de liens.
Dendrogramme
HIERARCHICAL CLUSTERING
• Définition:• Groupe de nœuds qui ont plus de chance de se connecter entre eux qu’avec des nœuds d’un autre groupe
• Réseaux sociaux:• Zakary’s club, conflits
• Biologie: • Groupe de gênes dense (protéines)
6- Caractérizing communities
Introduction
14.12.16 29 / 41
HIERARCHICAL CLUSTERING
Basics of communities
• Hypothèse 1: unicité du diagramme d’interconnexion
• Hypothèse 2: connexité et densité du graphe
• Communauté forte/faible
• Comment construire une communiauté ?• nœuds et taille connu: Bissection • nœuds et taille inconnu: Groupement
14.12.16 30 / 41
HIERARCHICAL CLUSTERING
Size distribution
• Coexistence: Grande/petite communautés
• Prédiction: • Fat tailed distribution• Indépendance de l’algorithme
• Propriété intrinsèque
14.12.16 31 / 41
HIERARCHICAL CLUSTERING
Size distribution
• Clique precoalition• Fat tailed distribution
• Modularity-based algorithm• Tailles comaparables
• Ravasz algorithm• Plusieurs petites et quelques grandes communautés
• Unicité de la structure ?
14.12.16 32 / 41
HIERARCHICAL CLUSTERING
Link Wight
14.12.16 33 / 4 1
• Réseaux sociaux - Nœuds forts : noyau d’une communauté- Nœud faibles : entre communautés
• Réseaux de transports- Nœuds forts : à la frontière-Nœuds faibles : à l’intérieur
• Corrélation entre structure et coût des liens - Précision des algorithmes: : Couplage vs Coût
HIERARCHICAL CLUSTERING
Community Evolution
• Growth/Contraction : • Nombre de liens
• Death/Split: • Poids des liens
• Age:• Older -> Larger
• Stabilité:• Petite communauté: relations/appartenance stables• Grande communauté: changement rapide des liens
14.12.16 34 / 41
14.12.16 35 / 41
7- Testing Communities
I. Hierarchical ClusteringII. ModularityIII. Overlaping CommunitiesIV. Testing communities : Exactitude Vitesse
14.12.16 36 / 41
Que tester ?
14.12.16 37 / 41
Deux benchmarks
14.12.16 38 / 41
Mesure de l’exactitude
14.12.16 39 / 41
Vitesse des algorithmes
14.12.16 40 / 41
8- Conclusion
• L’identification communautaire repose sur des hypothèses.• Il existe des algorithmes pour identifier les communautés.• Les algorithmes de détection de communauté force les nœuds à appartenir à une seule, voir multiples communautés.
14.12.16 41 / 41
Questions ?