• Nenhum resultado encontrado

Agrupamento de dados simbólicos usando abordagem Possibilistic

N/A
N/A
Protected

Academic year: 2021

Share "Agrupamento de dados simbólicos usando abordagem Possibilistic"

Copied!
108
0
0

Texto

(1)

Universidade Federal de Pernambuco

Centro de Informática

Pós-graduação em Ciência da Computação

AGRUPAMENTO DE DADOS

SIMBÓLICOS USANDO ABORDAGEM

POSSIBILISTIC

Bruno Almeida Pimentel

Dissertação de Mestrado

Recife

Fevereiro de 2013

(2)

Universidade Federal de Pernambuco

Centro de Informática

Bruno Almeida Pimentel

AGRUPAMENTO DE DADOS SIMBÓLICOS USANDO

ABORDAGEM POSSIBILISTIC

Trabalho apresentado ao Programa de Pós-graduação em Ciência da Computação do Centro de Informática da Uni-versidade Federal de Pernambuco como requisito parcial para obtenção do grau de Mestre em Ciência da Computa-ção.

Orientadora: Profa. Dra. Renata Maria C. R. de Souza

Recife

Fevereiro de 2013

(3)

Catalogação na fonte

Bibliotecária Monick Raquel Silvestre da Silva, CRB4-1217

Pimentel, Bruno Almeida

Agrupamento de dados simbólicos usando abordagem Possibilistic / Bruno Almeida Pimentel. - Recife: O Autor, 2013.

xii, 94 f.: il., fig., tab.

Orientadora: Renata Maria Cardoso Rodrigues de Souza. Dissertação (mestrado) - Universidade Federal de Pernambuco. CIN, Ciência da Computação, 2013.

Inclui bibliografia.

1. Inteligência computacional. 2. Análise de dados simbólicos. 3. Análise de agrupamento. I. Souza, Renata Maria Cardoso Rodrigues de (orientadora) II. Título.

(4)

Dissertação de Mestrado apresentada por Bruno Almeida Pimentel à Pós-Graduação em Ciência da Computação do Centro de Informática da Universidade Federal de Pernambuco, sob o título “Agrupamento de Dados Simbólicos usando Abordagem Possibilistic” orientada pela Profa. Renata Maria Cardoso Rodrigues de Souza e aprovada pela Banca Examinadora formada pelos professores:

______________________________________________ Prof. Ricardo Bastos Cavalcante Prudêncio

Centro de Informática / UFPE

______________________________________________ Prof. Getúlio José Amorim do Amaral

Departamento de Estatística / UFPE

_______________________________________________ Profa. Renata Maria Cardoso Rodrigues de Souza

Centro de Informática / UFPE

Visto e permitida a impressão. Recife, 25 de fevereiro de 2013.

___________________________________________________ Profa. Edna Natividade da Silva Barros

Coordenadora da Pós-Graduação em Ciência da Computação do Centro de Informática da Universidade Federal de Pernambuco.

(5)

Dedico esse trabalho aos meus pais, por terem ensinado o verdadeiro valor dos estudos. E à professora Renata, por me apresentar a ciência e pesquisa e me guiar nessa jornada de descobertas.

(6)

Agradecimentos

Agradeço à minha família por ter me ajudado a chegar nesta etapa da minha vida, com incentivo e compreensão, em especial aos meus pais que estão me acompanhando e orientando em todos os momentos. Por terem me ensinado o valor do estudo e que a busca pelo conhecimento e pela verdadeira vocação devem ser características essenciais presentes em qualquer cidadão.

À professora, orientadora e amiga Renata de Souza, que desde os primeiros semestres do curso de Ciência da Computação me auxiliou nessa construção do conhecimento, permitindo, primeiramente, o ingresso na monitoria de Estatística, a qual deu ocasião a ajudar outros co-legas e aprender mais sobre a disciplina. Em seguida, a participação de pesquisas através da iniciação científica, atividade que me fez ficar ainda mais admirado pela ciência. Recentemente me guiou no programa de mestrado desta instituição, o que resultou no desenvolvimento deste trabalho.

Agradeço, também aos meus colegas de turma, com os quais debatemos idéias e discutimos sobre os mais diversos temas ajudando na minha formação acadêmica e profissional. Aos amigos de pesquisa, que antes mesmo do Mestrado estamos adquirindo conhecimentos juntos. Finalmente ao Conselho Nacional de Desenvolvimento Científico e Tecnológico (CNPq) pelo auxílio financeiro.

(7)

Uma jornada de duzentos quilômetros começa com um simples passo. —PROVÉBIO CHINÊS

(8)

Resumo

Este trabalho relata sobre os diferentes métodos de agrupamento presentes na literatura atual e introduz métodos de agrupamento baseado na abordagem possibilística para dados interva-lares. Tem como objetivo estender os métodos clássicos de agrupamento possibilístico para dados intervalares simbólicos. Além disso, é proposto uma nova abordagem possibilística em que há um grau de pertinência diferente para cada variável e classe. A abordagem possibilística considera a pertinência como possibilidades dos objetos a classes e a partição resultante dos dados pode ser entendida como uma partição possibilística. O algoritmo conhecido dessa cate-goria é o Possibilístic C-Means (PCM). No PCM, a otimização da função objetivo em alguns conjuntos de dados pode ajudar a identificar outliers e dados ruidosos. A Análise de Dados Simbólico (ADS) surgiu para lidar com variáveis simbólicas, que podem ser do tipo interva-los, histogramas, e até mesmo funções, a fim de considerar a variabilidade e/ou a incerteza inata aos dados. As técnicas de ADS tornam-se uma poderosa ferramenta quando usadas em métodos de agrupamentos, o que causa um constante crescimento em pesquisas para o aprimo-ramento destas técnicas usadas nos mais variados algoritmos, tais como em K-Means, Support Vector Machine(SVM) e Kernel. Objetivando avaliar o desempenho dos métodos propostos e os presentes na literatura, um estudo comparativo destes métodos em relação ao agrupamento de objetos simbólicos do tipo intervalo é realizado. Foram planejados experimentos com dados sintéticos, usando o experimento Monte Carlo, e dados reais. O índice corrigido de Rand (CR) e a taxa de erro global de classificação (OERC) são usados para avaliar os métodos.

Palavras-chave: Análise de Dados Simbólicos, Dados Intervalares, Método de Agrupamento Possibilistic C-Means, Ruido, Outlier.

(9)

Abstract

This work reports on different clustering methods present in literature and introduces cluste-ring methods based on possibilistic approach for interval data. It aims to extend the classical methods of possibilistic clustering for symbolic interval data. Furthermore, it is proposed a new approach in which there is a different possibilistic membership degree for each variable and cluster. The possibilistic approach considers the relevance and possibilities of the clas-ses and objects resulting partition of the data can be understood as a possibilistic partition. The known algorithm of this category is the Possibilistic C-Means (PCM). In PCM, the optimization of the objective function in some data sets can help identify outliers and noisy data. Symbolic Data Analysis (SDA) appeared to handle symbolic variables, which may be intervals, histo-grams, and even functions, in order to consider the variability and/or the uncertainty inherent data. SDA techniques become a powerful tool when used in clustering methods, which causes a constant growth in research to improve these techniques used in various algorithms, such as in K-Means, Support Vector Machine (SVM) and Kernel. In order to evaluate the performance of the proposed methods and the methods of literature, a comparative study of these methods in relation to the clustering of symbolic objects of type interval is performed. We planned experi-ments with synthetic data, using the Monte Carlo experiment, and real data. The adjusted Rand index (CR) and overall error rate of classification (OERC) are used to evaluate the methods. Keywords: Symbolic data analysis, Interval data, Possibilistic c-means clustering method, Noise, Outlier.

(10)

Sumário

1 Introdução 1 1.1 Motivação 1 1.2 Objetivos 4 1.3 Organização da dissertação 4 2 Métodos de Agrupamento 6 2.1 Introdução 6 2.2 Métodos Sequenciais 8

2.2.1 Esquema de Algoritmo Seqüencial Básico 8

2.2.2 Esquema de Algoritmo com Dois Limiares 9

2.3 Métodos Hierárquicos 11 2.3.1 Algoritmo Aglomerativo 13 2.3.2 Algoritmo Divisivo 16 2.4 Métodos de Particionamento 17 2.4.1 Algoritmos Rígidos 18 2.4.2 Algoritmos Difusos 22 2.5 Outros Métodos 23

3 Métodos Fuzzy C-Means 28

3.1 Introdução 28 3.2 Algoritmo FCM 29 3.2.1 Função Objetivo 30 3.2.2 Protótipo 31 3.2.3 Grau de Pertinência 32 3.2.4 Algoritmo 37

3.3 FCM com Distância Adaptativa 39

3.3.1 Distância Global 39

3.3.2 Distância por Classe 42

(11)

3.4 FCM Robusto 46 4 Métodos de Agrupamento Possibilístico para Dados Simbólicos do Tipo Intervalo 49

4.1 Introdução 49

4.2 Grau de pertinência por Classe 50

4.2.1 Algoritmo 57

4.3 Grau de pertinência por Classe e Variável 59

