Chapitre 7 ANALYSE DE RÉSEAUX - Campus de Metz · • Passage à l’échelle / Big Data :...

28
Mineure « Data Science » Frédéric Pennerath ANALYSE DE RÉSEAUX Chapitre 7 NetworkX

Transcript of Chapitre 7 ANALYSE DE RÉSEAUX - Campus de Metz · • Passage à l’échelle / Big Data :...

Page 1: Chapitre 7 ANALYSE DE RÉSEAUX - Campus de Metz · • Passage à l’échelle / Big Data : –Giraph on Hadoop –GraphX on Spark –Bases de données de type graphes (Neo4J, etc)

Mineure « Data Science » Frédéric Pennerath

ANALYSE DE RÉSEAUX

Chapitre 7

NetworkX

Page 2: Chapitre 7 ANALYSE DE RÉSEAUX - Campus de Metz · • Passage à l’échelle / Big Data : –Giraph on Hadoop –GraphX on Spark –Bases de données de type graphes (Neo4J, etc)

Mineure « Data Science » Frédéric Pennerath

L’analyse de réseaux

Réseau : graphe entité-relation de grande taille, orienté ou non

Théorie des réseaux : discipline mathématique / informatique / sociologique

Champ d’application très vaste :

• Réseaux sociaux :– Au départ études sociologiques

– Succès des outils de « réseautage social » (FaceBook, LinkedIn, Google+ etc)

– Réseaux de diffusion de l’information (Twitter)

• Réseaux de communication (Internet)

• Réseaux de documents (Web, Wikipedia, réseaux bibliographiques)

• Réseaux biologiques (régulation gène protéine / interaction protéine – protéine / métabolique)

Principales caractérisations :

• Orienté (Twitter) ou non orienté (Facebook)

• Homogène (Facebook) ou hétérogène (réseaux bibliographiques auteurs / articles).

Page 3: Chapitre 7 ANALYSE DE RÉSEAUX - Campus de Metz · • Passage à l’échelle / Big Data : –Giraph on Hadoop –GraphX on Spark –Bases de données de type graphes (Neo4J, etc)

Mineure « Data Science » Frédéric Pennerath

Principaux problèmes

Dépendent de l’application :

• Analyse de la structure globale du réseau

– Analyse spectrale (valeurs propres) ou topologique (diamètre, etc) des réseaux

– Modèles génératifs (modèle aléatoire de Erdös-Rényi) et simulateurs de croissance des réseaux (Web, réseaux sociaux, etc)

– Modèle et simulation de la diffusion d’informations au sein des réseaux (rumeurs dans les réseaux sociaux, lien avec l’épidémiologie)

• Mesure d’importance / de centralité des sommets dans le réseau– Web : pagerank

– Réseaux sociaux : mesure de popularité / d’influence

– Bibliométrie : h-index, etc

• Classification de sommets et des liens– Principe d’homophilie (« qui se ressemble s’assemble ») : forme de régularisation par le voisinage

– Exemples : catégorisation des utilisateurs / prédiction de liens dans les réseaux sociaux, détection de nœuds sur le Web

• Clustering de sommets :– Réseaux sociaux : détection de communauté

– Réseaux biologiques : ensemble de protéines interdépendantes

Page 4: Chapitre 7 ANALYSE DE RÉSEAUX - Campus de Metz · • Passage à l’échelle / Big Data : –Giraph on Hadoop –GraphX on Spark –Bases de données de type graphes (Neo4J, etc)

Mineure « Data Science » Frédéric Pennerath

Outils pour l’analyse de réseaux

• NetworkX / Prototypage Python

– Algorithmes classiques des graphes (flots max, plus courts chemins, etc)

– Algorithmes de visualisation.

– Modèles génératifs de graphes aléatoires (Erdös-Rényi, etc)

– Algorithmes principaux d’analyse de réseaux (centralité, clustering, etc)

• Outils de visualisation de grands réseaux

– Gephi, Cytoscape,Tulip (INRIA)

• Passage à l’échelle / Big Data :

– Giraph on Hadoop

– GraphX on Spark

– Bases de données de type graphes (Neo4J, etc)

