sid.inpe.br/mtc-m19/2010/11.11.13.39-rpq O PROBLEMA DO p-centro EM CLUSTERIZAÇÃO DE DADOS Sóstenes Pereira Gomes Relatório final da disciplina Princípios e Aplicações de Mineração de Dados do Programa de Pós-Graduação em Computação Aplicada, ministrada pelo Dr. Rafael Santos. URL do documento original: <http://urlib.net/ 8JMKD3MGP7W/38JDM92 > INPE São José dos Campos 2010
PUBLICADO POR: Instituto Nacional de Pesquisas Espaciais - INPE Gabinete do Diretor (GB) Serviço de Informação e Documentação (SID) Caixa Postal 515 - CEP 12.245-970 São José dos Campos - SP - Brasil Tel.:(012) 3208-6923/6921 Fax: (012) 3208-6919 E-mail: pubtc@sid.inpe.br CONSELHO DE EDITORAÇÃO E PRESERVAÇÃO DA PRODUÇÃO INTELECTUAL DO INPE (RE/DIR-204): Presidente: Dr. Gerald Jean Francis Banon - Coordenação Observação da Terra (OBT) Membros: Dr a Inez Staciarini Batista - Coordenação Ciências Espaciais e Atmosféricas (CEA) Dr a Maria do Carmo de Andrade Nono - Conselho de Pós-Graduação Dr a Regina Célia dos Santos Alvalá - Centro de Ciência do Sistema Terrestre (CST) Marciana Leite Ribeiro - Serviço de Informação e Documentação (SID) Dr. Ralf Gielow - Centro de Previsão de Tempo e Estudos Climáticos (CPT) Dr. Wilson Yamaguti - Coordenação Engenharia e Tecnologia Espacial (ETE) Dr. Horácio Hideki Yanasse - Centro de Tecnologias Especiais (CTE) BIBLIOTECA DIGITAL: Dr. Gerald Jean Francis Banon - Coordenação de Observação da Terra (OBT) Marciana Leite Ribeiro - Serviço de Informação e Documentação (SID) Deicy Farabello - Centro de Previsão de Tempo e Estudos Climáticos (CPT) REVISÃO E NORMALIZAÇÃO DOCUMENTÁRIA: Marciana Leite Ribeiro - Serviço de Informação e Documentação (SID) Yolanda Ribeiro da Silva Souza - Serviço de Informação e Documentação (SID) EDITORAÇÃO ELETRÔNICA: Vivéca Sant Ana Lemos - Serviço de Informação e Documentação (SID)
sid.inpe.br/mtc-m19/2010/11.11.13.39-rpq O PROBLEMA DO p-centro EM CLUSTERIZAÇÃO DE DADOS Sóstenes Pereira Gomes Relatório final da disciplina Princípios e Aplicações de Mineração de Dados do Programa de Pós-Graduação em Computação Aplicada, ministrada pelo Dr. Rafael Santos. URL do documento original: <http://urlib.net/ 8JMKD3MGP7W/38JDM92 > INPE São José dos Campos 2010
RESUMO Organizar dados em grupos é um dos meios mais fundamentais de se entender e extrair conhecimento. A área de análise de dados através de clusters, envolve o estudo formal de métodos e algoritmos para o agrupamento (ou clusterização) de objetos de dados, de acordo com a similaridade de características mensuráveis. Neste trabalho, é apresentada uma resolução do problema de clusterização em uma base de dados, obtida através de uma imagem de satélite, para a classificação do terreno fotografado. A metodologia aborda a resolução de problemas de clusterização como uma resolução de uma instância de Problema do p-centro (PpC). Neste contexto, uma heurística para o PpC com razão de aproximação 2 é implementada e os resultados obtidos são apresentados. 3
THE p-center PROBLEM FOR DATA CLUSTERING ABSTRACT Data organizing into groups is one of most intuitive ways for understanding and knowledge inference. The field of study of cluster analysis involves the formal study of methods and algorithms for data object grouping (or clustering) using similarity metrics. This work presents a solution for the clustering problem in a satellite image for terrain classification. The methodology consists of resolving the clustering problem with a p-center Problem (pcp) resolution approach. In this context, a 2-approximation heuristic for the pcp is implemented and results are presented. 4
SUMÁRIO Pág. LISTA DE FIGURAS LISTA DE TABELAS LISTA DE SIGLAS E ABREVIATURAS 1 INTRODUÇÃO... 9 2 MODELAGEM DE PROBLEMAS EM GRAFOS... 9 2.1 Problema do Conjunto Dominante... 10 2.2 Problema do Conjunto Independente Forte... 11 3 PROBLEMA DO p-centro... 12 3.1 Definição do Problema... 12 3.2 Heurística para o PpC... 12 4 RESULTADOS NUMÉRICOS... 13 4.1 Descrição da Base de Dados... 14 4.2 Resultados... 15 5 CONSIDERAÇÕES FINAIS... 16 REFERÊNCIAS BIBLIOGRÁFICAS... 17 5
LISTA DE FIGURAS Pág. 1 Exemplo de um grafo contendo 7 vértices e 6 arestas... 10 2 Grafo cujo conjunto dominante pode ser formado pelos vértices 4 e 2... 11 3 Possível solução do PCIF para o grafo da Figura 2 (vértices 3 e 6)... 11 6
LISTA DE TABELAS Pág. 1 Códigos correspondentes a cada classe... 14 2 Proporção de elementos classificados em cada cluster... 15 3 Probabilidades de elementos de cada classe pertencer a cada cluster... 16 7
LISTA DE SIGLAS E ABREVIATURAS PpC - Problema do p-centro PCD - Problema do Conjunto Dominante PCIF - Problema do Conjunto Independente Forte PpCC - Problema do p-centro Conexo 8
1 INTRODUÇÃO Clusterização de dados refere-se à organização de um conjunto de dados em subconjuntos de maneira que a similaridade entre dados de um subconjunto seja a maior possível e a similaridade entre elementos de subconjuntos distintos seja a menor possível. Clusterização pode ser considerada então a classificação não-supervisionada de padrões de um conjunto de dados em grupos (clusters). A clusterização de dados é útil em situações onde a análise de padrões, agrupamento, tomada de decisão e/ou mineração de dados é necessária. Neste trabalho é apresentada uma abordagem da resolução do problema de clusterização de dados em grafo como um Problema do p-centro (PpC), para a classificação de terrenos em uma imagem de satélite. São apresentados resultados obtidos através da implementação de uma heurística para a resolução do PpC com razão de aproximação 2. Na seção 2 deste trabalho é apresentado um breve estudo sobre a modelagem de problemas em grafos, bem como alguns conceitos de problemas em grafos importantes na heurística implementada. Na seção 3 é apresentado o PpC e a heurística utilizada. Os resultados obtidos e as considerações finais são apresentados nas seções 4 e 5 respectivamente. 2 MODELAGEM DE PROBLEMAS EM GRAFOS Vários problemas de otimização envolvendo lógica matemática e computacional podem ser descritos através de uma técnica de modelagem conhecida como grafos. Um grafo G é geralmente definido como G = (V, A), com V um conjunto finito não vazio de vértices e A um conjunto de pares não ordenados de elementos distintos de V, denominados arestas. Uma representação visual de um grafo é ilustrado na Figura 1. 9
Figura 1 Exemplo de um grafo contendo 7 vértices e 6 arestas Quando se trabalha com a mineração de bases de dados, a estrutura e o relacionamento entre estess dados é importante. Grafos são uma forma natural de representação de dados e seus relacionamentos de uma forma descritiva. Diversas técnicas para a modelagem de problemas de mineração propostas na literatura, entre elas destacam-se mineração de freqüentes, classificação e clusterização [1]. têm sido padrões Este trabalho aborda um problema de mineração de dados de imagem de satélite com o objetivo de clusterização, modelado em grafo. Nesta seção serão apresentados ainda conceitos sobre o Problema do Conjunto Dominante e o Problema do Conjunto Independente Forte. 2.1 Problema do Conjuntoo Dominante O Problema do Conjunto Dominante (PCD) pode ser descrito como o problema de encontrar min S em um grafo G, onde S = {s V (s, v ) A; v V-S} [2]. Isto é, encontrar o subconjunto de V de menor cardinalidade possível, de maneira que todos os elementos não pertencentes a ele sejam adjacentes a pelo menos um de seus elementos (s). Na figura a seguir uma solução do PCD é ilustrada. 10
1 3 4 5 2 7 6 Figura 2 Grafo cujo conjunto dominante pode ser formado pelos vértices 4 e 2 2.2 Problema do Conjunto Independente Forte Um conjunto independente é um conjunto S como definido em 2.1 com a restrição (s, s ) A, isto é, dois vértices pertencentes a S não são adjacentes [3]. O Problema do Conjunto Independente Forte (PCIF) é o problema de encontrar um conjunto S em que para cada u V, N G (u) S 1, onde N G (u) é conjunto de nós adjacentes a u, no grafo G. Em resumo, o PCIF consta de encontrar um subconjunto S, tal que os nós não pertencentes a ele sejam adjacentes a no máximo um de seus vértices. Na Figura 3 é ilustrada uma possível solução para o PCIF do mesmo grafo da Figura 2. Observa-se que a solução obtida na Figura 3 é além de um conjunto independente forte, um conjunto dominante em G. Este conceito é utilizado na heurística utilizada neste trabalho. 1 3 4 5 2 7 6 Figura 3 Possível solução do PCIF para o grafo da Figura 2 (vértices 3 e 6). 11
3 O PROBLEMA DO p-centro No problema de clusterização de dados, em geral, deseja-se particionar um conjunto de n pontos de entrada de um espaço métrico qualquer em p clusters. O processo de resolução do problema envolve selecionar um ponto centro para cluster considerando a distância entre cada ponto do cluster e seu ponto centro [4]. Na modelagem deste problema como um Problema do p-centro (PpC), deseja-se minimizar a maior destas distâncias para cada cluster. 3.1 Definição do Problema O PpC é geralmente modelado através de um grafo completo G = (V, A), em que V é um conjunto de vértices e A é um conjunto de arestas e valores associados a cada aresta representando a distância entre os vértices. A resolução do problema envolve então encontrar um subconjunto S V com S p tal que max i V min j S ω (i, j) seja minimizado, onde ω a é o peso da aresta a. É importante observar que a resolução do PpC pode ser obtida através da resolução do PCIF com o menor ω a em G e do PCD em G 2, sendo G 2 um grafo de potência 2 (grafo onde a adjacência entre um vértice v e v ocorre se v alcança v em duas arestas no mínimo em G) de G. Diversas heurísticas têm sido propostas para a resolução do PpC, desde heurísticas gulosas, busca de vizinhança e meta-heurísticas. Neste trabalho é implementada uma heurística para o PpC com razão de aproximação 2, isto é, a solução dada através da heurística é no máximo duas vezes pior que a solução ótima para uma instância do problema. A heurística é aplicada a uma base de dados obtida através de uma imagem do Landsat. 3.2 Heurística para o PpC A heurística apresentada nesta seção tem como base a construção de um conjunto independente forte para obter uma solução aproximada para o PpC. Os autores provam [5] que o algoritmo provê como resultado um conjunto independente forte cuja cardinalidade é no máximo igual a p com razão de aproximação 2. O pseudo-código da heurística é apresentado a seguir. 12
ENTRADA: Um grafo completo G = (V, A) com A = {a 1, a 2,..., a m }, sendo m a quantidade de arestas do grafo. O grafo é armazenado em uma lista de adjacências, onde para cada vértice, seus vértices adjacentes são ordenados em ordem crescente com relação ao peso de suas arestas. Seja G i = (V, A i ) com A = {a 1, a 2,..., a i }. SAÍDA: Conjunto S com S p, onde p é a quantidade de centros. início se p = V então saída V e pare inferior := 1{limite inferior para a busca das arestas} superior := m {limite superior para a busca das arestas} até superior = inferior + 1 faça início meio := inferior+superior)/2 {Seja ADJ meio a lista de adjacências ordenada para G meio } S := Ø T := V enquanto x T faça início S := S {x} para todo v ADJ meio (x) faça T := T - ADJ meio (v) {v} fim se S então faça início superior := meio S := S fim senão inferior := meio fim saída S Em cada passo do laço até no pseudo-código apresentado é obtido um conjunto S de vértices que é tanto Independente Forte quanto Dominante em G 2 mid, contendo apenas as arestas de 1 a mid. A resolução do problema do PpC é obtida buscando-se a aresta de menor peso que permita a resolução do PCIF em G e o PCD em G 2. 4 RESULTADOS NUMÉRICOS O objetivo deste trabalho é o estudo da resolução de problemas de clusterização através da modelagem em grafos e resolução como um PpC. Para os testes computacionais do algoritmo implementado foi utilizada uma 13
base de dados contendo os píxeis de uma imagem obtida pelo satélite Landsat. A descrição apresentada em [6] é exposta abaixo. 4.1 Descrição da Base de Dados A imagem do satélite Landsat, utilizada para a base de dados, consta de quatro imagens digitais de uma mesma cena em quatro bandas espectrais diferentes. Duas delas são na região do visível (correspondendo as bandas verde e vermelho do espectro visível) e as outras duas estão no infra-vermelho próximo. Cada pixel é uma palavra binária de 8 bits, com 0 correspondendo à cor preta e 255 à cor branca. A resolução espacial de um único pixel é 80m x 80m. Cada imagem contém 2340 x 3380 píxeis. A base de dados é uma minúscula sub-área da cena, consistindo de 82x100 píxeis. Cada linha da base corresponde a uma matriz 3x3 de píxeis completamente contidos na sub-área 82x100. Cada linha contém os valores dos píxeis nas quatro bandas espectrais (convertidas para ASCII) de cada pixel da matriz 3x3 (9 píxeis) e um número indicando o rótulo da classificação do pixel central. O número é um código para as seguintes classes: Tabela 1 Códigos correspondentes a cada classe. Código Classe 1 solo vermelho 2 Algodão 3 solo cinza 4 solo cinza molhado 5 solo com vegetação rasteira 6 todas as classes presente 7 solo cinza encharcado Dada a base de dados, o objetivo é prever a classificação do pixel central, utilizando valores multi-espectrais. 14
Os dados das matrizes na base foram colocados em ordem aleatória e algumas linhas foram retiradas, de maneira que não é possível reconstruir a imagem original a partir da base de dados. Para o caso de uso apresentado aqui, foram utilizadas 504 matrizes da imagem, que não possuem píxeis nas classes 1 e 6. Na construção da instância do PpC referente à esta base de dados, foram utilizados somente os valores das bandas verdes e vermelha dos píxeis centrais de cada matriz. Portanto, no grafo no qual a base é modelada, os vértices são pares ordenados na forma (x, y) sendo x o valor do pixel central na banda verde e y é o valor do pixel central na banda vermelha e os pesos das arestas correspondem às distâncias euclidianas entre os vértices. 4.2 Resultados Na tabela abaixo são apresentados os resultados correspondentes a proporção de agrupamento de cada classe para cada cluster (soma das colunas é igual 1). Tabela 2 Proporção de elementos classificados em cada cluster. Classes Cluster 2 3 4 5 7 1 0 0,996871 0,35 0 0,081 2 0,066667 0,00306 0,65 0,0476 0,675 3 0,066667 0 0 0,1904 0,216 4 0,216667 0 0 0,7619 0,027 5 0,65 0 0 0 0 É possível observar através da tabela acima que a porcentagem mínima de elementos de uma mesma classe agrupados em um único cluster é de 65% (elementos da classe 2 agrupados no cluster 5) e a maior proporção de classificação corresponde à classe 3, com 99% dos elementos classificados. 15
A partir dos maiores valores de proporção de agrupamento, determina-se as maiores porcentagens de classificação em cada classe. Estes valores são apresentados na tabela a seguir. Tabela 3 Probabilidades de elementos de cada classe pertencer a cada cluster. Classe Cluster Probabilidade 2 5 0,65 3 1 0,996871 4 2 0,65 5 4 0,7619 7 2 0,675 Observa-se que na clusterização desta base, a maioria dos elementos das classes 4 (solo cinza molhado) e 7 (solo cinza encharcado) foram atribuídos ao mesmo cluster (como observado na tabela acima. 5 CONSIDERAÇÕES FINAIS Neste trabalho é apresentada uma abordagem do problema de clusterização de dados através da modelagem em grafos e resolução do PpC, para a classificação de terreno em uma imagem de satélite. Esta abordagem envolve o estudo e implementação de uma heurística para resolver o PpC com razão de aproximação 2. Através do algoritmo foi possível obter clusters cuja proporção de elementos correspondentes à mesma classe de terreno é não menor que 0,65 e um dos terrenos da imagem foi classificada em um cluster com uma proporção de 0,99. Pretende-se implementar melhorias no algoritmo, como a aleatorização dos vértices iniciais na formação de cada cluster para obter possíveis melhores soluções, otimizar a ordenação da lista de adjacências e extender a heurística para o Problema do p-centro Conexo (PpCC). A abordagem do PpCC em um Problema de Clusterização pode ser promissora por permitir a análise conjunta dos atributos e seus relacionamentos [7]. 16
REFERÊNCIAS BIBLIOGRÁFICAS [1] A. K. Jain, Data Clustering: A Review, ACM Computing Surveys, Vol 31, No. 3, setembro de 1999. [2] M. A. Khaled, P.-J. Wan, O. Frieder, New Distributed Algorithm for Connected Dominating Set in Wireless Ad Hoc Networks, Proceedings 35º Annual Hawaii International Conference on System Sciences, 2002. [3] S. S. Kamath, R.S. Bhat, On Strong (Weak) Independent Sets and Vertex Coverings of a Graph, Elsevier, 2006. [4] D. S. Hochbaum, A. Pathria, Generalized p-center Problems: Complexity Results and Approximation Algorithms, Elsevier, 1997. [5] D. S. Hochbaum, D. B. Shmoys, A Best Possible Heuristic for The k-center Problem, Mathematics of Operations Research, Vol. 2, No. 2, 1985. [6] Disponível em: http://archive.ics.uci.edu/ml/datasets/statlog+%28landsat+satellite%29. [7] G. Rong, E. Martin, G. J. Byron, H. Zengjian, B. Bhattacharya, Joint Cluster Analysis of Attribute Data and Relashionship Data: The Connected k-center Problem, Algorithms and Applications, ACM Transactions on Knowledge Discovery from Data, Vol. 2, No. 2, Julho de 2008. 17