quem escondeu meu grafo? dcc@ufmg fabricio murai

39
Quem escondeu meu grafo? Inferência a partir de redes parcialmente observadas Fabricio Murai DCC@UFMG Escola de Verão em Computação (EVCOMP 2020) ? ?

Upload: others

Post on 19-Mar-2022

2 views

Category:

Documents


0 download

TRANSCRIPT

Quem escondeu meu grafo?Inferência a partir de redes parcialmente observadas

Fabricio MuraiDCC@UFMG

Escola de Verão em Computação (EVCOMP 2020)

?

?

O que são grafos?● Grafos são abstrações matemáticas para redes

G = (V, E)○ V: conjunto de vértices (nós)○ E: conjunto de arestas (links)

● Representam sistemas reais importantes:○ Internet○ Web○ Redes Sociais○ Redes de telefonia celular

2

A maioria das redes são parcialmente observadas● Redes sociais online (RSO):

○ Muitos links entre usuários que se conhecem pessoalmente estão ausentes

○ Alguns presentes em uma RSO, mas não em outra○ Alguns contatos da RSO não se conhecem pessoalmente○ Informações sobre os usuários podem estar faltando

3

A maioria das redes são parcialmente observadas● Redes de telefonia celular

○ Uma operadora mantém CDR (call detail records) de todas as ligações feitas ou recebidas por seus números

○ Só possui informações sobre seus usuários pós-pagos

? ? ?

? ? ?

? ? ?

ORIGEM

DESTINO

4

Problema de previsão de links● Redes sociais:

○ Sugerir novos contatos■ Para usuário: facilita seguir e se comunicar com outros■ Para RSO: aumenta engajamento, melhora ranqueamento de

conteúdo, seleção de ads● Redes de telefonia

○ Sugerir novos pacotes e até outros produtos■ É possível inferir índice sócio-econômico a partir da posição

no grafo e da idade do indivíduo■ Pode ser usado para oferecer crédito

5

Às vezes arestas não existem ainda

Recomendação de conteúdo é

predição de links

?

Fonte: Representation Learning on Networks, snap.stanford.edu/proj/embeddings-www, WWW 20186

Como prever links?Intuição: vértices vivem em um “espaço latente” Rk, com k ≪ |V|.

As dimensões deste espaço tentam capturar fatores que podem aumentar/diminuir a chance de que eles estejam conectados.

O que esses fatores podem representar?

● Interesses similares● Proximidade geográfica● Participação em comunidades (e.g., colégio X, empresa Y, etc)

7

Node embeddingsSão vetores u(i) ∈ Rk que representam vértices no espaço latente. Obtendo embedding de cada vértice, podemos calcular função f sobre par u(i) e u(j) para prever link (i, j).

EmbeddingGrafo Classificador

se C(f(u(i),u(j))) > τ, então retorna “tem aresta”

8

Node embeddings também podem usados para classificação de nós

9

Como prever rótulos dos vértices?● Embeddings também podem ser usados c/ dados rotulados p/ treinar

classificador. Exemplos de rótulos:○ Tipo de influencer: televisão, música, esporte, política○ Interesse em dado produto

?

10

Node embeddings● Laplacian Eigenmaps (2003)● DeepWalk (2014)● NetMF (2018)● M-NMF (2019)

11

Laplacian EigenmapsUsa informação de 1a. ordem: “vizinhos conhecidos devem estar próximos no espaço latente”. A: matriz de adjacência

12

Laplacian EigenmapsUsa informação de 1a. ordem: “vizinhos conhecidos devem estar próximos no espaço latente”.

U : matriz cujas linhas são u(1), …, u(n)

D : matriz de grauL = D - A : é o Laplaciano do grafo G

A: matriz de adjacência

13

DeepWalkQual dentre os vértices a, b e c está mais “próximo” do vértice v ?

v ba

● a está ligado diretamente a v, mas existem muitos caminhos que levam de v para b

● Se você sair de v e fizer um passeio aleatório sobre o grafo, tem alta probabilidade de visitar b

c14

DeepWalk: passeio aleatórioUniformRandomWalk(v

inicial, T):

passeio = [vinicial

]

v := vinicial

Para i=1, …, T:

v := vizinho de v aleatório uniforme

passeio = passeio + [v]

retorna passeioEsse processo é semelhante ao do PageRank sem saltos, em grafo não direcionado. Regido pela matriz de transição

T: número de passos

15

DeepWalk

Cada random walk pode ser visto como uma “frase” formada por vértices. Resultado da amostragem é um grande corpus formado a partir de G.Grande sacada: podemos usar técnicas de NLP para word embeddings!

