(Laboratorio di ) Sistemi Informatici Avanzati

Post on 22-Feb-2016

62 views 0 download

description

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

Transcript of (Laboratorio di ) Sistemi Informatici Avanzati

(LABORATORIO DI )SISTEMI INFORMATICI AVANZATIGiuseppe Manco

LINK PREDICTION

OUTLINE Overview

Link Prediction Variants

Deterministic Methods

Probabilistic Methods

Supervised Learning Approaches

PROBLEM DEFINITION

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

recommender systems 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

LINK PREDICTION

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

SHORTEST PATH

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.

)()(),( yxyxscore

JACCARD SIMILARITY 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

)()()()(

),(yxyx

yxscore

ADAMIC/ADAR Lo score(x,y) dipende da quante feature

condividono x e y

Nel caso in cui le feature siano altri nodi

yxbysharedfeaturez zfrequency

yxscore,: ))(log(

1),(

)()( ))(log(

1),(yxz z

yxscore

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

)()(),( yxyxscore

KATZ CENTRALITY (1953) Secondo la Katz Centrality:

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

1

,),(l

lyx

l pathsyxscore

lyxpaths ,

HITTING TIME

Dove

è il tempo atteso per un random walk da x a y

è la porzione di tempo in cui si staziona in x

xxyyyx

xyyx

yyx

yx

HHHH

HH

,,

,,

,

,

.4

.3

.2.1

yxH ,

x

ROOTED PAGERANK

Modello Hitting Time 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

altrimenti

yx

bascoreyxse

yxscore xa yb

)()(

),(1

),( )( )(

UNSEEN BIGRAMS 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

xSyzweighted

xunweighted

zxsimyxscore

Syzzyxscore

)(),(),(

)(:),(

xS

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

PROBABILISTIC MODELS 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:

)|),(Pr( yxedge

PROBABILISTIC MODELS 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

PROBABILISTIC MODELS 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: probabilistic relational models, basato sul modello relazionale

DAPER: directed acyclic probabilistic entity relationship, basato sul modello entità – 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 Model Graph: la rappresentazione compatta delle caratteristiche dei dati

L’Inference Graph: grafo per l’attuazione del modello su nuovi dati di rete, diversi da quelli di training

PRM

PRM Il framework prevede diverse varianti ed

implementazioni. Le più note sono:

Relational Bayesian Networks (RBN)

Relational Markov Networks (RMN)

Relational Dependency Networks (RDN)

DAPER Il Framework DAPER è 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 constraint classes

DAPER

SUPERVISED LEARNINGAPPROACHES 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

EXPERIMENTAL SETUP Dataset:

Co-authorship Network

Si suddivide il dataset in due partizioni, tra le quali non esiste sovrapposizione temporale

Training (pubblicazioni passate) & Test (pubblicazioni recenti)

CLASSIFICATION DATASET 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

EXPERIMENTAL SETUP Datasets:

DBLP Train (1990 – 2000)

Test (2001 – 2004)

BIOBASE Train (1998 – 2001)

Test (2002)

EXPERIMENTAL SETUP Scelta delle feature

ALGORITHMS SVM

Decision Trees

Multilayer Perceptron

KNN

Naïve Bayes

RBF

Bagging

RESULTS