Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
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
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
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)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
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
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
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
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