470 likes | 616 Views
(Laboratorio di ) Sistemi Informatici Avanzati. Giuseppe Manco. Link Prediction. Outline. Overview Link Prediction Variants Deterministic Methods Probabilistic Methods Supervised Learning Approaches. Problem Definition.
E N D
(Laboratorio di )Sistemi Informatici Avanzati Giuseppe Manco
Outline • Overview • Link PredictionVariants • DeterministicMethods • ProbabilisticMethods • SupervisedLearningApproaches
ProblemDefinition • Data una snapshot della social network al tempo t, cerchiamo di predire accuratamente quali archi verranno aggiunti alla rete durante l’intervallo di tempo da t fino ad un istante futuro t’
Applicazioni • Identificazione della struttura di una rete criminale: • I dati a disposizione sono incompleti • Cerchiamo di ricostruire i collegamenti all’interno della rete criminale
Applicazioni • Superare il problema della sparsità nei recommendersystems basati sul collaborative filtering • Chi compra: • Comprerà anche:
Applicazioni • Accelerare il formarsi di link che altrimenti si sarebbero formati in maniera spontanea ma molto più lentamente (serendipity). • Rete della ricerca scientifica • Rete di lavoro
Applicazioni • Analizzare la storia di navigazione degli utenti di internet al fine di incrementare l’efficienza di navigazione • Predictive server prefetching
Applicazioni • Monitorare e controllare virus che viaggiano su reti di poste elettroniche
Link Completion • Problema • I dati a disposizione di una rete sociale potrebbero essere incompleti • Un link potrebbe unire più di una coppia di nodi • Obiettivo • Dato un nodo (o una serie di nodi) connesso (connessi) tramite un link, determinare quali altri nodi fanno parte del link
Link Completion • Esempio • Un cliente compra 5 libri online, e durante il trasferimento in rete dei nodi si perde l’informazione sul titolo di uno dei libri • Un algoritmo di Link Completion potrebbe inferire il nome del libro mancante basandosi sul profilo dell’utente e sugli altri libri acquistati
Link Completion • Esempio • Maria, Marco ed una terza persona partecipano ad un meeting • A partire dalle precedenze co-occorrenze a meeting della base di utenti cui appartengono Maria e Marco, determinare il nome della terza persona
Soluzione Semplice • Associamo ad ogni entità A un punteggio score • Co-occorrenze: • Score(A) = somma del numero di co-occorrenze precedenti tra A e gli altri nodi del link • Popolarità • Score(A) = numero di occorrenze di A in altri link
Problemi nella Link Discovery • Il numero di coppie da analizzare è quadratico rispetto al numero di nodi del grafo • Reti sparse pochi casi osservati di interesse • Scoperta di link inattesi e/o anomali all’interno dei dati osservati (outliers) • Pochissimi comuni vicini o troppo distanti fra loro
Tecniche di Link Prediction • Tutte le tecniche che analizzeremo associano uno score(x,y) a tutte le coppie di nodi (x,y) della rete, in base all’organizzazione del grafo in input • L’output è una lista di probabili archi che si formeranno in futuro, ordinati per score(x,y) decrescenti
ShortestPath • Lo score(x,y) è la lunghezza del percorso minimo tra x e y • score(x,y) = spl(x,y)
Common Neighbors • Lo score(x,y) è la cardinalità dell’intersezione dei vicinati di x e y • Newman 2001: La probabilità che uno scienziato A collabori con un altro scienziato B, aumenta condizionalmente al numero di collaboratori che hanno in comune.
JaccardSimilarity • Bilanciamento della misura Common Neighbors tramite le dimensioni dei vicinati • x e y condividono molti vicini perché probabilmente hanno vicinati estesi • Si pesano solo i vicinati aderenti al link in analisi • Rispetto al Common Neighbors è una misura relativa e non assoluta
Adamic/Adar • Lo score(x,y) dipende da quante feature condividono x e y • Nel caso in cui le feature siano altri nodi
Preferential Attachment • Nel preferential attachment lo score è definito: • Newman 2001: La probabilità che x sia coatore di y è correlata al prodotto del numero di collabaratori di x e y
KatzCentrality (1953) • Secondo la KatzCentrality: • indica l’insieme dei percorsi di lunghezza pari ad l tra x e y • Alla somma dei pesi dei percorsi nel caso di grafo pesato • La centralità di Katz è una misura che somma i pesi di tutti i path tra due nodi bilanciadoli sulla lunghezza tramite un fattore esponenziale
HittingTime • Dove • è il tempo atteso per un randomwalk da x a y • è la porzione di tempo in cui si staziona in x
RootedPageRank • Modello HittingTime con passi random • Con probabilità a salta ad un nodo qualsiasi della rete • Con probabilità (a – 1) spostati verso un vicino del nodo attuale
SimRank • Definizione ricorsiva di similarità • Due oggetti sono simili se sono connessi ad oggetti simili • Definizione nel caso dei link • Due oggetti appartengono ad un link se sono connessi ad oggetti che appartengono agli stessi link • Definita solo per grafi orientati • γ è una costante compresa tra 0 e 1
Unseenbigrams • Supponiamo di avere una funzione di similarità tra nodi sim(x,y) • Sia l’insieme deiδnodi più simili ad x secondo sim(x,y) • Lo score(x,y) dipende da quanti nodi, simili ad x, sono in relazione con y
Clustering • Calcola lo score(u,v) per ogni arco (u,v) della rete • Rimuovi il k% di archi con lo score più basso • Calcola lo score(x,y) per ogni coppia di nodi (x,y)
Clustering • Calcola lo score(u,v) per ogni arco (u,v) della rete • Rimuovi il k% di archi con lo score più basso • Calcola lo score(x,y) per ogni coppia di nodi (x,y)
Clustering • Calcola lo score(u,v) per ogni arco (u,v) della rete • Rimuovi il k% di archi con lo score più basso • Calcola lo score(x,y) per ogni coppia di nodi (x,y)
Performance Comparison • Liben-Nowell et al., 2003
Observations • Le misure Adamic/Adar e Common Neighbors si comportano sorprendentemente bene anche se molto sono semplici • Le accuratezze di tutte le misure in generale sono basse c’è spazio per la definizione di nuove misure per il miglioramento dell’accuratezza
ProbabilisticModels • Idea: • La rete sociale è governata da una distribuzione probabilistica i cui parametri Θ devono essere stimati • L’esistenza di un arco sconosciuto che lega due nodi x e y dipende quindi da:
ProbabilisticModels • I dati a disposizione sono: • Struttura della rete sociale • Nodi e archi • Informazioni contestuali • Tipizzazione di nodi ed archi • Contenuto informativo associato a nodi ed archi
ProbabilisticModels • Vista la natura ibrida dei dati (contestuali + strutturali) in letteratura sono stati proposti modelli relazionali • I principali framework per la modellazione relazionale probabilistica sono: • PRM: probabilisticrelationalmodels, basato sul modello relazionale • DAPER: directed acyclic probabilistic entity relationship, basatosulmodelloentità – relazione
PRM • Il PRM cerca di astrarre i dati della rete osservati in modelli compatti a grafo • Il modello PRM è composto da tre grafi: • Il Data Graph: la rete in input • Il ModelGraph: la rappresentazione compatta delle caratteristiche dei dati • L’InferenceGraph: grafo per l’attuazione del modello su nuovi dati di rete, diversi da quelli di training
PRM • Il framework prevede diverse varianti ed implementazioni. Le più note sono: • RelationalBayesianNetworks (RBN) • Relational Markov Networks (RMN) • Relational Dependency Networks (RDN)
DAPER • Il FrameworkDAPER è adatto per rappresentare contesti Bayesiani • spinge alla rappresentazione esplicita dei parametri e degli iper – parametri del modello • Il modello può contenere sia parametri globali che locali: • La parametrizzazione delle prior permette la definizione di modelli molto flessibili
Daper • DAPER formula un framework probabilistico per un database in forma entità – relazione • La componente principale (first class) della modellazione è l’insieme delle relazioni • Un modello DAPER consiste nella definizione di una serie di : • entity classes • relationship classes • attribute classes • arc classes • local distribution classes • constraintclasses
SupervisedLearningApproaches • La link prediction può essere vista come un problema di learning supervisionato • Obiettivo: • Addestrare un classificatore binario in grado di predire se un link esiste tra due nodi della rete oppure no
ExperimentalSetup • Dataset: • Co-authorship Network • Si suddivide il dataset in due partizioni, tra le quali non esiste sovrapposizione temporale • Training (pubblicazioni passate) & Test (pubblicazioni recenti)
ClassificationDataset • La classificazione si basa sulla scelta di due autori • Non esiste, nei dati di training, una pubblicazione tra i due autori • Determinare la probabilità (o meno) che i due autori pubblicheranno insieme in futuro • Esempio positivo: i due autori selezionati hanno una pubblicazione comune nel test set • Esempio negativo: altrimenti
ExperimentalSetup • Datasets: • DBLP • Train (1990 – 2000) • Test (2001 – 2004) • BIOBASE • Train (1998 – 2001) • Test (2002)
ExperimentalSetup • Scelta delle feature
Algorithms • SVM • DecisionTrees • MultilayerPerceptron • KNN • NaïveBayes • RBF • Bagging