Page 5: Chapitre 7 ANALYSE DE RÉSEAUX - Campus de Metz · • Passage à l’échelle / Big Data : –Giraph on Hadoop –GraphX on Spark –Bases de données de type graphes (Neo4J, etc)

Mineure « Data Science » Frédéric Pennerath

Quelques métriques « topologiques » de centralité

Pour un sommet 𝑠 d’un graphe 𝑔 = 𝑆, 𝐴 connexe de n sommets et m

arêtes/arcs :

Degré (nbr d’amis…) : nombre 𝑑𝑒𝑔(𝑠) de voisins de 𝑠

Coefficient de clustering : ratio des voisins de 𝑠 qui sont connectés

𝐶 𝑠 =𝑝𝑎𝑖𝑟𝑒𝑠 𝑑𝑒 𝑣𝑜𝑖𝑠𝑖𝑛𝑠 𝑑𝑒 𝑠 𝑐𝑜𝑛𝑛𝑒𝑐𝑡é𝑠

deg 𝑠2

Proximité : distance moyenne de 𝑠 aux autres sommets

𝑑(𝑠) = 𝐸𝑠′ 𝑑 𝑠, 𝑠′ = 𝑠′∈S𝑑(𝑠, 𝑠

′)

𝑛 − 1

Intermédiarité (betweenness) : nombre de plus courts chemins passant par 𝑠

𝐼(𝑠) =1

𝑛 − 12

𝑠1,𝑠2 ⊆𝑆∖ 𝑠

𝑝𝑙𝑢𝑠 𝑐𝑜𝑢𝑟𝑡𝑠 𝑐ℎ𝑒𝑚𝑖𝑛𝑠 𝑒𝑛𝑡𝑟𝑒 𝑠1𝑒𝑡 𝑠2 𝑝𝑎𝑠𝑠𝑎𝑛𝑡 𝑝𝑎𝑟 𝑠

𝑝𝑙𝑢𝑠 𝑐𝑜𝑢𝑟𝑡𝑠 𝑐ℎ𝑒𝑚𝑖𝑛𝑠 𝑒𝑛𝑡𝑟𝑒 𝑠1𝑒𝑡 𝑠2

n = 7 m = 9

i 1 2 3 4

deg(i) 𝟒 2 3 3

𝐶 𝑖 3

6

𝟏 2

3

1

3

𝑑 𝑖 𝟗

𝟔

13

6

10

6

𝟗

𝟔

𝐼 𝑖 5

15

0 1,5

15

𝟖

𝟏𝟓

2

5

3

1

4

6

7

Page 6: Chapitre 7 ANALYSE DE RÉSEAUX - Campus de Metz · • Passage à l’échelle / Big Data : –Giraph on Hadoop –GraphX on Spark –Bases de données de type graphes (Neo4J, etc)

Mineure « Data Science » Frédéric Pennerath

Quelques métriques « topologiques » de centralitéExemple du club de Karaté de Zachaky

Page 7: Chapitre 7 ANALYSE DE RÉSEAUX - Campus de Metz · • Passage à l’échelle / Big Data : –Giraph on Hadoop –GraphX on Spark –Bases de données de type graphes (Neo4J, etc)

Mineure « Data Science » Frédéric Pennerath

Quelques métriques topologiques globales

Diamètre : plus grande des distances (longueur d’un plus court chemin) entre

deux sommets

D = max𝑠1∈𝑆,s2∈𝑆

𝑑 𝑠1, 𝑠2

Rayon : plus grande distance du centre (sommet le moins éloigné de tout autre

sommet) à un sommet

𝑅 = min𝐶∈𝑆max𝑠∈𝑆𝑑 𝑠, 𝐶

Longueur moyenne : distance moyenne pour chaque paire de sommet

𝐿 = 𝐸 𝑑 𝑠1, 𝑠2 = 𝑠1∈𝑆,𝑠2∈S𝑑(𝑠1, 𝑠2)

𝑛 𝑛 − 1

Densité : ratio du nbr. d’arêtes sur nbr. des arêtes d’un graphe complet

𝑑 =2𝑚

