Você está na página 1de 59

NACLUSTER: Resolvendo Entidades em

Larga Escala a partir de


Mltiplos Catlogos de Astronomia
Defesa de Proposta de Tese
Vincius P. Freire
Universidade Federal do Cear
Orientador: Jos Macedo
Coorientador: Fbio Porto

Agenda

Introduo

NACluster

Fundamentos
Motivao
Problema
Objetivo
Hiptese
Contribuio

Experimentos
Mtrica para medir a ambiguidade
Parallel NACluster

Consideraes Finais

O que um catlogo?

Levantamento espectroscpico

Introduo
Diferentes Levantamentos Astronmicos
(Catlogos)

Introduo
Levantamentos

produzem catlogos com


intersees na rea coberta do cu;
Problema:
- Obter uma viso integrada fornecida pelos
diferentes catlogos requer o casamento de
dados entre os catlogos
- Como identificar objetos celestes que
aparecem com variaes descritivas nos
diferentes catlogos?

Introduo
Problema

identificado como Resoluo de

Entidade

Identificar instncias de objetos de diferentes


bancos de dados que correspondem mesma
entidade no mundo real

Alternativas

para a resoluo de entidades


no problema de casamento de catlogos:

uso da localizao dos objetos no cu (sistema


de coordenadas baseado em RA,DEC);
uso de outros atributos para ajudar a tratar
ambiguidades;

Fundamentos
Solues atuais

Casamento de catlogos par-a-par


Catlogo A

Catlogo B

Raio de Busca

O que pode acontecer ao adicionar um


catlogo C?

Motivao
Execuo do Q3C em 3 catlogos
Regio do Cu com 3 catlogos

(Preto
(Preto
(PretoxxxVermelho)
Vermelho)
Vermelho) x Verde

Motivao
Q3C com 3 catlogos, parte 2
Regio do Cu com 3 catlogos

