Upload
tracey
View
33
Download
0
Embed Size (px)
DESCRIPTION
( 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 - PowerPoint PPT Presentation
Citation preview
(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
m x n
Amxn
= u1vT1 + u1vT
1 +...σ1 σ2
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
Amxn
UmmUkm∑mxn
∑kk
VT
nxn
VT
kxnnxn
≈
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 e Latent Semantic Indexing
SVD e Latent Semantic Indexing
SVD e Latent Semantic Indexing
Affinità documento-concetto
SVD e Latent Semantic Indexing
Importanza del concetto
SVD e Latent Semantic Indexing
Affinità termine-concetto
Riduzione di dimensionalità
Riduzione di dimensionalità
Varianza lungo l’asse v1
Riduzione di dimensionalità
• Eliminiamo elementi a bassa varianza
Riduzione di dimensionalità
• Eliminiamo gli elementi a bassa varianza
Riduzione di dimensionalità
• Eliminiamo gli elementi a bassa varianza
Riduzione di dimensionalità
• Eliminiamo gli elementi a bassa varianza
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
Raggruppamenti, blocchi
Raggruppamenti, blocchi
Raggruppamenti, blocchi
Applicazioni della SVD all’analisi dei dati• Ranking:
• Ogni riga di U può essere rappresentata come un punto nello spazio k-dimensionale. 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)
Proprietà (B)
• Similarità documento-documento
• Similarità termine-termine
Proprietà (B)
• Inoltre:
• v1 autovettore relativo a σ1 (l’autovalore più grande)
Proprietà (C)
• Per qualsiasi vettore v– Conseguenza: procedura iterativa per il calcolo
degli autovettori
Proprietà (C)
• Ammette soluzione
Proprietà (C)
• conseguentemente
PCA e MDSPrincipal 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
Plot of the low rank (3) SVD of al Qaeda members using only relationship attribute
• 4 cluster
• Hambali ha un ruolo di connessione
• bin Laden non è l’elemento estremo del cluster che identifica la leadership
AlgeriansSouth East Asian
Leaders and core Arabs
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 high-degree, iterativamente
Eigenvector centrality
• Riformulato, risulta essere
IL WEB
Struttura del Web
Source: David Easley, Jon Kleinberg Networks, Crowds, and Markets, Cambridge University Press (2010)
Struttura del web
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
• Votazione
Source: David Easley, Jon Kleinberg Networks, Crowds, and Markets, Cambridge University Press (2010)
Hubs, authorities
• Compilazione di liste– Ogni pagina “rappresenta” quelle che la puntano
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
Authority value
• Dato un nodo i:
• Generalizzando su ogni nodo:
Hub value
• Dato un nodo i:
• Generalizzando su ogni nodo:
Algoritmo HITS
• In conclusione, stiamo cercando due vettori h e a tali che