𝑛(𝑛 − 1)

Degré moyen : moyenne des degrés des sommets

𝛿 =2𝑚

𝑛Coefficient de clustering : moyenne des coefficients de clustering des sommets

𝐶 = 𝐸 𝐶 𝑠 =3 × 𝑛𝑏𝑟. 𝑑𝑒 𝑠𝑜𝑢𝑠 𝑔𝑟𝑎𝑝ℎ𝑒𝑠 𝑡𝑟𝑖𝑎𝑛𝑔𝑢𝑙𝑎𝑖𝑟𝑒𝑠

𝑛𝑏𝑟. 𝑑𝑒 𝑠𝑜𝑢𝑠 𝑔𝑟𝑎𝑝ℎ𝑒𝑠 𝑐𝑜𝑛𝑛𝑒𝑥𝑒𝑠 à 3 𝑠𝑜𝑚𝑚𝑒𝑡𝑠

1

2

3

4

5

6

n = 7m = 9D = 4 R = 2 𝐿 = 1,7d = 0,4 𝛿 = 2,6 𝐶 = 0,7

7

Page 8: Chapitre 7 ANALYSE DE RÉSEAUX - Campus de Metz · • Passage à l’échelle / Big Data : –Giraph on Hadoop –GraphX on Spark –Bases de données de type graphes (Neo4J, etc)

Mineure « Data Science » Frédéric Pennerath

Théorie algébrique et spectrale des graphes• Calcul différentiel (laplacien, etc) sur les graphes pour étudier les phénomènes de

diffusion

• Représentent un graphe par ses matrices d’incidence / d’adjacence

• En pratique des matrices creuses disposant d’algorithmes d’algèbre linéaire de faible

complexité

1

2

3

4

𝐴 =

𝑠1 𝑠2 𝑠3 𝑠4𝑠1𝑠2𝑠3𝑠4

0 0 0 21 0 0 00 1 0 11 1 0 0

𝐵 =

−1 −1 0 0 2 01 0 −1 −1 0 00 0 1 0 0 10 1 0 1 −2 −1

Cas des graphes orientés :

1

2

3

4

𝐴 =

𝑠1 𝑠2 𝑠3 𝑠4𝑠1𝑠2𝑠3𝑠4

0 1 0 31 0 1 10 1 0 13 1 1 0

Cas des graphes non orientés :

𝐴 : matrice d’adjacence 𝑛 × 𝑛 𝐵 : matrice d’incidence 𝑛 ×𝑚

Page 9: Chapitre 7 ANALYSE DE RÉSEAUX - Campus de Metz · • Passage à l’échelle / Big Data : –Giraph on Hadoop –GraphX on Spark –Bases de données de type graphes (Neo4J, etc)

Mineure « Data Science » Frédéric Pennerath

Exemple de la centralité spectrale

Définition de la centralité spectrale : « Un sommet est d’autant plus central que ses voisins le sont »

𝐶 𝑠𝑖 =1

𝜆 𝑣∈𝑉 𝑠𝑖 𝐶(𝑣) avec 𝜆 > 0 et ∀𝑖, 𝐶 𝑠𝑖 > 0

Théorème :

𝐶 = 𝐶 𝑠1 … 𝐶 𝑠𝑛𝑇 est le vecteur propre de la plus grande valeur propre de la matrice d’adjacence

Démonstration:

𝐶 𝑠𝑖 =1

𝜆

𝑣∈𝑉 𝑠𝑖

𝐶(𝑣) =1

𝜆

𝑗

𝑎𝑖,𝑗 𝐶(𝑠𝑗) ⇒ 𝜆 𝐶 = 𝐴 𝐶

D’après le théorème de Perron-Frobenius sur les matrices irréductibles (donc sur les graphes connexes),

∀𝑖, 𝐶 𝑠𝑖 > 0 ⇒ 𝜆 est la plus grande valeur propre

Page 10: Chapitre 7 ANALYSE DE RÉSEAUX - Campus de Metz · • Passage à l’échelle / Big Data : –Giraph on Hadoop –GraphX on Spark –Bases de données de type graphes (Neo4J, etc)

