(L ABORATORIO DI ) S ISTEMI I NFORMATICI A VANZATI Giuseppe Manco

Preview:

Citation preview

(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

)()(

)()(),(

yx

yxyxscore

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 zyxscore

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

HH

HH

H

H

,,

,,

,

,

.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

Recommended