(Laboratorio di )
Sistemi Informatici Avanzati
Giuseppe Manco
SEARCH
Approcci alle reti di grandi dimensioni
Heavy-tails e power laws (su scale di grandi imensioni):
•
forte eterogeneità locale, mancanza di struttura
•
base per i modelli preferential attachment
Local clustering/structure (su scale di piccole dimensioni):
•
situazioni locali hanno una struttura “geometrica”
•
punto di partenza per modelli small world che partono con
una “geometria” globale e aggiungono link random per
ottenere un diametro piccolo e preservare la geometria a
livello locale
Le problematiche di interesse
• Quali sono le statistiche di base (degree distributions,
clustering coefficients, diametro, etc.)?
• Ci sono raggruppamenti/partizioni naturali?
• Come evolvono/rispondono alle perturbazioni le reti?
• Come avvengono I processi dinmaici - search, diffusion,
etc. – nelle reti?
• Come fare classificazione, regressione, ranking, etc.?
Osservazioni sulle reti reali
• Diametro
– Costante
• Coefficiente di clustering
– Costante
• Degree distribution
– Power-law
Applicazioni: Search
• Small world
– È possibile navigare la rete
• Preferential attachment
– Ci sono alcuni grossi hubs
• Come sfruttare tali informazioni?
Singular Value Decomposition
• Tecnica di decomposizione matriciale
• Basata sull’analisi spettrale
• Tante applicazioni
La Singular Value Decomposition (SVD)
• Data una matrice A, m x n, essa può essere decomposta come
prodotto di tre matrici:
•
•
•
p: rango di A
U, V: matrici ortogonali (UTU=Im,
VTV=In) contenenti
rispettivamente i vettori singolari destri e sinistri di A
∑: matrice diagonale contenente i valori singolari di A, in ordine
non-crescente σ1≥σ2≥... ≥σp ≥0
Interpretazione a Layer della SVD
mxn
A
mxn
=
σ1 u1vT1
+
σ2 u1vT1
Importanza decrescente
+...
Vettori Singolari, Intuizione
I cerchi blu rappresentano m punti nello
spazio euclideo.
La SVD della matrice mx2 sarà costituita
da:
- Primo vettore singolare (destro):
direzione della varianza max
- Secondo vettore singolare (destro):
direzione della max varianza dopo aver
rimosso la proiezione dei dati lungo il
primo vettore singolare
Vettori Singolari, Intuizione
•
•
σ1: misura quanta varianza dei dati
è “catturata/spiegata” dal primo
vettore singolare
σ2: misura quanta varianza dei dati
è “ catturata/spiegata ”
dal
secondo vettore singolare
Low Rank Approximation
• Si tronca la SVD ai primi k termini:
•
•
•
k= rango della decomposizione
Uk, Vk: matrici ortogonali contenenti rispettivamente i primi k
vettori singolari destri e sinistri di A
∑k: matrice diagonale contenente i primi valori k singolari di A
Proprietà
• Anche per matrici con dati positivi, la SVD è mista in segno
+
+
•
•
•
+/-
+/-
U e V sono dense
Unicità: nonostante ci siano diversi algoritmi, questi
producono la stessa SVD (A troncata)
Proprietà: mantenere i primi k valori singolari di A fornisce la
migliore rank-k approximation di A rispetto alla Frobenius
norm
Low Rank Approximation
• Usa Ak al posto di A
VT
A
mxn
≈
UkmUmm
∑kk
kxn
∑
VT
mxn
nxn
nxn
Sommario della Truncated SVD
• Pro:
– Usare Ak al posto di A implica un aumento delle performance
generale degli algoritmi di mining
– la riduzione del rumore isola le componenti essenziali della
matrice dati
– Best rank-k approximation
– Ak è unica e ottima secondo la Frobenious norm
• Contro:
– Storage (Uk e Vk sono dense)
– L’interpretazione di U e V è difficile perchè hanno segno
misto
– Un buon punto di troncamento k è difficile da determinare
Applicazioni della SVD all’analisi dei
dati
•
Dimensionality reduction: la truncated SVD fornisce una
rappresentazione compressa di dati ad alta dimensionalità
(con molti attributi).
•
•
•
La compressione SVD minimizza la perdita di informazione,
misurata secondo la Frobenious norm
Se i dati originali contengono rumore, la riduzione di
dimensionalità può essere considerata come una tecnica di
attenuazione del rumore
Se fissiamo k=2 o k=3, allora è possibile plottare le righe di
U. La rappresentazione grafica rende possibile
un’interpretazione visuale della struttura del dataset
SVD - Example
SVD e Latent
Semantic Indexing
T
• A = U L V - example:
retrieval
inf.
lung
brain
data
CS
MD
1
2
1
5
0
0
0
1
2
1
5
0
0
0
KDD'09
1
2
1
5
0
0
0
0
0
0
0
2
3
1
0
0
0
0
2
3
1
=
0.18
0.36
0.18
0.90
0
0
0
0
0
0
0
0.53
0.80
0.27
x
9.64 0
0
5.29
Faloutsos, Miller, Tsourakakis
x
0.58 0.58 0.58 0
0
0
0
0
0.71 0.71
P1-23
SVD - Example
SVD e Latent
Semantic
Indexing
T
• A = U L V - example:
retrieval CS-concept
inf.
lung
MD-concept
brain
data
CS
MD
1
2
1
5
0
0
0
1
2
1
5
0
0
0
KDD'09
1
2
1
5
0
0
0
0
0
0
0
2
3
1
0
0
0
0
2
3
1
=
0.18
0.36
0.18
0.90
0
0
0
0
0
0
0
0.53
0.80
0.27
x
9.64 0
0
5.29
Faloutsos, Miller, Tsourakakis
x
0.58 0.58 0.58 0
0
0
0
0
0.71 0.71
P1-24
SVD - Example
SVD e Latent
Semantic
Indexing
T
• A = U L V - example:
retrieval CS-concept
inf.
lung
MD-concept
brain
data
CS
MD
1
2
1
5
0
0
0
1
2
1
5
0
0
0
KDD'09
1
2
1
5
0
0
0
0
0
0
0
2
3
1
0
0
0
0
2
3
1
=
0.18
0.36
0.18
0.90
0
0
0
0
0
0
0
0.53
0.80
0.27
x
9.64 0
0
5.29
x
0.58 0.58 0.58 0
0
0
0
0
0.71 0.71
Faloutsos, Miller, Tsourakakis
Affinità documento-concetto
P1-24
SVD - Example
SVD
e
Latent
Semantic
Indexing
T
• A = U L V - example:
retrieval CS-concept
inf.
lung
MD-concept
brain
data
CS
MD
1
2
1
5
0
0
0
1
2
1
5
0
0
0
KDD'09
1
2
1
5
0
0
0
0
0
0
0
2
3
1
0
0
0
0
2
3
1
=
0.18
0.36
0.18
0.90
0
0
0
0
0
0
0
0.53
0.80
0.27
x
9.64 0
5.29
0
Faloutsos, Miller, Tsourakakis
Importanza del concetto
x
0
0.58 0.58 0.58 0
0.71 0.71
0
0
0
P1-24
SVD - Example
SVD e Latent
Semantic
Indexing
T
• A = U L V - example:
retrieval CS-concept
inf.
lung
MD-concept
brain
data
CS
MD
1
2
1
5
0
0
0
1
2
1
5
0
0
0
KDD'09
1
2
1
5
0
0
0
0
0
0
0
2
3
1
0
0
0
0
2
3
1
=
0.18
0.36
0.18
0.90
0
0
0
0
0
0
0
0.53
0.80
0.27
x
9.64 0
0
5.29
Faloutsos, Miller, Tsourakakis
Affinità termine-concetto
x
0.58 0.58 0.58 0
0
0
0
0
0.71 0.71
P1-24
CMU SCS
Riduzione di dimensionalità
SVD - Interpretation #2
• A = U L VT - example:
1
2
1
5
0
0
0
1
2
1
5
0
0
0
KDD'09
1
2
1
5
0
0
0
0
0
0
0
2
3
1
0
0
0
0
2
3
1
=
0.18
0.36
0.18
0.90
0
0
0
0
0
0
0
0.53
0.80
0.27
x
9.64 0
0
5.29
Faloutsos, Miller, Tsourakakis
x
v1
0.58 0.58 0.58 0
0
0
0
0
0.71 0.71
P1-38
SVD - Interpretation
#2
Riduzione
di dimensionalità
• A = U L VT - example:
variance (‘spread’) on the v1 axis
Varianza lungo l’asse v1
1
2
1
5
0
0
0
1
2
1
5
0
0
0
KDD'09
1
2
1
5
0
0
0
0
0
0
0
2
3
1
0
0
0
0
2
3
1
=
0.18
0.36
0.18
0.90
0
0
0
0
0
0
0
0.53
0.80
0.27
x
9.64 0
0
5.29
Faloutsos, Miller, Tsourakakis
x
0.58 0.58 0.58 0
0
0
0
0
0.71 0.71
P1-39
CMU SCS
Riduzione
di dimensionalità
SVD - Interpretation
#2
••
•
•
Eliminiamo
More detailselementi a bassa varianza
Q: how exactly is dim. reduction done?
A: set the smallest singular values to zero:
1
2
1
5
0
0
0
1
2
1
5
0
0
0
KDD'09
1
2
1
5
0
0
0
0
0
0
0
2
3
1
0
0
0
0
2
3
1
=
0.18
0.36
0.18
0.90
0
0
0
0
0
0
0
0.53
0.80
0.27
x
9.64 0
0
5.29
Faloutsos, Miller, Tsourakakis
x
0.58 0.58 0.58 0
0
0
0
0
0.71 0.71
P1-42
SVD
Interpretation
#2
Riduzione di dimensionalità
• Eliminiamo gli elementi a bassa varianza
1
2
1
5
0
0
0
1
2
1
5
0
0
0
KDD'09
1
2
1
5
0
0
0
0
0
0
0
2
3
1
0
0
0
0
2
3
1
~
0.18
0.36
0.18
0.90
0
0
0
0
0
0
0
0.53
0.80
0.27
x
9.64 0
0
0
Faloutsos, Miller, Tsourakakis
x
0.58 0.58 0.58 0
0
0
0
0
0.71 0.71
P1-44
CMU SCS
SVD - Interpretation
#2
Riduzione
di dimensionalità
• Eliminiamo gli elementi a bassa varianza
1
2
1
5
0
0
0
1
2
1
5
0
0
0
KDD'09
1
2
1
5
0
0
0
0
0
0
0
2
3
1
0
0
0
0
2
3
1
~
0.18
0.36
0.18
0.90
0
0
0
x
9.64
Faloutsos, Miller, Tsourakakis
x
0.58 0.58 0.58 0
0
P1-45
CMU SCS
SVD
Interpretation #2
Riduzione
di-dimensionalità
• Eliminiamo gli elementi a bassa varianza
1
2
1
5
0
0
0
1
2
1
5
0
0
0
KDD'09
1
2
1
5
0
0
0
0
0
0
0
2
3
1
0
0
0
0
2
3
1
~
1
2
1
5
0
0
0
1
2
1
5
0
0
0
1
2
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Faloutsos, Miller, Tsourakakis
P1
•
•
Applicazioni della SVD all’analisi dei
dati
Clustering: nello spazio della trasformazione SVD troncata, la
relazioni tra i punti sono più evidenti e il processo di clustering ne
trae diretto vantaggio
Applicazioni al clustering:
•
•
Clustering sul nuovo spazio
Utilizzo diretto delle proprietà dell’SVD
•
•
Spectral clustering: i punti che giacciono nel cono intorno al
primo asse (prodotto con il primo asse <1/2) sono
raggruppati in un cluster
Quelli con la stessa proprietà rispetto al secondo asse
vengono raggruppati nel secondo cluster e così via
SVD - Interpretation #3
Raggruppamenti, blocchi
• finds non-zero ‘blobs’ in a data matrix
1
2
1
5
0
0
0
1
2
1
5
0
0
0
KDD'09
1
2
1
5
0
0
0
0
0
0
0
2
3
1
0
0
0
0
2
3
1
=
0.18
0.36
0.18
0.90
0
0
0
0
0
0
0
0.53
0.80
0.27
x
9.64 0
0
5.29
x
0.58 0.58 0.58 0
0
0
0
0
0.71 0.71
Faloutsos, Miller, Tsourakakis
P1-54
SVD - Interpretation #3
Raggruppamenti, blocchi
• finds non-zero ‘blobs’ in a data matrix
1
2
1
5
0
0
0
1
2
1
5
0
0
0
KDD'09
1
2
1
5
0
0
0
0
0
0
0
2
3
1
0
0
0
0
2
3
1
=
0.18
0.36
0.18
0.90
0
0
0
0
0
0
0
0.53
0.80
0.27
x
9.64 0
0
5.29
x
0.58 0.58 0.58 0
0
0
0
0
0.71 0.71
Faloutsos, Miller, Tsourakakis
P1-55
Raggruppamenti, blocchi
•
Applicazioni della SVD all’analisi dei dati
Ranking:
•
•
•
•
•
•
Ogni riga di U può essere rappresentata come un punto nello spazio kdimensionale. Supponiamo di tracciare una freccia dall’origine verso
ciascuno dei punti
L’angolo (coseno) tra i due vettori denota la correlazione tra i punti
Oggetti altamente correlati o altamente non correlati con altri punti
tendono a piazzarsi intorno all’origine
Punti collocati lontano dall ’ origine corrispondono ad oggetti che
esibiscono una correlazione inusuale con altri oggetti
Punti collocati vicino all’origine sono meno “interessanti”
Il rank degli oggetti può essere effettuato tenendo conto della distanza
dall’origine
Proprietà (A)
U U = Im
T
V V = In
T
(
L = diag s , s ,..., s
k
AT = V LU T
k
1
k
2
k
r
)
Proprietà (B)
AA = UL U
T
2
T
• Similarità documento-documento
A A = VL V
T
2
• Similarità termine-termine
T
Proprietà (B)
( A A)
T
k
= VL V
2k
T
• Inoltre:
( A A)
T
k
» vs v
2k T
1 1 1
• v1 autovettore relativo a σ1 (l’autovalore più
grande)
Proprietà (C)
( A A) v » l v
T
k
T
1
• Per qualsiasi vettore v
– Conseguenza: procedura iterativa per il calcolo
degli autovettori
Proprietà (C)
Ax = b
• Ammette soluzione
-1
x = VL U b
T
Proprietà (C)
Av1 = s 1u1
u A = s 1v1
T
1
• conseguentemente
A Av1 = s 1 v1
T
2
PCA e MDS
Principal Components Analysis (PCA)
• Dati{Xi}i=1,…,n con Xi vettori reali,
trova il sottospazio k-dimensionale P e il mapping Yi=PXi
t.c.. Variance(Y) è massima (o Error(Y) è minimo)
• SVD sulla matrice di covarianza C =XXT
Multidimensional Scaling (MDS)
• Dati {Xi}i=1,…,n con Xi vettori reali,
trova il sottospazio k-dimensionale P e il mapping Yi=PXi
t.c. Dist(Yi-Yj) = Dist(Xi-Xj) (ovvero distanze preservate)
•SVD sulla matrice matrix G = XT X
LSI/SVD e power laws
• Gli autovalori più grandi della matrice di
adiacenza di un grafo scale-free sono
distribuiti con una power-law.
Caso di Studio: Social Network Analysis
• Obiettivo: identificare proprietà e relazioni tra i membri di al
Qaeda
• Il dataset fornito da Marc Sageman contiene informazioni su
366 membri dell’associazione terorristica all’inizio del 2004
• Attributi:
al Qaeda Dataset
• Grafo delle relazioni: 366 nodi e 2171 archi.
• Il grado massimo del grafo è 44, mentre
quello medio è 6.44.
• Il diametro è 11
• Bavelas-Leavitt Centrality: rapporto tra la
somma dei cammini geodesici aventi come
sorgente/destinazione il nodo considerato e
la somma dei cammini geodesici dell’intero
dataset
al Qaeda Dataset:
al Qaeda Dataset: Link Analysis
• Analisi della matrice di adiacenza 366 x 366
– Contatti e relazioni tra i membri
Algerians
South East Asian
•
•
•
Leaders and core Arabs
Plot of the low rank (3) SVD of al Qaeda members using only
relationship attribute
4 cluster
Hambali ha
connessione
un
ruolo
di
bin Laden non è l’elemento
estremo del cluster che
identifica la leadership
SVD e centralità
Misura l’importanza di un nodo
• degree centrality – numero di link di un nodo
• betweenness centrality –numero di cammini che lo
contengono
• closeness centrality - potenziale di comunicazione
indipendente
• eigenvector centrality – connessioni a nodi con highdegree, iterativamente
Eigenvector centrality
N
x j » å aij xi
i=1
• Riformulato, risulta essere
Ax = s x
IL WEB
Struttura del Web
395
13.6. EXERCISES
1
5
4
2
3
10
6
8
9
7
16
15
11
12
13
14
17
18
Figure 13.8: A direct ed graph of Web pages.
(b) Name an edge you could add or delete from t he graph in Figure 13.8 so as t o
Source: David Easley, increase
Jon Kleinberg
Networks, Crowds, and Markets, Cambridge University Press (2010)
t he size of t he set IN.
(c) Name an edge you could add or delete from t he graph in Figure 13.8 so as t o
Struttura del web
13.3. THE WEB AS A DIRECT ED GRAPH
387
I'm a student
at Univ. of X
I'm a applying to
college
Univ. of X
My song
lyrics
Classes
USNews:
College
Rankings
I teach at
Univ. of X
Networks
USNews:
Featured
Colleges
Networks
class blog
Blog post about
college rankings
Blog post
about
Company Z
Company Z's
home page
Our
Founders
Press
Releases
Contact Us
Figure
13.6: A direct
ed graph
wit h it s st rongly
connected component
s identified.
Source: David Easley, Jon Kleinberg Networks,
Crowds,
and
Markets,
Cambridge
University
Press (2010)
Bow-Tie
Source:A. Broder, et at.. Graph structure in the Web. In Proc. WWW, pages 309–320, 2000.
Il problema della Ricerca
• Inserisci un termine nella pagina di google
– Analizza i risultati
• Il primo elemento è quello che ti aspettavi?
• Come ha fatto google a calcolare il risultato?
Search
• Un problema difficile
– Information retrieval: ricerca in grosse repositories, sulla
base di keywords
– Keywords limitate e inespressive, e:
• sinonimia (modi multipli per dire la stessa cosa: casa, abitazione)
• Polisemia (significati multipli per lo stesso termine: Jaguar, Apple)
– Differenti modalità di authoring
• Esperti, novizi, etc.
– Estrema dinamicità del web
– Shift
• Scarcity -> abundance
Hubs, Authorities
• Un problema di links
– Perché wikipedia è in cima agli elementi suggeriti?
Hubs, authorities
• Molte pagine contengono il termine “reti
sociali”
– Perché wikipedia è più rilevante?
• Indicheresti wikipedia come riferimento?
Hubs, authorities
CHAPTER 14. LINK ANALYSIS AND WEB SEARCH
400
• Votazione
SJ Merc
News
Wall St.
Journal
New York
Times
USA Today
Facebook
Yahoo!
Amazon
2 votes
2 votes
4 votes
3 votes
1 vote
3 votes
3 votes
Figure 14.1: Count ing in-links t o pages for t he query “ newspapers.”
Source: David Easley, Jon Kleinberg Networks, Crowds, and Markets, Cambridge University Press (2010)
Hubs, authorities
402
CHAPT ER 14. LINK ANALYSIS AND WEB SEARCH
• Compilazione di liste
SJ Merc
News
– Ogni pagina “rappresenta”
quelle che la puntano
new score: 19
8
Wall St.
Journal
11
7
New York
Times
new score: 19
new score: 31
3
6
5
6
USA Today
new score: 24
3
Facebook
3
Yahoo!
Amazon
new score: 5
new score: 15
new score: 12
Figure 14.3: Re-weight ing vot es for t he query “ newspapers” : each of t he labeled page’s new
score is equal t o t he sum of t he values of all list s t hat point to it .
of links t o on-line newspapers; for “ Cornell,” one can find many alumni who maint ain pages
Hubs, authorities
• Miglioramento iterativo
• Normalizzazione
• Authorities
– Le pagine che rappresentano gli end-points
• Hubs
– Le pagine che rappresentano molte altre pagine (e
il cui voto conseguentemente conta tanto)
Hubs, authorities
• Hubs
• Authorities
Kle
Authority value
• Dato un nodo i:
ai = hk + hl + hm
• Generalizzando su ogni nodo:
k
i
l
m
a =A h
T
KDD'09
CMU SCS
Hub value
Klein
• Dato un nodo i:
hi = an + a p + aq
sy
i
n
p
• Generalizzando su ogni nodo:
q
h =Aa
KDD'09
tha
hi
(
or
h=
Algoritmo HITS
• In conclusione, stiamo cercando due vettori h
e a tali che
a =A h
T
h = Aa
Scarica

18_Lezione_6__files/Lecture 6 - Search - ICAR-CNR