Mineure « Data Science » Frédéric Pennerath

Quelques métriques spectrales de centralité

sur l’exemple du club de Karaté de Zachary

Page 11: Chapitre 7 ANALYSE DE RÉSEAUX - Campus de Metz · • Passage à l’échelle / Big Data : –Giraph on Hadoop –GraphX on Spark –Bases de données de type graphes (Neo4J, etc)

Mineure « Data Science » Frédéric Pennerath

MODÈLE DE MARCHE ALÉATOIRE

ET

INDICE PAGERANK

Page 12: Chapitre 7 ANALYSE DE RÉSEAUX - Campus de Metz · • Passage à l’échelle / Big Data : –Giraph on Hadoop –GraphX on Spark –Bases de données de type graphes (Neo4J, etc)

Mineure « Data Science » Frédéric Pennerath

Indice PageRank(Larry Page, Sergey Brin, 1996)

L’indice PageRank de Google détermine la notoriété d’une page/site sur le Web.

Applications :

– pour pondérer la pertinence d’un couple (requête, page) par la notoriété de la page.

– pour lutter contre le web spam

Fondé sur les chaînes de Markov et les modèles de marche aléatoire :

– Un agent se promène aléatoirement sur la toile en suivant un lien au hasard

– La notoriété d’une page correspond au taux de présence (i.e. à la probabilité) de l’agent sur la page

Nombreuses variantes :

– Topic Sensitive PageRank : page rank associé à un thème particulier

– SimRank : mesure de similarité entre deux noeuds

Page 13: Chapitre 7 ANALYSE DE RÉSEAUX - Campus de Metz · • Passage à l’échelle / Big Data : –Giraph on Hadoop –GraphX on Spark –Bases de données de type graphes (Neo4J, etc)

Mineure « Data Science » Frédéric Pennerath

Chaîne de Markov :

transitions markoviennes aléatoires entre un ensemble fini de n états

Matrice de transition d’une chaîne stationnaire :

𝑷𝑖,𝑗 = 𝑃 𝑋𝑡+1 = 𝑗 𝑋𝑡 = 𝑖 ⇒ 𝑃 𝑋𝑡 = 𝑷𝑇 𝑡 × 𝑃 𝑋0

Matrice stochastique : la somme des coefficients d’une ligne vaut 1.

Représentation sous la forme d’un graphe orienté pondéré

Rappel des chaînes de Markov

1 2 3

0,25 0,75

1 1

Temps de retour moyen : 𝑇𝑟 𝑥 = 𝐸 min𝑡𝑋𝑡 = 𝑥 𝑋0 = 𝑥)

𝑇𝑟 1 =

𝑘=0

+∞

2 + 2𝑘 ⋅ 0,25 ⋅ 0,75𝑘 =1

3

𝑘=1

+∞

2𝑘 ⋅ 0,75𝑘 =2

3⋅0,75

1 − 0,75 2= 8

𝑷 =0 1 00,25 0 0,750 1 0

Page 14: Chapitre 7 ANALYSE DE RÉSEAUX - Campus de Metz · • Passage à l’échelle / Big Data : –Giraph on Hadoop –GraphX on Spark –Bases de données de type graphes (Neo4J, etc)

Mineure « Data Science » Frédéric Pennerath

Rappel des chaînes de Markov

Stationnarité : une distribution d’état 𝑃𝑋 est stationnaire ssi 𝑃𝑋 est vecteur propre de 𝑷𝑇 de la

valeur propre 1 :

𝑃𝑋 = 𝑷𝑇 ⋅ 𝑃𝑋

Ergodicité : une chaîne est ergodique si elle converge vers une même distribution 𝑃 𝑋∞ lorsque

𝑡 → +∞ :

∀𝑃 𝑋0 , lim𝑡→+∞𝑃 𝑋𝑡 = 𝑃 𝑋∞

Théorème :

Une chaîne est ergodique si et seulement si elle est

– irréductible : tout état est accessible depuis tout autre état

graphe fortement connexe ⇔ ∀𝑖, ∀𝑗, ∃𝑡 𝑷𝑇𝑡

