lezione3: reti sociali, algoritmi spettrali e snap

35
Reti sociali, algoritmi spettrali, SNAP Perché le reti sociali sono diverse dalle altre?  Il PageRank e le comunità  SNAP: un laboratorio per tutti

Upload: andrea-capocci

Post on 01-Jul-2015

139 views

Category:

Education


0 download

DESCRIPTION

Cosa distingue le reti sociali? Quali algoritmi permettono di calcolare la "rilevanza" di una pagina web?

TRANSCRIPT

Page 1: Lezione3: Reti sociali, Algoritmi spettrali e SNAP

Reti sociali, algoritmi spettrali, SNAP

● Perché le reti sociali sono diverse dalle altre?

● Il PageRank e le comunità

● SNAP: un laboratorio per tutti

Page 2: Lezione3: Reti sociali, Algoritmi spettrali e SNAP

Le reti sociali

Le reti sociali studiate in letteratura sono “complesse”:

● Pochi gradi di separazione● Elevato clustering

… ma hanno una particolarità.

Page 3: Lezione3: Reti sociali, Algoritmi spettrali e SNAP

Assortative mixing nelle reti sociali

Nelle  reti  sociali  i  nodi  della  rete  tendono  a collegarsi preferibilmente con nodi con un grado k simile.

➔ I gradi dei nodi vicini sono correlati positivamente.

In  sociologia,  per  le  reti  in  cui  i  gradi  dei  nodi vicini  sono  correlati  si  parla  di  assortative mixing.

Page 4: Lezione3: Reti sociali, Algoritmi spettrali e SNAP

Come si osserva l'assortatività?

r di Pearson: coefficiente di correlazione tra il “grado in eccesso” (excess degree q

i = k

i) dei nodi 

vicini

r=∑ jk

jk (e jk−q j qk )

∑kk 2qk−(∑k

qk )2

Page 5: Lezione3: Reti sociali, Algoritmi spettrali e SNAP

Come si osserva l'assortatività?

Knn

(k): grado medio dei vicini dei nodi di grado k

Knn

(k) crescente → mixing assortativo

Knn

(k) decrescente  → mixing disassortativo

K nn(k )=

∑k i=k

∑j∈I (i)

k j

NP (k )k

Page 6: Lezione3: Reti sociali, Algoritmi spettrali e SNAP

Come si osserva l'assortatività?

r : quantitativo e non ambiguo

Knn

(k): qualitativo ma più utile se il rumore 

statistico è elevato e il coefficiente r è troppo vicino a 0.

Page 7: Lezione3: Reti sociali, Algoritmi spettrali e SNAP

Le correlazioni nelle reti sociali

Page 8: Lezione3: Reti sociali, Algoritmi spettrali e SNAP

Perché le reti sociali sono diverse?

Nelle reti sociali i nodi sono organizzati in comunità

Le reti sociali sono soprattutto reti collaborative

Page 9: Lezione3: Reti sociali, Algoritmi spettrali e SNAP

Il modello di rete sociale di Newman e Park

● N nodi, G comunità● r

m: probabilità che un nodo appartenga a m 

comunità● s

n: probabilità che un gruppo contenga n nodi

● nodi distribuiti nelle comunità in modo casuale● due nodi nella stessa comunità sono connessi con probabilità p

Page 10: Lezione3: Reti sociali, Algoritmi spettrali e SNAP

Il modello di rete sociale di Newman e Park

Nodi e comunità

Link possibili

Page 11: Lezione3: Reti sociali, Algoritmi spettrali e SNAP

Il modello di rete sociale di Newman e Park

Nodi e comunità

Link possibili

Page 12: Lezione3: Reti sociali, Algoritmi spettrali e SNAP

Il calcolo della correlazione r

● Nel modello di Newman e Park, la correlazione r si può calcolare analiticamente. 

● rn e s

n siano distribuzioni poissoniane 

→ probabilità costante che un nodo appartenga ad una comunità

Page 13: Lezione3: Reti sociali, Algoritmi spettrali e SNAP

Il calcolo della correlazione r

In questo caso, la correlazione r si può calcolare analiticamente:

dove 

r=p

1+ν+νμ p>0

ν=∑n n r nμ=∑n n sn

Page 14: Lezione3: Reti sociali, Algoritmi spettrali e SNAP

Il calcolo della correlazione r

Verifica del modello

Rete degli autori di articoli scientificir

real = 0.145

rteor

 = 0.174 ± 0.45

Rete dei managerr

real = 0.276

rteor

 = 0.116

Page 15: Lezione3: Reti sociali, Algoritmi spettrali e SNAP

Il calcolo della correlazione r

Verifica del modello

Rete degli autori di articoli scientificir

real = 0.145

rteor

 = 0.174 ± 0.45 OK

Rete dei managerr

real = 0.276

rteor

 = 0.116

Page 16: Lezione3: Reti sociali, Algoritmi spettrali e SNAP

Il calcolo della correlazione r

Verifica del modello

Rete degli autori di articoli scientificir

real = 0.145

rteor

 = 0.174 ± 0.45 OK

Rete dei managerr

real = 0.276

rteor

 = 0.116  ???

Page 17: Lezione3: Reti sociali, Algoritmi spettrali e SNAP

Algoritmi spettrali

Algoritmi basati sullo studio di matrici associate alle reti● PageRank● Community detection

Page 18: Lezione3: Reti sociali, Algoritmi spettrali e SNAP