(Preto xx Vermelho)
Vermelho) xx Verde
Verde
(Preto
(Preto

Motivao
Q3C com 3 catlogos, parte 3
Regio do Cu com 3 catlogos

10

(Preto x Verde) x Vermelho

Motivao
Q3C com 3 catlogos, parte 4
Regio do Cu com 3 catlogos

11

(Preto
(Preto x Verde) x Vermelho

Motivao
Q3C com 3 catlogos, parte 5
Regio do Cu com 3 catlogos

12

(Verde x Vermelho) x Preto

Motivao
Diferentes possibilidades de casamento no Q3C

Figura 1.4

13

Motivao
Ambiguidade

14

Casamento binrio no gera resultados


simtricos usando mais que 2 catlogos
O atributo que melhor identifica os objetos
astronmicos a sua posio, mas ela no
precisa

Motivao

Necessidade de uma soluo de resoluo de


ambiguidade neste contexto, em especial a
resoluo de casamentos entre n catlogos.

15

Problema

Como

realizar o casamento entre n


catlogos astronmicos de forma escalvel
minimizando a ambiguidade no resultado?

16

Objetivo

Propor

uma soluo para o casamento n-rio


ambiguo e medir sua ambiguidade

17

Hiptese de Pesquisa

18

Um algoritmo de clusterizao aplicado a n


catlogos e que agrupe objetos prximos
fisicamente e de catlogos distintos em clusters,
tomando como centroide do cluster a posio mdia
dos seus objetos, converge e cada cluster produzido
tem grande chance de corresponder a um objeto
real.

Metodologia
Modelagem

do problema
Proposta de Soluo para o problema
adotando-se a abordagem de clusterizao
Implementao dos algoritmos de
clusterizao (centralizado e paralelo)
Gerar catlogos sintticos
Validao do algoritmo
Comparao com o Q3C
Mtrica para medir a ambiguidade
19

Contribuies

NACluster
Parallel NACluster
Mtrica de Ambiguidade
20

NACluster
NACluster

N-way Astronomical Clustering algorithm

Objetivo

Dividir em clusters os objetos celestes


presentes em N catlogos
Em

cada cluster existem somente objetos de


diferentes catlogos e que representam o mesmo
objeto real.

Esta

contribuio melhora o estado da arte


de casamento de catlogos astronmicos.

21

Pseudocdigo

22

Entrada: Conjunto de Catlogos


Catlogo
Conjunto de tuplas
<id, ra, dec>
Sada
Todos os clusters, seus
objetos e centride;

Pseudocdigo
Passo

Inicializao dos Clusters


O

maior catlogo selecionado e criado para cada


um dos seus objetos.
A posio de cada objeto tomada como o centride
do cluster.
C

23

Pseudocdigo
Passo

Inicializao dos Clusters


O

maior catlogo selecionado e criado para cada


um dos seus objetos.
A posio de cada objeto tomada como o centride
do cluster.

24

ideia do algoritmo comparar cada objeto


de cada catlogo com todos os centroides
calculados, sendo um catlogo de cada vez,
atravs do clculo da distncia Euclidiana
d(Oi;Ca) de um objeto Oi para um centride
Ca.

Situao 1

C C
C

C
C

25

Situao 2

C
C

O1

CC
O2

26

Pseudocdigo

Condio de parada

Depois de todos os objetos serem clusterizados


Nova Iterao
Reset clusters

Mantendo a posio dos centroides

Termina
Quando

os centrides esto estveis

Complexidade:

O(n x i)
n

O(n)

= n dos objetos de entrada


i = n de iteraes

27

Experimentos
Objetivo: Avaliar a qualidade do NACluster
Ambiente de teste:

5 experimentos

Dataset -> Catlogos Envolvidos:


Densa

parte do 2MASS (90,000 objetos)


Catlogos sintticos gerados a partir do catlogo anterior

28

Experimentos com grandes


catlogos

Catlogos envolvidos:

Os primeiros 50 milhes de objetos do 2MASS


2 Catlogos sintticos gerados a partir do catlogo
anterior

Ao todo:150 milhes de objetos

29

Resultado
50.014.263 clusters
Medida-F = 0,9909
6 iteraes
1 iterao -> Medida-F = 0,9905

Experimentos com grandes


catlogos

Catlogos envolvidos :

Os primeiros 100 milhes de objetos do 2MASS


2 Catlogos sintticos gerados a partir do catlogo
anterior

Ao todo: 300 milhes de objetos

30

Resultado
100.025.113 clusters
Medida-F 0,9918
1 iterao -> Medida-F = 0.9914 com 26 minutos de
processamento
Mdia de 36 minutos por iterao

Comparao com o Q3C Join


Q3C
o
o

Join
Cross-matching binrio
Sada: um catlogo contendo objetos
casados

Comparao
o
o

Sada do Q3C x Sada do NACluster


Input: os mesmos dois catlogos

31

Parte do 2Mass (1 milho de objetos and


catlogo sinttico gerado a partir dele (1
milho de objetos)

NACluster vs. Q3C Join

0.001

0.002

32

NACluster vs. Q3C Join

33

Medindo a Ambiguidade
Mtrica

de ambiguidade

Objetivo
Encontrar

alguma correlao entre a


qualidade da clusterizao do NACluster e a
ambiguidade existente na clusterizao.

34

Ao final da execuo do NACluster, a


mtrica deve dizer o quo ambgua
clusterizao da unio dos catlogos.

Medindo a Ambiguidade
Mtrica

de ambiguidade

Expressar a ambiguidade em nmeros


Valor

35

entre 0 e 1

Mais prximo de 0, menor a ambiguidade


Mais prximo de 1, maior a ambiguidade

Mtrica que avalie a ambiguidade do


ponto de vista dos objetos, ou seja, o
quanto cada objeto ambguo em relao
aos clusters.

Quando existe ambiguidade?

ambiguidade existe quando um objeto Oi


possui mais de um cluster kj ao qual pode
ser alocado.
d

k1

Oi

k2

Grau de Ambiguidade
A ambiguidade cresce proporcionalmente ao nmero
de centroides prximos at de um objeto
1 Ambiguidade

Sem Ambiguidade

2 Ambiguidades
k3

k1

k1
Oi

k1
Oi

Oi

k2

Amb = a -1

k2

Casos Extremos de
Ambiguidade
Sem Ambiguidade

Ambiguidade = 0

Ambiguidade Mxima

Ambiguidade = 1

Grau de Ambiguidade
Um

objeto ambguo com a clusters, tem seu


grau de ambiguidade em relao aos a
clusters no valor de
Amb = a -1

como temos m objetos, o nmero mximo


de ambiguidades
TAmb = (n total de
clusters - 1) x m

Mtrica

Ambiguidade =

Exemplo de Clculo da
Mtrica

(1+0+0+0)/[(2-1)*4] = 0,25

Exemplo de Clculo da
Mtrica

2/(1*4) = 0, 5

Exemplo de Clculo da
Mtrica

3/(1*4) = 0,75

Exemplo de Clculo da
Mtrica

Implementao
prevista
para
4/(1*4)
=1
as prximas atividades!

Parallel NACluster
Catlogos

com Bilhes de objetos

Inviabilidade de processar n catlogos desse tipo


de forma centralizada

Proposta

45

Parallel NACluster

Parallel NACluster
Viso Geral do Problema
Etapas

46

Particionamento
Map
Reduce

Particionamento
Mesma

regio do cu em diferentes
catlogos devem estar na mesma partio.
Parties precisam ser balanceadas
FRANCE (FRAgmeNtador de Catlogos
Espaciais)

47

(GASPAR; PORTO, 2014)


Algoritmo iterativo para particionar dados em
histogramas equidepth.

FRANCE
O

FRANCE calcula iterativamente os


thresholds para um particionamento por
range em RA
Mantm as parties com uma quantidade
equivalente de elementos (dado um ),
mesmo em catlogos com a densidade no
uniforme (como o Espao).

48

FRANCE

49

Prximas etapas
MAP/REDUCE
O

particionamento deve enviar para cada n


seus objetos a serem processados.

O que aconteceria se aplicssemos o


NACluster original em cada n, e
somente realizssemos a unio dos
resultados em uma etapa REDUCE?
50

MAP
Uma

51

fronteira entre duas parties

Ideia: Tratar os clusters da fronteira e os prximos


ela

MAP - Tratamento dos clusters


influenciados pela fronteira
Grafo

G = (V,E)

V = Centroides
Aresta v e u: existe se algum objeto do cluster de
v for um potencial candidato pertencer ao
cluster de u

Observar

52

as componentes conexas do grafo

Sabemos quais componentes conexas tm


possuem vrtices na fronteira

MAP - Tratamento dos clusters


influenciados pela fronteira
Grafo

G = (V,E)

V = Centroides
Aresta v e u: existe se algum objeto do cluster de
v for um potencial candidato pertencer ao
cluster de u

Observar

53

as componentes conexas do grafo

Sabemos quais componentes conexas tm


possuem vrtices na fronteira

NACluster
Sada:

54

2 Conjuntos

A: clusters no afetados pela fronteira


B: clusters afetados pela fronteira

Guardados

->Reduce

Guardados

NACluster Implementao

55

Azul: Objeto
Vermelho: Centroide da Fronteira
Preto: Centroide fora da Fronteira

Reduce
Entrada

Objetos do conjunto B produzidos pela etapa map


de dois ns que manipularam parties vizinhas

Aplicar

o NACluster original em cima desses

objetos
Resultado final

56

Clusters do conjunto A + Clusters produzidos no


REDUCE

Consideraes Finais
NACluster
Parallel

NACluster
Mtrica de Ambiguidade

57

Cronograma

58

Obrigado
Vincius P. Freire
http://www.lia.ufc.br/~vinipires