𝑖,𝑗> 0

– récurrente positive : l’espérance du temps de retour est fini pour tout état 𝑖 (ici au plus 8)

∀𝑖 𝐸 𝑇𝑟 𝑖 < +∞

– non périodique : les temps de retour possibles ont un pgcd égal à 1 (ici 2)

Propriété : la distribution asymptotique 𝑃 𝑋∞ d’une chaîne ergodique est la seule stationnaire.

Page 15: Chapitre 7 ANALYSE DE RÉSEAUX - Campus de Metz · • Passage à l’échelle / Big Data : –Giraph on Hadoop –GraphX on Spark –Bases de données de type graphes (Neo4J, etc)

Mineure « Data Science » Frédéric Pennerath

Principe de PageRank

Principe : progression aléatoire équiprobable

Matrice de transition équivalente :

Si deg V𝑖 = 0,𝑷𝑖𝑖 = 1 et pour 𝑖 ≠ 𝑗,𝑷𝑖𝑗 = 0

Sinon si 𝑖, 𝑗 ∈ 𝐸, alors 𝑷𝑖𝑗 =1

deg 𝑉𝑖sinon 𝑷𝑖𝑗 = 0

1

2

3

4

5 6

Problème des culs-de-sac :

La chaîne n’est pas irréductible.

𝑷 =

01

201

20 0

0 01

2

1

20 0

0 0 0 0 1 02

301

30 0 0

0 01

20 0

1

20 0 0 0 0 𝟏

Page 16: Chapitre 7 ANALYSE DE RÉSEAUX - Campus de Metz · • Passage à l’échelle / Big Data : –Giraph on Hadoop –GraphX on Spark –Bases de données de type graphes (Neo4J, etc)

Mineure « Data Science » Frédéric Pennerath

Principe de PageRank

Modification : saut aléatoire sur une page depuis un puits

Si deg V𝑖 = 0,𝑷𝑖𝑗 =1

𝑛

Sinon si 𝑖, 𝑗 ∈ 𝐸, alors 𝑷𝑖𝑗 =1

deg 𝑉𝑖sinon 𝑷𝑖𝑗 = 0

1

2

3

4

5 6 𝑷 =

01

201

20 0

0 01

2

1

20 0

0 0 0 0 1 02

301

30 0 0

0 01

20 0

1

21

6

1

6

1

6

1

6

1

6

1

6

Page 17: Chapitre 7 ANALYSE DE RÉSEAUX - Campus de Metz · • Passage à l’échelle / Big Data : –Giraph on Hadoop –GraphX on Spark –Bases de données de type graphes (Neo4J, etc)

Mineure « Data Science » Frédéric Pennerath

Principe de PageRank

Problème : non-ergodicité de 𝑷 (périodicité, non irréductibilité, temps de retour moyen infini)

Solution : introduction d’une probabilité 𝛼 de reset de la marche aléatoire

𝑷𝑝𝑎𝑔𝑒𝑟𝑎𝑛𝑘 = 1 − 𝛼 ⋅ 𝑷 + 𝛼 ⋅1

𝑛⋅ 𝑱 avec ∀𝑖, ∀𝑗, 𝑱𝑖𝑗 = 1

Typiquement 𝛼 = 10%

Propriété : 𝑷𝑝𝑎𝑔𝑒𝑟𝑎𝑛𝑘 est ergodique car

• Irréductible : ∀𝑖∀𝑗, Tij ≥𝛼

𝑛> 0

• Non périodique : ∀𝑖, Tii ≠ 0 (boucle) donc P 𝑇𝑟 𝑖 > 0 et donc pgcd des temps de retour = 1

• Récurrente positive :

∀𝑖, 𝑃 𝑋𝑡 = 𝑖|𝑋0 = 𝑖 ≤ 1 −𝛼

𝑛

𝑡−1donc 𝐸 𝑇𝑟 𝑖 = 𝑡 𝑡 × 1 −

𝛼

𝑛

𝑡−1< +∞

Page 18: Chapitre 7 ANALYSE DE RÉSEAUX - Campus de Metz · • Passage à l’échelle / Big Data : –Giraph on Hadoop –GraphX on Spark –Bases de données de type graphes (Neo4J, etc)