PageRank

Algoritmo con cui Google “valuta” la rilevanza delle pagine web

Una pagina web è rilevante se la probabilità di visitarla navigando sui link della rete è alta

Ad ogni pagina web viene assegnato un valore detto “PageRank”, PR(i).

Page 19: Lezione3: Reti sociali, Algoritmi spettrali e SNAP

PageRank

PageRank: distribuzione stazionaria di un random walk a tempi discreti sulla rete WWW (diretta)

PR(i) : probabilità che un navigatore casuale si trovi sul nodo i dopo un tempo t → ∞

Page 20: Lezione3: Reti sociali, Algoritmi spettrali e SNAP

Il calcolo del PageRank

Page 21: Lezione3: Reti sociali, Algoritmi spettrali e SNAP

Il calcolo del PageRank

Probabilità di transizione

Page 22: Lezione3: Reti sociali, Algoritmi spettrali e SNAP

Il calcolo del PageRankv  = distribuzione iniziale

vi  = probabilità di trovare un random walk sul 

nodo i al tempo iniziale

v(t) = distribuzione del random walk dopo t passi

vi(t) = probabilità di trovare un random walk sul 

nodo i al tempo t

PR(i) = vi(∞)

Page 23: Lezione3: Reti sociali, Algoritmi spettrali e SNAP

Il calcolo del PageRankv  = distribuzione iniziale

vi  = probabilità di trovare un random walk sul 

nodo i al tempo iniziale

v(t) = distribuzione del random walk dopo t passi

vi(t) = probabilità di trovare un random walk sul 

nodo i al tempo t

PR(i) = vi(∞) ∑

i

v i=∑i

v i(t )=∑

i

v i(∞)

=∑i

PR(i)=1

Page 24: Lezione3: Reti sociali, Algoritmi spettrali e SNAP

Il calcolo del PageRank

La distribuzione al primo step evolve così :v i

(1)=∑ j Aij v j

Per un generico intervallo t→t+1:v i

(t+1)=∑ j Aij v j(t )

Se t→∞

v i(∞)=∑ j Aij v j

(∞)

Page 25: Lezione3: Reti sociali, Algoritmi spettrali e SNAP

Il calcolo del PageRank

Usando il formalismo vettoriale

v( )∞  = Av( )∞

Quindi 

il PageRank è l'autovettore principale della matrice A associato all'autovalore 1

Page 26: Lezione3: Reti sociali, Algoritmi spettrali e SNAP

Le “patologie” della rete

Loop e nodi con out­degree nullo possono ridurre lo stato stazionario in uno stato banale.Per ovviare a questo problema, Brin e Page modificarono il processo stocastico così:

●con probabilità 1­p, ad ogni passo il “random surfer” segue i link della rete●con probabilità p il “random surfer” salta su un'altra pagina scelta casualmente

Page 27: Lezione3: Reti sociali, Algoritmi spettrali e SNAP

Le “patologie” della rete

Il processo stocastico ora è descritto dall'equazione

e tende all'autovettore principale della matrice

con

v i(t+1)

=(1− p)∑j

Aij v j(t )+pN

Page 28: Lezione3: Reti sociali, Algoritmi spettrali e SNAP

Teorema di Perron-Frobenius

La matrice M:

● ha un autovalore 1 di molteplicità 1● 1 è l'autovalore massimo● l'autovettore corrispondente ha tutti elementi positivi●

Page 29: Lezione3: Reti sociali, Algoritmi spettrali e SNAP

Le comunità

La matrice AT

● ha un autovalore pari a 1

● corrisponde ad un autovalore con componenti costanti

Page 30: Lezione3: Reti sociali, Algoritmi spettrali e SNAP

Le comunità

Se una rete ha componenti disconnesse...

Page 31: Lezione3: Reti sociali, Algoritmi spettrali e SNAP

Le comunità

… la matrice A è a blocchi...

Page 32: Lezione3: Reti sociali, Algoritmi spettrali e SNAP

Le comunità

… e la trasposta ha più autovettori principali con un aspetto particolare.

Page 33: Lezione3: Reti sociali, Algoritmi spettrali e SNAP

Le comunità

Dunque

●La molteplicità dell'autovalore 1 ci dice il numero di componenti disconnesse

●Le componenti dell'autovettore di AT che hanno lo stesso valore corrispondono a nodi che appartengono alla stessa componente

●Lo studio di autovettori e autovalori di A e AT ci permette di capire la presenza di comunità all'interno della rete

Page 34: Lezione3: Reti sociali, Algoritmi spettrali e SNAP

Bibliografia

M. E. J. Newman e Juyong Park “Why social networks are different from other types of networks”Phys. Rev. E 68, 036122 (2003)

Page, Lawrence, Sergey Brin, Rajeev Motwani, and Terry Winograd. "The PageRank citation ranking: bringing order to the web." (1999).

Capocci, Andrea, et al. "Detecting communities in large networks." Physica A: Statistical Mechanics and its Applications 352.2 (2005): 669­676.

Page 35: Lezione3: Reti sociali, Algoritmi spettrali e SNAP

Analizzare le reti con Awk

http://snap.stanford.edu/data/ca-CondMat.html

Scrivi la P(k):

awk ' { k[$1]++; k[$2]++ } END{for (i in k) count[k[i]]++; for (i in count) print i,count[i]}' ca-CondMat.txt | sort -n > pdk_condmat.dat