16

DeepWalk

Cada random walk pode ser visto como uma “frase” formada por vértices. Resultado da amostragem é um grande corpus formado a partir de G.Grande sacada: podemos usar técnicas de NLP para word embeddings!

17

Fabricio Murai - DCC - UFMG

Modelo skip-gramUma palavra target (e.g., into) pode ser usada para gerar palavras do seu contexto, ou seja, que estão no seu “entorno”.

18

Fabricio Murai - DCC - UFMG

Modelo skip-gramUma palavra target (e.g., into) pode ser usada para gerar palavras do seu contexto, ou seja, que estão no seu “entorno”.

19

Fabricio Murai - DCC - UFMG

Modelo skip-gram

Exemplo: Eu quero suco de laranja para tomar com cereal.

Target

laranjalaranjalaranjalaranja

Context

sucode

paratomar

Uma palavra target (e.g., into) pode ser usada para gerar palavras do seu contexto, ou seja, que estão no seu “entorno”.

laranja

suco de para tomar

20

DeepWalk

co-occorência de w e c no. total de pares

palavra-contexto

Uma constante ocorrência da

palavra w

ocorrência do contexto c

Levy & Goldberg mostraram que Skip-gram fatora implicitamente esta matriz, que é matriz de informação mútua entre pares w e c

Word Embedding

21

NetMF (Network Matrix Factorization)

22

NetMF (Network Matrix Factorization)Teorema (Qiu et al. 2018): DeepWalk está assintóticamente e implicitamente fatorando a matriz

Autores mostram resultados semelhantes para outros métodos baseados em passeios aleatórios.

23

M-NMF (nonnegative matrix factorization)Preserva informação:

● microscópica (1a + 2a ordem)● mesoscópica (estrutura de comunidades)

Função objetivoS: Matriz de proximidade de 1a + 2a ordem

H: Matriz binária vértice-comunidade

C: representações latentes das comunidades

B: matriz de modularidade obtida da matriz de adjacência 24

Qual o desempenho desses métodos para predição de links?

25

Experimentos (Gurukar et al. 2019)● 12 técnicas de node embeddings● Tarefa 1: Predição de links (métricas: AUROC, AUPR)

○ 15 datasets de redes (10 pequenos, 5 grandes)○ 20% das arestas são selecionadas e adicionadas ao conjunto de teste.

Estas arestas são removidas do grafo.○ Arestas “inexistentes” são amostradas na mesma quantidade e

adicionadas ao conjunto de teste○ Classificador: regressão logística

26

Experimentos (Gurukar et al. 2019)● 12 técnicas de node embeddings● Tarefa 2: Classificação de vértices (métrica: Micro-F1)

○ 12 datasets de redes (6 c/ poucos rótulos, 6 c/ muitos rótulos)○ Rótulos: 50% treino, 50% teste○ Classificadores: regressão logística e EigenPro

27

Resultados: Predição de links

(melhor)AUROC

28

Resultados: classificação de vértices

(melhor)Micro-F1

29

Usando embeddings dinâmicos para entender política

30

Modelando dinâmica de redes políticasUsamos node embeddings para caracterizar comunidades ideológicas e a polarização dos seus membros no tempo.

Dados: 15 anos (2003-2017) de sessões de votação na “câmara dos deputados” dos EUA e do BR

● EUA: sistema não-fragmentado (repub., democ., e indep.)● BR: sistema fragmentado (23 a 31 partidos)

31

Comunidades ideológicas● Como identificar mudanças ideológicas de membros

individuais?● Como identificar polarização?● Como as comunidades polarizadas evoluem ao longo do

tempo?

32

Como construir as redes?Sessões de votação: são discutidas e votadas proposições, projetos e emendas. Votos são expressão direta de ideologia e opiniões.

Para cada ano t, construímos um grafo ponderado Gt, ondepeso wij: número de vezes em que i e j votaram igual.

33

Dinâmica das comunidades polarizadasEUA: partidos são comunidades; BR: 3 a 8 comunidades

34

Como obter os embeddings?Embeddings são obtidos usando DynamicNode2Vec, onde toda a sequência G1, ..., G15, é embutida no mesmo espaço latente.

Podem ser usados para medir mudança ideológica de membro. Similaridade de cosseno:

35

Dinâmica no espaço ideológico

36

Dinâmica no espaço ideológico

37

Considerações finais● Técnicas de node embeddings permitem representar vértices

como vetores em espaço latente○ Novos métodos baseados em Graph Neural Networks

● Podem ser usados para○ Predição de links○ Classificação de vértices○ Detecção de comunidades○ Caracterização da rede

?

?

38