Mineure « Data Science » Frédéric Pennerath

Implémentation de PageRank

• Calcul matriciel de 𝑃 𝑋∞ impossible (multiplication par 𝑷 en Θ 𝑛2 )

• Utilise le fait que 𝑷 est une matrice creuse.

• Méthode itérative approchée sur les listes d’incidence inversées du graphe

– Initialisation : 𝑃 𝑋0 = 𝑗 =1

𝑛

– 𝑃 𝑋𝑡+1 = 𝑗 = 1 − 𝛼 𝑝𝑎𝑔𝑒 𝑖 𝑝𝑜𝑖𝑛𝑡𝑎𝑛𝑡 𝑠𝑢𝑟 𝑗1

𝑛𝑏𝑟 𝑑𝑒 𝑙𝑖𝑒𝑛𝑠 𝑑𝑒 𝑖𝑃 𝑋𝑡 = 𝑖 + 𝛼 ⋅

1

𝑛

– Condition d’arrêt dès que 𝑋𝑡 − 𝑋𝑡−1 ∞ ≤ 휀

𝑝𝑎𝑔𝑒𝑟𝑎𝑛𝑘 𝑖 = 𝑃(𝑋𝑡 = 𝑖) dès que ∀𝑖 𝑃 𝑋𝑡 = 𝑖 − 𝑃 𝑋𝑡−1 = 𝑖 ≤ 휀

• Approche itérative compatible avec calcul de type Map/Reduce

(cf Giraph/Hadoop, NetworkX/Spark)

Page 19: Chapitre 7 ANALYSE DE RÉSEAUX - Campus de Metz · • Passage à l’échelle / Big Data : –Giraph on Hadoop –GraphX on Spark –Bases de données de type graphes (Neo4J, etc)

Mineure « Data Science » Frédéric Pennerath

En résumé

1

2

3

4

5 6 𝑷 =

01

201

20 0

0 01

2

1

20 0

0 0 0 0 1 02

301

30 0 0

0 01

20 0

1

21

6

1

6

1

6

1

6

1

6

1

6

𝑷𝑝𝑎𝑔𝑒𝑟𝑎𝑛𝑘 = 0,9𝑷 + 0,1 𝑱

1

2

3

4

5 6

𝑃 𝑋∞ =

0,280,220,550,320,580,35

0,28

0,22

0,55

0,32

0,58 0,35

1. Prise en compte des puits

2. Introduction du

reset

3. Algorithme itératif4. Interprétation de la

distribution limite

Page 20: Chapitre 7 ANALYSE DE RÉSEAUX - Campus de Metz · • Passage à l’échelle / Big Data : –Giraph on Hadoop –GraphX on Spark –Bases de données de type graphes (Neo4J, etc)

Mineure « Data Science » Frédéric Pennerath

DÉTECTION DE COMMUNAUTÉ

ET

CLUSTERING SPECTRAL

Page 21: Chapitre 7 ANALYSE DE RÉSEAUX - Campus de Metz · • Passage à l’échelle / Big Data : –Giraph on Hadoop –GraphX on Spark –Bases de données de type graphes (Neo4J, etc)

Mineure « Data Science » Frédéric Pennerath

Problème de détection des communautés

dans les réseaux sociaux

Communauté : ensemble de sommets dont le

sous-graphe induit a une forte densité d’arêtes par

rapport à la densité moyenne du réseau

Problème de clustering topologique :

• Partition de communautés

• Communautés recouvrantes

• Modèles hiérarchiques (communautés

imbriquées)

Exemples de méthodes

• Détection de k-cliques approchées

• Clustering spectral

Page 22: Chapitre 7 ANALYSE DE RÉSEAUX - Campus de Metz · • Passage à l’échelle / Big Data : –Giraph on Hadoop –GraphX on Spark –Bases de données de type graphes (Neo4J, etc)

Mineure « Data Science » Frédéric Pennerath

Approche de type « clustering top-down »(New Spectral Methods for Ratio Cut Partitioning and Clustering, Hagen & al, 1992)

