1 / 47

(Laboratorio di ) Sistemi Informatici Avanzati

(Laboratorio di ) Sistemi Informatici Avanzati. Giuseppe Manco. Link Prediction. Outline. Overview Link Prediction Variants Deterministic Methods Probabilistic Methods Supervised Learning Approaches. Problem Definition.

pegeen
Download Presentation

(Laboratorio di ) Sistemi Informatici Avanzati

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. (Laboratorio di )Sistemi Informatici Avanzati Giuseppe Manco

  2. Link Prediction

  3. Outline • Overview • Link PredictionVariants • DeterministicMethods • ProbabilisticMethods • SupervisedLearningApproaches

  4. 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’

  5. Applicazioni • Identificazione della struttura di una rete criminale: • I dati a disposizione sono incompleti • Cerchiamo di ricostruire i collegamenti all’interno della rete criminale

  6. Applicazioni • Superare il problema della sparsità nei recommendersystems basati sul collaborative filtering • Chi compra: • Comprerà anche:

  7. 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

  8. Applicazioni • Analizzare la storia di navigazione degli utenti di internet al fine di incrementare l’efficienza di navigazione • Predictive server prefetching

  9. Applicazioni • Monitorare e controllare virus che viaggiano su reti di poste elettroniche

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. Link Prediction

  16. 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

  17. ShortestPath • Lo score(x,y) è la lunghezza del percorso minimo tra x e y • score(x,y) = spl(x,y)

  18. 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.

  19. 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

  20. Adamic/Adar • Lo score(x,y) dipende da quante feature condividono x e y • Nel caso in cui le feature siano altri nodi

  21. 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

  22. 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

  23. HittingTime • Dove • è il tempo atteso per un randomwalk da x a y • è la porzione di tempo in cui si staziona in x

  24. 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

  25. 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

  26. 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

  27. 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)

  28. 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)

  29. 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)

  30. Performance Comparison • Liben-Nowell et al., 2003

  31. 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

  32. 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:

  33. 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

  34. 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

  35. 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

  36. PRM

  37. PRM • Il framework prevede diverse varianti ed implementazioni. Le più note sono: • RelationalBayesianNetworks (RBN) • Relational Markov Networks (RMN) • Relational Dependency Networks (RDN)

  38. 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

  39. 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

  40. DAPER

  41. 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

  42. 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)

  43. 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

  44. ExperimentalSetup • Datasets: • DBLP • Train (1990 – 2000) • Test (2001 – 2004) • BIOBASE • Train (1998 – 2001) • Test (2002)

  45. ExperimentalSetup • Scelta delle feature

  46. Algorithms • SVM • DecisionTrees • MultilayerPerceptron • KNN • NaïveBayes • RBF • Bagging

  47. Results

More Related