4.3.1 Algoritmo 65 5 Experimentos e Resultados 67 5.1 Introdução 67 5.2 Dados Sintéticos 68 5.3 Dados Reais 75 5.3.1 City-temperature 76 5.3.2 Amanita 80

6 Conclusão e Trabalhos Futuros 84

6.1 Conclusão 84

6.2 Trabalhos Futuros 85

(12)

Lista de Figuras

1.1 Configuração com duas classes de dados intervalares 3

2.1 Exemplo de agrupamento de dados 7

2.2 Exemplo das técnicas de agrupamento 12

2.3 Exemplo do algoritmo aglomerativo 14

2.4 Dendrograma 15

2.5 Aplicação de Algoritmos Genéticos 24

2.6 Rede Neural do tipo SOM 26

2.7 Agrupamento hierárquico e piramidal 27

3.1 Posições dos elementos A, B e C. 35

3.2 Diferença entre a Função Indicador e o grau de pertinência. 36 3.3 Variação do grau de pertinência em função do somatótio para diferentes valores

de m. 37

4.1 Comportamento da função não-exponencial para a atualização do grau de

per-tinência 54

4.2 Comportamento da função exponencial para a atualização do grau de pertinência 55

4.3 Configuração com dois objetos simbólicos intervalares 56

4.4 Gráfico de superfície dos graus de pertinência para os métodos IPCM e IPCM-E 57 4.5 Gráfico de contorno dos graus de pertinência para os métodos IPCM e IPCM-E 57 4.6 Gráfico de superfície dos graus de pertinência para os métodos IPCM-V e

IPCM-VE 62

4.7 Gráfico de contorno dos graus de pertinência para os métodos V e

IPCM-VE 63

4.8 Configuração com dois objetos simbólicos intervalares com variáveis

correla-cionadas 63

4.9 Gráfico de superfície dos graus de pertinência para os métodos IPCM-V e

(13)

4.10 Gráfico de contorno dos graus de pertinência para os métodos V e

IPCM-VE com variáveis correlacionadas 64

5.1 Conjunto de sementes 1 e 2 69

5.2 Conjunto de sementes 1 e 2 com 30% de outliers 70

5.3 Conjunto de dados intervalares 1 e 2 com 30% de outliers 71 5.4 Índice CR versus percentual de outlier dos métodos para a Configuração 1 74 5.5 Índice CR versus percentual de outlier dos métodos para a Configuração 2 75 5.6 Grupos 1 e 2 de acordo com o método Zoom Star para o conjunto City-temperature 80 5.7 Grupos 3 e 4 de acordo com o método Zoom Star para o conjunto City-temperature 80 5.8 Grupos 1 e 2 de acordo com o método Zoom Star para o conjunto Amanita 83 5.9 Grupo 3 de acordo com o método Zoom Star para o conjunto Amanita 83

(14)

Lista de Tabelas

2.1 Tipos de ligação 12

2.2 Tipos de distância 13

5.1 Parâmetros para o conjunto de sementes 1 e 2 69

5.2 Parâmetros para outliers na configuração de sementes 1 e 2 70 5.3 Comparação dos métodos de agrupamento para dados intervalares para a

Con-figuração 1 72

5.4 Comparação dos métodos de agrupamento para dados intervalares para a

Con-figuração 2 73

5.5 Temperaturas mínimas e máximas das cidades em graus centígrados 76 5.6 Resultado dos agrupamentos para o conjunto de dados City-temperature 78 5.7 Índices CR e OERC dos métodos executados para o conjunto de dados

City-temperature 79

5.8 Variáveis intervalares do conjunto de dados Amanita 81

5.9 Resultado dos agrupamentos para o conjunto de dados Amanita 82 5.10 Índices CR e OERC dos métodos executados para o conjunto de dados Amanita 82

(15)

C

APÍTULO

1

Introdução

Aprender é a única de que a mente nunca se cansa, nunca tem medo e nunca se arrepende. —LEONARDO DA VINCI

1.1

Motivação

Com o crescente interesse em automaticamente compreender, processar e resumir dados, diver-sos domínios de aplicação, como reconhecimento de padrões, aprendizado de máquina, minera-ção de dados, visão computacional e biologia computacional usam algoritmos de agrupamento [1]; [2]. O objetivo da análise de agrupamento é agrupar um conjunto de elementos em grupos tais que os elementos dentro de um cluster tem um elevado grau de semelhança, ao passo que os elementos pertencentes a diferentes grupos têm um alto grau de dessemelhança. Técnicas de agrupamento podem ser divididos em hierárquicos e de particionamento: no hierárquico, os grupos de objetos se apresentam como uma seqüência de partições de modo que um grupo inicial contenha todos os indivíduos e se divide até obter tantos grupos quanto for o número de indivíduos ou o processo inverso, enquanto particionamento divide diretamente o conjunto de objetos em um número fixo de clusters com nenhuma estrutura hierárquica [3] e faz essa divisão baseada na otimização de uma função objetivo adequada.

Além disso, os métodos de agrupamento podem ser classificados em rígido (hard) e di-fuso (fuzzy). O agrupamento rígido associa cada elemento dos dados um a uma única classe, enquanto que no agrupamento difuso cada elemento dos dados está associado com todas as classes da partição, os elementos não pertencem a um único cluster e, por esse motivo, os graus de pertinência são calculados. Um método difuso assume que os graus de pertinência devem ter valores entre 0 e 1 e a soma de todos os graus de pertinência de um elemento rela-tivos às classes deve ser igual a 1 [4]. O método Fuzzy C-Means (FCM) é o algoritmo do tipo difuso mais popular, entretanto a restrição da soma ser igual dos graus de pertinência para uma determinada classe nem sempre corresponde aos conceitos de pertinência, já que elementos em

(16)

diferentes posições podem ter a mesma chance de pertencer aos grupos. Além disso, o FCM é um método de agrupamento de dados sensível a ruído e outlier [4].

Outra categoria de métodos de agrupamento é a que usa a abordagem possibilística proposta por Krishnapuram e Keller [5] que não usa a restrição da soma. A abordagem possibilística con-sidera a pertinência como possibilidades dos pontos a classes e a partição resultante dos dados pode ser entendida como uma partição possibilística. O algoritmo conhecido dessa categoria é o Possibilístic C-Means (PCM). No PCM, a forma como os graus de pertinência e protóti-pos são calculados usando o conceito de protóti-possibilidade podem, em muitos conjuntos de dados, ajudar a identificar outliers e dados ruidosos [4].

A maior parte da literatura sobre clusters discute agrupamento envolvendo somente da-dos numéricos. Na análise de agrupamento clássico, os dada-dos são muitas vezes representada-dos como matrizes de valores quantitativos ou qualitativos, onde cada coluna representa uma va-riável. Em particular, cada indivíduo tem um único valor para cada vava-riável. No entanto, essa representação pode não ser adequada para modelar informações mais complexas encontradas em problemas reais [6]. Portanto, a Análise de Dados Simbólico (ADS) surgiu para lidar com variáveis simbólicas que podem ser do tipo intervalos, histogramas, e até mesmo funções, a fim de considerar a variabilidade e/ou a incerteza inata aos dados [6]. O principal objetivo da ADS é modelar informação usando dados simbólicos descritos por regras, distribuições de probabi-lidade ou intervalos e estender a análise de dados clássica e técnicas de mineração de dados, tais como, clustering, técnicas fatoriais, árvores de decisão e outro para dados simbólicos.

Em ADS, uma observação simbólica quantitativa pode ser representada por um intervalo interpretado como vários valores pertencentes a [a,b], a < b. Assim, uma variável simbólica in-tervalar tem a variabilidade inerente e vários autores têm abordado o problema de agrupamento para dados intervalares simbólicos. Com relação ao agrupamento rígido, Bock [7] propôs vá-rios algoritmos de agrupamento para dados simbólicos descritos por variáveis intervalares com base em um critério de agrupamento e tem, portanto, generalizado abordagens semelhantes na análise de dados clássicos. Souza e Carvalho [8] propuseram métodos de particionamento para dados intervalares baseados em distâncias City-Block, também considerando as distâncias adaptativas. De Carvalho et al. [9] apresentou método de agrupamento para dados de intervalos baseados em distância L2. De Carvalho e Souza [10] introduziram o uso de distâncias

adaptati-vas de Hausdorff em agrupamento de dados do tipo intervalo. De Carvalho e Lechevallier [11] apresentaram métodos de agrupamento para dados intervalares baseados em distâncias adapta-tivas single. De Carvalho e Lechevallier [12] apresentaram os algoritmos de agrupamento para dados simbólicos intervalares baseados em distâncias quadráticas adaptativas. Em relação à abordagem fuzzy, De Carvalho [13] apresentou a versão adaptativa e não-adaptativa do método

(17)

de agrupamento FCM para o particionamento de dados simbólicos intervalares e De Carvalho e Tenorio [14] introduziram o método Fuzzy C-Means baseado em distâncias quadráticas adap-tativas para dados intervalares. No entanto, todos estes métodos de agrupamento são sensíveis a dados ruidosos e outliers.