Algorithme :

1. Trouver la meilleure coupe / partition en deux

communautés disjointes 𝑆 et 𝑆 selon un critère de

coût à minimiser

2. S’arrêter si on a atteint un critère d’arrêt

3. Sinon réitérer le processus sur chacun des deux

sous-graphes induits par 𝑆 et 𝑆.

Coupe : ensemble 𝐶 des arêtes

séparant deux sous-ensembles de

sommets disjoints 𝑆 et 𝑆

Page 23: Chapitre 7 ANALYSE DE RÉSEAUX - Campus de Metz · • Passage à l’échelle / Big Data : –Giraph on Hadoop –GraphX on Spark –Bases de données de type graphes (Neo4J, etc)

Mineure « Data Science » Frédéric Pennerath

Exemple de calcul de coupe

par la « méthode du vecteur de Fiedler »

Page 24: Chapitre 7 ANALYSE DE RÉSEAUX - Campus de Metz · • Passage à l’échelle / Big Data : –Giraph on Hadoop –GraphX on Spark –Bases de données de type graphes (Neo4J, etc)

Mineure « Data Science » Frédéric Pennerath

Comment définir la meilleure coupe ?

Idée : trouver un ensemble de sommets pour lequel

l’information diffuse/percole peu à l’extérieur

Objectif:

Trouver une coupe telle que

• 𝑆 ait peu de connexions externes

• 𝑆 ait beaucoup de connexions internes

• 𝑆 a moins de connexions que 𝑆

Fonction de coût à minimiser :

• Conductance 𝜙(𝑆)

• Coût de coupe 𝐶(𝑆)

𝜙(𝑆) =3

min 9 + 3,14 + 3= 0,25

𝑪

𝑆

𝑆

𝜙(𝑆) =𝑠1, 𝑠2 ∈ 𝐴| 𝑠1 ∈ 𝑆, 𝑠2 ∉ 𝑆

min 𝑠1, 𝑠2 ∈ 𝐴| 𝑠1 ∈ 𝑆 ∨ 𝑠2 ∈ 𝑆 , 𝑠1, 𝑠2 ∈ 𝐴| 𝑠1 ∉ 𝑆 ∨ 𝑠2 ∉ 𝑆

𝐶(𝑆) =𝑠1, 𝑠2 ∈ 𝐴| 𝑠1 ∈ 𝑆, 𝑠2 ∉ 𝑆

𝑆 × 𝑆

𝐶(𝑆) =3

5 × 7= 0,08

Page 25: Chapitre 7 ANALYSE DE RÉSEAUX - Campus de Metz · • Passage à l’échelle / Big Data : –Giraph on Hadoop –GraphX on Spark –Bases de données de type graphes (Neo4J, etc)

Mineure « Data Science » Frédéric Pennerath

Matrice laplacienne

Laplacien d’un graphe : matrice 𝐿 de taille 𝑛 × 𝑛 telle que 𝐿𝑖𝑖 = deg(𝑠𝑖) − 𝐴𝑖𝑖 et 𝑖 ≠ 𝑗 ⇒ 𝐿𝑖𝑗 = −𝐴𝑖𝑗

Propriétés :

• En notant D = 𝑑𝑖𝑎𝑔 deg 𝑠1 , … , deg 𝑠𝑛 , 𝐿 = 𝐷 − 𝐴 = 𝐵 × 𝐵𝑡

• Matrice symétrique définie semi-positive (donc diagonalisable de valeurs propres non négatives)

• Chaque composante connexe est un vecteur propre de la valeur propre 0 :

𝐿 × 1 = 0 avec 1 = 1 … 1 T

1

2

3

4

𝐷 =

𝑠1 𝑠2 𝑠3 𝑠4𝑠1𝑠2𝑠3𝑠4

4 0 0 00 3 0 00 0 2 00 0 0 5

𝐴 =

𝑠1 𝑠2 𝑠3 𝑠4𝑠1𝑠2𝑠3𝑠4

0 1 0 31 0 1 10 1 0 13 1 1 0

⇒ 𝐿 = 𝐷 − 𝐴 =

