3. BÖLÜM
7.1. Müze ve Okul İlişkisi
Em algumas técnicas de agrupamento, como o K-means e o Expectation Maximization (EM) (Dempster et al., 1977), é necessário que o usuário defina o número de agrupamentos que deseja encontrar. Enquanto isso, na técnica de agrupamento Density Based Spatial Clustering
of Applications with Noise (DBSCAN) (Sander et al., 1998), o número de agrupamentos é
automaticamente definido pelo algoritmo com base na densidade dos dados, o que o torna especialmente adequado para aplicações exploratórias como mapas de documentos gerados por projeções. O DBSCAN também é capaz de identificar grupos de formatos arbitrários, ao contrário, por exemplo, do k-means que identifica grupos com formatos esféricos. Essa técnica também trabalha com a noção de ruído (objetos que não fazem parte de nenhum
grupo) e por isso não é afetada por outliers.
O DBSCAN busca localizar regiões de alta densidade separadas de outras por regiões de baixa densidade. Como mencionado, este algoritmo é capaz de identificar grupos de formatos arbitrários em bases de dados que podem ser inseridas em espaços métricos e com ruídos. O DBSCAN produz um agrupamento particional, no qual o número de grupos é determinado automaticamente. Objetos em região de baixa densidade no espaço métrico são classificados como ruído e omitidos de qualquer partição, portanto, o resultado não atribui necessariamente todo objeto a um agrupamento.
Para apresentar os conceitos nesta seção, será utilizado um conjunto de pontos no espaço bidimensional e a distância Euclidiana. No entanto, o DBSCAN pode ser aplicado também a espaços m-dimensionais que possam ser inseridos no espaço métrico por meio de alguma medida de dissimilaridade.
Para definir a densidade da vizinhança de um ponto arbitrário qualquer, contam-se todos os pontos com distância inferior ou igual a um valor de limiar ε em relação ao ponto em questão, o qual também é incluído nessa contagem. Este conceito é ilustrado na Figura 4.7a. A densidade de qualquer ponto depende do parâmetro ε. Se o valor de ε for muito grande, então todos os pontos terão densidade igual a n (número de pontos no conjunto de dados a ser agrupado). Da mesma forma, se o valor de ε for muito pequeno, então a densidade de todos os pontos será igual a 1. O parâmetro ε define a granularidade dos grupos encontrados pelo algoritmo DBSCAN.
(a) Vizinhança em torno de um ponto A
(b) Em relação ao ponto A (ponto central): Ponto B – ponto de borda; e Ponto C - ruído
Figura 4.7: Noção de vizinhança e tipos de ponto no contexto do algoritmo DBSCAN. Para achar os agrupamentos, também é necessário classificar cada ponto como um dos seguintes tipos:
• Ponto central – No interior de uma região densa. Um ponto é central se o número de pontos em sua vizinhança, de acordo com o parâmetro ε, exceder um dado limiar
M inP ts, que também é um parâmetro especificado pelo usuário. Na Figura 4.7b, o
ponto A é central se considerarmos o raio indicado (ε) e MinP ts <= 7.
• Ponto de borda – Um ponto de borda não é central, mas está na vizinhança de um ponto central. Na Figura 4.7b, o ponto B é de borda. Um ponto de borda pode estar
na vizinhança de mais de um ponto central.
• Ruído – Qualquer ponto que não é nem central e nem de borda é considerado como ruído. Na Figura 4.7b, o ponto C é considerado ruído.
Dadas essas definições, o algoritmo DBSCAN pode ser informalmente descrito como segue. Quaisquer dois pontos centrais que estejam próximos – a uma distância relativa inferior ou igual a ε – são colocados no mesmo grupo. Qualquer ponto de borda que esteja perto de um ponto central qualquer é colocado no mesmo grupo do ponto central. Pontos considerados como ruído não são incluídos em nenhum grupo.
A complexidade do DBSCAN é O(n × complexidade para achar a vizinhança-ε), onde
n é o número de pontos. Assim, no pior caso a complexidade será O(n2) em uma busca
linear. No entanto, para conjuntos de dados de baixa dimensionalidade, existem estruturas de particionamento espacial, como kd-trees (Bentley, 1975), que permitem uma busca eficiente por todos os pontos a uma dada distância de um ponto, reduzindo a complexidade para
O(n log n). Neste trabalho, não foi utilizada estruturas como a kd-trees. Existe um custo
para construir a kd-tree e como, neste trabalho, a organização espacial das instância muda ao longo do tempo na projeção, seria necessário uma kd-tree para cada instante no tempo. Definição dos parâmetros. Existe a questão de como definir os valores para os parâmetros ε e MinP ts. Como mencionado, o parâmetro ε define a granularidade dos grupos encontrados pelo algoritmo DBSCAN, e, portanto, deve ser definido de acordo com a aplicação. Já o parâmetro MinP ts interfere na definição de um ponto central e também define o tamanho mínimo de um grupo. No artigo original, Sander et al. (1998) defende que o valor MinP ts = 4 é uma boa escolha para a maioria dos dados bidimensionais.
A Figura 4.8 mostra os resultados obtidos pelo DBSCAN quando aplicado à projeção do ano 2012 da sequência de projeções apresentada na Figura 4.2b, com três conjuntos diferentes de valores para os parâmetros. Os grupos identificados são destacados por meio de regiões em cinza. Observe que alguns documentos nas Figuras 4.8c e 4.8a, identificados como ruído, não se encontram em nenhum grupo. Na Figura 4.8a, os parâmetros ε = 0.15 e MinP ts = 4 foram utilizados. O valor ε = 0.15 pode ser considerado alto para essa aplicação, pois o algoritmo identificou somente dois grandes grupos formados pelas áreas de pesquisa em física, a direita, e em redes complexas, a esquerda. Já na Figura 4.8b, os parâmetros ε = 0.07 e
M inP ts= 3 resultaram em grupos mais refinados que correspondem a subáreas de pesquisa.
Por fim, os parâmetros ε = 0.06 e MinP ts = 4 foram utilizados na Figura 4.8c. Esse valor menor para o parâmetro ε subdividiu em dois o maior grupo da Figura 4.8c.
Representação Visual dos Grupos. Uma vez encontrados grupos de documentos similares, é necessário delimitar eficientemente esses grupos por uma área cujo formato reflita o formato do grupo. Para delimitar essa área para um grupo qualquer, emprega-se primeiro o fecho
convexo – o menor polígono convexo que contém todos os pontos do grupo (ver Figura 4.9b).
No entanto, uma das características e vantagens do algoritmo DBSCAN é produzir grupos de formatos arbitrários. Se um dos grupos possuir uma distribuição não-convexa, o fecho
(a) ε = 0.15 e M inP ts = 4. (b) ε = 0.07 e M inP ts = 3.
(c) ε = 0.06 e M inP ts = 4.
Figura 4.8: Agrupamentos gerados pelo DBSCAN quando aplicado a projeção do ano 2012 da sequência de projeções apresentada na Figura 4.2b com três conjuntos diferentes de valores para os parâmetros ε e MinP ts.
convexo pode incluir em seu interior pontos que não pertencem ao grupo. Se isto ocorrer, utiliza-se o algoritmo para cálculo de contornos implícitos Bubble Sets (Collins et al., 2009), que reflete melhor o formato do grupo, criando um contorno que inclui todos os seus pontos, mas não inclui em seu interior pontos não-membros (ver Figura 4.9c). Essa preferência pelo fecho convexo justifica-se por seu resultado ser mais estável visualmente quando necessário fazer uma animação, e pelo seu cálculo possuir uma complexidade computacional menor. A abordagem baseada no fecho-convexo foi utilizada nos mapas de documentos mostrados até o momento, ver Figuras 4.6 e 4.8.
No cálculo de contornos implícitos segundo o algoritmo Bubble Sets2, primeiramente é
2
gerado um conjunto de arestas virtuais que conectam todos os pontos do conjunto sem passar sobre nenhum ponto não-membro e com o mínimo de arestas possível. Essas arestas são adicionadas procurando conectar primeiro pontos próximos entre si. Em um segundo passo, é calculado um campo de energia sobre os pontos e suas arestas virtuais. O contorno é então extraído, executando uma versão bidimensional do algoritmo Marching Cubes (Lorensen; Cline, 1987). Esse algoritmo possui complexidade O(k × n(n + H × W )) para k grupos, n artigos no instante sendo analisado da projeção, e um plano com H pixels por W onde a projeção está sendo desenhada.
(a) Conjunto de pontos. (b) Fecho convexo. (c) Contorno implícito (Bubble Set) para conjunto de pontos com exceção dos circundados em vermelho.
Figura 4.9: Diferença entre fecho convexo e Bubble Set.
Já para o cálculo do fecho convexo utilizou-se a biblioteca JTS Topology3, que implementa
o algoritmo Graham Scan (Graham, 1972) com complexidade O(n log n), onde n é o número de pontos. No entanto, algoritmos para geração do fecho convexo produzem polígonos com bordas muito próximas aos pontos, e às vezes com vértices pontiagudos. Buscando suavizar a borda e distanciar um pouco a borda dos pontos delimitados pelos polígonos, utilizamos a
operação de buffer implementada também pela biblioteca JTS Topology. O buffer de um
polígono, de acordo com a distância d, é o polígono que contém todos os pontos a uma certa distância d do polígono antigo, i.e., como se um círculo com raio d passasse sobre a borda do polígono, com o centro do círculo sempre localizado na borda, suavizando seu formato. Essa operação de buffer corresponde a dilatação morfológica, utilizada em processamento de imagens.