Este trabalho tem como objetivo estender os métodos clássicos de agrupamento possibilís-tico [5], [15] para dados intervalares simbólicos. Além disso, é proposto uma nova abordagem possibilística em que há um grau de pertinência diferente para cada variável e cluster. A idéia deste método é apresentado na Figura1.1. Considere dois clusters C1e C2 de elementos

des-critos por duas variáveis simbólicas intervalares y1 e y2. Considere os elementos 3 e 8 desta

figura serem os protótipos dos clusters C1e C2, respectivamente.

Figura 1.1 Configuração com duas classes de dados intervalares

De acordo com a abordagem fuzzy apresentado em [13] é esperado que o elemento 5 tenha um valor de pertinência para o grupo 2 ligeiramente maior que o valor de pertinência para o grupo 1 uma vez que a distância entre os itens 3 e 5 é maior do que a distância entre os itens 5 e 8. No entanto, analisando a variável y2 separadamente, podemos esperar que o grau de

pertinência ao cluster 1 do item 5 tenha um valor próximo a 1 e o grau de pertinência para o grupo 2 tenha um valor próximo de 0. Investigando a variável y1 separadamente, o grau de

pertinência ao cluster 2 do item 5 tem valor próximo de 1, mas o grau de pertinência ao cluster 1 não é perto de 0, pois a variável y1 tem maior dispersão. Neste caso, uma abordagem que

(18)

1.2

Objetivos

Nesta dissertação, serão apresentados dois algoritmos para o agrupamento de conjunto de dados simbólicos do tipo intervalo utilizando a abordagem possibilística. Inicialmente é apresentada uma extensão dos métodos Possibilistic C-Means propostos por Krishnapuram e Keller [5] para intervalos. Estes métodos se caracterizam pela função que calcula os graus de pertinência, a qual pode ser exponencial e não-exponencial. Segundo os autores, o método cuja função de atualização do grau de pertinência é do tipo exponencial possui um melhor desempenho com configurações onde os clusters estão próximos.

Além da extensão dos métodos possibilisticos clássicos para dados intervalares, é proposto uma nova abordagem para lidar com graus de pertinência por classe e variáveis intervalares. Assim, existe uma matriz de graus de pertinência para cada indivíduo neste método. O objetivo é tratar separadamente cada variável e construir a partição final usando informações de várias partições possibilísticas. Semelhantemente ao método clássico, os métodos que tratam sepa-radamente as variáveis também tem a função de atualização dos graus de pertinência do tipo exponencial e não-exponencial.

Com o objetivo de avaliar o desempenho dos métodos propostos e os presentes na literatura, um estudo comparativo destes métodos em relação ao agrupamento de objetos simbólicos do tipo intervalo usando o experimento Monte Carlo é realizado. Foram planejados experimentos com dados sintéticos e reais e o índice corrigido de Rand (CR) e a taxa de erro global de classificação (OERC) são usados para avaliar os métodos.

1.3

Organização da dissertação

A dissertação segundo os capítulos está organizada da seguinte forma: Capítulo 2 - Métodos de Agrupamento

Neste capítulo, uma breve descrição do estado da arte da Análise de Cluster é apresen-tada. Em resumo, três principais categorias de métodos: os seqüenciais que criam os grupos avaliando um elemento do conjunto de dados por vez até que todo o conjunto seja avaliado; os hierárquicos que é caracterizado por formar seqüencias de partições; e os de partição que analisam todos os elementos da base de dados não-seqüencialmente e encontram, segundo uma função objetivo, grupos cujo número é definido a priori.

(19)

Capítulo 3 - Métodos Fuzzy C-Means

O capítulo descreve o tradicional método Fuzzy C-Means. Em seguida, a versão na qual usa distâncias adaptativas single e por classe do tipo L2 para particionar dados simbólicos do

tipo intervalo. Estes métodos são capazes de encontrar um partição fuzzy e tem a propriedade de identificar clusters com diferentes formas e tamanhos. Entretanto, são sensíveis a dados ruidosos e outliers. Finalmente, uma versão do Fuzzy C-Means para dados intervalares robusta a ruidosos é descrita.

Capítulo 4 - Métodos de Agrupamento Possibilístico para Dados Simbólicos do Tipo In-tervalo

Neste capítulo, os métodos propostos serão apresentados. Inicialmente, os métodos rela-tivos à extensão dos métodos clássicos presentes na literatura para dados simbólicos do tipo intervalo. Em seguida, novos métodos serão descritos referentes ao tratamento isolado do grau pertinência para cada variável.

Capítulo 5 - Experimentos e Resultados

Nesta parte da dissertação, serão tratados experimentos com os métodos propostos e os pre-sentes na literatura para dados simbólicos do tipo intervalo usando experimento Monte Carlo. Na primeira parte, os métodos serão avaliados através de diferentes configurações de dados artificiais. Na segunda parte, o desempenho será avaliado para conjuntos de dados reais. Como métricas para a avaliação, serão usados o índice corrigido de Rand (CR) e a taxa de erro global de classificação (OERC) .

Capítulo 6 - Conclusão e Trabalhos Futuros

Nesse capítulo, serão apresentadas as conclusões, considerações finais e possíveis trabalhos futuros que poderão ser realizados baseados no estudo realizado nesta dissertação.

(20)

C

APÍTULO

2

Métodos de Agrupamento

O saber é saber que nada se sabe. Este é a definição do verdadeiro conhecimento. —CONFÚCIO

2.1

Introdução

Uma das mais básicas habilidades dos seres vivos envolve o agrupamento de objetos similares para produzir uma classificação. Desde os primórdios do seu surgimento, o homem, por exem-plo, obteve habilidades para identificar que muitos objetos possuíam certas propriedades, tais como a comestibilidade de alimentos, a usabilidade de ferramentas, a ferocidade de animais, entre outros. Desta forma, surge a idéia de agrupamento (cluster ou classe), no qual os objetos são reunidos de modo que a semelhança entre eles é maior do que qualquer outra classe exis-tente. O conceito de agrupamento está relacionado a diversos ramos do conhecimento, fazendo parte das pesquisas de muitas áreas, tais como Reconhecimento de Padrões, Estatística, Ma-temática, Engenharia e Física, sendo usado em várias aplicações, como medicina, psiquiatria, serviços sociais, pesquisa de mercado, educação e arqueologia.

A Análise de Agrupamentos (Clustering Analysis) objetiva separar um conjunto inicial de objetos em um determinado número de agrupamentos, de modo que os elementos pertencen-tes ao mesmo agrupamento possuam mais semelhanças (similaridades) entre si, e sejam mais diferentes (dissimilares) aos pertencentes a outros agrupamentos. O processo de separar ou identificar grupos a partir de semelhanças entre objetos é comumente realizada por seres hu-manos e envolve um processo de aprendizagem. Por exemplo, uma criança pode associar as palavras cão e gato através da observação da diferença que existe entre estes dois animais. Desta forma, Análise de Agrupamentos é normalmente considerada uma sub-area de estudo de Reconhecimento de Padrões e Inteligência Artificial. Um importante conceito utilizado em Análise de Agrupamento é partição, a qual é caracterizada por conter um defenido número de grupos, tais que um elemento em cada grupo não pode pertencer a qualquer um outro, isto é,

(21)

são disjuntos. A figura a seguir ilustra objetos dispostos no ℜ2para o conjunto de dados Iris:

Figura 2.1 Exemplo de agrupamento de dados