𝑠1 𝑠2 𝑠3 𝑠4𝑠1𝑠2𝑠3𝑠4

4 −1 0 −3−1 3 −1 −10 −1 2 −1−3 −1 −1 5

Page 26: Chapitre 7 ANALYSE DE RÉSEAUX - Campus de Metz · • Passage à l’échelle / Big Data : –Giraph on Hadoop –GraphX on Spark –Bases de données de type graphes (Neo4J, etc)

Mineure « Data Science » Frédéric Pennerath

Spectre de la matrice laplacienne

Soit le spectre Λ𝐿 = 𝜆1, … , 𝜆𝑘 de 𝐿 tel que 0 = 𝜆1 < 𝜆2 < ⋯ < 𝜆𝑘 d’un graphe connexe

Propriété :

𝜆2 = min𝑋⊥1

𝑋𝑇𝐿𝑋

𝑋𝑇𝑋

= min 𝑥𝑖=0

𝑋𝑇𝐿𝑋

𝑋𝑇𝑋𝑛 𝜆2 = min

𝑥𝑖=0

𝑥𝑖2=𝑛

𝑋𝑇𝐿𝑋

= min 𝑥𝑖=0

𝑥𝑖2=𝑛

𝑖∈𝑆

deg 𝑠𝑖 ⋅ 𝑥𝑖2 − 2

𝑖,𝑗 ∈A

𝑥𝑖𝑥𝑗

= min 𝑥𝑖=0

𝑥𝑖2=𝑛

𝑖,𝑗 ∈A

𝑥𝑖 − 𝑥𝑗2

Page 27: Chapitre 7 ANALYSE DE RÉSEAUX - Campus de Metz · • Passage à l’échelle / Big Data : –Giraph on Hadoop –GraphX on Spark –Bases de données de type graphes (Neo4J, etc)

Mineure « Data Science » Frédéric Pennerath

Lien avec la coupe optimale

Soit 𝑋2 = 𝑥𝑖 le vecteur propre de 𝜆2 (vecteur de Fiedler)

𝑋2 = argmin 𝑥𝑖=0

𝑥𝑖2=𝑛

𝑖,𝑗 ∈A

𝑥𝑖 − 𝑥𝑗2

Soit la coupe 𝑆 = 𝑠𝑖 | 𝑥𝑖 ≥ 0 et 𝑆 = 𝑠𝑖 | 𝑥𝑖 < 0

Supposons que ∀𝑖 𝑥𝑖 = ±1

• 𝑖,𝑗 ∈A 𝑥𝑖 − 𝑥𝑗2= 4 𝑠1, 𝑠2 ∈ 𝐴| 𝑠1 ∈ 𝑆, 𝑠2 ∉ 𝑆

• 𝑥𝑖 = 0 ⇒ 𝑆 = 𝑆 =𝑛

2

Conséquence : coût de coupe 𝐶 𝑆 =𝑠1,𝑠2 ∈𝐴| 𝑠1∈𝑆,𝑠2∉𝑆

𝑆 × 𝑆=𝜆2

𝑛est minimal

En pratique : les 𝑥𝑖 de 𝑋2 ne valent pas ±1mais ne sont jamais très éloignés

Page 28: Chapitre 7 ANALYSE DE RÉSEAUX - Campus de Metz · • Passage à l’échelle / Big Data : –Giraph on Hadoop –GraphX on Spark –Bases de données de type graphes (Neo4J, etc)

Mineure « Data Science » Frédéric Pennerath

En résumé

1

3

2

𝐿 = 𝐷 − 𝐴 =

2 −1 −1−1 2 −1−1 −1 3 −1

−1 3 −1 −1−1 2 −1−1 −1 2

Λ = 0 ; 0,44; 3; 3; 3; 4,5

5

4

6

𝑋2 =

0,460,460,26−0,26−0,46−0,46

1

3

2

5

4

6

0,46

0,46

0,26

−0,46

−0,46

-0,26

1. Calcul du Laplacien

2. Calcul des valeurs propres

3. Calcul du vecteur de Fiedler

4. Extraction des

composantes positives et

négatives