Este conjunto de dados pode sem encontrado em UCI Machine Learning Repository (http: //archive.ics.uci.edu/ml/datasets.html). Ele é bastante conhecido e freqüen-temente usado por métodos de agrupamento e foi primeiramente apresentado como artigo por Fisher. Trata-se de um conjunto de 3 grupos de 50 instâncias cada, onde cada grupo repre-senta um tipo de planta Iris: Setosa, Versicolour e Virginica. Cada elemento do conjunto é descrito por 4 variáveis: largura e comprimento da sépala e largura e comprimento da pétala em centímetros.

Diferentemente dos algoritmos de classificação, nos quais os objetos precisam ser rotulados por classe caracterizando um aprendizado supervisionado, os algoritmos de agrupamento não necessitam dessa rotulação, isto é, ocorre a aprendizagem não-supervisionada. Na aprendiza-gem supervisionada, a separação das classes é realizada por um supervisor, que mede o grau de desempenho desse algoritmo e realiza ajustes sobre o mesmo até que seja atingida alguma medida que seja considerada satisfatória, utilizando como recurso alguma informação externa sobre o domínio avaliado. Entretanto, essa abordagem possui uma limitação: é necessário um conhecimento preliminar do domínio estudado, o que não é possível em diversas situações. Na aprendizagem não-supervisionada, como ocorre nos métodos de agrupamento, não há a neces-sidade de informações a priori sobre o domínio avaliado, levando-se em consideração, apenas, a disposição dos dados e suas propriedades internas.

Como esses métodos são executados de forma não-supervisionada, existem diversas téc-nicas para a estimação do número ideal de conjuntos finais que devem ser criados de forma a tornar a divisão dos dados mais representativa para o problema estudado, como apresentado em [18]. Além disso, podem ser classificados de acordo com a forma que interpretam os dados e

(22)

a maneira com que esses objetos se organizam em agrupamentos. As principais categorias de métodos não-supervisionados para criar grupos são descritos nas seções a seguir.

2.2

Métodos Sequenciais

O algoritmo de métodos seqüenciais possuem uma descrição simples e, conseqüentemente, fá-cil de entender. Os dados são apresentados poucas vezes e o número de classes não é conhecido a priori, apenas um número limite q de clusters definido pelo usuário, assim como um único limiar Θ, para o Esquema de Algoritmo Seqüencial Básico (BSAS), ou mais, para o Esquema de Algoritmo com Dois Limiares (TTSAS). Além disso, é necessária a medida de proximidade dtal que d(x,C) mede o quão próximo um objeto x está de um conjunto C (esse conjunto pode estar sendo representado por um protótipo, de forma que d pode ser calculado entre o objeto e o representante de C).

2.2.1 Esquema de Algoritmo Seqüencial Básico

O algoritmo é caracterizado por fazer uma única leitura dos dados, tornando-se simples e rá-pido. Entretanto, esses algoritmos possuem a desvantagem de serem sensíveis a ordem de apresentação dos elementos estudados, uma vez que a representação dos conjuntos por meio de protótipos pode mudar a cada iteração e com isso a relação de proximidade entre o elemento e o grupo seja alterada. O esquema de algoritmo seqüencial básico pode ser definido como [19]: O algoritmo começa criando um grupo com o primeiro elemento do conjunto de dados e a partir deste grupo, os n − 1 objetos restando são alocados para o grupo mais adequado segundo o limiar definido a priori. Portanto, o custo computacional é da ordem de O(n). A distância d utilizada é importante para o resultado final da partição, uma vez que ela irá definir se o elemento atual pertencerá ao conjunto Ck ou se será necessário criar outro. Outro

fator importante que pode definir a partição é o limiar Θ, já que ele tem efeito direto sobre o número de conjunto formados: se for pequeno, conjuntos desnecessários serão criados; ser for grande, serão poucos conjuntos criados, podendo ser insuficiente para representar a partição ideal dos dados. Uma outra versão do algoritmo é caracterizado pela adição de um parâmetro K. Este número K defini o limite de grupos que podem ser criados. Enquanto m < K, existe a possibilidade de o algoritmo criar um grupo, entretanto caso m = K, todos os elementos restantes serão alocados a um dos grupos anteriormente criados.

(23)

Algorithm 1 BSAS(Ω, Θ)

Require: Um conjunto de dadosΩ e um limiar Θ.

Ensure: Retorna uma partição P= {C1,C2, . . . ,Cm} dos elementos do conjunto.

1: m← 1 2: Cm← {x1} 3: for i= 2 → n do 4: Encontre Ck: d(xi,Ck) = minjd(xi,Cj) 5: if d(xi,Ck) > Θ then 6: m← m + 1 7: Cm← {xi} 8: else 9: Ck← Ck∪ {xi}

10: Se d for calculada a partir de protótipos, atualize o protótipo do conjunto Ck

11: end if

12: end for return Partição P

executado fazendo a leitura dos dados duas vezes. Ela supera a desvantagem de um conjunto final de uma única amostra ser decidida antes de todos os grupos serem criados. A primeira fase do algoritmo cria clusters (tal como em BSAS) e atribui uma única amostra de cada cluster. Então a segunda fase percorre as amostras restantes e as classifica para os grupos criados.

2.2.2 Esquema de Algoritmo com Dois Limiares

A principal desvantagem dos algoritmos BSAS e MBSAS é a ordem com que os exemplos são apresentados, bem como o verdadeiro valor de Θ. Estes inconvenientes podem ser reduzidos pela utilização de dois limiares Θ1e Θ2. Distâncias menores que o primeiro valor Θ1denotam

que a amostra em questão provavelmente pertence ao cluster do qual a distância foi calculada. Por outro lado, distâncias maiores que Θ2 denotam que o objeto não pertence ao cluster.

Va-lores entre esses dois limiares estão uma faixa chamada "zona cinzenta"e devem ser avaliados em uma fase posterior ao algoritmo.

Considerando clas(x) um booleano indicando se uma amostra foi classificada ou não e assumindo que não existe limites para o número de clusters, o esquema do método seqüencial básico de dois limiares pode ser descrito como no algoritmo a seguir.

A variável delta_alteracao verifica se o último elemento do conjunto de elementos foi clas-sificado na passagem atual do loop while. Se nenhum foi clasclas-sificado, o primeiro exemplo não classificado é usado para gerar uma nova classe e isso tenta garantir que, no máximo, n passa-gens pelo loop while foram executadas. De acordo com a complexidade teórica computacional

(24)

Algorithm 2 BSAS(Ω, Θ1, Θ2)

Require: Um conjunto de dadosΩ, limiares Θ1e Θ2.

Ensure: Retorna uma partição P= {C1,C2, . . . ,Cm} dos elementos do conjunto.

1: m← 0 2: ∀x ∈ Ω, clas(x) = False 3: alteracao_anterior ← 0 4: alteracao_atual ← 0 5: delta_alteracao ← −1; 6: while delta_alteracao6= 0 do 7: for i= 1 → n do

8: if clas(xi) = False E i = 1 then

9: m← m + 1

10: Cm← {xi}

11: clas(xi) ← True

12: alteracao_atual ← alteracao_atual + 1 13: else if clas(x) = False then

14: Encontre Ck: d(xi,Ck) = minjd(xi,Cj) 15: if d(xi,Ck) < Θ1then 16: Ck← Ck+ {xi} 17: clas(xi) ← True 18: alteracao_atual ← alteracao_atual + 1 19: else if d(xi,Ck) < Θ2then 20: m← m + 1 21: Ck← {xi} 22: clas(xi) ← True 23: alteracao_atual ← alteracao_atual + 1 24: end if 25: else 26: alteracao_atual ← alteracao_atual + 1 27: end if 28: end for

29: delta_alteracao ← |alteracao_atual − alteracao_anterior| 30: alteracao_anterior ← alteracao_atual

31: alteracao_atual ← 0

32: end while return Partição P

(25)

deste algoritmo, o custo é da ordem de O(n2).

2.3

Métodos Hierárquicos

Nos algoritmos de agrupamento hierárquicos, os dados não são particionados em um deter-minado número classes ou clusters em um único passo. Nestes métodos, o objetivo é obter uma informação mais completa sobre o conjunto de objetos por meio de um conjunto hierar-quicamente aninhado de partições. Em taxonomia, por exemplo, um objeto pode pertencer sucessivamente a uma espécie a um gênero, uma família, uma ordem, etc. O agrupamento con-siste de uma série de partições, as quais podem possuir apenas uma classe contendo todos os indivíduos, ou n clusters, cada um contendo apenas um elemento.

As técnicas de agrupamento hierárquicos podem ser divididos em duas categorias: algorit-mos aglomerativos e algoritalgorit-mos divisivos. Os aglometativos reduzem os dados em um único clustercontendo todos os elementos, enquanto que a técnica divisiva irá dividir o conjunto de entrada em n grupos, onde cada um contém apenas um indivíduo. Com isso, surge a necessi-dade de decidir em qual estágio do algoritmo irá parar, uma vez que é preciso encontrar uma solução com um número "ótimo"de classes.

O agrupamento hierárquico pode ser representado por um diagrama bidimensional conhe-cido como dendograma, o qual ilustra a união ou divisão realizada nos sucessivos estágios de análise. Considere P(Ω) o conjunto das partes de Ω, um dendograma pode ser considerado um conjunto D de subconjuntos Ω = {x1, x2, . . . , xn} satisfazendo as seguintes condições:

1. D ⊆ P(Ω); 2. D 6= /0;

3. ∀xi∈ Ω, xi∈SD;

4. If A,B ∈ D then A ∩ B ∈ {/0,A,B}.

A primeira condição garante que qualquer subconjunto de D é uma das possíveis combi-nações de elementos do conjunto Ω. Por outro lado, embora D seja um conjunto de P(Ω), D não pode ser um conjunto vazio. O terceiro item garante que qualquer elemento do conjunto de dados também faça parte da união de todos os subconjuntos de D. Finalmente, qualquer que sejam dois subconjuntos A e B de D, uma das opções é verdadeira: não existem elementos em comum entre A e B ou um todos os elementos de um conjunto estão presentes no outro. A imagem a seguir exemplifica a relação entre as duas categorias de algoritmos hierárquicos:

(26)

Figura 2.2 Exemplo das técnicas de agrupamento

De acordo com a figura, a abordagem de aglomerativa começa com grupos individuais e iterativamente pares de grupos semelhantes são unidos até encontrar um único grupo. Por outro lado, a abordagem divisiva começa com um grupo em um par de grupos diferentes até que o algoritmo encontre n grupos que contem apenas 1 elemento. Um critério importante para determinar a similaridade entre dois grupos é chamado ligação (linkage). A tabela a seguir mostra os tipos mais conhecidos de ligação de acordo com a medida de dissimilaridade d:

Tipo Expressão

Maximo (ou complete linkage) d(A, B) = max{d(a, b)|a ∈ A, b ∈ B, A, B ∈ D} Minimo (ou single linkage) d(A, B) = min{d(a, b)|a ∈ A, b ∈ B, A, B ∈ D} Media (ou average linkage, UPGMA) d(A,B) = |A||B|1 ∑a∈A∑b∈Bd(a, b)

Mediana d(A, B) = |A|+|B|2|A||B|d(mA, mB), mA, mB são medoids

Metodo de Ward d(A, B) = |A|+|B|2|A||B|d(cA, cB), cA, cB são centroids

Centroid (ou UPGMC) d(A, B) = d(cA, cB), cA, cB são centroids

Tabela 2.1 Tipos de ligação

A medida do tipo complete linkage é baseada na maior distância entre quaisquer par de ele-mentos pertencentes a diferentes conjuntos. Ela conduz o algoritmo a encontrar muitos grupos cuja dissimilaridade entre os elementos de cada um é baixa. De forma semelhante, o single lin-kageprocura pela menor distância entre este par de elementos. O primeiro tipo produz grupos compactos ou bem encadeados e tem a propriedade de deixar elementos relativamente simila-res em grupos diferentes. Por outro lado, o segundo produz grupos mais alongados pelo fato de sempre procurar os elementos mais similares possível. No agrupamento de médias de gru-pos, a dissimilaridade é obtida a partir da média das distâncias entre todos os pares de objetos,

(27)

sendo cada um pertencente a um grupo diferente. Este tipo de ligação tenta balancear as vanta-gens e desvantavanta-gens da ligação simples e completa: produzir grupos relativamente compactos e que são também afastados. Existe o agrupamento por centróides (Método de Ward), onde cada grupo é representado por um centróide (vetor de médias) e a distância é medida entre os centróides de cada grupo. No agrupamento de medianas, o processo é semelhante ao por centróides, entretanto a distância é obtida a partir de vetores de medianas.

A distância d(A,B) entre dois conjuntos A e B pode ser calculada de diversas maneiras dependendo da aplicação do problema. Ela é fundamental para definir qual par de grupos deve ser unido (aglomerativo) ou separado (divisivo) e, conseqüentemente, irá determinar a forma dos clusters. Considere que cada elemento a ∈ A é descrito por variáveis contínuas tal que a = (a1, . . . , aj, . . . , am)T. A tabela a seguir mostra alguns dos mais usadas medidas de

dissimilaridade:

Nome da distância Expressão

Manhattan d(a, b) = ∑j|aj− bj|

Euclidiana d(a, b) = ∑j(aj− bj)2

Minkowski d(a, b) =qp

j|aj− bj|p

Mahalanobis d(a, b) =p(a − b)TS−1(a − b), S−1é a matriz de covariância

Tabela 2.2 Tipos de distância

A distância de Manhattan, também conhecida como distância City-block, é equivalente ao espaço L1, a distância Euclidana corresponde ao espaço L2 e Minkowski ao espaço Lp. Esta

última pode ser considerada uma generalização das duas anteriores. Quando p → ∞, a distância é a de Chebyshev e pode ser calculada como d(a,b) = max{|a1− b1|, |a2− b2|, . . . , |am− bm|}

[20].

2.3.1 Algoritmo Aglomerativo

Um método de agrupamento hierárquico aglometativo produz um série de partições do conjunto de dados, Cn,Cn−1, . . . ,C1. O primeiro, Cn, consiste de n classes com um único membro. O

último, C1, consiste de um único grupo contendo todos os n elementos. Para executar o método

hierárquico, comumente é utilizado uma matriz de dissimilaridade M entre pares de grupos. No início da execução do algoritmo aglomerativo, como todos os grupos são constituidos de 1 elemento, a matriz de dissimilaridade entre os grupos é a mesma obtida quando calcula-se essa métrica por pares de elementos. Uma operação básica do método pode ser representada a seguir:

(28)

Algorithm 3 Aglomerativo(Ω) Require: Um conjunto de dadosΩ; Ensure: Retorna um dendograma D;

1: Inicialize um conjunto de grupos P = {C1,C2, . . . ,Cn}, onde Ci é um grupo contendo um

elemento de Ω;

2: Inicialize um dendograma D ← P;

3: Inicialize a matriz de dissimilaridade M = [mi j], onde xie xjsão elementos do conjunto de

dados Ω e mi j é a dissimilaridade entre estes elementos;

4: numGroupos← n;

5: while numGroupos> 1 do

6: Selecione dois grupos Ai∗ e Aj∗ tais que (i∗, j∗) = argmin1≤i≤numGroups, j<iM(i, j);

7: Crie um grupo B = Ai∗∪ Aj∗ e adicione-o a P e a D;

8: Remova Ai∗ e Aj∗ de P;

9: Atualize a matriz M usando as distancias entre os grupos pertencentes a P; 10: numGroupos← numGroupos − 1;

11: end while

return Dendrograma D.

A cada iteração do algoritmo, um novo grupo é criado formado pela união dos dois grupos mais similares e é adicionado ao dendrograma D. O conjunto P é usado para armazenar a partição atual e para calcular a matriz M. A figura a seguir ilustra as operações realizadas na matriz M para 5 elementos usando average linkage:

(29)

Inicialmente, os grupos formados pelos elementos D e E são selecionados para formarem um novo conjunto, uma vez que a dissimilaridade entre esses elementos é a menor dentre qualquer outro par de objetos, e em seguida a matriz é atualizada. Esse processo de seleção, união e atualização é realizado até que exista apenas um grupo. O correspondente dendograma é mostrado na imagem a seguir:

Figura 2.4 Dendrograma

Uma importante propriedade do algoritmo hierárquico é sua monoticidade [21], isto é, a dissimilaridade entre dois grupos que são agrupados é monoticamente crescente de acordo com o nível que essa junção acontece. Isso implica que, para dado um grupo, a dissimilaridade de seus filhos é maior que as dissimilaridades entre os sub-grupos de cada um dos dois filhos. Isso permite que o agrupamento seja representado usando uma estrutura de arvore. Isso pode ser visto pelo figura acima: os grupos singulares são dispostos na parte inferior da arvore onde representa a distancia 0 e a junção desses grupos são representados mais acima dos sub-grupos, de modo que o grupo final ocupe a posição mais afastada da linha onde d = 0.

A representação gráfica por meio do dendograma dos grupos e sub-grupos após a execução do algoritmo hierárquico permite-se fazer análise estatística e comparações entre estes gru-pos, a principal característica que torna os métodos de agrupamento hierárquicos populares e atraentes. Embora, o agrupamento hierárquico não possa fornecer somente uma, mas sim um conjunto de partições, é possível encontrar uma partição dos dados usando o dendrograma. Cada "corte"horizontal no dendograma representa uma partição. No exemplo, a árvore pode ser cortada nas alturas indicadas de acordo com a medida de distância. Para a distância d1, a

partição resultante é P1= {{A}, {B,C, D, E}}. Por outro lado, para a distância d2, encontra-se

(30)

2.3.2 Algoritmo Divisivo

Os métodos hierárquicos divisivos são caracterizados por reunir todos os n elementos da base em uma única classe e progressivamente separá-los de modo que no final da execução tenham-se n clastenham-ses com apenas um elemento em cada uma. Os algoritmos divisivos podem tenham-ser divi-didos em dois principais grupos: monotéticos (monothetics), que dividem o conjunto de dados de levando-se em conta apenas um único atributo, e politéticos (polythetics), cujas divisões são realizadas a partir dos diversos atributos que um padrão pode ter.

No contexto de métodos de agrupamento, uma potencial vantagem dos métodos divisivos sobre os métodos aglomerativos pode ocorrer quando o objetivo é encontrar uma partição dos dados em um relativamente pequeno número de clusters [21].

Estes métodos podem funcionar em conjunto com métodos de particionamento tais como K-Meansou K-Medoids aplicados recursivamente na função de dividir o grupo anterior em dois grupos distintos fazendo-se K = 2. Entretanto, essa modificação irá depender da configuração inicial em cada etapa do método hierárquico divisivo. Porém, isto não produz necessariamente uma separação cuja propriedade de monoticidade do dendograma aconteça. Isto é, a altura de cada nó não é proporcional para o valor da dissimilaridade intergrupais entre as seus dois filhos [21].

Para evitar esse problema, uma versão do algoritmo hierárquico divisivo foi proposta por Macnaughton Smith et al. (1965) [22]. O algoritmo começa colocando todos os elementos em um único grupo C1. Em seguida, ele escolhe o elemento cuja média de dissimilaridades

entre todos os outros elementos é a maior. Este elemento, então, irá formar um novo grupo C2.

Iterativamente, o processo continua selecionando os elementos restantes no primeiro grupo C2

através do maior valor de médias de dissimalidades e colocando no conjunto C2. Isto termina

quando a diferença entre as médias de dissimilaridades entre os dois grupos seja considerada iguais. O resultado é uma divisão do conjunto contendo todos os elementos em outros dois filhos. Selecionando grupos com os maiores diâmetros ou médias de dissimilaridades, o algo-ritmo segue recursivamente até que grupos contendo apenas um elemento cada sejam encontra-dos. O esquema do algoritmo para a abordagem proposta por Macnaughton Smith et al. (1965) é mostrada no pseudocódigo seguinte.

A propriedade de encontrar partições usando dendrogramas é um ponto forte dessa aborda-gem hierárquica quando comparadado com os algoritmos de particionamento ou seqüenciais, por exemplo. Entretanto, algoritmos hierárquicos são mais custosos em termos de espaço e tempo. Desta forma, quando se conhece o numero de grupos no conjunto de dados, é preferível que se use métodos de particionamento. Estes métodos são descritos na seção a seguir.

(31)

Algorithm 4 Divisivo(Ω)

Require: Um conjunto de dadosΩ; Ensure: Retorna um dendograma D;

1: Inicialize o conjunto de grupos P = {C1}, onde C1é um grupo contendo todos os elementos

de Ω. Façaε> 0;

2: Inicialize um dendograma D ← P;

3: Inicialize a matriz de dissimilaridade M = [mi j], onde xie xjsão elementos do conjunto de

dados Ω e mi j é a dissimilaridade entre estes elementos;

4: numGroupos← 1;

5: while numGroupos6= n do

6: Selecione o grupo Ci∗ tal que i∗= argmin1≤i≤numGroups 1

|Ci|∑xl∈Ci∑xm∈CiM(l, m);

7: Crie um grupo Cj= /0 e adicione-o a P e a D;

8: numGroupos← numGroupos + 1;

9: di f ← 1;

10: while di f >ε do

11: Selecione o elemento xs∗ tal que s∗= argmax1≤s≤|Cj|∑xs∈Cj∑xt∈CjM(s,t);

12: Cj← {xs∗};

13: media1= ∑xl∈Ci∗∑xm∈Ci∗M(l, m);

14: media2= ∑xl∈Cj∑xm∈CjM(l, m); 15: di f = |media1− media2|; 16: end while 17: end while return Dendrograma D.

2.4

Métodos de Particionamento

O uso de métodos de agrupamento tornou-se um assunto muito relevante e a análise de clus-teringtem sido utilizada em diversos domínios de aplicações tais como mineração de dados, reconhecimento de padrões e bioinformática. Esses métodos podem ser divididos em méto-dos hierárquicos e de particionamento [1] [3]. Os de particionamento possuem dois principais tipos: os rígidos (hard), onde cada padrão pertence a uma única classe, e os difusos (fuzzy), possibilitando que elementos tenham diferentes graus de pertinência entre as classes. Os méto-dos difusos, por sua vez, geram partições usando a abordagem crisp, probabilística (ou fuzzy) ou possibilística. Um dos métodos de particionamento fuzzy amplamente usado é o Fuzzy C-Means(FCM), mas possui problemas com dados ruidosos e com o número de classes, já que os graus de pertinência consideram todos os agrupamentos da partição durante o cálculo, difi-cultando a interpretação desse valores [5]. Para resolver esses problemas, em [5] foi proposto o método Possibilistic C-Means (PCM), tornando um caso mais geral das abordagens crisp e

(32)

probabilística.

Esta seção tratará de métodos não-hierárquicos mostrando, em resumo, as principais carac-terísticas das duas grandes categorias de algoritmos de particionamento.

2.4.1 Algoritmos Rígidos

Consistem em obter uma partição a partir de um determinado conjunto de n elementos agru-pados em um número pré-definido de k classes, onde k 6 n, de forma que cada classe possua pelo menos um elemento e cada elemento deve pertencer unicamente a uma classe, isto é, não admitem a existência de grupos vazios e que estes não tenham elementos em comum.

Existem versões desse tipo de algoritmo onde, além de encontrarem a partição composta por n elementos e k classes, fazem uso da otimização de função de custo: algoritmos de nuvem dinâmica. Estas funções se caracterizam por analisar as classes em cada iteração e usar métricas para fornecer informações sobre o particionamento. O problema da otimização de funções de custo consiste em fazer uso da função e encontrar a melhor solução dentre todas as possíveis soluções objetivando minimizar um critério antes estabelecido.

K-Means

Um dos mais populares algoritmos de particionamento é o K-Means [2] proposto por Mc-Queen (1967) [27], no qual grupos homogêneos são identificados, minimizando o erro do agru-pamento definida como a soma das distâncias euclidianas quadradas entre cada conjunto de dados e os correspondentes centros dos aglomerados (centróides). Isto é:

E =

K

k=1xi

∈Ck

d(xi, yk) (2.1)

onde K é o número de grupos que deseja-se encontrar, d(xi, yk) é a distância entre o objeto xie

o centróide yk da classe Ck. Essa distância é a Euclidiana e pode ser calculada como definida

na tabela2.2, enquanto o centróide para a variável j é calculado da seguinte forma: ykj= 1

|Ck|xi

∈Ck

xij (2.2)

onde |Ck| representa o número de objetos pertencentes ao grupo Ck.

A cada iteração do algoritmo, dois principais passos são executados: representação e alo-cação. No primeiro, os representantes de cada grupos são recalculados de acordo com os

(33)

elementos presentes nesse grupo buscando minimizar a função objetivo. Enquanto no segundo passo, objetos são atribuídos às classes cuja distância entre o objeto e o representante da classe seja mínima dentre todas as distâncias para as demais classes da partição. O processo é repe-tido até que não haja mais alterações nas classes, isto é, elementos não sejam realocados, ou até que a diferença entre o critério atual e o calculado na iteração imediatamente anterior seja considerada pequena. O algoritmo a seguir ilustra as principais operações do K-Means:

Algorithm 5 K-Means(Ω, K)

Require: Um conjunto de dadosΩ e o número de grupos K; Ensure: Retorna uma partição P;

1: Faça ε > 0. Selecione aleatoriamente K elementos de Ω (y1, y2, . . . , yK) para serem os

representantes iniciais dos grupos;

2: Construa K grupos (C1,C2, . . . ,CK) tal que cada elemento xi∈ Ω é alocado para o grupo

Ck∗ onde k∗= argmin1≤k≤Kd(xi, yk). Atualize a partição como P = {C1,C2, . . . ,CK};

3: t← 0;

4: Et← 0;

5: Et+1← ∑Kk=1∑xi∈Ckd(xi, yk);

6: while|Et+1− Et| >εdo

7: Atualize os representantes dos grupos usando a equação2.2, 1 ≤ k ≤ K e 1 ≤ j ≤ m;

8: Aloque cada elemento xi∈ Ω para o grupo Ck∗ onde k∗= argmin1≤k≤Kd(xi, yk);

9: Et← Et+1;

10: Et+1← ∑Kk=1∑xi∈Ckd(xi, yk);

11: t← t + 1;

12: end while return Partição P.

O K-Means é um caso particular dos algoritmos de nuvens dinâmicas, o qual reconhece apenas regiões esféricas devido a sua distância fixa. A versão adaptativa desses algoritmos, por outro lado, é capaz de associar uma distância diferente para cada classe a cada nova iteração, resultando em um reconhecimento de formas e tamanhos variados entre as classes, sendo isto uma vantagem sobre os métodos que usam distâncias fixas [8,10,11,12]. A principal diferença entre o tradicional K-Means e os algoritmos com distância adaptativa é que estes usam pesos para cada variável de forma que o cálculo final da distância é balanceada pela dispersão de cada variável (estes métodos com distância adaptativa são mais detalhadamente discutidos no próximo capítulo). Além disso, os vetores de pesos podem ser globais ou por grupos, isto é, a distância pode variar de acordo com conjunto. Desta forma, em geral, os protótipos podem melhor representar os grupos e a partição final encontrada é melhor que a do método que usa distância não-adaptativa.

(34)

comporta-mento avaliando o tamanho dos grupos e as medidas de validação das partições encontradas pelo método. Jain [24] fez um breve resumo dos algoritmos de agrupamento, entre eles o K-Means. No artigo, é discutido os principais desafios dos métodos e emergentes abordagens como classificação semi-supervisionada ou seleção de múltiplas variáveis.

Além disso, diversas extensões do algoritmo K-means foram propostas em diferentes for-mas. Por exemplo, a idéia principal do algoritmo proposto por Yi e K. Sam [25] é agrupar todas os elementos do conjunto de dados de acordo com as suas incertezas de agrupamento calculadas usando múltiplos algoritmos de agrupamento. Girolami [26] desenvolveu o Ker-nel K-means que é capaz de produzir hiper-superfícies não-lineares que podem separar grupos transformando o espaço de entrada para um espaço de características de mais alta dimensão e, em seguida, realizar a agregação dentro deste espaço de características.

K-Medoids

Outra técnica popular de particionamento é o método K-Medoids propostos por Kaufman e Rousseeuw (1987) [28] em que os grupos homogêneos são identificados através da minimi-zação do erro de agrupamento definido como a soma dos quadrados das distâncias euclidiana entre cada ponto de ajuste de dados e o protótipo agrupamento correspondente. Uma importante característica deste método é sua robustez ao ruído e outliers, em comparação com K-Means uma vez que ele procura elementos centrais, ao contrario do K-Means que sintetiza represen-tantes de classes através de médias [29]. Entretanto, o custo computacional para executar o K-Medoid é maior que o K-Means, por exemplo, o que caracteriza sua maior deficiência. Vá-rios autores propuseram versões do K-Medoids para tentar reduzir o tempo de processamento [30,31,32].

Uma realização muito comum de K-Medoid agrupamento é o Partitioning Around Medoids (PAM) proposto por Kaufman e Rousseeuw (1987) [28]. O algoritmo inicialmente define uma partição com base numa seleção aleatória de objetos para serem os protótipos iniciais. Depois, o algoritmo passa em duas fases principais: definição de protótipos em que o elemento mais representativo (medoid) de cada grupo é selecionado com base nas diferenças emparelhadas e o passo de alocação onde os objetos são trocados para agrupar tal que a distância entre o objeto e o representante correspondente minimiza o critério. Este processo termina quando não houver alteração no medoid ou a diferença entre o critério da partição atual e o critério de partição imediatamente anterior é inferior a um limiar definido a priori.

O critério de otimização do método K-Medoids é, portanto, semelhante ao do K-Means. Entretanto a principal diferença está na forma que os protótipos do grupos são definidos:

(35)

yk= argminxi∈Ω

xl∈Ck

d(xi, xl) (2.3)

desta forma, o medoid da classe Cké o elemento pertencente ao conjunto de objetos Ω tal que a

soma das distâncias entre esse medoid e todos os elementos da classe Cké a menor. O algoritmo

PAM é descrito como: Algorithm 6 PAM(Ω, K)

Require: Um conjunto de dadosΩ e o número de grupos K; Ensure: Retorna uma partição P;

1: Faça ε > 0. Selecione aleatoriamente K elementos de Ω (y1, y2, . . . , yK) para serem os

representantes iniciais dos grupos;

2: Construa K grupos (C1,C2, . . . ,CK) tal que cada elemento xi∈ Ω é alocado para o grupo

Ck∗ onde k∗= argmin1≤k≤Kd(xi, yk). Atualize a partição como P = {C1,C2, . . . ,CK};

3: t← 0; 4: Et← 0; 5: Et+1← ∑Kk=1∑xi∈Ckd(xi, yk); 6: while W′−W >ε do 7: for i= 1 → |Φ| do 8: max← −1 9: for l= 1 → |Ω|(xl6= yi) do 10: sum← ∑x′l∈Cid(xl, xl′);

11: if sum> max then

12: max← sum;

13: yi← xl;

14: end if

15: end for

16: end for

17: Aloque cada elemento xi∈ Ω para o grupo Ck∗ onde k∗= argmin1≤k≤Kd(xi, yk);

18: Et← Et+1;

19: Et+1← ∑Kk=1∑xi∈Ckd(xi, yk);

20: t← t + 1;

21: end while return Partição P;

De acordo com o algoritmo, existe um loop a mais em comparação com o método K-Means. Desta forma, o PAM torna-se mais custoso computacionalmente e, em termos práticos, é aplicado em conjunto de dados onde o número de elementos e grupos é relativamente pequeno [31]. Para resolver este problema, o método Clustering LARge Applications (CLARA) foi proposto por Kaufman e Rousseeuw [33] podendo ser aplicado a grandes conjuntos.

(36)

2.4.2 Algoritmos Difusos

Os conjuntos fuzzy foram introduzidos simultaneamente em 1965 por Kadeh [34] e Klaua [35] como uma nova maneira de representar imprecisões do cotidiano [36]. Esta teoria fornece um conceito para aproximar e descrever as características de um sistema que é muito complexo ou mal definido para admitir análise matemática precisa. Admite-se que a forma com que o pensamento humano trabalha com conceitos-chave não são apenas números, mas também uma aproximação de conjuntos difusos. Assim, este conceito pode ser aplicado a diversos domínios, tais como reconhecimento de padrões, comunicação de informação ou abstrações relacionadas a cognição.

Os algoritmos do tipo difuso estendem o conceito de associação de cada elemento em uma classe, isto é, um indivíduo pode pertencer a diversas classes de acordo com uma função de pertinência capaz de associar cada padrão a cada um dos clusters assumindo valores no inter-valo [0,1]. Neste caso, cada classe é um conjunto nebuloso de todos os objetos. Cada elemento do conjunto de dados possui um grau de pertinência para uma classe da partição, de forma que a soma de todos os graus relativos a essa elemento é necessariamente igual a 1, sendo por esse motivo essa abordagem de algoritmo também pode ser chamado de probabilísticos. Em geral, os algoritmos rígidos são um caso particular do algoritmos difusos onde o grau de pertinência dos objetos possui como valor um dos elementos do conjunto {0,1}.

Uma desvantagem desse tipo de algoritmo é a definição da função de pertinência. Diferen-tes funções são usadas, entre elas estão as baseadas em centróides de clusters. Outra desvan-tagem é a dependência da escolha inicial dos protótipos das classes, como ocorre no algoritmo rígido K-Means. O algoritmo difuso mais usado é o Fuzzy-C-Means (FCM) proposto por Bez-dek em 1981 [37], onde os elementos mais próximos das bordas dos grupos possuem um menor grau de pertinência, enquanto aqueles mais próximos ao centróide têm uma pertinência maior e o centróide é obtido fazendo-se uma média ponderada do grau de todos os indivíduos daquele grupo. O algoritmo FCM é semelhante ao K-Means, onde a principal diferença é uma etapa extra para o cálculo do valores de pertinência. Outro aspecto que difere do K-Means é que o algoritmo encontra um agrupamento, e não uma partição; para determiná-la cada elemento é aloca ao grupo cujo grau de pertinência é o maior.

O método FCM proposto por Bezdek, assim como o K-Means, não é eficiente para a iden-tificação de grupos não-esféricos devido a distância Euclidiana usada no cálculo dos protótipos e dos valores dos graus de pertinência. Pelo mesmo motivo, configurações com grupos de di-ferentes formas, tamanhos e orientações permitem que o FCM encontre agrupamentos pouco representativos. Para resolver esses problemas, diversos autores tem trabalhado para propor

(37)

métodos que combinem os pontos fortes da abordagem difusa com outras técnicas. Por exem-plo, Lin e Wang [39] introduziram uma versão de Support Vector Machines (SVM) utilizando graus de pertinência. Zhang e Chen [38] propuseram métodos que unem o conceito de Ker-nel as abordagens difusa e possibilística. De Carvalho [13] fez a extensão do método FCM para dados simbólicos do tipo intervalo e propôs medidas de qualidade da partição permitindo interpretar a homogeneidade desta segundo uma variável ou grupo.

2.5

Outros Métodos

Os métodos descritos nas seções anteriores são os mais utilizados para encontrar agrupamen-tos de dados. Entretanto, outras técnicas buscam compreender automaticamente os dados e identificar padrões. Desta forma, os métodos descritos a seguir também são utilizados para extrair informações sobre os dados e podem trabalhar de forma híbrida com outros algoritmos de agrupamento.

Algoritmos Evolutivos

Estes tipos de algoritmos se baseiam em mecanismos da evolução biológica, tais como reprodução, mutação, recombinação e seleção. O conjunto de dados representa a população sob evolução e esta é simulada através de repetidas operações associadas às mutações genéticas comuns na evolução. Usam a idéia de que os indivíduos mais aptos têm mais chances de deixar informações sobre o seu código genético para as próximas gerações do que outros indivíduos menos preparados. Os algoritmos evolutivos são aplicados para aproximar funções com bom desempenho e, desta forma, são usados em diversos domínios como engenharia, economia, genética e robótica. Sub-grupos dos algoritmos evolutivos foram criados de acordo com a aplicação para as quais são destinados.

O mais popular é o algoritmo genético cujo termo foi primeiramente utilizado por Holland [40]. Esse algoritmo caracteriza-se pela busca de solução através de operações (como mutação) sobre cadeias de números, geralmente binários. Cada objeto do conjunto de dados (fenótipo) é descrito por uma seqüência de cromossomos (ou um genótipo). Inicialmente, a primeira gera-ção de indivíduos é determinada aleatoriamente e as gerações posteriores irão ser influenciadas pela seleção do indivíduo mais apto e das mutações nas seqüências de cromossomos. A aptidão dos individuos está relacionada a uma função de adequação determinada a priori, desta forma, a cada geração, a função se aproxima de um valor ótimo. Assim , o algoritmo genético pode

(38)

ser dividido em três grandes operações: inicialização, mutação e determinação da próxima ge-ração. O algoritmo pára se a função de adequação aplicada a geração atual atingiu um valor satisfatório ou se foram criadas um numero definido a priori de gerações. A figura a seguir ilustra um exemplo de aplicação de algoritmo genético. Rajan et al. [41] propuseram uma ver-são de algoritmos genéticos para encontrar a forma, tamanho e topologia de telhados de ferro buscando reduzir o custo com o material:

Figura 2.5 Aplicação de Algoritmos Genéticos

QT (Quality Threshold)

É uma alternativa de método de agrupamento feito especialmente para ser usado em banco de dados com informações sobre genes [42]. Neste algoritmo, cada elemento é comparado em pares com todos os outros e é calculado um coeficiente de correlação. Elementos são agrupados de modo que todos os elementos dentro de um cluster devem ser mais fortemente correlacio-nadas com um único elemento central do que o limite de qualidade de entrada (threshold). Elementos são acrescentados a esse cluster enquanto esse limite é satisfeito. Se o limite for ultrapassado, cria-se outra classe agrupando-se elementos próximos de forma que respeitem o limite.

Uma vantagem desse método é que não são sensíveis à ordem dos dados apresentados, todas as informações na base de dados é considerada. Outra vantagem é que o algoritmo pode facilmente identificar e ranquear os conjuntos de genes que são mais correlacionados de acordo com uma determinada característica. Além disso, o numero de grupos não precisa ser definido a priori como K-Means ou K-Medoids. Entretanto, QT é mais custoso computacionalmente do que o tradicional K-Means, já que todo elemento é comparado com todos os outros da

(39)

base. Outro ponto negativo do método está relacionado a necessidade de escolha do valor do threshold.

Redes Neurais

Uma rede neural artificial consiste de conexões de diversos neurônios artificiais (ou nós) cujo termo foi primeiramente utilizado por Hopfield [43]. São algoritmos que tentam repre-sentar as redes neurais biológicas por meio de grupos de unidades as quais se comunicam para chegarem a uma resposta final. Existem três importantes parâmetros que definem uma rede: (1) o padrão de conexão entre diferentes camadas de neurônios, (2) o processo de atualização dos pesos das conexões entre os nos e (3) a função de ativação do neurônio que converte os sinais de entrada em sua saída de ativação fazendo uso dos pesos. Cada unidade faz o processamento dos sinais recebidos advindos de outras possíveis ligações, as quais possuem pesos com a finalidade de simular a sinapses presentes nas atividades cerebrais. De acordo com o processamento, é possível dizer a saída fazendo uso de um limiar e função de ativação. As saídas combinadas entre as unidades da rede neural artificial dão respostas a respeito de um determinado problema, geralmente classificando elementos de um conjunto de dados. São modelos muito usados onde é difícil criar um comportamento matemático bem definido para um problema, ou que a estru-tura da informação a qual irão analisar são bastante complexos se fossem usados por outros modelos computacionais.

Existem diversas versões de redes neurais dependendo da finalidade para as quais são des-tinadas. De acordo com a topologia, podem ser do tipo feedforward, onde os sinais de entrada sempre chegam através de conexões de camadas anteriores da rede ou da própria entrada. Ou-tra topologia é a recorrente, na qual os sinais de saída podem ser usados como enOu-trada da rede, realimentando com conexões de feedback. E as construtivas que se caracterizam por poderem criar neurônios entre a camada de entrada e a saída de acordo com os dados analisados com o objetivo de reduzir ao máximo o erro final entre a resposta desejada e a obtida. Desta forma, redes neurais são usadas em diversas categorias, uma delas está relacionada com as funções de aproximação, como análise de regressão e séries de previsão de tempo; outra está relacio-nada com a classificação, reconhecimento de padrões e tomadas de decisão; e uma terceira com processamento de dados, tais como filtragem, compactação e clustering.

As redes neurais auto-organizáveis (self-organizing map - SOM) é um importante tipo de rede que caracteriza-se por utilizar aprendizagem não-supervisionada (isto é, os padrões de en-trada não precisam de rótulos de classes) e objetiva treinar neurônios dispostos em uma malha. Essas redes também podem ser chamadas de Mapas de Kohonen devido a sua estrutura e nome

(40)

do autor idealizador [44]. Uma importante característica dessa rede é que é possível produzir uma representação de baixa dimensão do espaço de entrada (normalmente 2 dimensões) per-mitindo que dados descritos em alta dimensão possam ser visualizados após a classificação. A figura a seguir ilustra a topologia da rede SOM:

Figura 2.6 Rede Neural do tipo SOM

O objetivo do algoritmo de treinamento é diferenciar partes da malha para melhor classificar os padrões de entrada, desta forma, padrões serão associados a determinadas parte da camada de saída de acordo com os atributos que o descrevem. Muitas aplicações utilizam redes SOM para encontrar agrupamentos dos dados. Por exemplo, Isa et al. [45] usaram redes SOM para identificar grupos de documentos de texto. Mostafa [46] fez um estudo usando SOM para examinar o efeito de vários fatores psicográficos e cognitivos sobre a doação de órgãos no Egito.

Classificação com Sobreposição

Em muitos métodos de agrupamento, existe o processamento de dados de forma que não haja sobreposição de dados ou de classes, isto é, os grupos são disjuntos entre si. Entretanto, na abordagem de classificação com sobreposição, há a possibilidade de um elemento pertencer a mais de uma classe, sendo bastante útil para muitas aplicações onde o conceito de sobreposi-ção é importante [47,48]. Assim, segundo essa definição, o FCM também pode ser classificado como um método de classificação com sobreposição, uma vez que os elementos podem perten-cer a diferentes grupos de acordo o seu grau de pertinência. Na biologia, por exemplo, genes

(41)

participam simultaneamente de vários processos. Desta forma, quando for necessário agrupar os genes de acordo com suas expressões gênicas fazendo uso de micro-arrays, é conveniente atribuir a esses genes a sobreposição de classes, de forma que a consulta de genes pode está associada a diversas características importantes.

Alguns dos métodos que usam esse conceito de sobreposição são o Bk e o de pirâmides. O

método Bk é caracterizado pelas classes poderem ter no máximo k − 1 elementos em comum.

Quando se faz B1, ou k = 1, o método fica equivalente ao método hierárquico aglomerativo de

ligação simples. A construção das classes é feita utilizando-se teoria dos grafos, onde cada ele-mento é representado por um vértice e as arestas estão associadas à dissimilaridade em cada par de elementos. Enquanto no do tipo pirâmide, o agrupamento é feito hierarquicamente levando em conta a ordenação das classes, de forma que a pirâmide assume uma forma generalizada do dendrograma, uma vez que pode ser obtida a partir de um método hierárquico aglomerativo.

Enquanto o dendogama encontrado pelo método hierárquico é formado por uma seqüência de partições, o método do tipo pirâmide encontra uma lista de grupos sobrepostos. A figura a seguir ilustra um exemplo de possíveis agrupamentos de cinco elementos usando os métodos hierárquico e piramidal, respectivamente:

(42)

C

APÍTULO

3

Métodos Fuzzy C-Means

Os que se encantam com a prática sem a ciência são como os timoneiros que entram no navio sem timão nem bússola, nunca tendo certeza do seu destino. —LEONARDO DA VINCI

3.1

Introdução

O conceito de fuzzy set foi inicialmente explorado por Zadeh [34] e posteriormente aplicado a métodos de agrupamento por Ruspini [49]. Recentemente, trabalhos com aplicações de fuzzy set em Análise de Agrupamento tem sido desenvolvidos em diferentes campos do conheci-mento [50]; Chen et al. elaborou diversos trabalhos a respeito da utilização do conceito de nebulosidade em variados métodos [51,52,53,54,55].

A partir dos trabalhos de Zadeh, Dunn [56] desenvolveu e Bezdek [37] melhorou o mé-todo Fuzzy C-Means (FCM). Atualmente, o mémé-todo FCM é o mais conhecido da abordagem difusa para particionamento de dados amplamente usado em Reconhecimento de Padrões. Sua principal característica é encontrar um conjunto de grupos tal que cada objeto possui graus de pertinência para cada classe. A partição final dependerá desses valores de graus de pertinên-cia, desta forma, o cálculo desses valores torna-se importante para esta abordagem difusa. Um importante parâmetro que influencia a performance desse método é o expoente ponderador m, chamado fuzzificador. Yu [57] e Wu [58], por exemplo, propuseram técnicas para tratar este parâmetro.

Existem muitos artigos com trabalhos relacionados à teoria e à aplicação do algoritmo FCM como teoremas numéricos, teoremas estocásticos, processamento de imagens, estimação de parâmetros e muitos outros [50]. Por exemplo, Hathaway et al. [59] apresentou versões do métodos FCM usando vários distâncias LP, cujo principal objetivo é aumentar a robustez a

outliers. Jajuga [60] apresentou o algoritmo de agrupamento difuso baseado na norma L1.

Referências

Documentos relacionados

The SUnSET bovine spermatozoa results demand the use of other translation elongation inhibitors, namely emetine, in place of cycloheximide, a competitive inhibitor of the

Os doentes paliativos idosos que permanecem nas instituições privadas são encaminhados pelos hospitais em que estavam ou internados pelos próprios familiares

Como não se conhece parâmetros hematológicos do pacu-manteiga Mylossoma duriventre Cuvier, 1817, a proposta do presente estudo foi descrever tais parâmetros em espécimes

A baixa taxa de desconto ao longo dos anos de produção do campo, para o cálculo da função objetivo, aliada a baixa produção de água que a locação de

dois gestores, pelo fato deles serem os mais indicados para avaliarem administrativamente a articulação entre o ensino médio e a educação profissional, bem como a estruturação

 A alocação dinâmica é muito utilizada em problemas de estrutura de dados como por exemplo, listas encadeadas, pilhas, filas, arvores binárias e grafos ...  O interessante

O presente artigo pretende discutir o exercício do controle de constitucionalidade de leis e atos normativos por de entidades e órgãos não

Em relação aos conhecimentos de saúde oral constatou-se que pais/encarregados de educação e crianças estão informados sobre a presença, ou não, de dentes cariados, bem como,