Post on 20-Nov-2018
Universidade Federal do Rio Grande do NorteCentro de Ciências Exatas e da Terra
Departamento de Informática e Matemática AplicadaPrograma de Pós-Graduação em Sistemas e Computação
Mestrado Acadêmico em Sistemas e Computação
Novos Métodos Determinísticos para GerarCentros Iniciais dos Grupos no Algoritmo
Fuzzy C-Means e Variantes
Heloína Alves Arnaldo
Natal-RN
Fevereiro de 2014
Heloína Alves Arnaldo
Novos Métodos Determinísticos para Gerar CentrosIniciais dos Grupos no Algoritmo Fuzzy C-Means e
Variantes
Dissertação de Mestrado apresentada ao Pro-grama de Pós-Graduação em Sistemas eComputação do Departamento de Informá-tica e Matemática Aplicada da UniversidadeFederal do Rio Grande do Norte como requi-sito para a obtenção do grau de Mestre emSistemas e Computação.
Linha de pesquisa:Fundamentos da Computação
Orientador
Prof. Dr. Benjamín René Callejas Bedregal
PPgSC – Programa de Pós-Graduação em Sistemas e ComputaçãoDIMAp – Departamento de Informática e Matemática Aplicada
CCET – Centro de Ciências Exatas e da TerraUFRN – Universidade Federal do Rio Grande do Norte
Natal-RN
Fevereiro de 2014
Dissertação de Mestrado sob o título Novos Métodos Determinísticos para Gerar Centros
Iniciais dos Grupos no Algoritmo Fuzzy C-Means e Variantes apresentada por Heloína
Alves Arnaldo e aceita pelo Programa de Pós-Graduação em Sistemas e Computação do
Departamento de Informática e Matemática Aplicada da Universidade Federal do Rio
Grande do Norte, sendo aprovada por todos os membros da banca examinadora abaixo
especificada:
Prof. Dr. Benjamín René Callejas BedregalPresidente
DIMAp – Departamento de Informática e Matemática AplicadaUFRN – Universidade Federal do Rio Grande do Norte
Prof. Dra. Anne Magaly de Paula CanutoExaminador
DIMAp – Departamento de Informática e Matemática AplicadaUFRN – Universidade Federal do Rio Grande do Norte
Prof. Dr. Regivan Hugo Nunes SantiagoExaminador
DIMAp – Departamento de Informática e Matemática AplicadaUFRN – Universidade Federal do Rio Grande do Norte
Prof. Dra. Graçaliz Pereira DimuroExaminador
C3 – Centro de Ciências ComputacionaisFURG – Universidade Federal do Rio Grande
Natal-RN, 24 de fevereiro de 2014.
UFRN / Biblioteca Central Zila Mamede
Catalogação da Publicação na Fonte
Arnaldo, Heloína Alves.
Novos métodos determinísticos para gerar centros iniciais dos grupos
no algoritmo fuzzy C-Means e variantes. / Heloína Alves Arnaldo. –
Natal, RN, 2014.
106 f.: il.
Orientador: Prof. Dr. Benjamín René Callejas Bedregal.
Dissertação (Mestrado) – Universidade Federal do Rio Grande do
Norte. Centro de Ciências Exatas e da Terra. Programa de Pós-Graduação
em Sistemas e Computação.
1. Agrupamento de dados – Dissertação. 2. Fuzzi C-Means -
Dissertação. 3. Inicialização dos centros de grupos - Dissertação. 4.
Índices de validação – Dissertação. I. Bedregal, Benjamín René Callejas.
II. Universidade Federal do Rio Grande do Norte. III. Título.
RN/UF/BCZM CDU 004.021
Agradecimentos
Agradeço inicialmente à Deus por me dar, além dos obstáculos, forças para enfrentá-
los.
Agradeço à minha família, meu porto seguro, pelo incentivo constante, que me ajudou
a nunca desistir dos desafios.
Obrigada ao professor Benjamín, pela orientação nesses dois anos de trabalho.
Obrigada aos meus amigos, pelo apoio nas horas difíceis. Em especial, obrigada à
minha amiga Danielle, pelas palavras de conforto nos momentos complicados.
Obrigada ao meu amigo e companheiro, Márcio, pelo apoio, ajuda e compreensão em
todos os momentos.
A todos que contribuíram de alguma forma para essa realização, o meu muito obrigada.
Resumo
Agrupamento de dados é uma técnica aplicada a diversas áreas como mineração de da-
dos, processamento de imagens e reconhecimento de padrões. Algoritmos de agrupamento
particionam um conjunto de dados em grupos, de tal forma, que elementos dentro de um
mesmo grupo tenham alto grau de similaridade, enquanto elementos pertencentes a dife-
rentes grupos tenham alto grau de dissimilaridade. O algoritmo Fuzzy C-Means (FCM)
é um dos algoritmos de agrupamento fuzzy de dados mais utilizados e discutidos na lite-
ratura. O desempenho do FCM é fortemente afetado pela seleção dos centros iniciais dos
grupos. Portanto, a escolha de um bom conjunto de centros iniciais é muito importante
para o desempenho do algoritmo. No entanto, no FCM, a escolha dos centros iniciais é
feita de forma aleatória, tornando difícil encontrar um bom conjunto. Este trabalho pro-
põe três novos métodos para obter os centros iniciais dos grupos, de forma determinística,
no algoritmo FCM, e que podem também ser usados em variantes do FCM. Neste traba-
lho esses métodos de inicialização foram aplicados na variante ckMeans. Com os métodos
propostos, pretende-se obter um conjunto de centros iniciais que esteja próximo dos cen-
tros reais dos grupos. Com estas novas abordagens de inicialização deseja-se reduzir o
número de iterações para estes algoritmos convergirem e o tempo de processamento, sem
afetar a qualidade do agrupamento ou até melhorar a qualidade em alguns casos. Neste
sentido, foram utilizados índices de validação de agrupamento para medir a qualidade dos
agrupamentos obtidos pelos algoritmos FCM e ckMeans, modificados com os métodos de
inicialização propostos, quando aplicados a diversas bases de dados.
Palavras-chave: Agrupamento de dados, Fuzzy C-Means, inicialização dos centros de gru-
pos, índices de validação.
Abstract
Data clustering is applied to various fields such as data mining, image processing and
pattern recognition technique. Clustering algorithms splits a data set into clusters such
that elements within the same cluster have a high degree of similarity, while elements
belonging to different clusters have a high degree of dissimilarity. The Fuzzy C-Means
Algorithm (FCM) is a fuzzy clustering algorithm most used and discussed in the literature.
The performance of the FCM is strongly affected by the selection of the initial centers of
the clusters. Therefore, the choice of a good set of initial cluster centers is very important
for the performance of the algorithm. However, in FCM, the choice of initial centers is
made randomly, making it difficult to find a good set. This paper proposes three new
methods to obtain initial cluster centers, deterministically, the FCM algorithm, and can
also be used in variants of the FCM. In this work these initialization methods were applied
in variant ckMeans. With the proposed methods, we intend to obtain a set of initial centers
which are close to the real cluster centers. With these new approaches startup if you want
to reduce the number of iterations to converge these algorithms and processing time
without affecting the quality of the cluster or even improve the quality in some cases.
Accordingly, cluster validation indices were used to measure the quality of the clusters
obtained by the modified FCM and ckMeans algorithms with the proposed initialization
methods when applied to various data sets.
Keywords : Data clustering, Fuzzy C-Means, cluster centers initialization, validation indi-
ces.
Lista de figuras
1 Exemplo de agrupamento de dados. . . . . . . . . . . . . . . . . . . . . p. 22
2 Diferentes agrupamentos de elementos do conjunto {bob, lia, ari, ana}. p. 23
3 Procedimento de agrupamento. . . . . . . . . . . . . . . . . . . . . . . p. 23
4 Conjunto clássico das pessoas idosas. . . . . . . . . . . . . . . . . . . . p. 28
5 Conjunto fuzzy das pessoas idosas. . . . . . . . . . . . . . . . . . . . . p. 29
6 Conjunto de dados com sobreposição. . . . . . . . . . . . . . . . . . . . p. 30
7 O problema de agrupamento: objetos não agrupados. . . . . . . . . . . p. 32
8 O problema de agrupamento: objetos agrupados. . . . . . . . . . . . . . p. 32
9 Espaço do atributo a1 dividido em 2 regiões. . . . . . . . . . . . . . . . p. 50
10 Espaço do atributo a2 dividido em 2 regiões. . . . . . . . . . . . . . . . p. 50
11 Espaço do atributo a1 dividido em 2 regiões. . . . . . . . . . . . . . . . p. 53
12 Espaço do atributo a2 dividido em 2 regiões. . . . . . . . . . . . . . . . p. 54
13 Espaço dos atributos divididos em 2 regiões. . . . . . . . . . . . . . . . p. 54
14 Base de dados Moons. . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 61
15 Base de dados Blobs em duas dimensões. . . . . . . . . . . . . . . . . . p. 62
16 Base de dados S4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 62
17 Resultado do teste post-hoc . . . . . . . . . . . . . . . . . . . . . . . . p. 96
18 Resultado do teste post-hoc . . . . . . . . . . . . . . . . . . . . . . . . p. 97
19 Resultado do teste post-hoc . . . . . . . . . . . . . . . . . . . . . . . . p. 98
20 Resultado do teste post-hoc . . . . . . . . . . . . . . . . . . . . . . . . p. 99
21 Resultado do teste post-hoc . . . . . . . . . . . . . . . . . . . . . . . . p. 100
22 Resultado do teste post-hoc . . . . . . . . . . . . . . . . . . . . . . . . p. 100
23 Resultado do teste post-hoc . . . . . . . . . . . . . . . . . . . . . . . . p. 101
24 Resultado do teste post-hoc . . . . . . . . . . . . . . . . . . . . . . . . p. 102
25 Resultado do teste post-hoc . . . . . . . . . . . . . . . . . . . . . . . . p. 103
26 Resultado do teste post-hoc . . . . . . . . . . . . . . . . . . . . . . . . p. 104
Lista de tabelas
1 Quatro objetos descritos por seis atributos. . . . . . . . . . . . . . . . . p. 22
2 Exemplo de objeto ou padrão. . . . . . . . . . . . . . . . . . . . . . . . p. 25
3 Exemplo de matriz de dados com quatro objetos descritos por três atri-
butos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 26
4 Partição crisp para os objetos da Figura 7. . . . . . . . . . . . . . . . . p. 32
5 Partição fuzzy para os objetos da Figura 7. . . . . . . . . . . . . . . . . p. 33
6 Conjunto de dados X . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 49
7 Matriz E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 50
8 Matriz E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 51
9 Matriz E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 51
10 Grupo C1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 51
11 Grupo C2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 51
12 Centros iniciais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 52
13 Conjunto de dados X . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 53
14 Matriz de centros CI . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 53
15 Matriz de centros CI . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 54
16 Matriz de centros CI . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 54
17 Matriz de centros CI . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 55
18 Matriz das distâncias entre X e CI . . . . . . . . . . . . . . . . . . . . p. 55
19 Grupos C1 e C2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 55
20 Matriz de centros finais . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 55
21 Conjunto de dados X . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 56
22 Média x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 56
23 Matriz de distâncias . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 57
24 Conjunto de dados X ordenado . . . . . . . . . . . . . . . . . . . . . . p. 57
25 Conjuntos de dados X1 e X2 . . . . . . . . . . . . . . . . . . . . . . . . p. 57
26 Centros c1 e c2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 57
27 Bases de dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 60
28 Resultados experimentais para Iris . . . . . . . . . . . . . . . . . . . . p. 64
29 Resultados experimentais para Iris . . . . . . . . . . . . . . . . . . . . p. 66
30 Resultados experimentais para Page Blocks . . . . . . . . . . . . . . . . p. 67
31 Resultados experimentais para Page Blocks . . . . . . . . . . . . . . . . p. 68
32 Resultados experimentais para Spambase . . . . . . . . . . . . . . . . . p. 69
33 Resultados experimentais para Spambase . . . . . . . . . . . . . . . . . p. 70
34 Resultados experimentais para Moons . . . . . . . . . . . . . . . . . . . p. 71
35 Resultados experimentais para Moons . . . . . . . . . . . . . . . . . . . p. 72
36 Resultados experimentais para S4 . . . . . . . . . . . . . . . . . . . . . p. 73
37 Resultados experimentais para S4 . . . . . . . . . . . . . . . . . . . . . p. 74
38 Resultados experimentais para Blobs . . . . . . . . . . . . . . . . . . . p. 75
39 Resultados experimentais para Blobs . . . . . . . . . . . . . . . . . . . p. 76
40 Tabela de blocos x tratamentos . . . . . . . . . . . . . . . . . . . . . . p. 78
41 Amostra das notas dos alunos A, B, C e D em 3 trimestres . . . . . . . p. 79
42 Tabela de ranks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 80
43 Pares de tratamentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 81
44 Amostra do resultado do índice DB, com m = 1.5 e algoritmo de agru-
pamento FCM, para os diferentes métodos de inicialização . . . . . . . p. 83
45 Resultado do teste de Friedman (p-value) . . . . . . . . . . . . . . . . . p. 84
46 Resultado do teste post-hoc Wilcoxon-Nemenyi-McDonald-Thompson . p. 85
47 Resultado do teste post-hocWilcoxon-Nemenyi-McDonald-Thompson (p-
value) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 86
48 Resultado do teste post-hoc: relação entre algoritmos . . . . . . . . . . p. 86
49 Tabela de Valores Críticos Qui-Quadrado (WALCK, 2007) . . . . . . . . p. 105
50 Tabela Studentized range (DEMŠAR, 2006; MIWA, 2014) . . . . . . . . . p. 106
Sumário
1 Introdução p. 15
1.1 Motivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 17
1.2 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 19
1.3 Organização do Trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . p. 19
2 Agrupamento de Dados p. 21
2.1 Visão Geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 21
2.2 Métodos de Agrupamento . . . . . . . . . . . . . . . . . . . . . . . . . p. 24
2.3 Definições e Notações . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 25
2.3.1 Objeto ou Padrão x . . . . . . . . . . . . . . . . . . . . . . . . . p. 25
2.3.2 Matriz de Dados X . . . . . . . . . . . . . . . . . . . . . . . . . p. 26
2.3.3 Medidas de Similaridade e Dissimilaridade . . . . . . . . . . . . p. 26
2.3.4 Distância Euclidiana . . . . . . . . . . . . . . . . . . . . . . . . p. 27
2.4 Agrupamento Fuzzy . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 27
2.4.1 Exemplo de Agrupamento Crisp e Agrupamento Fuzzy . . . . . p. 31
2.4.2 Algoritmo Fuzzy C-Means . . . . . . . . . . . . . . . . . . . . . p. 33
2.4.3 Algoritmo ckMeans . . . . . . . . . . . . . . . . . . . . . . . . . p. 35
2.5 Validação de Agrupamento . . . . . . . . . . . . . . . . . . . . . . . . . p. 36
2.5.1 Índice Davies Bouldin . . . . . . . . . . . . . . . . . . . . . . . p. 37
2.5.2 Índice Silhueta Fuzzy . . . . . . . . . . . . . . . . . . . . . . . p. 38
2.5.3 Índice Rand Corrigido . . . . . . . . . . . . . . . . . . . . . . . p. 39
2.6 Considerações Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 39
3 Trabalhos Relacionados p. 41
3.1 Multistage Random Sampling Fuzzy C-Means . . . . . . . . . . . . . . p. 41
3.2 Partition Simplification Fuzzy C-Means . . . . . . . . . . . . . . . . . . p. 42
3.3 Método da Montanha . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 43
3.3.1 Função Montanha . . . . . . . . . . . . . . . . . . . . . . . . . . p. 43
3.3.2 Estimativa dos Centros a partir da Função Montanha . . . . . . p. 44
3.3.3 Algoritmo MM . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 46
3.3.4 Considerações Finais . . . . . . . . . . . . . . . . . . . . . . . . p. 47
4 Métodos Determinísticos de Inicialização p. 48
4.1 Método I . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 48
4.1.1 Exemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 49
4.2 Método II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 52
4.2.1 Exemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 53
4.3 Método III . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 56
4.3.1 Exemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 56
4.4 Considerações Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 58
5 Experimentos e Resultados p. 59
5.1 Experimentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 59
5.1.1 Iris . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 60
5.1.2 Spambase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 60
5.1.3 Page Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 61
5.1.4 Moons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 61
5.1.5 Blobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 61
5.1.6 S4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 62
5.1.7 Configuração de Parâmetros . . . . . . . . . . . . . . . . . . . . p. 62
5.2 Resultados Experimentais . . . . . . . . . . . . . . . . . . . . . . . . . p. 63
5.2.1 Base de Dados Iris . . . . . . . . . . . . . . . . . . . . . . . . . p. 64
5.2.2 Base de Dados Page Blocks . . . . . . . . . . . . . . . . . . . . p. 66
5.2.3 Base de Dados Spambase . . . . . . . . . . . . . . . . . . . . . . p. 68
5.2.4 Base de Dados Moons . . . . . . . . . . . . . . . . . . . . . . . p. 70
5.2.5 Base de Dados S4 . . . . . . . . . . . . . . . . . . . . . . . . . . p. 72
5.2.6 Base de Dados Blobs . . . . . . . . . . . . . . . . . . . . . . . . p. 74
6 Análise Estatística dos Resultados p. 77
6.1 Teste de Friedman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 77
6.1.1 Exemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 79
6.2 Teste de Wilcoxon-Nemenyi-McDonald-Thompson . . . . . . . . . . . . p. 80
6.2.1 Exemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 81
6.3 Experimentos e Resultados da Análise Estatística . . . . . . . . . . . . p. 82
6.3.1 Experimentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 82
6.3.2 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 87
7 Considerações Finais p. 88
7.1 Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 88
Referências p. 90
Apêndice A -- Resultados dos testes de Friedman e Wilcoxon-Nemenyi-
McDonald-Thompson p. 95
Apêndice B -- Tabelas Estatísticas p. 105
15
1 Introdução
O contínuo avanço da tecnologia computacional tem possibilitado às organizações
coletar, gerar e processar enormes quantidades de dados. A coleta de dados a qualquer
momento e em todos os lugares tornou-se a realidade de nossas vidas. Como consequên-
cia e aliada ao crescente aumento da capacidade de armazenamento, tornou-se comum
a utilização de grandes bancos de dados em diversas áreas da atividade humana. A ex-
tração de informação útil em tais conjuntos de dados é uma tarefa árdua e desafiadora
para pesquisadores e profissionais em inúmeras aplicações computacionais, que têm por
suporte a análise de dados. Nesse contexto, o agrupamento de dados pode ser usado como
uma técnica para lidar com esses dados, oferecendo uma maneira de entender e extrair
informações relevantes.
O agrupamento de dados é uma das tarefas centrais no processo de mineração de
dados para descoberta de grupos e identificação de distribuições e padrões de interesse em
grandes conjuntos de dados (EVERITT; LANDAU; LEESE, 2001). Através da aplicação de um
método de agrupamento é possível agrupar um conjunto de dados em grupos de elementos
similares. Estes métodos são caracterizados pela aplicação de algoritmos de aprendizado
não supervisionado, cujo objetivo é separar um conjunto de dados utilizando-se apenas
informações provenientes dos atributos que compõem o conjunto de dados.
Algoritmos de agrupamento têm sido objeto de ampla pesquisa em diversas áreas,
uma vez que a técnica de agrupamento de dados é relevante em muitos domínios de
aplicação, como segmentação de imagens (YANG; HUANG, 2012; VERMA et al., 2009), mi-
neração de dados (WANG; YANG; MUNTZ, 1997; JAIN; DUBES, 1988), reconhecimento de
padrões (DUDA; HART et al., 1973; DEVIJVER; KITTLER, 1982), bioinformática (SALICRU;
VIVES; ZHENG, 2009), biologia computacional (HAMMER et al., 2007), classificação de do-
cumentos (GREGORY; SCATA; BROWN, 2006) e medicina (PAUL; HOQUE, 2010; ABU-ZEID;
KASHIF; BADAWY, 2012). A solução de um problema de agrupamento também pode aju-
dar a solucionar problemas relacionados, tais como extração de regras em bases de dados,
sumarização de documentos e compressão de dados (TAN et al., 2007).
16
O problema de agrupamento de dados pode ser tratado segundo diferentes abordagens,
entre elas, a abordagem clássica (crisp), na qual cada objeto do conjunto de dados deve
pertencer totalmente a um único grupo, e a abordagem fuzzy, mais flexível, na qual um
objeto pode ser classificado em vários grupos, com diferentes graus de pertinência.
Em inúmeras aplicações reais a fronteira crisp entre os grupos que descrevem os da-
dos pode não estar bem definida, de modo que um agrupamento crisp pode ser muito
restritivo e inviável para capturar a imprecisão nos dados. Muitas vezes os dados apre-
sentam distribuições estatísticas que compreendem grupos sobrepostos em algum grau.
Algoritmos de agrupamento fuzzy de dados podem lidar naturalmente com esse tipo de
problema, uma vez que buscam encontrar grupos fuzzy.
Na literatura o algoritmo de agrupamento Fuzzy C-Means (FCM), proposto por
(DUNN, 1973) e estendido por (BEZDEK, 1981) é um dos algoritmos de agrupamento
fuzzy mais utilizados e discutidos. Um bom conjunto de centros iniciais é muito impor-
tante para o FCM, uma vez que a escolha de seus valores afeta diretamente o resultado
do agrupamento. No entanto, não é fácil para o FCM obter bons centros inciciais, uma
vez que, a inicialização é feita com valores aleatórios e em geral são necessárias várias
execuções do algoritmo para se chegar a um bom resultado. Cada execução é realizada
com diferentes centros iniciais, resultando em diferentes partições do conjunto de dados.
Logo a aleatoriedade na etapa de inicialização é um problema para este método de agrupa-
mento. Nesta dissertação são propostos três novos métodos para obter os centros iniciais
dos grupos no algoritmo FCM. Estes métodos permitem ao algoritmo FCM e variantes
selecionar melhores centros iniciais, que resultam em um agrupamento mais eficiente em
relação ao agrupamento original com escolha aleatória de centros.
Adicionalmente, com o objetivo de melhorar a qualidade do agrupamento, estes méto-
dos foram utilizados para inicializar o algoritmo ckMeans (VARGAS, 2012), uma variante
do FCM que utiliza uma nova forma de calcular os centros dos grupos e cuja inicialização
é aleatória.
Todos os algoritmos utilizados neste trabalho foram aplicados a seis bases de dados
(Iris, Spambase, Page Blocks, S4, Moons e Blobs). A avaliação do desempenho dos algo-
ritmos nos conjuntos de dados selecionados foi feita através de três índices de validação
de agrupamento: índice Davies-Bouldin (DAVIES; BOULDIN, 1979), índice Silhueta Fuzzy
(CAMPELLO; HRUSCHKA, 2006) e índice Rand Corrigido (HUBERT; ARABIE, 1985).
17
1.1 Motivação
Desde a teoria de conjuntos fuzzy (ZADEH, 1965) o agrupamento fuzzy de dados tem
sido amplamente estudado e aplicado em várias áreas, como processamento de imagens,
recuperação de informação e mineração de dados (CARVALHO, 2007). Na literatura o algo-
ritmo Fuzzy C-Means (DUNN, 1973; BEZDEK, 1981) é um dos algoritmos de agrupamento
fuzzy mais conhecidos e estudados. Existem inúmeros algoritmos baseados em modifica-
ções e/ou extensões da formulação do FCM que foram propostos para superar as dificulda-
des encontradas na técnica original. As propostas de variantes do FCM em (HATHAWAY;
BEZDEK, 2001) lidam com dados incompletos. No método proposto por (GUSTAFSON;
KESSEL, 1978) a função objetivo do FCM é generalizada com a adição de matrizes de co-
variância, para adicionar o efeito de diferentes formas nos grupos obtidos pelo FCM, em
particular grupos hiperelípticos. Os trabalhos de (KRISHNAPURAM; KELLER, 1993), (PAL;
PAL; BEZDEK, 1997), (PAL; BEZDEK, 1995), (KRISHNAPURAM; JOSHI; YI, 1999), (DAVE,
1991) e (KERSTEN, 1999) são métodos para reduzir os efeitos de outliers1 no FCM. As
variantes do FCM propostas em (ZHANG; HU; LIU, 2007), (BOCK; DIDAY, 2000), (SATO;
JAIN, 2006), (CARVALHO, 2007), (VARGAS; BEDREGAL, 2011) e (EL-SONBATY; ISMAIL,
1998) são extensões do FCM para processamento de dados intervalares.
Os métodos propostos em (HATHAWAY; DAVENPORT; BEZDEK, 1989) e (HATHAWAY;
BEZDEK, 1994) são versões relacionais do algoritmo FCM que usam uma matriz relacional
dos dados, ao invés da matriz de dados. Estes algoritmos são apropriados em situações
nas quais os atributos dos objetos não são conhecidos ou não podem ser disponibilizados
por problemas de confidencialidade.
Em (BEZDEK, 1981) é proposta uma modificação no FCM que utiliza uma nova me-
dida de distância. Esse algoritmo foi desenvolvido para o reconhecimento de grupos for-
mados por linhas, planos ou hiperplanos, que podem ser úteis na área de processamento
de imagens, para identificação de bordas em reconhecimento de imagens. Na proposta
de (KAYMAK; SETNES, 2002) o FCM foi modificado para trabalhar com protótipos não
pontuais. O algoritmo utiliza protótipos com volumes e um novo cálculo de distância
que faz uso do volume dos protótipos. Tais protótipos não são mais pontos no espaço,
mas apresentam um volume fixo. Todos os objetos que se encontram dentro do protótipo
possuem pertinência máxima ao grupo. Essa modificação no FCM foi desenvolvida para
evitar que objetos próximos a um protótipo apresentem uma pertinência baixa.1Um outlier é um objeto que está isolado, suficientemente longe dos demais objetos (JAIN; DUBES,
1988).
18
Em (LI; BECERRA; DENG, 2004) é estabelecida uma extensão da função objetivo do
FCM para lidar com ruído2 e outliers nos dados. O algoritmo proposto por (WU; YANG,
2002) utiliza uma nova métrica para substituir a norma Euclidiana, que lida melhor em
ambientes ruidosos e com grande número de conjuntos contendo objetos de tamanhos
diferentes. O trabalho de (ZHANG et al., 2009) também utiliza uma nova distância no
FCM.
O algoritmo proposto por (WU; XIE; YU, 2003) é uma extensão do FCM para agrupa-
mento de formas não esféricas. O trabalho de (ESCHRICH et al., 2003) é uma variante do
FCM para diminuir o tempo de execução em cenários que podem apresentar vários obje-
tos com os mesmos valores. A proposta de (KOLEN; HUTCHESON, 2002) é um algoritmo
para diminuir a complexidade de tempo do algoritmo FCM que é quadrática em relação
ao número de grupos k, dada por O(k2Nn2) para uma complexidade linear de O(kNn2).
De acordo com (GAO; XIE, 1999) o desempenho do FCM e variantes depende for-
temente dos parâmetros iniciais, pois há deficiências neste método de agrupamento. Pri-
meiro, a função objetivo do agrupamento fuzzy é uma função não convexa, que tem muitos
máximos locais. É fácil o algoritmo mergulhar nestes máximos locais e consequentemente
não obter a melhor partição fuzzy. Segundo, o desempenho de tempo não pode ser sa-
tisfeito para grandes conjuntos de dados e com alta dimensão, o que limita a aplicação
do algoritmo. Devido à natureza iterativa do algoritmo, o processo de agrupamento de
dados pode ser demorado quando se tem muitos objetos e grande número de vetores de
atributos envolvidos nos cálculos.
Existem dois modos de inicialização para o FCM: inicializando aleatoriamente a matriz
de pertinência e inicializando aleatoriamente os centros iniciais dos grupos. Um bom con-
junto de centros iniciais pode chegar a uma melhor solução global, com poucas iterações
do algoritmo. No entanto, escolher um bom conjunto de centros iniciais aleatoriamente
é um procedimento ineficiente, pois em geral eles estão distantes dos centros reais, acar-
retando em mais iterações do algoritmo e ainda são necessárias várias execuções para
alcançar um bom resultado, uma vez que, cada execução é feita com diferentes centros
iniciais que geram diferentes resultados.
A etapa de inicialização do FCM tem recebido atenção como tema de pesquisa (CHENG;
GOLDGOF; HALL, 1998), (YAGER; FILEV, 1994) e (HUNG; YANG, 2001). Em (CHENG; GOLD-
GOF; HALL, 1998) é proposto o algoritmo Multistage Random Sampling Fuzzy C-Means.2ruído - é uma variância ou erro aleatório no valor gerado ou medido para um atributo(HAN; KAMBER;
PEI, 2006)
19
Este método utiliza pequenas amostras aleatórias do conjunto de dados para aproximar
os centros iniciais dos grupos. Em (HUNG; YANG, 2001) é proposto o algoritmo Partition
Simplification Fuzzy C-Means. A ideia do método é simplificar o conjunto de dados e
encontrar um conjunto candidato de centros iniciais mais próximo possível dos centros
reais. Em (YAGER; FILEV, 1994) os centros são estimados com base no conceito de função
montanha.
Pensando em uma solução para o problema da inicialização do FCM, nesse trabalho
são propostos três novos métodos para selecionar melhores centros iniciais dos grupos,
que estejam mais próximos dos centros finais, eliminando o processo aleatório de inicia-
lização. Estes métodos pretendem melhorar a qualidade do agrupamento realizado pelo
algoritmo FCM e variantes, reduzir o tempo de processamento computacional e o número
de iterações que os algoritmos levam para convergir.
1.2 Objetivos
O objetivo geral deste trabalho de mestrado é propor três métodos determinísticos de
inicialização para o algoritmo FCM. Estas propostas visam obter um conjunto de centros
iniciais que seja mais próximo do conjunto de centros reais, do que um conjunto de centros
obtido por escolha aleatória. Pretende-se com tais métodos, melhorar o desempenho, tanto
em relação ao tempo de processamento quanto à qualidade do agrupamento realizado pelo
FCM.
Adicionalmente, os objetivos específicos são:
• Aplicar os métodos propostos em variantes do FCM, em particular na variante
ckMeans (VARGAS, 2012);
• Comparar os métodos propostos com outros métodos de inicialização;
• Comparar o desempenho dos algoritmos FCM e ckMeans originais com as versões
que utilizam os métodos de inicialização propostos;
1.3 Organização do Trabalho
Este trabalho está organizado em capítulos, divididos da seguinte forma: no capítulo 2
são apresentados os principais conceitos relacionados a agrupamento de dados. No capítulo
20
3 são apresentados os trabalhos relacionados. No capítulo 4 são descritos os métodos
propostos. No capítulo 5 são detalhadas as bases de dados testadas neste trabalho. No
capítulo 6 são apresentados os resultados dos experimentos realizados para avaliar os
métodos propostos. Finalmente, no capítulo 7 são feitas as considerações finais.
21
2 Agrupamento de Dados
Este capítulo apresenta os principais conceitos relacionados a agrupamento de dados.
Na seção 2.1 são apresentadas as principais etapas envolvidas no procedimento de agrupa-
mento. Na seção 2.2 são discutidos os métodos de agrupamento hierárquico e particional.
Na seção 2.3 são apresentadas algumas notações e definições usadas neste trabalho. Na
seção 2.4 discute-se sobre agrupamento fuzzy de dados e são apresentados os algoritmos
FCM e ckMeans. Na seção 2.5 são apresentados os índices de validação de agrupamento
utilizados neste trabalho.
2.1 Visão Geral
Agrupamento, ou análise de agrupamento, é uma tarefa cujo objetivo consiste em
encontrar uma estrutura de grupos que descreva os dados de forma que, objetos em um
mesmo grupo sejam mais similares do que objetos pertencentes a grupos diferentes (JAIN;
DUBES, 1988). Segundo (DUDA; HART; STORK, 2012), no contexto de Aprendizado de
Máquina, técnicas de agrupamento são classificadas como aprendizado não supervisionado,
uma vez que não há conhecimento sobre as classes dos dados, apenas sobre seus atributos
de entrada, ao contrário do aprendizado supervisionado, quando os dados são previamente
rotulados.
Técnicas de agrupamento têm sido usadas em várias áreas distintas. Além das apli-
cações mencionadas no capítulo 1, outras aplicações específicas incluem: marketing (CHI-
ANG; LIANG; YAHALOM, 2003), engenharia mecânica e engenharia elétrica (XU; WUNSCH
et al., 2005). Agrupamento foi usado com sucesso em ciências da terra (geografia, geologia,
sensoriamento remoto), ciências sociais (sociologia, psicologia e arqueologia) e economia
(EVERITT; LANDAU; LEESE, 2001).
Algoritmos de agrupamento podem encontrar estruturas diferentes para um mesmo
conjunto de objetos, dependendo de suas configurações de parâmetros (JAIN; DUBES,
22
1988). A Figura 1 ilustra um exemplo de agrupamento de dados, no qual o número de
grupos é o parâmetro a ser ajustado. A Figura 1a mostra o conjunto de dados a ser
agrupado. Na Figura 1b os dados são agrupados em dois grupos, enquanto na Figura 1c
observa-se uma estrutura com seis grupos.
(a) Dados Iniciais (b) Dois Grupos (c) Seis Grupos
Figura 1: Exemplo de agrupamento de dados.
No procedimento de agrupamento os objetos podem ser agrupados de maneiras dife-
rentes dependendo dos dados e do tipo de resultado procurado. Por exemplo, um sistema
bancário pode estar interessado em encontrar grupos nos quais os objetos (clientes) do
mesmo grupo apresentem informações econômicas similares, levando em conta informações
como: renda familiar, quantidade de pessoas na família e quantidade de bens adquiridos. O
mesmo sistema bancário também pode estar interessado em encontrar grupos nos quais os
objetos do mesmo grupo apresentem informações geográficas similares, levando em conta,
por exemplo, informações como: endereço de residência e endereço de contato. Assim, a
principal preocupação no processo de agrupamento é revelar a organização de padrões
em grupos, que nos permitem descobrir semelhanças e diferenças, bem como para extrair
conclusões úteis sobre eles. Essa ideia é aplicável em muitos campos, tais como ciências
da vida, ciências médicas e engenharia.
Agora, considere X = {bob, lia, ari, ana} um conjunto de objetos descritos por seis
atributos, como mostra a Tabela 1.
Tabela 1: Quatro objetos descritos por seis atributos.
Olho Cabelo Tipo de sangue Sexo Idade Estado civilbob azul castanho A M 44 clia castanho castanho A F 42 cari azul castanho O M 21 sana azul castanho B F 18 s
Dependendo do critério selecionado para particionar o conjunto X, pode-se obter di-
ferentes agrupamentos de indivíduos de X, representando diferentes grupos, como mostra
a Figura 2:
23
Figura 2: Diferentes agrupamentos de elementos do conjunto {bob, lia, ari, ana}.
A Figura 3 ilustra o processo de agrupamento com quatro passos básicos com retro
alimentação, definidos por (XU; WUNSCH et al., 2005). Estes passos estão intimamente
relacionados entre si e afetam os grupos resultantes.
Figura 3: Procedimento de agrupamento.
1. Seleção ou extração de atributos: Como apontado por (JAIN; DUBES, 1988), seleção
de atributos escolhe atributos distintivos de um conjunto de atributos candidatos,
enquanto extração de atributos utiliza transformações para gerar atributos úteis e
novos a partir dos originais. Ambos são cruciais para a efetividade de aplicações
envolvendo agrupamento. Uma boa escolha de atributos pode permitir uma com-
24
putação mais eficaz, tanto espacial como temporalmente, bem como uma melhor
representação da estrutura real dos grupos existentes;
2. Desenvolvimento ou seleção do algoritmo de agrupamento: A escolha do algoritmo
a utilizar é um ponto fundamental nas técnicas de agrupamento. Uma vez que não
se conhece um algoritmo que consiga bons resultados em todos os cenários, deve
ser estudado o problema, os atributos escolhidos e os resultados esperados antes de
fazer a seleção do algoritmo. Este passo é usualmente combinado com a escolha de
uma medida de distância e a definição da função objetivo que define o critério de
agrupamento. Uma vez que uma medida de distância foi escolhida, a construção de
uma função objetivo de agrupamento torna a partição dos objetos em grupos um
problema de otimização;
3. Validação dos grupos: Dado um conjunto de dados, cada algoritmo de agrupamento
pode sempre gerar uma partição, não importa se a estrutura existe ou não. Além
disso, algoritmos diferentes geralmente levam a diferentes partições, e até mesmo
para o mesmo algoritmo, identificação de parâmetros ou a ordem de apresentação
dos padrões de entrada podem afetar os resultados finais. Portanto, os critérios de
avaliação devem ser eficazes para fornecer aos usuários confiabilidade em relação aos
resultados derivados dos algoritmos utilizados. Estas avaliações devem ser objetivas
e não ter preferências para qualquer algoritmo;
4. Interpretação dos resultados: O objetivo final do agrupamento é prover aos seus
usuários impressões significativas dos dados originais de forma que estes possam
resolver efetivamente os problemas encontrados.
2.2 Métodos de Agrupamento
Existem diversos métodos de agrupamento amplamente utilizados pela comunidade
científica. Eles podem ser divididos de acordo com vários critérios, contudo a divisão mais
consensual é entre agrupamento hierárquico e agrupamento particional, sendo referida em
(JAIN; DUBES, 1988; TAN et al., 2007; JAIN; MURTY; FLYNN, 1999). O propósito de um
algoritmo de agrupamento particional consiste em encontrar uma partição com k grupos
em uma base de dados com n objetos. O agrupamento hierárquico, por sua vez, é uma
sequência aninhada de agrupamentos particionais, cada um representando uma partição
da base de dados em subconjuntos disjuntos. O algoritmo Fuzzy C-Means (DUNN, 1973;
25
BEZDEK, 1981) descrito na subseção 2.4.2, que constitui o foco de interesse do presente
trabalho, pertence à técnica particional.
O conceito de partição (da teoria dos conjuntos) é a divisão de um conjunto universo
em subconjuntos não vazios (em agrupamento de dados, são denominados grupos). For-
malmente, dado o conjunto de dados X = {x1, x2, ..., xn}, uma partição de X em k grupos
pode ser definida como: C = {C1, C2, ..., Ck} com k < n, tal que (HRBACEK; JECH, 1999):
1. Cj 6= ∅, j = 1, ..., k (todos os grupos contêm pelo menos um objeto)
2.⋃kj=1Cj = X (todos os objetos pertencem a algum grupo)
3. Cj ∩ Cl = ∅, j, l = 1, ..., k e j 6= l (cada objeto pertence exclusivamente a um único
grupo)
O agrupamento que resulta nesse tipo de estrutura também costuma ser chamado de
hard ou crisp (um objeto pertence ou não pertence a um dado grupo). Um agrupamento
fuzzy, por sua vez, permite que um mesmo objeto pertença a vários grupos com um grau
de pertinência. Agrupamento fuzzy será mais bem detalhado na seção 2.4.
2.3 Definições e Notações
2.3.1 Objeto ou Padrão x
É um simples item do conjunto de dados utilizado pelo algoritmo de agrupamento.
Ele consiste tipicamente em um vetor s-dimensional x = (x1, ..., xs). Os componentes
escalares individuais xi de um objeto x são chamados de atributos.
A Tabela 2 mostra um conjunto de dados com quatro objetos descritos por quatro
atributos. Um objeto deste conjunto de dados é por exemplo x1 = (5.1, 3.5, 1.4, 0.2).
Tabela 2: Exemplo de objeto ou padrão.
Atributo 1 Atributo 2 Atributo 3 Atributo 4x1 5.1 3.5 1.4 0.2x2 4.9 3.0 1.4 0.2x3 4.7 3.2 1.3 0.2x4 6.5 3.0 5.2 2.0
26
2.3.2 Matriz de Dados X
Quando os objetos contidos na base de dados, X = {x1, ..., xn}, são representados por
vetores s-dimensionais de atributos, xi = [xi1, ..., xis] ∈ Rs, a base de dados X é chamada
de matriz de dados. Neste caso, X é uma matriz de ordem n×s (n objetos × s atributos):
X =
x11 · · · x1f · · · x1s
......
......
...
xi1 · · · xif · · · xis...
...... . . . ...
xn1 · · · xnf · · · xns
(2.1)
Na Tabela 3 é ilustrado um exemplo de matriz de dados X = {x1, x2, x3, x4} contendoquatro objetos descritos por três atributos . Neste exemplo, x1 = [1, 0, 2], x2 = [3, 1, 0],
x3 = [5, 0, 2] e x4 = [3, 4, 1].
Tabela 3: Exemplo de matriz de dados com quatro objetos descritos por três atributos.
Atributo 1 Atributo 2 Atributo 3x1 1 0 2
X = x2 3 1 0x3 5 0 2x4 3 4 1
2.3.3 Medidas de Similaridade e Dissimilaridade
Os métodos de agrupamento utilizam em seus cálculos alguma medida de proximidade
para guiar a tarefa de particionamento. Esta proximidade pode representar a dissimilari-
dade ou similaridade entre dois objetos e avalia o quanto dois objetos são parecidos e se
devem, ou não, ser colocados em um mesmo grupo. Quanto maior a similaridade, ou me-
nor a dissimilaridade, entre dois objetos, mais semelhantes são esses objetos (EVERITT;
LANDAU; LEESE, 2001). Uma abordagem comum para comparação de dois objetos é a
associação de uma função distância (calculada através dos valores dos atributos de dois
objetos) ao conceito de dissimilaridade ou similaridade. Uma das medidas de dissimilari-
dade mais utilizadas é a distância Euclidiana.
27
2.3.4 Distância Euclidiana
Os algoritmos que executam tarefas de agrupamento de dados geralmente utilizam
alguma medida de distância entre vetores em seu processo de execução. Essas medidas
servem para guiar o processo de construção da superfície de decisão que determinará a
atribuição dos dados aos grupos.
Formalmente, a distância entre um ponto x e um ponto y pertencentes a um conjunto
S é considerada como sendo uma função d : S×S→ R+ que satisfaz as seguintes condições:
1. Simetria: d(x, y) = d(y, x), para todo x, y ∈ S;
2. Positividade: d(x, y) ≥ 0, para todo x, y ∈ S;
Se as condições:
3. Desigualdade triangular: d(x, z) ≤ d(x, y) + d(y, z) para todo x, y e z de S;
4. Identidade dos indiscerníveis: d(x, y) = 0 se e somente se x = y;
também forem satisfeitas, este tipo de distância é chamada métrica (RUDIN, 1976). A
métrica mais comumente usada para calcular a distância do centro do grupo atual para
um ponto de dados é a distância Euclidiana. Para dois pontos, x e y em Rn a distância
Euclidiana é a função dE : Rn × Rn → R+ definida na Equação (2.2) :
dE(x, y) =
√√√√ n∑i=1
|xi − yi|2 (2.2)
2.4 Agrupamento Fuzzy
Os algoritmos de agrupamento fuzzy surgiram como aplicação da Teoria de Conjuntos
Fuzzy (TCF) introduzida por (ZADEH, 1965). A essência dessa teoria está na aceitação
da ‘incerteza’ como um fato das situações reais, que deve ser apropriadamente modelada
e tratada por métodos matemáticos. A TCF é capaz de capturar informações imprecisas
descritas em linguagem natural e convertê-las para um formato matemático através dos
conjuntos fuzzy.
Na teoria de conjuntos clássica, um elemento pertence ou não a um determinado
conjunto. Formalmente, dado um universo U e um elemento particular x ∈ U , o grau de
pertinência χA com respeito a um conjunto A ⊆ U é dado pela função:
28
χA(x) =
{1 se x é um elemento do conjunto A
0 se x não é um elemento do conjunto A
A função χA : U → {0, 1} é chamada de função característica e descreve completa-
mente o conjunto A, já que tal função indica quais elementos do conjunto universo U são
também elementos de A.
Por exemplo, seja idoso o conjunto das idades das pessoas consideradas idosas pela
lei brasileira e idoso tem como função característica:
χidoso(x) =
{1 , se x ≥ 60 anos
0 , se x < 60 anos(2.3)
O conjunto dos idosos descrito de maneira clássica no universo de idades medidas em
anos, pode ser representado pelo gráfico da funçao χidoso apresentado na Figura 4.
Figura 4: Conjunto clássico das pessoas idosas.
A TCF é uma generalização da teoria de conjuntos clássica, pois o grau de pertinência,
agora assume valores no intervalo [0, 1], sendo que o valor 0 indica uma completa exclusão
e um valor 1 representa completa pertinência ao conjunto. Esta generalização aumenta
o poder de expressão da função característica, chamada nesta nova teoria de função de
pertinência. Uma função de pertinência possui, portanto, a seguinte assinatura:
µA : U → [0, 1] (2.4)
onde U chama-se conjunto universo e A é conjunto fuzzy.
Por exemplo, o conjunto dos idosos descritos de maneira fuzzy no universo de idades
medidas em anos, pode ser representado pela função de pertinência:
29
µidoso(x) =
1 , se x ≥ 60 anos
0 , se x ≤ 50 anosx−50
20, se 50 < x < 60
(2.5)
O conjunto fuzzy idoso pode ser representado pelo gráfico da função µidoso apresentado
na Figura 5:
Figura 5: Conjunto fuzzy das pessoas idosas.
A abordagem clássica ou crisp para agrupamento de dados pressupõe que cada objeto
pertence única e exclusivamente a um grupo específico. No entanto, essa hipótese pode
não ser realista em algumas situações, nas quais os dados compreendem grupos que se
sobrepõem uns aos outros em algum grau. Por exemplo, a Figura 6 mostra objetos que não
pertencem somente a um grupo, pois estão equidistantes entre dois grupos. Neste caso,
uma partição crisp pode ser muito restritiva ou inviável para o problema de agrupamento.
Contrariamente, a abordagem fuzzy de agrupamento pode oferecer melhor descrição dos
dados quando a sobreposição de grupos é possível, ou seja, quando os elementos pertencem
a todos os grupos, mas em diferentes graus.
Quando um algoritmo de agrupamento é aplicado a uma base de dados com n objetos
X = {x1, ...., xn}, o resultado final é uma matriz de partição desses objetos em um dado
número de grupos. A partição encontrada pelo algoritmo de agrupamento pode ser repre-
sentada por uma matriz U(X) de tamanho k × n. Especificamente, a matriz de partição
U(X) é tal que U = [uij]k×n, i = 1, ..., k e j = 1, ...., n, em que uij é o grau de pertinência
do objeto xj ao grupo Ci ∈ C = {C1, C2, ..., Ck}. Uma partição dos dados é denominada
crisp ou hard, quando pode ser descrita em termos da matriz de partição U = [uij]k×n,
na qual uij ∈ {0, 1} denota o grau de pertinência do j -ésimo objeto ao i -ésimo grupo.
Deve-se garantir que:
30
Figura 6: Conjunto de dados com sobreposição.
0 <n∑j=1
uij < n, i = 1, ..., k, (2.6)
k∑i=1
uij = 1, j = 1, ..., n. (2.7)
Uma vez que uij ∈ {0, 1}, a condição (2.6) garante que todo grupo deve conter ao me-
nos um objeto e que nenhum grupo pode conter todos os objetos, enquanto que a condição
(2.7) garante que um objeto pertence exclusivamente a um único grupo. Formalmente, o
espaço de partições crisp para um dado conjunto X de objetos é o conjunto:
Mc =
{U ∈ Rk×n|uij ∈ {0, 1},∀i, j;
k∑i=1
uij = 1,∀j; 0 <n∑j=1
uij < n,∀i
}(2.8)
Em técnicas de agrupamento fuzzy procuram-se partições U = {uij}k×n, nas quais
uij ∈ [0, 1] denota o grau de pertinência do j-ésimo objeto ao i-ésimo grupo fuzzy, respei-
tando as condições (2.6) e (2.7). Uma vez que uij ∈ [0, 1], a condição (2.6) garante que não
podem existir grupos que apresentem graus de pertinência nulos para todos os objetos
simultaneamente e a condição (2.7) garante que a soma dos graus de pertinência para um
objeto em todos os grupos deve ser igual a um. Assim, cada objeto deve pertencer a um
único grupo.
Formalmente, o espaço de partições fuzzy para um dado conjunto X de objetos é o
conjunto:
31
Mf =
{U ∈ Rk×n|uij ∈ [0, 1], ∀i, j; 0 <
n∑j=1
uij < n,∀i
}(2.9)
Um caso particular de partições fuzzy dos dados são partições fuzzy probabilísticas,
que procuram por partições U = [uij]k×n, com uij ∈ [0, 1], respeitando as condições (2.6)
e (2.7). Formalmente, o espaço de partições fuzzy probabilísticas para um dado conjunto
X de objetos é o conjunto:
Mfp =
{U ∈ Rk×n|uij ∈ [0, 1],∀i, j;
k∑i=1
uij = 1,∀j; 0 <n∑j=1
uij < n,∀i
}. (2.10)
Uma vez que uij ∈ [0, 1], a condição (2.6) garante que não podem existir grupos que
apresentem graus de pertinência nulos para todos os objetos simultaneamente, enquanto
que a condição (2.7) possibilita a interpretação de probabilidades aos elementos uij (
um determinado objeto, xj, apresenta uma probabilidade de pertencer ao grupo Ci, i =
1, ..., k).
A maioria dos algoritmos de agrupamento fuzzy de dados buscam minimizar alguma
variação ou extensão da seguinte função objetivo:
J =n∑j=1
k∑i=1
(uij)md(i; j), (2.11)
com uij ∈ [0, 1] e
k∑i=1
uij = 1, 1 ≤ j ≤ n, (2.12)
onde m ∈ (1,∞) é um expoente de fuzzificação, d(i; j) é a distância entre o j -ésimo objeto
e o i -ésimo grupo.
2.4.1 Exemplo de Agrupamento Crisp e Agrupamento Fuzzy
As Figuras 7 e 8, adaptadas de (BEZDEK; PAL, 1992), mostram um problema de
agrupamento graficamente. Na primeira, os objetos do conjunto não estão agrupados. Na
segunda, estão agrupados de acordo com alguma técnica de agrupamento crisp.
32
Neste exemplo, o conjunto universo é um conjunto de objetos X = {o1, o2, ..., o17} e
o objetivo é agrupar estes objetos como um dos três tipos de frutas, a saber, M = maçã,
L = laranja, P = pêra. Note que, na Figura 8, os rótulos atribuídos aos objetos são crisp.
Figura 7: O problema de agrupamento: objetos não agrupados.
Figura 8: O problema de agrupamento: objetos agrupados.
A Tabela 4 mostra uma partição crisp dos 17 elementos, em três grupos, P, L e M,
para os dados da Figura 7. Note na tabela que cada elemento pertence a apenas um dos
três grupos, com pertinência total igual a 1. A linha Total representa a soma dos valores
de pertinência de cada um dos elementos a cada um dos grupos.
Tabela 4: Partição crisp para os objetos da Figura 7.
Partição Crispo1 o2 o3 o4 o5 o6 o7 o8 o9 o10 o11 o12 o13 o14 o15 o16 o17 o?
P 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0L 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 1M 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0
Total 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
A Tabela 5 mostra o mesmo conjunto de dados agora agrupados por uma partição
fuzzy de três grupos, P, L e M, para os dados da Figura 7.
No caso do agrupamento crisp mostrado na Tabela 4, ao elemento “o?” é atribuída (er-
roneamente) a pertinência completa ao grupo “laranja”, provavelmente porque tal objeto
33
Tabela 5: Partição fuzzy para os objetos da Figura 7.
Partição Fuzzyo1 o2 o3 o4 o5 o6 o7 o8 o9 o10 o11 o12 o13 o14 o15 o16 o17 o?
P 0.9 1 0.7 0.7 0.9 1 0 0 0.1 0.1 0.1 0.1 0 0.1 0.1 0.2 0.2 0.15L 0 0 0.1 0 0 0 0.8 0.8 0.8 0.7 0.8 0.6 0.8 0.1 0.1 0.1 0.1 0.60M 0.1 0 0.2 0.3 0.1 0 0.2 0.2 0.1 0.2 0.1 0.3 0.2 0.8 0.8 0.7 0.7 0.25
Total 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
tem a forma parecida com a de uma laranja. O uso de uma partição fuzzy como a mos-
trada na Tabela 5 permite evitar este tipo de erro. A última coluna dessa tabela atribui a
maior pertinência (0.60) de “o?” ao grupo “laranja”; entretanto, admite a possibilidade do
elemento em questão não ser uma laranja atribuindo, assim, graus de pertinências meno-
res do elemento aos grupos “pêra” (0.15) e “maçã” (0.25). Dessa forma, um modelo fuzzy
provê uma estrutura de solução mais flexível. Note que algumas colunas da partição fuzzy
(Tabela 5) são crisp (a segunda coluna, por exemplo); elas correspondem a elementos que
podem ser associados unicamente e com certeza a um determinado grupo.
2.4.2 Algoritmo Fuzzy C-Means
O algoritmo Fuzzy C-Means (DUNN, 1973; BEZDEK, 1981) é um dos algoritmos mais
facilmente compreendidos, bem documentados e intensamente utilizados na literatura. Ele
consiste na versão fuzzy do algoritmo k-means (MACQUEEN et al., 1967), considerado um
dos dez algoritmos mais influentes em mineração de dados (WU et al., 2008). Para um
determinado conjunto de dados X = {x1, x2, ..., xn}, o FCM é um processo iterativo que
divide X em k grupos. O resultado final do algoritmo FCM consiste em uma matriz de
partição [uij]k×n, contendo os graus de pertinência, onde uij é o grau de pertinência do
objeto xi ao j-ésimo grupo.
O algoritmo FCM tenta encontrar uma partição fuzzy que representa a estrutura dos
dados, minimizando a função objetivo definida como:
J =n∑i=1
k∑j=1
umijd(xi; cj)2 (2.13)
com as seguintes restrições:
34
k∑j=1
uij = 1,∀i ∈ {1, ..., n};
0 <n∑i=1
uij < n,∀j ∈ {1, ..., k}(2.14)
onde:
• n é o número de objetos no conjunto de dados;
• k é o número de grupos considerados no algoritmo;
• m > 1 é o expoente de fuzzificação. Usualmente, m está no intervalo [1.25;2];
• uij ∈ [0, 1] é o grau de pertinência do objeto xi ao j-ésimo grupo;
• xi ∈ Rn é um vetor de dados. Onde cada posição no vetor representa um atributo
do dado;
• cj ∈ Rn é o centro do j-ésimo grupo;
• d(xi; cj) é a distância entre xi e cj;
O algoritmo FCM começa com um conjunto de centros iniciais e em seguida o algo-
ritmo repete dois passos principais: atualização das pertinências de acordo com (2.15) e
atualização dos centros dos grupos de acordo com (2.16). Eles são executados alternada-
mente até a convergência do algoritmo. Os parâmetros de entrada para o algoritmo são
os n dados, o número de grupos k e o valor do expoente de fuzzificação m. Os passos do
FCM estão descritos abaixo:
Passo 1: Inicialize a matriz de centros dos grupos c com números aleatórios no intervalo
de dados. Defina t = 0;
Passo 2: Calcule a matriz de pertinência fuzzy inicial u da seguinte forma:
uij =1∑k
l=1
(d(xi;cj)
d(xi;cl)
) 2m−1
(2.15)
Passo 3: Calcule J (t) inicial usando a Equação (2.13);
Passo 4: Calcule o centro do grupo j usando a Equação (2.16). Incremente t em 1;
35
cj =
∑ni=1 u
mijxi∑n
i=1 umij
(2.16)
Passo 5: Calcule a matriz de pertinência fuzzy u usando a Equação 2.15;
Passo 6: Calcule J (t) usando a Equação (2.13);
Passo 7: Se ||J (t) − J (t−1)|| ≤ ε Pare. Se não retorne ao passo 4.
O critério de convergência é o limiar ε > 0. Outro critério de parada possível é quando
um número de iterações pré-fixado for executado.
2.4.3 Algoritmo ckMeans
O algoritmo ckMeans proposto por (VARGAS, 2012) segue a mesma estrutura do al-
goritmo FCM, porém, a única alteração deu-se em como calcular o centro dos grupos,
ou seja, o cj. Com este intuito é criada uma nova matriz auxiliar baseada na matriz u,
chamada de ucrisp, contendo valores 1 ou 0. Cada linha dessa nova matriz tem 1 na po-
sição do maior valor dessa mesma linha na matriz u e zero nas demais posições da linha.
Quando uma coluna da matriz ucrisp, for toda com zeros, é atribuído o valor 1 na posição
que corresponde ao maior valor dessa mesma coluna na matriz u.
O algoritmo ckMeans retorna uma matriz ucrisp com os valores dos elementos per-
tencendo ao conjunto {0, 1} conforme mostrado na Equação (2.17)1. Em outras palavras,
ucrisp é uma matriz enquanto ucrispij é conteúdo da posição (ij) da matriz ucrisp.
ucrispij = max
uijp
maxl=1
uil
, uij
nmaxl=1
ulj
(2.17)
O primeiro argumento no lado direito da Equação (2.17) garante que cada dado tenha
o valor 1 no grupo ao qual pertence com maior grau de pertinência e 0 grau de pertinência
nos demais. O segundo argumento é para que o maior grau de cada coluna (grupo) seja
1, de modo a assegurar que todos os grupos tenham pelo menos um elemento. Em raras
ocasiões, pode acontecer que uma linha tenha mais de um valor 1, mas como esta matriz
é apenas auxiliar, não ocasionará qualquer transtorno.
Os passos do algoritmo para calcular o ucrispij são os seguintes:
1Como usual bxic é o maior inteiro menor ou igual a xi
36
1. Ler u;
2. Em cada linha encontrar o maior valor da matriz u e atribuir 1 a essa mesma posição
em ucrisp e zero nas restantes;
3. Em cada coluna encontrar o maior valor da matriz u e atribuir 1 a essa mesma
posição em ucrisp mantendo os restantes valores inalterados;
Após calcular a matriz ucrisp calculam-se os novos centros dos grupos conforme a
Equação (2.18).
cj =
∑ni=1 xiucrispij∑ni=1 ucrispij
(2.18)
O cj é calculado pela somatória das instâncias que pertencem ao grupo (de forma
crisp) e dividido pela quantidade de objetos classificados como 1 na matriz ucrisp deste
grupo.
2.5 Validação de Agrupamento
A avaliação do resultado de um agrupamento deve ser objetiva, visando determinar
se a estrutura encontrada é válida, ou se não ocorreu por acaso, já que qualquer algoritmo
de agrupamento encontrará grupos, independente de se existe ou não estrutura nos dados
(JAIN; DUBES, 1988). Se existe essa estrutura, alguns algoritmos podem encontrar grupos
mais adequados que outros. Diversas técnicas para validação em agrupamento de dados
têm sido discutidas na literatura (GORDON, 1999), (XIE; BENI, 1991), (PAL; BEZDEK,
1995), (YANG; WU, 2001) e (HALKIDI; BATISTAKIS; VAZIRGIANNIS, 2001).
A validação do resultado de um agrupamento, em geral, é baseada no uso de índi-
ces estatísticos, que medem a qualidade das estruturas obtidas pelos algoritmos. Esses
índices , ou critérios de validação, são capazes de quantificar a qualidade das soluções de
agrupamento e de forma que diferentes resultados possam ser comparados. Existem três
tipos de índices para investigar a validade de um agrupamento (HALKIDI; BATISTAKIS;
VAZIRGIANNIS, 2001):
• Internos: medem a adequação entre a estrutura encontrada pelo algoritmo de agru-
pamento e o conjunto de dados, utilizando apenas os próprios dados;
37
• Externos: avaliam um agrupamento de acordo com uma estrutura estabelecida pre-
viamente, que pode refletir, por exemplo, a intuição do pesquisador sobre a estrutura
presente nos dados ou um agrupamento construído por um especialista de domínio;
• Relativos: comparam diversos agrupamentos para decidir qual deles é o mais ade-
quado aos dados.
Neste trabalho, foram utilizados dois índices internos para avaliar os resultados dos
algoritmos estudados: o índice Davies-Bouldin (DB) (DAVIES; BOULDIN, 1979) e o índice
Silhueta Fuzzy (SF) (CAMPELLO; HRUSCHKA, 2006). Utilizou-se também o índice externo
Rand Corrigido (CR) (HUBERT; ARABIE, 1985). As definições formais destes dois índices
de validação de agrupamento são apresentados na subseção seguinte.
2.5.1 Índice Davies Bouldin
Dada uma partição fuzzy C = {C1, ..., Ck} resultante do agrupamento do conjunto
X = {x1, x2, ..., xn} em k grupos, o índice Davies-Bouldin é definido da seguinte forma:
DB(C) =1
k
k∑i=1
maxi 6=j
{Si + SjMij
}(2.19)
onde Si é a distância intragrupo, definida na Equação (2.20) eMij é a distância intergrupo,
definida na Equação (2.21):
Si =
{1
Ti
Ti∑j=1
|xj − Ai|2}1/2
(2.20)
Mij =
{n∑l=1
|ali − alj|2}1/2
(2.21)
onde Ti é o tamanho do grupo i, Ai é o centro do grupo i e ali é o l-ésimo elemento
do vetor s-dimensional Ai.
O índice Davies-Bouldin procura por grupos compactos e bem separados. Portanto,
para um determinado conjunto de dados quanto maior a semelhança dentro do grupo e
maior a separação dos grupos, menor será o valor do índice DB. O melhor agrupamento
é dado pelo menor valor do índice DB.
38
2.5.2 Índice Silhueta Fuzzy
Seja X = {x1, ..., xn} o conjunto de dados e C = (C1, ..., Ck) os seus agrupamentos em
k grupos. Seja d(xi, xj) a distância entre xi e xj. Seja Cj = {xj1, ..., xjmj} o j -ésimo grupo,
com j = 1, ..., k, onde mj = |Cj|, ou seja, mj é igual ao número de elementos que o grupo
Cj possui. A distância média aji entre o i -ésimo vetor no grupo Cj e os outros vetores no
mesmo grupo é dada pela seguinte expressão:
aji =1
mj − 1
mj∑l=1l 6=i
d(xji , xjl ), i = 1, ...,mj. (2.22)
A distância média mínima entre o i -ésimo vetor no grupo Cj e todos os vetores
agrupados nos grupos Cl, l = 1, ..., k, l 6= j é dado pela seguinte expressão:
bji = minn=1,...,kn 6=j
{1
mn
mn∑l=1
d(xji , xnl )
}, i = 1, ...,mj. (2.23)
Considere um objeto i pertencente a um grupo j. A silhueta deste objeto pode ser
calculada como segue:
si =bji − a
ji
max{aji , bji}
(2.24)
onde aji é a distância média do objeto i a todos os objetos de seu grupo j e bji é a distância
média do objeto i a todos os objetos do grupo vizinho mais próximo. O denominador desta
equação é usado apenas como um termo de normalização. O maior valor de si é a melhor
atribuição do objeto i ao grupo j, com −1 ≤ si ≤ 1.
A Silhueta Fuzzy é formalmente definida como:
SF =
∑Ni=1(upi − u
qi )αsi∑N
i=1(upi − uqi )α
(2.25)
onde si é a silhueta do objeto i obtida usando (2.24), upi e uqi são o primeiro e o segundo
maiores elementos da i -ésima coluna da matriz de pertinência, respectivamente, e por fim,
α ≥ 0 é um coeficiente de ponderação, cujo valor normalmente é 1.
A SF assume valores entre -1 e 1. O melhor agrupamento é dado pelo maior valor do
índice SF .
39
2.5.3 Índice Rand Corrigido
O índice de validação externo Rand Corrigido (CR, do inglês Corrected Rand) (HU-
BERT; ARABIE, 1985) verifica a concordância entre duas partições dos dados, uma forne-
cida a priori e outra obtida pelo algoritmo de agrupamento. O CR oferece como vantagem
o fato de não ser sensível ao número de grupos nas partições ou à distribuição dos objetos
nos grupos.
O índice CR determina a semelhança entre duas partições P1 e P2 examinando a
qual grupo pares de dados foram atribuídos nas duas partições. Isso quer dizer que se
dois dados foram atribuídos ao mesmo grupo em P1 e P2 o valor do índice aumenta; por
outro lado, se dois elementos foram atribuídos ao mesmo grupo em P1 mas pertencem a
grupos diferentes em P2 o valor do índice diminui. O índice CR é a versão normalizada
do índice Rand (RAND, 1971) e é definido pela Equação (2.26), onde: kP1 e kP2 são o
número de grupos das partições P1 e P2; n é a quantidade de dados do conjunto inicial;
ni é o número de elementos do grupo Ci ∈ P1 e nj é o número de elementos do grupo
Cj ∈ P2; nij é o número de elementos que pertencem aos grupos Ci ∈ P1 e Cj ∈ P2, ou
seja, o número de elementos comuns a P1 e P2.
CR(P1, P2) =
∑kP1i=1
∑kP2j=1
(nij
2
)−[∑kP1
i=1
(ni
2
)∑kP2j=1
(nj
2
)]/(n2
)[∑kP1i=1
(ni
2
)+∑kP2
j=1
(nj
2
)]/2−
[∑kP1i=1
(ni
2
)∑kP2j=1
(nj
2
)]/(n2
) (2.26)
O índice CR varia no intervalo [-1, 1], e valores menores ou próximos a 0 indicam
que a semelhança entre as partições se deve ao acaso, que pouco revelam sobre a relação
entre os dados, enquanto valores próximos a 1 são obtidos por partições mais relevantes.
O valor 1 indica que as partições são idênticas.
2.6 Considerações Finais
Em métodos de agrupamento os dados são divididos em grupos disjuntos com base
na similaridade entre seus elementos. Neste capítulo, foram apresentadas as principais
definições e os principais aspectos relacionados a agrupamento de dados, áreas de aplicação
e exemplos de agrupamento de dados. Foram destacadas as etapas necessárias para a
realização do agrupamento em um conjunto de dados e descritos de forma sucinta alguns
aspectos importantes dessas etapas, como por exemplo as etapas de validação e análise dos
40
resultados obtidos pelo algoritmo de agrupamento, onde foram detalhados os três tipos de
índices existentes para avaliação de agrupamentos, que são os índices relativos, apropriados
para comparar diversos agrupamentos com respeito a algum aspecto, os índices internos,
que avaliam a qualidade de um agrupamento de acordo com alguma propriedade existente
nos dados originais e os índices externos, que permitem o confronto do agrupamento obtido
por um algoritmo com uma estrutura dos dados previamente conhecida. Além disso, foram
descritos em detalhes os índices DB, SF e CR adotados neste trabalho.
Foram descritos também os agrupamentos segundo as abordagens fuzzy e crisp, nos
quais os algoritmos geram como resultado partições fuzzy e crisp, respectivamente. No
agrupamento crisp um objeto do conjunto de dados pertence ou não a um determinado
grupo. Já no agrupamento fuzzy os objetos pertencem a todos os grupos com diferentes
graus, valores compreendidos entre o intervalo zero e um. Exemplos destes tipos de parti-
ções foram apresentados em detalhes. O algoritmos Fuzzy C-Means (DUNN, 1973; BEZDEK,
1981) e o ckMeans (VARGAS, 2012), apresentados neste capítulo utilizam a abordagem de
agrupamento fuzzy.
O capítulo 3 descreve os trabalhos relacionados, onde são detalhados os algoritmos
Multistage Random Sampling Fuzzy C-Means (mrFCM) (CHENG; GOLDGOF; HALL, 1998),
Partition Simplification Fuzzy C-Means (psFCM) (HUNG; YANG, 2001) e Método da Mon-
tanha(MM) (YAGER; FILEV, 1994) que são variantes do FCM, cuja modificação do método
original consiste na forma de inicializar os centros dos grupos.
41
3 Trabalhos Relacionados
Neste capítulo são descritas as variantes do FCM que correspodem a propostas de
métodos para obter os centros iniciais dos grupos no FCM. O algoritmo mrFCM (descrito
na seção (3.1) e o Método da Montanha (descrito na seção (3.3)) foram utilizados para
comparar com o desempenho dos métodos propostos. Estes dois algoritmos são descritos
em maiores detalhes, enquanto o algoritmo apresentado na seção (3.2) é apenas para
conhecimento do leitor.
3.1 Multistage Random Sampling Fuzzy C-Means
A ideia do algoritmo Multistage Random Sampling Fuzzy C-Means (mrFCM) (CHENG;
GOLDGOF; HALL, 1998) é a utilização de uma pequena amostra aleatória dos dados para
obter uma aproximação inicial dos centros dos grupos, que pode então ser utilizada para
aproximar os centros do conjunto de dados originais. Baseado nessa ideia, o algoritmo
mrFCM consiste de duas fases. Na primeira fase, são criadas r amostras do conjunto de
dados. A cada amostragem, uma porcentagem ∆% de objetos é adicionada à amostragem
anterior e o algoritmo FCM é executado. Na segunda fase, o algoritmo FCM é aplicado a
toda a base de dados com os protótipos iniciais encontrados na primeira fase.
Formalmente, considere Xs∆% uma amostragem aleatória de ∆% · s objetos da matriz
de dados X, i.e., Xs∆% ∈ R(∆%.s)×n. O algoritmo mrFCM executa então o algoritmo FCM
(Algoritmo 1 na Seção 2.2.1) em X1∆% (i.e., uma amostragem aleatória de tamanho ∆%)
para obter uma aproximação dos protótipos (V 1). Então, uma nova amostragem de tama-
nho ∆% é feita e adicionada a X1∆%, resultando em X2
∆% que consiste, portanto, de uma
amostragem de tamanho ∆% · 2. Os protótipos encontrados pela execução do algoritmo
FCM em X1∆% (i.e., V 1) são então usados como protóripos iniciais para a execução do
algoritmo FCM em X2∆% visando encontrar uma nova aproximação dos protótipos V 2.
Esse processo se repete r vezes e então o algoritmo FCM é aplicado a toda a base de
dados X com os protótipos iniciais V r.
42
O algoritmo mrFCM requer um conjunto de dados X = {x1, ..., xn}, o número de
grupos k, o expoente de fuzzificação m ∈ (1,∞), centros iniciais (aleatórios) V 0 = [vi] ∈Rk×n, limiar de convergência εini > 0 e εfim > 0, porcentagem das amostras ∆% e número
de amostras r. Os passos do mrFCM estão descritos abaixo:
Fase I
Passo 1: Inicialize a matriz de dados de amostras X1∆% com ∆% objetos de X. Defina
s = 1, ..., r.
Passo 2: Calcule o novo limiar de convergência: ε = εini − s · ((εini − εfim)/r).
Passo 3: Execute o Algoritmo FCM com a matriz de dados Xs∆%, limiar ε e os protó-
tipos V s−1 para obter os protótipos VFCM .
Passo 4: Atualize os centros dos grupos: V s ← VFCM .
Passo 5: Se s ≤ r amostre aleatoriamente ∆% objetos de X e adicione a Xs∆%, resul-
tando em Xs+1∆% . Caso contrário retorne ao Passo 2.
Passo 6: Execute o Algoritmo FCM com limiar εfim e os centros V s para obter U e
V .
Fase II
Nesta fase o FCM é executado usando o conjunto de centros iniciais obtido na Fase I.
3.2 Partition Simplification Fuzzy C-Means
A proposta do método Partition Simplification Fuzzy C-Means (psFCM) (HUNG;
YANG, 2001) é simplificar o conjunto de dados e encontrar um conjunto de centros iniciais
próximos dos centros reais dos grupos. O algoritmo psFCM consiste em duas fases. A Fase
I é uma sequência de processos que refina os centros iniciais dos grupos. Nesta fase tem-se
a partição do conjunto de dados em vários subconjuntos, denominados blocos unitários,
utilizando o método k-d tree (BENTLEY, 1975). Deve haver pelo menos um objeto em
cada bloco unitário. Para cada bloco unitário, calcula-se o centróide dos objetos no bloco.
O centróide dos objetos será usado para representar todos os objetos neste bloco unitário.
Ao fazê-lo, um conjunto de dados Xn pode ser drasticamente reduzido a um conjunto
de dados simplificado Xps contendo o centróide dos padrões originais. Na etapa seguinte,
aplica-se o algoritmo FCM para encontrar os centros do conjunto de dados simplificado
Xps. O número de centros no conjunto de dados simplificado é equivalente ao número de
43
blocos unitários e denotam o conjunto de dados original.
Os centros encontrados na Fase I são usados na Fase II. Na Fase II, aplica-se o algo-
ritmo FCM para o conjunto de dados original.
3.3 Método da Montanha
O Método da Montanha(MM) (YAGER; FILEV, 1994) é uma abordagem simples para
estimativa aproximada dos centros de um agrupamento baseado no conceito de função
montanha. O primeiro passo do método é formar uma discrepância no espaço de objetos
Rs através da formação de uma grade em Rs. A intersecção das linhas da grade, que ocorre
nos vértices ou pontos nodais fornece a discrepância desejada. O subconjunto finito V de
Rs, consistindo desses vértices constituem o conjunto de pontos candidatos a centros dos
grupos.
O segundo passo é a introdução dos dados e construção da função montanha. Esta
função, denotada como M mapeia elementos de V em R. Para formar a função M , a
cada elemento dos dados, xi, é adicionado certo valor ao valor de M em cada ponto v do
conjunto V . A quantidade adicionada depende da distância de v até o ponto xi; quanto
mais próximos os pontos, mais é adicionado. Deste modo após todos os pontos terem sido
considerados, tem-se uma função em Rs, atualmente V , que se parece com uma montanha,
refletindo a distribuição dos dados.
O próximo passo é a seleção dos centros dos grupos. Isto é conseguido destruindo as
montanhas. Busca-se o pico da montanha, ou seja, o ponto em V , c1, que possui o maior
valor deM , o qual se torna o primeiro centro do agrupamento. Para todos os pontos v em
V subtrai-se de seus valores em M uma quantidade que depende da distancia do ponto
c1 e do valor M(c1). O efeito desta subtração é a redução das montanhas. Procura-se em
seguida o próximo pico. Este se torna o próximo centro do agrupamento, c2. O valor de c2
é usado para reduzir a função montanha de todos os seus pontos próximos. Este processo
é repetido até que todas as montanhas tenham sido destruídas.
3.3.1 Função Montanha
Assuma uma coleção de n pontos de dados {x1, ..., xn} no espaço s-dimencional Rs.
Denote como xkj a j-ésima coordenada do k-ésimo ponto, onde k = 1, 2, ..., n e j =
1, 2, ..., s. Restrinja o espaço s-dimencional Rs ao hipercubo s-dimencional I1 × ... × IS,
44
onde os intervalos Ij, j = 1, 2, ..., s são definidos pelos valores das coordenadas xkj, isto é:
Ij = [mink(xkj),maxk(xkj)] (3.1)
O hipercubo contem todos os pontos de dados {x1, ..., xn}. Além disso, cada um dos
intervalos Ij é particionado em rj pontos equidistantes. Tal particionamento forma uma
grade s-dimencional no hipercubo com nós N(i1,...,iS), onde os índices, i1, ..., iS obtém
valores dos conjuntos [1, ..., r1], ..., [1, ..., rs]. As coordenadas equidistantes dos nós da grade
são denotadas como X(j)1 , ..., X
(j)rj , onde pontos quantizam o intervalo Ij e j = 1, ..., s.
A grade discretiza o espaço restrito pelo hipercubo. Os nós da grade são os potenciais
centros do agrupamento. Por um lado, quanto mais grosseira a discretização, menor será
a quantidade de nós, e menos cálculos são necessários. Porém mais grosseiro será o valor
final dos centros. O processo de obtenção do conjunto de centros, os nós, não precisa ser
baseado numa grade uniforme no espaço, pode ser usada uma grade de espaço variável.
Qualquer nó da grade é um possível candidato a se tornar um centro do agrupamento.
Seja d(xk, Ni) a distância do ponto de dados xk para o nó da grade Ni, a construção da
função montanha definida sobre um conjunto de nós da grade é feita adicionando, para
cada ponto de dado, uma certa quantidade para cada nó proporcional a sua distância até
o ponto de dado. A medida de distância d(xk, Ni) é usada para calcular a contribuição
do ponto xk para o valor da função montanha no nó da grade Ni. Deve ser atribuído
pontuações maiores para os nós que estão mais próximos de um ponto de dado.
A seguinte função fornece o valor para a função montanha no ponto de vértice Ni:
M(Ni) =n∑k=1
e−αd(xk,Ni) (3.2)
onde o α é uma constante positiva.
Os valores da função montanhaM podem ser visualizados como a altura da montanha,
tendo como base a grade. Quanto maior o valor da função montanha, maior é o potencial
do nó se tornar um centro.
3.3.2 Estimativa dos Centros a partir da Função Montanha
A função montanha é usada sistematicamente na procura por máximos globais que
são associados com os centros. Procura-se inicialmente pelo nó da grade que possui o valor
45
máximo da função montanha, o pico da montanha. Se existir mais de um valor máximo,
um deles é selecionado randomicamente. O valor máximo da função montanha é denotado
como M∗1 , assim:
M∗1 = Maxi[M(Ni)]
M∗1 é o máximo global da função montanha. Seja o nó da grade N∗1 indicando o ponto
no hipercubo onde este valor máximo da função montanha está posicionado, este é o pico
da montanha formado pelo conjunto de dados. Este nó do pico, N∗1 , é selecionado como
o primeiro centro. Este pico é normalmente cercado por um número de nós da grade
que também possuem altas pontuações, isto ocorre devido ao processo de construção da
função montanha que herda a continuidade do hipercubo.
Para encontrar o próximo centro primeiro devem-se eliminar os efeitos do centro já
identificado. Para realizar esta tarefa é subtraído da função montanha atual, um valor em
cada nó, isto fornece uma função montanha atualizada. A quantidade subtraída de cada
nó é proporcional à distância do ponto até o ponto máximo, o novo centro atribuído, bem
como a proporção para o atual valor máximo, M∗1 . Desta maneira é formada uma nova
função montanha atualizada M̂2 definida pelo conjunto de todos os nós:
M̂2(Ni) = M̂1(Ni)−M∗1
n∑k=1
e−βd(N∗1 ,Ni) (3.3)
onde M̂1(Ni) é atualmente a função montanha original, o valor M∗1 é o máximo atual e β
é uma constante.
Para encontrar os próximos centros repete-se o procedimento descrito acima. Generi-
camente a atualização da função montanha pode ser definida como:
M̂k(Ni) = M̂k−1(Ni)−M∗k−1
n∑k=1
e−βd(N∗k−1,Ni) (3.4)
onde M̂k é a nova função montanha, M̂k−1 é a função montanha antiga, M∗k−1 é o valor
do pico de M̂k−1, e a localização deste valor do pico, o novo centro identificado, é N∗k−1.
Este processo pode ser visualizado como um processo de destruição da função montanha.
Ele irá garantir que os nós próximos a um novo centro tenham seus valores da função
montanha com maior redução do que os mais distantes.
46
A produção de novos centros e a redução da montanha continua até que o nível do
máximo corrente M∗k−1, em comparação com o máximo original M∗
1 torna-se muito baixo.
Isto significa que existem apenas poucos pontos em torno deste centro e pode ser omitido.
O processo de destruição da função de montanha encerra quando é satisfeita a relação:
M∗1
M∗k−1
< δ (3.5)
onde δ é um parâmetro fornecido pelo usuário.
3.3.3 Algoritmo MM
Dado um conjunto de n pontos de dados {x1, ..., xn} no espaço s-dimencional Rs, onde
xkj é a j-ésima coordenada do k-ésimo ponto, k = 1, 2, ..., n e j = 1, 2, ..., s, os passos do
algoritmo MM são descritos abaixo:
Passo 1 : Calcule os intervalos Ij, j = 1, ..., s de acordo com a Equação (3.1);
Passo 2 : Quantize os intervalos Ij na forma de uma grade da seguinte forma:
Passo 2.1 : Para cada um dos intervalos Ij particione em rj pontos equidistantes
formando uma grade s-dimencional com nós N(i1,...,iS), onde os índices, i1, ..., iSobtém os valores dos conjuntos [1, ..., r1], ..., [1, ..., rs];
Passo 2.2 : Denote as coordenadas equidistantes dos nós da grade comoX(j)1 , ..., X
(j)rj ,
onde pontos quantizam o intervalo Ij e j = 1, ..., s;
Passo 3 : Calcule os valores da função montanha de acordo com a Equação (3.2);
Passo 4 : Encontre os centros estimados e modifique a função montanha de acordo com
a Equação (3.4) até que a regra de parada (3.5) seja satisfeita.
Os métodos de inicialização descritos neste capítulo são abordagens que possuem as
seguintes desvantagens:
• O algoritmo mrFCM é um método não-determinístico, pois faz a inicialização dos
centros utilizando amostras aleatórias do conjunto de dados;
• Ométodo MM depende do valor de uma variável para definir o tamanho da grade que
divide o espaço de dados para gerar os centros iniciais. Por essa razão é necessário
47
executar o algoritmo para diferentes valores desta variável e selecionar o melhor
resultado. Tal processo torna o MM um método exaustivo;
• O algoritmo Partition Simplification Fuzzy C-Means tem como desvantagem o uso
de várias variáveis que necessitam ser testadas com diversos valores para se ter um
bom resultado.
3.3.4 Considerações Finais
Este capítulo apresentou três propostas de inicialização para o FCM: o algoritmo
Multistage Random Sampling Fuzzy C-Means (CHENG; GOLDGOF; HALL, 1998) que utiliza
pequenas amostras aleatórias do conjunto de dados para aproximar os centros iniciais dos
grupos; o algoritmo Partition Simplification Fuzzy C-Means (HUNG; YANG, 2001) cuja
ideia é simplificar o conjunto de dados e encontrar um conjunto candidato de centros
iniciais mais próximo possível dos centros reais dos grupos e o Método da Montanha
(YAGER; FILEV, 1994) onde os centros iniciais dos grupos são estimados com base no
conceito de função montanha.
O capítulo 4 apresenta os três métodos proposto neste trabalho para gerar os cen-
tros inciais dos grupos no algoritmo FCM e variantes, bem como uma visão geral do
funcionamento desses métodos através de um exemplo simples.
48
4 Métodos Determinísticos deInicialização
Este capítulo apresenta três métodos determinísticos para gerar o conjunto de centros
iniciais dos grupos no FCM e que podem ser aplicados em suas variantes. A utilização
de tais métodos pelo algoritmo FCM ou variantes na etapa de inicialização dão origem a
novas versões destes algoritmos.
4.1 Método I
A ideia deste método é utilizar a posição ocupada no espaço de atributos por cada
atributo do conjunto de dados para obter uma estimativa do grupo ao qual um deter-
minado dado deve pertencer. Para cada grupo estimado calcula-se o ponto médio. Este
ponto será o centro inicial do grupo.
Passo 1: Dado um conjunto de dados X = {x1, x2, ..., xn} e o número de grupos k (cor-
responde ao mesmo k que representa o número de grupos passado como parâmetro
para o algoritmo FCM) no qual deseja-se dividir X, onde xi = [xi1, xi2, ..., xis] ∈ Rs
é um vetor de atributos e aj, j = 1, ..., s, representa o j-ésimo atributo de X, tal que
aj = [x1j, x2j, ..., xnj]. Crie uma matriz de estimativa En×s vazia. Defina j = 1, onde
j é um contador para o número de atributos de xi;
Passo 2: Para o atributo aj na matriz de dados X, encontre o valor mínimo aminj e máximo
amaxj do atributo aj;
Passo 3: Divida o espaço formado a partir de aminj até amaxj em k regiões, de forma
que cada região tenha tamanho (amaxj - aminj )/k, onde cada região k representa
um grupo;
Passo 4: Atribua na posição i, j da matriz E, i = 1, ..., n, o número da região k na
qual cada valor do atributo aj está localizado;
49
Passo 5: Se j < s, incremente j em 1 e vá para o passo 2;
Passo 6: Defina C = {C1, ..., Ck}, onde Cj, j = 1, ..., k, é um grupo;
Passo 7: Percorra cada linha i da matriz E, verifique o número da região k mais recorrente
e atribua o elemento xi ∈ X ao grupo Ck. Se houver empate entre o número de
ocorrências de k, atribua o elemento xi ao grupo Ck com menor quantidade de
elementos;
Passo 8: Para cada grupo Cj, j = 1, ..., k, calcule a média de seus elementos para obter
os centros correspondentes.
Um problema deste método é o fato de ser sensível a outliers nos dados, ou seja,
objetos isolados dos demais objetos do conjunto de dados. Quando existe outlier nos
dados, o método I pode gerar um centro muito distante dos objetos do conjunto de dados
e consequentemente nenhum objeto será atribuído ao grupo que possui este centro. Assim,
este método de inicialização não é recomendado para bases de dados com outliers, é
possível utilizá-lo se os outliers forem eliminados usando técnicas de pré-processamento
no conjunto de dados.
4.1.1 Exemplo
Dado o seguinte conjunto de dados X contendo 6 objetos, descritos por 4 atributos,
o qual deseja-se dividir em 2 grupos:
Tabela 6: Conjunto de dados X
x1 5.1 3.5 1.4 0.2
x2 4.9 3.0 1.4 0.2
x3 4.7 3.2 1.3 0.2
x4 6.5 3.0 5.2 2.0
x5 6.2 3.4 5.4 2.3
x6 5.9 3.0 5.1 1.8
Passo 1: É criada uma matriz E6×4 vazia:
Passo 2: Para o atributo a1, isto é, a coluna 1 da matriz de dados X. Procura-se o
mínimo amin1 e o máximo amax1 . Obtendo os valores amin1 = x31 = 4.7 e o valor de amax1 =
x41 = 6.5;
50
Passo 3: O espaço do atributo a1, ou seja, o vetor [5.1, 4.9, 4.7, 6.5, 6.2, 5.9] é dividido
em uma quantidade de regiões igual ao número de grupos, ou seja, k = 2 regiões, onde
cada região tem tamanho 0.9 = (6.5− 4.7)/2, como mostra a Figura 9:
Figura 9: Espaço do atributo a1 dividido em 2 regiões.
Passo 4: Para cada valor do atributo a1, é verificada em qual região k = 1 ou k = 2
este valor está localizado e o número da região é atribuído à posição i1 da matriz E. Ao
final deste passo, a coluna 1 da matriz E conterá os valores mostrados na Tabela 7:
Tabela 7: Matriz E
1
1
1
2
2
2
Passo 5: Como o contador j = 1 é menor que o número de atributos s = 4, isto é,
j < s é verdadeiro, então j é incrementado em 1. E retorna-se ao passo 2.
Agora o espaço amostral do atributo a2, ou seja, a coluna 2 da matriz de dados X é
dividido em 2 regiões, onde cada região tem tamanho 0.2 = (3.5− 3.0)/2:
Figura 10: Espaço do atributo a2 dividido em 2 regiões.
Em seguida para cada valor de a2, é verificado a qual região o valor pertence e este
valor é atribuído à matriz E na linha i e coluna 2. Ao final deste passo, a matriz E vai
conter os valores:
51
Tabela 8: Matriz E
1 2
1 1
1 1
2 1
2 2
2 1
O processo é repetido até a matriz E ser completamente preenchida. A matriz E final
é mostrada abaixo:
Tabela 9: Matriz E
1 2 1 1
1 1 1 1
1 1 1 1
2 1 2 2
2 2 2 2
2 1 2 2
Passo 6: Defina C = {C1, C2}.
Passo 7: Para cada linha i da matriz E, i = 1, ..., 6, é verificado o número da região
mais recorrente, k = 1 ou k = 2 e o elemento xi, i = 1, ..., 6, é atribuído ao grupo C1
ou C2. Ao final do processo, têm-se os elementos de X agrupados em 2 grupos, como
mostram as Tabelas 10 e 11:
Tabela 10: Grupo C1
x1 5.1 3.5 1.4 0.2
x2 4.9 3.0 1.4 0.2
x3 4.7 3.2 1.3 0.2
Tabela 11: Grupo C2
x4 6.5 3.0 5.2 2.0
x5 6.2 3.4 5.4 2.3
x6 5.9 3.0 5.1 1.8
52
Passo 8: Agora para encontrar os centros dos grupos C1 e C2 basta calcular a média
de seus elementos. Então têm-se os centros c1 e c2 com os valores mostrados na Tabela
12.
Tabela 12: Centros iniciais
c1 4.9 3.2 1.4 0.2
c2 6.2 3.1 5.2 2.0
4.2 Método II
A ideia deste método II é utilizar a média dos valores de cada atributo do conjunto
de dados para obter uma aproximação dos centros iniciais dos grupos. Tendo obtido
esta aproximação, o próximo passo consiste em calcular a distância entre cada objeto do
conjunto de dados e os centros iniciais aproximados. Cada objeto é atribuído ao grupo com
centro aproximado mais próximo. Finalmente, os centros inciais são calculados utilizando
a média dos objetos de cada grupo.
Passo 1: Dado um conjunto de dados X = {x1, x2, ..., xn} e o número de grupos k (cor-
responde ao mesmo k que representa o número de grupos passado como parâmetro
para o algoritmo FCM) no qual deseja-se dividir X, onde xi = [xi1, xi2, ..., xis] ∈ Rs
é um vetor de atributos e aj, j = 1, ..., s representa o j-ésimo atributo de X, tal que
aj = [x1j, x2j, ..., xnj]. Crie uma matriz vazia de centros iniciais CI com k linhas e s
colunas. Defina j = 1, onde j é um contador para o número de atributos s de xi;
Passo 2: Para o atributo aj na matriz de dados X, encontre o valor mínimo aminj e máximo
amaxj do atributo aj;
Passo 2.1: Divida o espaço formado a partir de aminj até amaxj em k regiões, de
forma que cada região tenha tamanho (amaxj - aminj )/k, onde cada região rl,
com l = 1, ..., k, representa um grupo.
Passo 2.2: Para cada uma das regiões rl encontre o ponto médio e o defina como o
atributo da matriz de centros CIlj;
Passo 3: Se j < s, incremente j em 1 e volte ao Passo 2;
Passo 4: Defina C = {C1, ..., Ck} e tome cl ∈ CI como centro do grupo Cl, l = 1, ..., k.
Para cada objeto do conjunto de dados X, calcule a distância entre xi e os centros
53
dos grupos em C (utilizando a distância Euclidiana) e adicione o objeto xi ao grupo
mais próximo;
Passo 5: Para cada grupo Cl, onde l = 1, ..., k, calcule a média de seus elementos para
obter os centros correspondentes.
4.2.1 Exemplo
Dado o seguinte conjunto de dados X, com n = 6, s = 4 e k = 2:
Tabela 13: Conjunto de dados X
x1 5.1 3.5 1.4 0.2
x2 4.9 3.0 1.4 0.2
x3 4.7 3.2 1.3 0.2
x4 6.5 3.0 5.2 2.0
x5 6.2 3.4 5.4 2.3
x6 5.9 3.0 5.1 1.8
Passo 1: Define-se uma matriz vazia de centros CI2×4;
Tabela 14: Matriz de centros CI
CI1
CI2
Passo 2: Para o atributo a1, encontra-se o amin1 = 4.7 e o amax1 = 6.5;
Passo 2.1: Para este exemplo o primeiro atributo deX é a1 = (5.1, 4.9, 4.7, 6.5, 6.2, 5.9).
O espaço de a1 é dividido em k = 2 regiões, onde cada região tem tamanho 0.9 =
(6.5− 4.7)/2, como mostra a Figura 11:
Figura 11: Espaço do atributo a1 dividido em 2 regiões.
Passo 2.2: Calcula-se o ponto médio de cada região, obtendo para a região 1 o valor
5.15 e para a região 2 o valor 6.05 que são colocados na matriz CI atribuindo CI11 = 5.15
e CI21 = 6.05 como mostra a Tabela 15:
54
Tabela 15: Matriz de centros CI
CI1 5.15
CI2 6.05
Passo 3: Como j = 1 < s = 4, incrementa-se j em 1 e retorna-se ao Passo 2;
Agora o espaço amostral do atributo a2 é dividido em k = 2 regiões, onde cada região
tem tamanho 0.2 = (3.5− 3.0)/2, como mostra a Figura 12:
Figura 12: Espaço do atributo a2 dividido em 2 regiões.
Calcula-se o ponto médio de cada região e é feita a atribuição CI21 = 3.125 e CI22 =
3.375 como mostra a Tabela 16:
Tabela 16: Matriz de centros CI
CI1 5.15 3.125
CI2 6.05 3.375
Este processo é repetido para todos os atributos, como mostra a Figura 13, até a
matriz de centros CI ser totalmente preenchida. O resultado é mostrado na Tabela 17.
Figura 13: Espaço dos atributos divididos em 2 regiões.
55
Tabela 17: Matriz de centros CI
CI1 5.15 3.125 2.325 0.725
CI2 6.05 3.375 4.375 1.775
Passo 4: Define-se C = {C1, C2} e toma-se o valor CI1 = (5.15, 3.125, 2.325, 0.725)
como centro do grupo C1 e CI2 = (6.05, 3.375, 4.375, 1.775) como centro do grupo C2.
Para cada objeto do conjunto de dados X = {x1, x2, ..., x6} , calcula-se sua distância aos
centros dos grupos C1 e C2 (utilizando a distância Euclidiana), tendo como resultado os
valores mostrados na Tabela 18. Em seguida os objetos {x1, x2, ..., x6} são atribuídos ao
grupo mais próximo, obtendo os grupos mostrados na Tabela 19:
Tabela 18: Matriz das distâncias entre X e CI
CI1
d(x1;CI1) 1.128882
d(x2;CI1) 1.099716
d(x3;CI1) 1.238699
d(x4;CI1) 3.424818
d(x5;CI1) 3.621378
d(x6;CI1) 3.071543
CI2
d(x1;CI2) 3.499911
d(x2;CI2) 3.576923
d(x3;CI2) 3.713405
d(x4;CI2) 1.036521
d(x5;CI2) 1.161626
d(x6;CI2) 0.830286
Tabela 19: Grupos C1 e C2
x1 5.1 3.5 1.4 0.2
x2 4.9 3.0 1.4 0.2
x3 4.7 3.2 1.3 0.2
x4 6.5 3.0 5.2 2.0
x5 6.2 3.4 5.4 2.3
x6 5.9 3.0 5.1 1.8
Passo 5: Calcule-se a média dos elementos do grupo Cl e C2, obtendo os centros cl e
c2, mostrados na Tabela 20 que são os centros iniciais.
Tabela 20: Matriz de centros finais
c1 4.90 3.2 1.37 0.20
c2 6.20 3.1 5.23 2.03
56
4.3 Método III
Para obter o conjunto de centros iniciais esta proposta consiste em primeiro lugar
calcular a distância entre cada objeto e o ponto médio do conjunto de dados. Em seguida,
os objetos originais são ordenados de acordo com tais distâncias e particionados em k
conjuntos iguais, onde k representa o número de grupos passado como parâmetro ao
algoritmo FCM. Em cada conjunto, os pontos médios são tomados como centros iniciais
(ARNALDO; BEDREGAL, 2013, 2014).
Este método de inicialização dos centros é descrito nos seguintes passos:
Passo 1 : Calcule a média x do conjunto de dados X = {x1, x2, ..., xn};
Passo 2 : Para cada objeto de X, calcule a distância entre xi e o ponto médio x;
Passo 3 : Ordene os objetos de X de acordo com as distâncias ao ponto x;
Passo 4 : Particione os objetos ordenados em k conjuntos iguais, X = {X1, ..., Xk}, nonúmero de elementos;
Passo 5 : Em cada conjunto Xi, tome o ponto médio como o centro inicial.
4.3.1 Exemplo
Dado o número de grupos k = 2 e o seguinte conjunto de dados X:
Tabela 21: Conjunto de dados X
x1 5.1 3.5 1.4 0.2
x2 4.9 3.0 1.4 0.2
x3 4.7 3.2 1.3 0.2
x4 6.5 3.0 5.2 2.0
x5 6.2 3.4 5.4 2.3
x6 5.9 3.0 5.1 1.8
Passo 1: Calcula-se a média x do conjunto de dados X que é mostrada na Tabela 22:
Tabela 22: Média x
x 5.6 3.2 3.3 1.1
57
Passo 2: Calcula-se as distâncias entre os objetos x1, x2, x3, x4, x5, x6 e o ponto médio
x = (5.6, 3.2, 3.3, 1.1). O resultado é mostrado na Tabela 23 :
Tabela 23: Matriz de distâncias
d(x1; x) 2.1802
d(x2; x) 2.2150
d(x3; x) 2.3586
d(x4; x) 2.3079
d(x5; x) 2.5059
d(x6; x) 1.9655
Passo 3: Ordena-se os objetos x1, x2, x3, x4, x5 e x6 em ordem crescente de acordo com
suas distância ao ponto médio x = (5.6, 3.2, 3.3, 1.1). O resultado é apresentado na Tabela
24:
Tabela 24: Conjunto de dados X ordenado
d(x6; x) 1.9655
d(x1; x) 2.1802
d(x2; x) 2.2150
d(x4; x) 2.3079
d(x3; x) 2.3586
d(x5; x) 2.5059
x6 5.9 3.0 5.1 1.8
x1 5.1 3.5 1.4 0.2
x2 4.9 3.0 1.4 0.2
x4 6.5 3.0 5.2 2.0
x3 4.7 3.2 1.3 0.2
x5 6.2 3.4 5.4 2.3
Passo 4: Particiona-se o conjunto de dados ordenado em 2 conjuntos, resultando nos
conjuntos X1 e X2 mostrados na Tabela 25:
Tabela 25: Conjuntos de dados X1 e X2
x6 5.9 3.0 5.1 1.8
x1 5.1 3.5 1.4 0.2
x2 4.9 3.0 1.4 0.2
x4 6.5 3.0 5.2 2.0
x3 4.7 3.2 1.3 0.2
x5 6.2 3.4 5.4 2.3
Passo 5: Para X1 e X2 o ponto médio é tomado como centro de cada grupo, obtendo
os centros c1 e c2:
Tabela 26: Centros c1 e c2
c1 5.1 3.5 1.4 0.2 c2 4.7 3.2 1.3 0.2
58
4.4 Considerações Finais
A inicialização do FCM pode ser feita de duas formas: inicializando a matriz de
pertinência com valores aleatórios no intervalo [0, 1] ou inicializando os centros iniciais
dos grupos com valores aleatórios no intervalo do conjunto de dados. Em razão do FCM
ser um procedimento estocástico, é necessário realizar várias execuções do algoritmo para
se ter bons agrupamentos. Neste capítulo foram propostos três métodos determinísticos
para gerar os centros iniciais dos grupos no FCM, eliminando a aleatoriedade na etapa
de inicialização e consequentemente eliminando a necessidade de executar o FCM várias
vezes. Estes métodos também podem ser aplicados em variantes do FCM. Os passos dos
três métodos propostos foram descritos em detalhes utilizando exemplos de execução.
A ideia do método I é utilizar a distribuição espacial de cada atributo do conjunto de
dados para obter uma estimativa do grupo ao qual um determinado dado deve pertencer.
Para cada grupo estimado calcula-se o ponto médio. Este ponto será o centro inicial do
grupo. A ideia do método II é utilizar a média dos valores de cada atributo do conjunto
de dados para obter uma aproximação dos centros iniciais dos grupos. Tendo obtido
essa aproximação, o próximo passo consiste em calcular a distância entre cada objeto do
conjunto de dados e os centros iniciais aproximados. Cada objeto é atribuído ao grupo com
centro aproximado mais próximo. Finalmente, os centros inciais são calculados utilizando
a média dos objetos de cada grupo.
No método III para obter o conjunto de centros iniciais em primeiro lugar deve-
se calcular a distância entre cada objeto e o ponto médio do conjunto de dados. Em
seguida, os objetos originais são ordenados de acordo com tais distâncias e particionados
em k conjuntos iguais, onde k representa o número de grupos no agrupamento. Em cada
conjunto, os pontos médios são tomados como centros iniciais (ARNALDO; BEDREGAL,
2013).
No capítulo 5 serão descritos os experimentos realizados para testar a eficiência dos
métodos propostos na identificação de grupos em bases de dados reais e artificiais. Essas
bases serão descritas em detalhes.
59
5 Experimentos e Resultados
Neste capítulo serão descritos os experimentos realizados para avaliar o desempenho
dos algoritmos propostos na identificação de grupos em diferentes bases de dados. As
bases de dados utilizadas nos experimentos serão descritas em detalhes.
Este capítulo também apresenta os resultados obtidos pelos algoritmos propostos. O
desempenho desses métodos são comparados com os desempenhos dos algoritmos FCM
e ckMeans originais, mrFCM e MM. O desempenho de todos os algoritmos testados é
avaliado de acordo com os índices DB e SF, que medem a compacticidade dos grupos, e
o índice CR, que compara a partição obtida pelos algoritmos com a divisão original dos
dados em grupos.
5.1 Experimentos
A fim de avaliar o desempenho das versões modificadas dos algoritmos FCM e ckMe-
ans que utilizam os métodos propostos para obter o conjunto de centros iniciais, tanto do
ponto de vista de eficiência (tempo de execução e quantidade de iterações) como quali-
dade do agrupamento (valores dos índices DB, SF e CR), utilizou-se para o problema de
agrupamento seis bases de dados rotuladas, ou seja bases de dados nas quais as classes dos
objetos são conhecidas. As bases de dados selecionadas foram as bases reais Iris1 (FISHER,
1936), Spambase2, Page Blocks3 e as bases de dados artificiais Moons, Blobs e S4. Um
resumo destas bases é apresentado na Tabela 27. Todos esses conjuntos de dados possuem
um atributo que identifica a que classe cada objeto pertence, um rótulo, mas este atributo
não foi utilizado pelos algoritmos de agrupamento.1base de dados do repositório Machine Learning Repository (UCI). Disponível em
http://archive.ics.uci.edu/ml/datasets/Iris.2base de dados do repositório Machine Learning Repository (UCI). Disponível em
https://archive.ics.uci.edu/ml/datasets/Spambase.3base de dados do repositório Machine Learning Repository (UCI). Disponível em
http://archive.ics.uci.edu/ml/datasets/Page+Blocks+Classification.
60
O desempenho dos algoritmos inicializados com os métodos propostos foram compa-
rados com os algoritmos originais FCM e ckMeans, também foi feita uma comparação
com o desempenho dos algoritmos mrFCM e Método da Montanha (variantes do FCM
que também utilizam um método de inicialização dos centros).
Os algoritmos deste trabalho foram desenvolvidos em Python (versão 2.7.3) usando a
biblioteca numérica Numpy4 (versão1. 7.1). Os experimentos foram executados em um no-
tebook com processador Intel Core i7-3612QM, 8 CPU’s de 2.10GHz, com 8Gb de memó-
ria principal, usando o sistema operacional Linux (Kernel 3.8.3-030803-generic, Cinnamon
1.8.8, Mint 13).
Tabela 27: Bases de dados
Bases de Dados Atributos Instancias Classes
Iris 4 150 3
Spambase 57 4601 2
Page Blocks 10 5473 5
Moons 2 300 2
Blobs 100 300 3
S4 2 5000 15
5.1.1 Iris
O conjunto de dados Iris (FISHER, 1936) contém 150 objetos, com quatro atributos
numéricos cada (comprimento da sépala, largura da sépala, comprimento da pétala e
largura da pétala). Estes dados estão classificados em três classes de 50 objetos, onde
cada classe se refere a um tipo da planta Iris (Iris Setosa, Iris Versicolour e Iris Virginica).
5.1.2 Spambase
A base de dados Spambase contém 4601 objetos descritos por 57 atributos numéricos
de dados e 1 atributo de classificação a fim de determinar a normalidade no conteúdo.
Cada atributo representa uma palavra e a frequência em que esta aparece no e-mail pode
representar um SPAM normal ou anormal. Os objetos estão distribuídos em duas clas-
ses: Spam (1813 objetos) e não Spam (2788 objetos). Esta base de dados foi criada com o
objetivo de prover melhoria nos softwares desenvolvidos para a segurança em redes de com-4pacote para computação cientifica em Python. Disponível em http://www.numpy.org/
61
putadores, visto que ataques através de SPAMs com anomalias pode gerar muito prejuízo
tais como, gastos desnecessário de tempo, aumento de custos, perda de produtividade,
conteúdo impróprio ou ofensivo e prejuízos financeiros causados por fraude.
5.1.3 Page Blocks
A base de dados Page Blocks contém 5473 objetos descritos por 10 atributos nú-
mericos. Cada objeto diz respeito a um bloco de 54 documentos distintos. O problema
consiste em classificar todos os blocos do layout de uma página web que foi detectado por
um processo de segmentação. Este é um passo essencial para a análise de documentos a
fim de separar o texto de áreas gráficas. Os objetos estão classificados em cinco classes:
texto (4913 objetos), linha horizontal (329 objetos), gráfico (28 objetos), linha vertical
(88 objetos) e figura (115 objetos).
5.1.4 Moons
A base de dados Moons é uma base artificial contendo 300 objetos descritos por
2 atributos númericos. Os objetos estão classificados em 2 classes com 150 objetos. O
conjunto de dados representa dois semicírculos intercalados como mostra a Figura 14:
Figura 14: Base de dados Moons.
5.1.5 Blobs
Blobs é uma base de dados artificial composta por 300 objetos descritos por 100 atri-
butos numéricos. Os objetos estão divididos em 3 classes de forma circular, sobrepostas,
esparsas e de tamanhos iguais. A Figura 15 abaixo mostra uma representação da base
62
blobs em duas dimensões.
Figura 15: Base de dados Blobs em duas dimensões.
5.1.6 S4
A base de dados artificial S4 possui 5000 objetos descritos por 2 atributos e classifica-
dos em 15 classes esféricas com diferentes graus de sobreposição, esparsas e de tamanhos
iguais como mostra a Figura 16:
Figura 16: Base de dados S4.
5.1.7 Configuração de Parâmetros
Nos experimentos realizados, o critério de parada adotado em todos os algoritmos e
para todas as bases de dados utilizadas foi o limiar ε = 0.001. O expoente de fuzzificação
m assumiu os valores 1.5, 1.75 e 2.0. O valor do número de grupos k foi definido como
sendo a quantidade de classes nas bases de dados (k = 3 para Iris e Blobs, k = 2 para
Moons e Spambase, k = 5 para Page Blocks e k = 15 para S4). Os algoritmos FCM,
63
ckMeams e mrFCM foram executados 100 vezes, com diferentes inicializações. A média e
o desvio padrão do resultado das 100 execuções foram utilizados na comparação com os
outros algoritmos.
5.2 Resultados Experimentais
Aqui serão apresentados os resultados experimentais para as bases de dados Iris,
Page Blocks, Moons, Spambase, Blobs e S4. Em todas as bases de dados, o número
de grupos k é igual ao número de classes e o critério de parada adotado para todos
os algoritmos foi o limiar ε = 0.001. O algoritmo FCM original e o ckMeans foram
executados 100 vezes com diferentes inicializações dos centros inciais dos grupos, uma
vez que são métodos estocásticos. O algoritmo mrFCM também foi executado 100 vezes,
uma vez que a inicialização dos centros é feita utilizando pequenas amostras aleatórias
do conjunto de dados. Os resultados apresentados nas seções seguintes para estes três
algoritmos representam os valores médios das 100 execuções.
Como já mencionado, os algoritmos de agrupamento foram avaliados em termos de
dois índices internos, DB e SF, que medem a compactação dos agrupamentos gerados, e
o índice externo CR, que verifica o grau de concordância entre uma partição dos dados
fornecida a priori (dados com os rótulos das classes), ou seja, a divisão original dos dados
em grupos e outra obtida pelo algoritmo de agrupamento. Foram comparados também o
tempo de execução em segundos (tempo da etapa de inicialização somado com o tempo
de convergência dos algoritmos) e o número de iterações para os algoritmos convergirem.
Aqui o algoritmo FCM inicializado com o método I proposto, será identificado como FCM
I e a versão do ckMeans inicializada com este método de ckMeans I. O FCM inicializado
utilizando o método II, será chamado de FCM II e a versão do ckMeans inicializada com
o mesmo método será identificada como ckMeans II. A variante do FCM que utiliza o
método III na inicialização dos centros dos grupos será denominada FCM III, enquanto
o ckMeans modificado com esse método de inicialização será identificado como ckMeans
III. O desempenho dos métodos propostos foram comparados com os algoritmos mrFCM
e Método da Montanha (MM), que são variantes do FCM cuja modificação da versão
original consiste na forma de gerar os centros iniciais.
64
5.2.1 Base de Dados Iris
A Tabela 28 apresenta os valores dos índices DB, SF e CR para a base de dados Iris
com número de grupos k = 3. Estes resultados correspondem aos experimentos realizados
com o algoritmo FCM e as variantes FCM I, FCM II, FCM III, mrFCM e MM. Apresenta
também o tempo de execução em segundos (tempo da etapa de inicialização somado com
o tempo de convergência) e o número de iterações que os algoritmos levaram para conver-
gir. Os melhores resultados para cada configuração do expoente de fuzzificação m estão
marcados em negrito e os melhores resultados no conjunto de dados estão sublinhados.
Para os algoritmos FCM e mrFCM, os valores representam a média e o desvio padrão de
100 execuções. O desvio padrão para os métodos propostos não é mostrado, uma vez que
são métodos determinísticos.
Tabela 28: Resultados experimentais para Iris
expoente de fuzzificação m = 1.5
FCM FCM I FCM II FCM III mrFCM MM
DB 0.709653 ± 0.175656 0.630159 0.630151 0.630158 0.630155 ± 0.000004 0.630158
SF 0.593013 ± 0.010220 0.597641 0.597635 0.597640 0.597638 ± 0.000003 0.597640
CR 0.666243 ± 0.110699 0.716342 0.716342 0.716342 0.716342 ± 0.000000 0.716342
Tempo 0.19 ± 0.04 0.16 0.16 0.20 0.21 ± 0.04 0.59
Iterações 17.51 ± 3.86 12.00 14.00 17.00 14.95 ± 3.25 17.00
expoente de fuzzificação m = 1.75
FCM FCM I FCM II FCM III mrFCM MM
DB 0.716232 ± 0.195430 0.640690 0.640677 0.640691 0.640684 ± 0.000007 0.640691
SF 0.609328 ± 0.013386 0.614504 0.614494 0.614505 0.614499 ± 0.000005 0.614505
CR 0.688700 ± 0.105341 0.729420 0.729420 0.729420 0.729420 ± 0.000000 0.729420
Tempo 0.23 ± 0.05 0.15 0.19 0.20 0.24 ± 0.03 0.59
Iterações 20.01 ± 4.22 11.00 16.00 17.00 16.72 ± 2.58 16.00
expoente de fuzzificação m = 2.0
FCM FCM I FCM II FCM III mrFCM MM
DB 0.651796 ± 0.000010 0.651783 0.651778 0.651801 0.651790 ± 0.000011 0.651802
SF 0.628207 ± 0.000007 0.628196 0.628195 0.628211 0.628203 ± 0.000007 0.628210
CR 0.729420 ± 0.000000 0.729420 0.729420 0.729420 0.729420 ± 0.000000 0.729420
Tempo 0.22 ± 0.07 0.12 0.18 0.19 0.22 ± 0.03 0.55
Iterações 20.35 ± 6.75 9.00 16.00 17.00 16.80 ± 2.48 13.00
Quanto menor for o valor do índice DB, melhor é a partição obtida no agrupamento.
Nota-se pela Tabela 28 que os menores valores do índice DB, foram obtidos pelo algoritmo
FCM II (inicializado com o método II). Logo, o método de inicialização II trouxe melhoria
para a qualidade do agrupamento em relação ao FCM original. Nota-se ainda que o menor
65
valor de DB é obtido quando o valor de fuzziness m = 1.5.
O índice SF com maior valor indica um melhor agrupamento. A partir da Tabela 28,
nota-se que o maior valor de SF foi obtido com m = 2.0 pelo algoritmo FCM III. No
entanto, os algoritmos mrFCM e MM alcançaram valores semelhantes.
O índice CR, quantifica a semelhança entre a partição obtida pelo algoritmo de agru-
pamento e a partição original dos dados com os objetos classificados. Valores do índice
CR menores ou próximos a 0 indicam que a semelhança entre as partições se deve ao
acaso, que pouco revelam sobre a relação entre os dados, enquanto valores próximos a 1
são obtidos por partições mais relevantes. Analisando a Tabela 28, nota-se que todos os
algoritmos atingiram um bom índice CR. Na maioria dos casos o FCM obteve menor valor
de CR, com exceção do cenário onde m = 2.0, no qual todos os algoritmo alcançaram o
mesmo valor de CR.
Em relação ao tempo de execução e número de iterações dos algoritmos, percebe-se
pelas informações da Tabela 28 que os algoritmos FCM I, FCM II e FCM III tiveram
melhor desempenho na maioria dos casos.
A Tabela 29 mostra os resultados dos experimentos com a base Iris para k = 3. Estes
valores são os resultados obtidos pelo algoritmo ckMeans e suas variantes ckMeans I,
ckMeans II e ckMeans III. Para o ckMeans, os valores representam a média e o desvio
padrão de 100 execuções.
66
Tabela 29: Resultados experimentais para Iris
expoente de fuzzificação m = 1.5
ckMeans ckMeans I ckMeansII ckMeans III
DB 0.675437 ± 0.122055 0.625441 0.625441 0.628110
SF 0.592530 ± 0.010424 0.596990 0.596990 0.596251
CR 0.682123 ± 0.105034 0.730238 0.730238 0.716342
Tempo 0.08 ± 0.03 0.05 0.06 0.09
Iterações 7.02 ± 2.65 3.00 4.00 7.00
expoente de fuzzificação m = 1.75
ckMeans ckMeans I CKM II ckMeans III
DB 0.694598 ± 0.130110 0.625441 0.625441 0.628110
SF 0.605304 ± 0.015155 0.613407 0.613407 0.612791
CR 0.657533 ± 0.125977 0.730238 0.730238 0.716342
Tempo 0.09 ± 0.03 0.06 0.06 0.09
Iterações 7.15 ± 2.88 3.00 4.00 7.00
expoente de fuzzificação m = 2.0
ckMeans ckMeans I ckMeans II ckMeans III
DB 0.674801 ± 0.115963 0.625441 0.625441 0.628110
SF 0.620493 ± 0.013852 0.626505 0.626505 0.625936
CR 0.677782 ± 0.107942 0.730238 0.730238 0.716342
Tempo 0.08 ± 0.03 0.06 0.06 0.10
Iterações 7.17 ± 3.04 3.00 4.00 7.00
A partir da Tabela 29 percebe-se que as versões do ckMeans inicilizadas com os mé-
todos propostos obtiveram melhor desempenho em relação ao ckMeans original em todos
os casos.
5.2.2 Base de Dados Page Blocks
A Tabela 30 apresenta os resultados do algoritmo FCM e variantes para a base de
dados Page Blocks com k = 5. Os valores para os algoritmos FCM e mrFCM representam
a média e o desvio padrão de 100 execuções.
67
Tabela 30: Resultados experimentais para Page Blocks
expoente de fuzzificação m = 1.5
FCM FCM I FCM II FCM III mrFCM MM
DB 0.660612 ± 0.000000 0.660612 0.495372 0.660612 0.642405 ± 0.049118 -
SF 0.756706 ± 0.000000 0.756706 0.821615 0.756705 0.772237 ± 0.024263 -
CR -0.000933 ± 0.000000 -0.000933 0.015507 -0.000933 0.002939 ± 0.006071 -
Tempo 69.45 ± 1.77 45.17 19.69 49.72 53.72 ± 13.92 -
Iterações 111.60 ± 2.06 102.00 43.00 113.00 85.00 ± 25.02 -
expoente de fuzzificação m = 1.75
FCM FCM I FCM II FCM III mrFCM MM
DB 0.675275 ± 0.000000 0.675274 0.476832 0.675275 0.635589 ± 0.079372 -
SF 0.766940 ± 0.000001 0.766939 0.828239 0.766940 0.779199 ± 0.024519 -
CR -0.002641 ± 0.000000 -0.002641 0.013526 -0.002641 0.000592 ± 0.006467 -
Tempo 45.80 ± 1.56 38.57 22.84 47.87 35.92 ± 8.49 -
Iterações 70.30 ± 2.61 59.00 34.00 73.00 47.00 ± 14.39 -
expoente de fuzzificação m = 2.0
FCM FCM I FCM II FCM III mrFCM MM
DB 0.664562 ± 0.000000 0.664562 0.474163 0.664562 0.626514 ± 0.076163 -
SF 0.771697 ± 0.000001 0.771698 0.833841 0.771697 0.784140 ± 0.024848 -
CR -0.006792 ± 0.000000 -0.006792 0.010102 -0.006792 -0.003402 ± 0.006752 -
Tempo 36.58 ± 1.33 27.45 18.73 37.76 31.37 ± 15.80 -
Iterações 60.80 ± 2.04 45.00 30.00 63.00 43.20 ± 27.28 -
Analisando a Tabela 30 nota-se que o algoritmo FCM II obteve melhor desempenho
em todos os casos, obtendo melhores índices DB, SF e CR. Também obteve menor tempo
de execução e número de iterações. Observa-se também que o FCM II obteve menor tempo
de execução e número de iterações com o expoente de fuzzificação m = 2.0. Enquanto
o FCM II encontrou grupos mais compactos (menor DB e maior SF) com m = 2.0, a
melhor partição em relação ao índice CR foi obtida com m = 1.5. Para esta base de dados
o algoritmo MM não conseguiu gerar os centros iniciais dos grupos. Isso se deve ao fato de
ser um método sensível à distribuição dos atributos no conjunto de dados. Os objetos na
base Page Blocks são esparsos, gerando muitos cálculos para a função montanha e como
consequência houve estouro de memória durante a execução do algoritmo. Outro motivo
para o estouro de memória é o tamanho da base de dados que possui 10 atributos e 5473
objetos.
A Tabela 31 apresenta os resultados do algoritmo ckMeans e variantes para a base de
dados Page Blocks com k = 5. Os valores para o algoritmo ckMeans representam a média
e o desvio padrão de 100 execuções.
68
Tabela 31: Resultados experimentais para Page Blocks
expoente de fuzzificação m = 1.5
ckMeans ckMeans I ckMeans II ckMeans III
DB 0.659956 ± 0.000000 0.659956 0.380289 0.659956
SF 0.757082 ± 0.000000 0.757082 0.928107 0.757082
CR -0.001834 ± 0.000000 -0.001834 0.093893 -0.001834
Tempo 29.49 ± 0.93 27.49 7.74 20.08
Iterações 36.80 ± 1.17 29.00 13.00 36.00
expoente de fuzzificação m = 1.75
ckMeans ckMeans I ckMeans II ckMeans III
DB 0.659956 ± 0.000000 0.659956 0.380289 0.659956
SF 0.770893 ± 0.000000 0.770893 0.930199 0.770893
CR -0.001834 ± 0.000000 -0.001834 0.093893 -0.001834
Tempo 31.32 ± 1.02 40.61 11.59 30.08
Iterações 37.60 ± 1.20 29.00 13.00 36.00
expoente de fuzzificação m = 2.0
ckMeans ckMeans I ckMeans II ckMeans III
DB 0.659956 ± 0.000000 0.659956 0.380289 0.659956
SF 0.781546 ± 0.000000 0.781546 0.932325 0.781546
CR -0.001834 ± 0.000000 -0.001834 0.093893 -0.001834
Tempo 29.43 ± 1.31 39.37 11.03 28.64
Iterações 37.20 ± 1.66 29.00 13.00 36.00
A partir dos valores apresentados na Tabela 31 nota-se que o algoritmo ckMeans II
teve melhor desempenho em todos os casos obtendo menor DB, maior valor de SF e CR,
e ainda menor tempo de execução. Para esta base de dados a melhor proposta para gerar
os centros iniciais dos grupos é o Método II.
5.2.3 Base de Dados Spambase
A Tabela 32 apresenta os resultados do algoritmo FCM e variantes para a base de
dados Spambase com número de grupos k = 2. Os valores para os algoritmos FCM e
mrFCM representam a média e o desvio padrão de 100 execuções.
69
Tabela 32: Resultados experimentais para Spambase
expoente de fuzzificação m = 1.5
FCM FCM I FCM II FCM III mrFCM MM
DB 0.664898 ± 0.000023 0.664884 0.664945 0.664888 0.664909 ± 0.000027 -
SF 0.859919 ± 0.000042 0.859898 0.860004 0.859898 0.859940 ± 0.000052 -
CR 0.042092 ± 0.000085 0.042049 0.042262 0.042049 0.042134 ± 0.000104 -
Tempo 10.94 ± 1.38 48.00 11.30 8.38 9.62 ± 2.34 -
Iterações 24.90 ± 3.45 27.00 37.00 27.00 23.90 ± 8.63 -
expoente de fuzzificação m = 1.75
FCM FCM I FCM II FCM III mrFCM MM
DB 0.669831 ± 0.000022 0.669838 0.669762 0.669833 0.669789 ± 0.000032 -
SF 0.864593 ± 0.000002 0.864593 0.864598 0.864593 0.864596 ± 0.000002 -
CR 0.046564 ± 0.000000 0.046564 0.046564 0.046564 0.046564 ± 0.000000 -
Tempo 12.00 ± 0.76 67.65 14.48 12.80 11.32 ± 1.24 -
Iterações 26.50 ± 1.86 27.00 32.00 28.00 20.90 ± 3.08 -
expoente de fuzzificação m = 2.0
FCM FCM I FCM II FCM III mrFCM MM
DB 0.675005 ± 0.000005 0.675014 0.674912 0.675007 0.674956 ± 0.000054 -
SF 0.868545 ± 0.000000 0.868544 0.868552 0.868545 0.868549 ± 0.000004 -
CR 0.050795 ± 0.000000 0.050795 0.050795 0.050795 0.050795 ± 0.000000 -
Tempo 11.66 ± 0.74 67.51 13.98 12.13 10.25 ± 1.89 -
Iterações 27.00 ± 1.84 27.00 32.00 28.00 19.10 ± 4.50 -
Para a base de dados Spambase o algoritmo MM não conseguiu gerar os centros
iniciais dos grupos, devido à distribuição dos atributos e ao tamanho da base que possui
57 atributos e 4601 objetos, ocasionando em estouro de memória. Analisando a Tabela 32,
os melhores valores dos índices DB e SF, ou seja menor DB e maior SF, foram obtidos pelas
variantes do FCM inicializadas com os métodos propostos. O FCM I obteve o menor valor
de DB com m = 1.5 e o FCM II obteve o maior valor de SF para m = 2.0. O maior valor
do índice CR foi obtido com m = 2.0, onde todos os algoritmos atingiram o mesmo valor.
Logo, os métodos propostos mantiveram ou melhoraram a qualidade do agrupamento. No
entanto, os algoritmos FCM e mrFCM tiveram melhor desempenho no tempo de execução
na maioria dos casos.
A Tabela 33 apresenta os resultados do algoritmo ckMeans e variantes inicializadas
com os métodos propostos para a base de dados Spambase com k = 2. Os valores para o
algoritmo ckMeans representam a média e o desvio padrão de 100 execuções.
70
Tabela 33: Resultados experimentais para Spambase
expoente de fuzzificação m = 1.5
ckMeans ckMeans I ckMeans II ckMeans III
DB 0.633801 ± 0.000000 0.633801 0.466032 0.633801
SF 0.865026 ± 0.000000 0.865026 0.956869 0.865026
CR 0.039417 ± 0.000000 0.039417 0.000865 0.039417
Tempo 19.40 ± 3.70 79.89 6.48 21.16
Iterações 14.70 ± 2.93 16.00 4.00 16.00
expoente de fuzzificação m = 1.75
ckMeans ckMeans I ckMeans II ckMeans III
DB 0.633801 ± 0.000000 0.633801 0.466032 0.633801
SF 0.872043 ± 0.000000 0.872043 0.957773 0.872043
CR 0.039417 ± 0.000000 0.039417 0.000865 0.039417
Tempo 20.20 ± 1.26 78.06 6.38 21.47
Iterações 15.20 ± 0.98 16.00 4.00 16.00
expoente de fuzzificação m = 2.0
ckMeans ckMeans I ckMeans II ckMeans III
DB 0.633801 ± 0.000000 0.633801 0.466032 0.633801
SF 0.877547 ± 0.000000 0.877547 0.958708 0.877547
CR 0.039417 ± 0.000000 0.039417 0.000865 0.039417
Tempo 18.57 ± 3.65 76.77 6.18 21.49
Iterações 14.10 ± 2.88 16.00 4.00 16.00
A partir dos dados da Tabela 33 nota-se que, o algoritmo ckMeans II obteve melhor
desempenho em relação ao tempo de execução, número de iterações e valores dos índices
DB e SF. No entanto o CR alcançado pelo ckMeans II foi inferior ao do ckMeans.
5.2.4 Base de Dados Moons
A Tabela 34 apresenta os resultados do algoritmo FCM e variantes inicializadas com os
métodos propostos para a base de dados Moons com k = 2. Os valores para os algoritmos
FCM e mrFCM representam a média e o desvio padrão de 100 execuções.
71
Tabela 34: Resultados experimentais para Moons
expoente de fuzzificação m = 1.5
FCM FCM I FCM II FCM III mrFCM MM
DB 0.878112 ± 0.000262 0.877846 0.877846 0.877845 0.878111 ± 0.000262 0.878376
SF 0.488763 ± 0.000414 0.489177 0.489177 0.489177 0.488763 ± 0.000414 0.488348
CR 0.279549 ± 0.001765 0.281314 0.281314 0.281314 0.279549 ± 0.001765 0.277784
Tempo 1.44 ± 0.15 1.27 1.19 1.62 1.30 ± 0.34 1.30
Iterações 68.70 ± 6.83 60.00 57.00 79.00 57.30 ± 16.83 62.00
expoente de fuzzificação m = 1.75
FCM FCM I FCM II FCM III mrFCM MM
DB 0.883459 ± 0.000158 0.883348 0.883339 0.883342 0.883398 ± 0.000113 0.883706
SF 0.508277 ± 0.000009 0.508283 0.508284 0.508284 0.508280 ± 0.000007 0.508262
CR 0.277792 ± 0.000000 0.277792 0.277792 0.277792 0.277792 ± 0.000000 0.277792
Tempo 1.29 ± 0.39 1.49 1.18 1.66 1.44 ± 0.35 1.32
Iterações 59.30 ± 18.16 69.00 52.00 77.00 60.80 ± 16.43 61.00
expoente de fuzzificação m = 2.0
FCM FCM I FCM II FCM III mrFCM MM
DB 0.882781 ± 0.000247 0.882621 0.882628 0.882627 0.882998 ± 0.000245 0.883171
SF 0.520846 ± 0.000015 0.520856 0.520855 0.520855 0.520833 ± 0.000015 0.520823
CR 0.277791 ± 0.000000 0.277791 0.277791 0.277791 0.277791 ± 0.000000 0.277791
Tempo 1.45 ± 0.26 1.63 1.09 1.69 1.60 ± 0.12 1.51
Iterações 71.10 ± 12.74 79.00 50.00 84.00 73.20 ± 5.42 73.00
Para a base de dados Moons, o desempenho dos algoritmos FCM I, FCM II e FCM
III foi melhor que os demais algoritmos em relação aos índices DB e SF. Estes algoritmos
também convergiram com menor tempo de execução e menor número de iterações. Para o
índice CR os algoritmos tiveram o mesmo resultado para m = 1.75 e m = 2.0. No entanto
para m = 1.5 as variantes do FCM inicializadas com os métodos propostos obtiveram
maior valor de CR. Ainda analisando a Tabela 34 nota-se que o menor valor de DB foi
obtido pelo algoritmo FCM II para m = 1.5 e maior valor do índice SF foi obtido pelo
FCM I para m = 2.0.
A Tabela 35 apresenta os resultados do algoritmo ckMeans e variantes para a base de
dados Moons com k = 2.
72
Tabela 35: Resultados experimentais para Moons
expoente de fuzzificação m = 1.5
ckMeans ckMeans I ckMeans II ckMeans III
DB 0.886289 ± 0.025601 0.894956 0.883824 0.907706
SF 0.476224 ± 0.007499 0.482580 0.483894 0.483650
CR 0.281549 ± 0.013028 0.285700 0.285178 0.260909
Tempo 0.24 ± 0.06 0.29 0.17 0.15
Iterações 12.00 ± 3.10 14.00 8.00 7.00
expoente de fuzzificação m = 1.75
ckMeans ckMeans I ckMeans II ckMeans III
DB 0.892305 ± 0.022207 0.871980 0.883824 0.907706
SF 0.496272 ± 0.006301 0.483420 0.501359 0.500064
CR 0.277152 ± 0.010013 0.295123 0.285178 0.260909
Tempo 0.21 ± 0.06 0.16 0.18 0.15
Iterações 10.30 ± 3.03 7.00 8.00 7.00
expoente de fuzzificação m = 2.0
ckMeans ckMeans I ckMeans II ckMeans III
DB 0.900703 ± 0.012179 0.871980 0.883824 0.907706
SF 0.509568 ± 0.005283 0.494163 0.513386 0.511683
CR 0.271348 ± 0.010632 0.295123 0.285178 0.260909
Tempo 0.18 ± 0.05 0.11 0.17 0.14
Iterações 9.60 ± 2.73 5.00 8.00 7.00
Analisando a Tabela 35 nota-se que os algoritmos ckMeans I, ckMeans II e ckMeans
III convergiram em menor tempo em todos os casos. Esses algoritmo tiveram desempenho
melhor que o ckMeans também em relação aos índices. O melhor valor do índice DB, ou
seja, o menor valor de DB foi obtido pelo ckMeans I com m = 1.75. O melhor valor do
índice SF, ou seja, o maior valor de SF foi obtido pelo ckMeans II com m = 2.0. O melhor
valor de CR, ou seja, o maior valor do índice CR foi obtido pelo ckMeans I com m = 1.75.
5.2.5 Base de Dados S4
A Tabela 36 apresenta os resultados do algoritmo FCM e variantes inicializadas com os
métodos propostos para a base de dados S4 com número de grupos k = 15. Os valores para
os algoritmos FCM e mrFCM representam a média e o desvio padrão de 100 execuções.
O algoritmo MM não conseguiu gerar os centros iniciais dos grupos nesta base de dados
que possui 100 atributos e 300 objetos.
73
Tabela 36: Resultados experimentais para S4
expoente de fuzzificação m = 1.5
FCM FCM I FCM II FCM III mrFCM MM
DB 0.742146 ± 0.028861 0.756546 0.756549 0.714965 0.722127 ± 0.014801 -
SF 0.549062 ± 0.004604 0.541043 0.541044 0.553409 0.549901 ± 0.005652 -
CR 0.618708 ± 0.015188 0.611204 0.611204 0.633204 0.622864 ± 0.016038 -
Tempo 69.89 ± 43.55 65.43 54.54 57.98 50.35 ± 33.64 -
Iterações 67.00 ± 41.83 60.00 51.00 56.00 38.20 ± 31.12 -
expoente de fuzzificação m = 1.75
FCM FCM I FCM II FCM III mrFCM MM
DB 0.760728 ± 0.049294 0.718038 0.718032 0.736100 0.736490 ± 0.037291 -
SF 0.570683 ± 0.010306 0.579838 0.579838 0.566314 0.577313 ± 0.005221 -
CR 0.612266 ± 0.023677 0.634863 0.634863 0.596551 0.627526 ± 0.014863 -
Tempo 95.94 ± 102.85 41.73 62.88 75.32 104.84 ± 126.70 -
Iterações 81.50 ± 87.95 32.00 51.00 64.00 80.10 ± 105.58 -
expoente de fuzzificação m = 2.0
FCM FCM I FCM II FCM III mrFCM MM
DB 0.746317 ± 0.044195 0.721889 0.721895 0.721896 0.743206 ± 0.042634 -
SF 0.592577 ± 0.013093 0.600499 0.600499 0.600499 0.597275 ± 0.006448 -
CR 0.623540 ± 0.020590 0.636840 0.636840 0.636840 0.630419 ± 0.012842 -
Tempo 64.82 ± 25.57 31.34 77.84 113.45 37.13 ± 14.05 -
Iterações 65.60 ± 26.00 28.00 77.00 115.00 26.30 ± 13.76 -
A partir da Tabela 36 percebe-se que as variantes do FCM inicializadas com os méto-
dos proposto tiveram desempenho melhor que o FCM e mrFCM em relação aos índices.
O menor valor de DB foi obtido pelo FCM III com m = 1.5. O maior valor do índice SF
foi obtido com m = 2.0 pelos algoritmo FCM I, FCM II e FCM III. O melhor valor de
CR foi obtido com m = 2.0, onde os algoritmos FCM I, FCM II e FCM III obtiveram o
mesmo resultado.
A Tabela 36 apresenta os resultados do algoritmo ckMeans e variantes para a base de
dados S4 com k = 15.
74
Tabela 37: Resultados experimentais para S4
expoente de fuzzificação m = 1.5
ckMeans ckMeans I ckMeans II ckMeans III
DB 0.742538 ± 0.039255 0.723304 0.713692 0.759716
SF 0.542400 ± 0.015181 0.545064 0.552415 0.529990
CR 0.607937 ± 0.031998 0.608472 0.631218 0.590772
Tempo 23.21 ± 14.70 13.55 18.80 10.60
Iterações 34.70 ± 22.61 23.00 37.00 22.00
expoente de fuzzificação m = 1.75
ckMeans ckMeans I ckMeans II ckMeans III
DB 0.738373 ± 0.023308 0.759710 0.772292 0.759716
SF 0.565529 ± 0.013539 0.551746 0.550721 0.555999
CR 0.602570 ± 0.025863 0.577916 0.582040 0.590772
Tempo 28.75 ± 7.88 24.92 26.58 18.32
Iterações 34.90 ± 9.70 25.00 30.00 22.00
expoente de fuzzificação m = 2.0
ckMeans ckMeans I ckMeans II ckMeans III
DB 0.783407 ± 0.048001 0.715470 0.719155 0.759716
SF 0.578558 ± 0.017223 0.595969 0.595955 0.575380
CR 0.589765 ± 0.025953 0.609040 0.609347 0.590772
Tempo 22.05 ± 6.77 21.60 25.09 14.70
Iterações 32.90 ± 10.16 27.00 35.00 22.00
Analisando a Tabela 37 pode-se notar que o menor valor de DB e o maior valor do
índice CR foram obtidos pelo algoritmo ckMeans II para m = 1.5. O menor tempo de
execução foi alcançado pelo ckMeans III com m = 1.5. O melhor SF foi obtido pelo
mrFCM com m = 2.0, no entanto o menor tempo de execução foi obtido pelo ckMeans
III.
5.2.6 Base de Dados Blobs
A Tabela 38 mostra os resultados do algoritmo FCM e variantes para a base de dados
Blobs com k = 3. Os valores para os algoritmos FCM e mrFCM representam a média e
o desvio padrão de 100 execuções. Para os índices SF e CR, os maiores valores indicam
um melhor agrupamento. Para o índice DB quanto menor for o valor, melhor é a partição
obtida no agrupamento.
75
Tabela 38: Resultados experimentais para Blobs
expoente de fuzzificação m = 1.5
FCM FCM I FCM II FCM III mrFCM MM
DB 0.721939 ± 0.000001 0.721939 0.721939 0.721939 0.721942 ± 0.000000 -
SF 0.580057 ± 0.000000 0.580057 0.580057 0.580057 0.580057 ± 0.000000 -
CR 1.000000 ± 0.000000 1.000000 1.000000 1.000000 1.000000 ± 0.000000 -
Tempo 0.22 ± 0.05 0.23 0.18 0.30 0.19 ± 0.01 -
Iterações 5.30 ± 2.15 3.00 2.00 8.00 2.00 ± 0.00 -
expoente de fuzzificação m = 1.75
FCM FCM I FCM II FCM III mrFCM MM
DB 0.727425 ± 0.000001 0.727431 0.727420 0.727425 0.727425 ± 0.000000 -
SF 0.580334 ± 0.000000 0.580334 0.580334 0.580334 0.580334 ± 0.000000 -
CR 1.000000 ± 0.000000 1.000000 1.000000 1.000000 1.000000 ± 0.000000 -
Tempo 0.23 ± 0.04 0.23 0.20 0.31 0.22 ± 0.01 -
Iterações 5.40 ± 1.50 3.00 2.00 8.00 3.00 ± 0.00 -
expoente de fuzzificação m = 2.0
FCM FCM I FCM II FCM III mrFCM MM
DB 0.736273 ± 0.000002 0.736271 0.736267 0.736270 0.736275 ± 0.000001 -
SF 0.580581 ± 0.000000 0.580581 0.580581 0.580581 0.580581 ± 0.000000 -
CR 1.000000 ± 0.000000 1.000000 1.000000 1.000000 1.000000 ± 0.000000 -
Tempo 0.28 ± 0.05 0.24 0.21 0.31 0.21 ± 0.01 -
Iterações 8.20 ± 2.36 4.00 3.00 9.00 3.00 ± 0.00 -
A partir da Tabela 38 observa-se que as variantes do FCM inicializadas com os métodos
propostos tiveram resultados dos índices semelhantes ao algoritmo FCM, indicando que
esses algoritmos obtiveram partições com a mesma qualidade da partição obtida pelo
FCM. No entanto, para m = 1.75 e m = 2.0 o algoritmo FCM II obteve menores valores
de DB em relação ao FCM, indicando que a partição gerada pelo FCM II teve uma
pequena melhoria na qualidade.
A Tabela 39 mostra os resultados do algoritmo ckMeans e variantes para a base de
dados Blobs com k = 3. Os valores para o algoritmo ckMeans representam a média e o
desvio padrão de 100 execuções.
76
Tabela 39: Resultados experimentais para Blobs
expoente de fuzzificação m = 1.5
ckMeans ckMeans I ckMeans II ckMeans III
DB 1.708692 ± 1.537423 0.731809 0.731809 4.526958
SF 0.513210 ± 0.096319 0.576221 0.576221 0.371714
CR 0.841454 ± 0.243065 1.000000 1.000000 0.442168
Tempo 0.48 ± 0.16 0.36 0.24 0.64
Iterações 3.60 ± 1.56 2.00 1.00 5.00
expoente de fuzzificação m = 1.75
ckMeans ckMeans I ckMeans II ckMeans III
DB 1.877327 ± 1.756684 0.731809 0.731809 4.526958
SF 0.517620 ± 0.089908 0.576475 0.576475 0.380478
CR 0.833646 ± 0.254113 1.000000 1.000000 0.442168
Tempo 0.43 ± 0.11 0.37 0.25 0.63
Iterações 3.20 ± 1.08 2.00 1.00 5.00
expoente de fuzzificação m = 2.0
ckMeans ckMeans I ckMeans II ckMeans III
DB 1.127040 ± 1.185691 0.731809 0.731809 4.526958
SF 0.557515 ± 0.057574 0.576707 0.576707 0.384406
CR 0.944328 ± 0.167015 1.000000 1.000000 0.442168
Tempo 0.41 ± 0.08 0.36 0.24 0.64
Iterações 3.00 ± 0.77 2.00 1.00 5.00
Analisando as informações da Tabela 38 nota-se que os algoritmos ckMeans I e ckMe-
ans II tiveram melhor desempenho em todos os casos. Logo os métodos I e II propostos,
melhoraram a qualidade do agrupamento e reduziram o tempo de convergência do ckMe-
ans para esta base de dados.
77
6 Análise Estatística dos Resultados
Com a finalidade de atestar se as diferenças entre os métodos determinísticos para
inicialização dos centros de grupos que foram propostos neste trabalho e demais algoritmos
são significativas ou não, foi utilizada a estatística do teste de Friedman (FRIEDMAN,
1937, 1940). O teste de Friedman é um teste não-paramétrico (livre da distribuição de
probabilidade dos dados) utilizado para comparar dados amostrais vinculados, ou seja,
quando o mesmo indivíduo é avaliado mais de uma vez.
Para realizar o teste de Friedman foram criadas 50 versões das bases de dados origi-
nais (Iris, Blocks, Spambase, Moons, Blobs, S4) utilizando 90% dos dados, selecionados
aleatoriamente. O teste de Friedman foi executado utilizando os valores dos índices DB,
SF e CR. Foi usado também o tempo de execução e número de iterações dos algoritmos.
6.1 Teste de Friedman
O teste de Friedman é um teste não-paramétrico, ou seja, não utiliza os parâmetros
da distribuição de probabilidades dos dados estudados, ou uma estimativa destes, para
o cálculo de sua estatística. Ao invés de usar os valores numéricos dos dados, utiliza os
postos (ranks) atribuídos aos dados ordenados para o cálculo da estatística. Este teste é
adequado para comparar o desempenho de diferentes algoritmos quando aplicados a vários
conjuntos de dados (SHELDON; FILLYAW; THOMPSON, 1996; CHAH et al., 2011). O teste
de Friedman determina se os algoritmos analisados produzem resultados com diferenças
significativas.
A estatística de Friedman é uma alternativa não-paramétrica para o teste em blocos ao
acaso. Assim, suponha que Xij representa o resultado experimental do fator (ou “bloco”)
i com o tratamento j, onde i = 1, ..., n e j = 1, ..., k, como mostra a Tabela 40.
78
Tabela 40: Tabela de blocos x tratamentos
Tratamentos
Blocos 1 2 ... k
1 X11 X12 ... X1k
2 X21 X22 ... X2k
......
......
...
n Xn1 Xn2 ... Xnk
Para calcular a estatística do teste de Friedman, as k observações são ordenadas da
menor para a maior de forma separada em cada um dos n blocos e os ranks {1, 2, ..., k}são atribuídos para cada bloco da tabela de observações. Assim, a posição esperada de
qualquer observação é (k+ 1)/2. Sendo r(Xij) o rank da observação Xij, a soma de todos
os ranks da coluna j (ou seja, de cada tratamento) é definida por:
Rj =n∑i=1
r(Xij), 1 ≤ j ≤ k (6.1)
A estatística de Friedman é calculada da seguinte forma:
χ2r =
12
nk(k + 1)
k∑j=1
R2j − 3n(k + 1) (6.2)
onde Rj, j = 1, ..., k é o somatório do rank da j-ésima coluna. χ2r é aproximadamente qui
quadrado com k − 1 graus de liberdade.
No teste de Friedman é testada a hipótese nula (H0) de que todos os k tratamentos são
semelhantes, contra a hipótese alternativa (H1), de que existe pelo menos um tratamento
diferente. A hipótese (H0) é rejeitada em um nível de significância α, se χ2r ≥ χ2
α com
k − 1 graus de liberdade.
O valor χ2α pode ser encontrado em referências da estatística. A tabela qui quadrado
utilizada neste trabalho que está disponível no apêndice B foi retirada de Walck (WALCK,
2007).
Opcionalmente calcula-se o p-valor de χ2r e compara-se este valor com o α adotado.
Caso o p-valor seja maior que α então a hipótese H0 é verdadeira, caso contrário a hipótese
H1 é verdadeira. O p-valor, também denominado nível descritivo do teste, é a probabi-
lidade de que a estatística do teste tenha valor extremo em relação ao valor observado
79
(estatística) quando a hipótese H0 é verdadeira. O p-valor, que depende diretamente de
uma dada amostra, tenta fornecer uma medida da força dos resultados de um teste, em
contraste a uma simples rejeição ou não rejeição. Se a hipótese nula for verdadeira e a
chance da variação aleatória for a única razão para as diferenças amostrais, então o p-
valor é uma medida quantitativa para alimentar o processo da tomada de decisão como
evidência.
Assim, o p-valor é uma medida de quanta evidência se tem contra a hipótese nula.
Quanto menor o p-valor, mais evidência se tem. Deve combinar-se o p-valor com o nível
de significância para tomar decisão sobre o teste de hipótese. Em tal caso, se o p-valor for
menor que algum corte (usualmente 0,05, algumas vezes um pouco mais como 0,1 ou um
pouco menos como 0,01) então a hipótese nula é rejeitada.
6.1.1 Exemplo
A fim de avaliar se houve progressão na aprendizagem, um professor reteve as médias
de um grupo de 4 alunos no final de cada trimestre:
Tabela 41: Amostra das notas dos alunos A, B, C e D em 3 trimestres
Alunos A B C D
1o Trimestre 8 15 11 7
2o Trimestre 14 17 13 10
3o Trimestre 15 17 14 12
Considerando um α = 0.05, que conclusão pode-se tirar?
Hipóteses:
• H0: Não houve progressão na aprendizagem ao longo do ano escolar;
• H1: Houve progressão ao longo do ano escolar.
Resolução:
Os postos são atribuídos através da Tabela 42 e calcula-se as somas:
80
Tabela 42: Tabela de ranks
Alunos 1o Trimestre 2o Trimestre 3o Trimestre
A 1 2 3
B 1 2.5 2.5
C 1 2 3
D 1 2 3
Rj 4 8.5 11.5
R2j 16 72.25 132.25
A Tabela 42 informa que n = 4 e k = 3, então χ2r = 12
4×3×4× [16 + 72.25 + 132.25] −
3× 4× (3 + 1) = 7.125
Com o auxílio da Tabela 49 do apêndice B descobre-se que o valor de χ2α = 5.9915,
com α = 0.05 e (k − 1) = (3− 1) = 2 graus de liberdade. Como χ2r ≥ χ2
α a hipótese nula
é rejeitada.
Pelos dados da Tabela 49 tem-se 0.05 ≤ p-valor(χ2r) ≤ 0.025. Assim, com α = 0.05,
a hipótese nula é rejeitada. Então, conclui-se que houve progressão na aprendizagem ao
logo do ano escolar.
6.2 Teste de Wilcoxon-Nemenyi-McDonald-Thompson
O teste de Friedman não diz especificamente quais tratamentos são diferentes em
casos onde a hipótese nula é rejeitada. Ele só pode dizer que em algum lugar entre seus
tratamentos, existem diferenças significativas. Para obter informações adicionais, é preciso
realizar um teste post-hoc. Os testes post-hoc são necessários para identificar quais dos
pares de tratamento diferem.
Neste trabalho o teste post-hoc utilizado foi o Wilcoxon-Nemenyi-McDonald-Thompson
(HOLLANDER, 1999; DEMŠAR, 2006). Este teste é baseado no teste de Friedman, que uti-
liza blocos de ranks, e calcula diferenças entre pares de tratamentos.
Seja R1, ..., Rk o somatório dos ranks de k tratamentos τ , calcula-se as k(k − 1)/2
diferenças absolutas |Ru −Rv|, 1 ≤ u < v ≤ k. Com base em uma taxa de erro α, o teste
toma decisões sobre todos os k(k − 1)/2 dos pares calculados (τu, τv), pelo critério:
81
Decidir
{τu 6= τv se |Ru −Rv| ≥ rα
τk = τv caso contrário(6.3)
A constante rα é definida como o valor crítico e é calculada pela seguinte fórmula:
rα = qα
√nk(k + 1)
12
onde qα para um número de tratamentos k e uma taxa de erro α é definido pela Tabela
50 do Apêndice B. Por exemplo, para encontrar o valor q0.05 para um k = 3 e α = 0.05,
pela tabela 50 temos que q0.05 = 3.314.
6.2.1 Exemplo
Considere o exemplo da seção 6.1.1 que usou o teste de Friedman para avaliar se houve
progressão na aprendizagem. Para este exemplo o teste de Friedman encontrou diferenças
entre os tratamentos avaliados. Agora será utilizado o teste Wilcoxon-Nemenyi-McDonald-
Thompson para encontrar as diferenças entre os pares de tratamentos avaliados.
Para este problema tem-se n = 4, k = 3 e α = 0.05. Conferindo a Tabela 50 é
encontrado o valor q0.05 = 3.314
Calcula-se inicialmente a diferença crítica rα = 3.314√
4×3×412
= 6.628 .
Utilizando o somatório dos ranks Rj da Tabela 42 é possível decidir quais pares
possuem diferença significativa comparando cada par de tratamentos τ , como mostra a
Tabela 43:
Tabela 43: Pares de tratamentos
Tratamentos Ru Rv |Ru −Rv| |Ru −Rv| ≥ rα
τ2 e τ1 8.5 4 4.5 Não
τ3 e τ1 11.5 4 7.5 Sim
τ3 e τ2 11.5 8.5 3 Não
Pela Tabela 43 para decidir se há diferença entre os pares τ2 e τ1, calcula-se a diferença
entre os dois |R2−R1| = |8.5−4| = 4.5 utilizando a Equação 6.3. Como 4.5 < 6.628 então
não há diferenças significativas entre os pares de tratamentos τ2 e τ1. Para os pares τ3 e τ1
temos que |R3−R1| = |11.5−4| = 7.5, como 7.5 ≥ 6.628 então há diferenças significativas
82
entre os pares τ3 e τ1. Por fim para os pares τ3 e τ2 tem-se que |R3−R2| = |11.5−7.5| = 3.0,
como 3.0 < 6.628 então não foi encontrada diferença entre os pares τ3 e τ2.
6.3 Experimentos e Resultados da Análise Estatística
O teste de Friedman foi executado para procurar por diferenças significativas entre os
algoritmos apresentados neste trabalho. Nos casos onde houve diferença significativa entre
os algoritmos de agrupamento, o teste post-hoc Wilcoxon-Nemenyi-McDonald-Thompson
foi executado para descobrir quais pares de algoritmos foram significativamente diferentes.
Nesta seção, as tabelas de resultados apresentam apenas dados resumidos para os
testes de Friedman e post-hoc Wilcoxon-Nemenyi-McDonald-Thompson. As informações
completas sobre os resultados destes testes poderão ser encontradas no Apêndice A.
A execução dos testes foi feita utilizando o software R (R Core Team, 2014), versão
3.0.2. O teste de Friedman é disponibilizado pelo R, bem como o teste post-hoc Wilcoxon-
Nemenyi-McDonald-Thompson.
6.3.1 Experimentos
Para realização dos testes estatísticos foram utilizadas as bases de dados: Iris, Spam-
base, Page Blocks, Moons, Blobs e S4 apresentadas anteriormente. Para cada base foram
geradas 50 versões com 90% dos dados originais selecionados em ordem aleatória. Os al-
goritmos FCM e ckMeans foram aplicados às 50 versões de cada base. Como o objetivo
do teste estatístico foi avaliar os métodos de inicialização, os tratamentos considerados no
teste de Friedman foram tais métodos, ou seja, inicialização aleatória para os algoritmos
FCM e ckMeans originais, os determinísticos propostos: Método I, Método II e Método
II; e a inicialização do algoritmo mrFCM. Aqui usaremos as siglas: M1 para Método I,
M2 para Método II, M3 para Método III, R para inicialização aleatória e MR para a
inicialização do mrFCM.
Dos resultados da execução dos algoritmos, foram analisados: o índice Davies Bol-
ding(DB), o índice Silhueta Fuzzy(SF), o tempo de execução, que compreende o tempo de
inicialização mais o tempo de execução do algoritmo de agrupamento(tempo) e o número
de iterações que o algoritmo de agrupamento levou para convergir(iter).
Os parâmetro utilizados para os algoritmos de agrupamento foram os mesmos parâ-
metros definidos na Seção 5.1.7, com a diferença de que cada versão das bases de dados
83
foi executada uma única vez.
O teste de Friedman foi executado com o objetivo de encontrar diferenças significativas
entre os algoritmos de inicialização que executaram em todas as 6 bases. Consideramos
para este teste que os tratamentos serão os 5 métodos de inicialização mencionados no
início desta subseção (M1, M2, M3, R, MR) e os blocos serão os valores resultantes
da execução dos métodos de agrupamento para as 6 bases de dados apresentadas neste
trabalho.
Foram executados 24 testes de Friedman, 6 testes para cada um dos parâmetros anali-
sados (DB, FS, tempo e iter). Por exemplo para o parâmetro DB, há 3 testes de Friedman
para o algoritmo de agrupamento FCM, com m = {1.5, 1.75, 2.0} e outros 3 testes para
o algoritmo de agrupamento ckMeans. Desta forma, analisar um dos testes significa que
se estar verificando a existência de diferenças significativas entre os tratamentos para um
determinado algoritmo de agrupamento, com dado valor de m, utilizando os resultados
de um dos parâmetros em análise (DB, FS, time e iter).
Para cada teste de Friedman, separa-se o conjunto de valores que serão analisados. Por
exemplo, para analisar se houve diferenças significativas entre os métodos de inicialização,
utilizando o índice DB, no algoritmo de agrupamento FCM, com m = 1.5, tem-se uma
tabela com os 5 tratamentos (algoritmos de inicialização), para 6 blocos (bases de dados).
Os valores desta tabela são selecionados em cada execução da base de dados. Um exemplo
demonstrativo desta tabela é apresentado na Tabela 44.
Tabela 44: Amostra do resultado do índice DB, com m = 1.5 e algoritmo de agrupamentoFCM, para os diferentes métodos de inicialização
M1 M2 M3 MR R
Iris vM1Iris vM2
Iris vM3Iris vMR
Iris vRIris
Spambase vM1Spambase vM2
Spambase vM3Spambase vMR
Spambase vRSpambase
Page Blocks vM1PageBlocks vM2
PageBlocks vM3PageBlocks vMR
PageBlocks vRPageBlocks
Moons vM1Moons vM2
Moons vM3Moons vMR
Moons vRMoons
Blobs vM1Blobs vM2
Blobs vM3Blobs vMR
Blobs vRBlobs
S4 vM1S4 vM2
S4 vM3S4 vMR
S4 vRS4
onde vM1Iris é o valor do índice DB retornado pela execução do método de inicialização
M1 para a base Iris. vM2Spambase é o valor de DB retornado pelo método M2 para a base
Spambase e assim por diante.
84
O teste de Friedman foi executado com:
• α = 0.10;
• H0 = todos os algoritmos de inicialização são similares;
• H1 = nem todos os algoritmos de inicialização são similares.
No caso do teste de Friedman ter valor menor que α, então H0 é rejeitada, e que
portanto existe algum algoritmo significativamente diferente dos demais. Executa-se então
o teste post-hoc de Wilcoxon-Nymenyi-McDonald-Thompson para descobrir quais pares
de algoritmos tiveram diferenças significativas. A Tabela 45 apresenta o resultado do teste
de Friedman.
Tabela 45: Resultado do teste de Friedman (p-value)
FCM ckMeans
m 1.5 1.75 2.0 1.5 1.75 2.0
DB 0.253710 0.285563 0.043997 0.227609 0.445325 0.337010
SF 0.065746 0.185438 0.121974 0.112472 0.120942 0.035807
iter 0.323240 0.005774 0.010339 0.046812 0.062788 0.074760
Tempo 0.638677 0.028906 0.032341 0.119287 0.180099 0.180099
Na Tabela 45 é possível observar os valores encontrados no teste de Friedman. Os
valores em negrito destacam os resultados em que o teste teve valor menor que α, por-
tanto com a hipótese H0 rejeitada, mostrando que existe evidências em 41% dos casos
de que algum algoritmo foi significativamente diferente dos demais. Os outros valores na
tabela informam que não foram encontradas diferenças significativas entre o algoritmos
de inicialização.
O teste de Friedman encontrou diferenças significativas entre os algoritmos analisa-
dos em 10 dos 24 casos. A maior quantidade de casos foi no número de iterações, onde
para todos os valores de m no algoritmo ckMeans houve diferenças significativas entre os
métodos de inicialização. Já no FCM só não houve diferenças significativas para m = 1.5.
Em relação ao tempo de execução, os resultados mostraram existir diferenças para o FCM
com m = 1.75 e m = 2.0. Já com relação ao ckMeans, não se pode afirmar nada para o α
adotado.
85
O índice SF mostrou diferenças apenas para o FCM com m = 1.5 e para o ckMeans
com m = 2.0. Para os demais valores de m não se pode afirmar nada para o valor de α
adotado.
Para o índice DB o algoritmo FCM com m = 2.0 mostrou haver diferenças significati-
vas entre os algoritmos analisados. Para os demais valores de m não se pode afirmar nada
para o valor de α adotado.
Vale ressalvar que na Tabela 45 os valores abaixo de α indicam diferenças signifi-
cativas entre os algoritmos de inicialização, porem valores acima de α mas que estejam
mais próximos de seu valor, também indicam diferenças, porém menos significativas (me-
nos confiáveis). Por fim valores altos indicam não haver diferenças perceptíveis entre os
resultados dos algoritmos.
Para encontrar quais algoritmos tiveram esta diferença significativa, foi executado o
teste post-hoc Wilcoxon-Nemenyi-McDonald-Thompson. Que informa quais os pares de
algoritmos tiveram diferenças mais significativas.
Tabela 46: Resultado do teste post-hoc Wilcoxon-Nemenyi-McDonald-Thompson
FCM ckMeans
m 1.5 1.75 2.0 1.5 1.75 2.0
DB (M3,M2);(R,M2)
SF (R,M2) (R,M2)
iter (M3,M1);(R,M1);(M3,M2) (M3,M1);(M3,M2) (M3,M2);(R,M2) (R,M2) (M3,M2)
tempo (M3,M1);(M3,M2) (M3,M1)
Na Tabela 46 foi substituído os valores em negrito da Tabela 45 pelos pares encontra-
dos que possuem diferenças significativas pelo teste post-hoc. Os pares encontrados estão
delimitados por parênteses e separados por ponto e vírgula. Cada algoritmo dentro de um
par está separado por uma vírgula.
Por exemplo, (M3,M2);(R,M2), são dois pares, onde o primeiro par é (M3,M2) e o
segundo par é (R,M2). O par (M3,M2) pode ser interpretado como: há uma diferença
significativa entre os algoritmos M3 e M2.
86
Tabela 47: Resultado do teste post-hoc Wilcoxon-Nemenyi-McDonald-Thompson (p-value)
Algoritmo FCM ckMeans
m 1.5 1.75 1.75 1.75 2.0 2.0 1.5 1.75 2.0 2.0
SF DB iter tempo iter tempo iter iter FS iter
M2-M1 0.7894 0.3498 0.9962 0.9998 0.9962 0.9822 0.7562 0.8921 0.8875 0.8517
M3-M1 0.8948 0.8891 0.0164 0.0486 0.0165 0.0486 0.5842 0.5882 0.6362 0.5243
MR-M1 0.9994 0.9677 0.7048 0.3586 0.4696 0.1831 0.9997 0.9822 0.9207 0.9909
R-M1 0.5069 0.9677 0.0788 0.4697 0.1831 0.3586 0.6437 0.4696 0.2953 0.7015
M3-M2 0.2477 0.0454 0.0484 0.0789 0.0483 0.1830 0.0603 0.1224 0.1412 0.0767
MR-M2 0.8948 0.7533 0.8921 0.4696 0.7048 0.4697 0.6438 0.5882 0.3993 0.5842
R-M2 0.0517 0.0939 0.1830 0.5882 0.3586 0.7048 0.0767 0.0788 0.0339 0.1475
MR-M3 0.7894 0.5200 0.3586 0.8921 0.5882 0.9822 0.7015 0.8921 0.9814 0.8066
R-M3 0.9609 0.9987 0.9822 0.8090 0.8921 0.8921 1.0000 0.9998 0.9814 0.9987
R-MR 0.3667 0.6982 0.7048 0.9998 0.9822 0.9962 0.7562 0.8090 0.8017 0.9230
Na Tabela 47 são mostrados as diferenças entre os pares de algoritmos de inicialização
analisados. Esta tabela resume os resultados presentes no Apêndice A. Estão sendo mos-
trados apenas os resultados do teste post-hoc que ficaram abaixo de α = 0.10 da Tabela
45.
Analisando os resultados do teste post-hoc pode-se encontrar pares mais semelhantes
e pares menos semelhantes de algoritmos, baseados em suas diferenças. Pares de algorit-
mos com um alto valor no teste post-hoc são estatisticamente mais semelhantes do que
algoritmos com um baixo valor. Com base nestas observações, na Tabela 48 é exibida a
relação entre os algoritmos de inicialização testados.
Tabela 48: Resultado do teste post-hoc: relação entre algoritmos
FCM ckMeans
m 1.5 1.75 2.0 1.5 1.75 2.0
DB M2>MR>{M1,R}>M3
SF M2>{MR,M1}>M3>R M2>M1>{MR,M3}>R
iter M1>M2>MR>{R,M3} {M1,M2}>MR>R>M3 M2>M1>MR>R>M3 M2>M1>MR>M3>R M2>M1>MR>R>M3
tempo {M1,M2}>{R,MR,M3} M1>M2>R>{MR,M3}
Na Tabela 48 o símbolo > indica que o algoritmo à esquerda mostrou melhores resul-
tados que o outro. Por exemplo, a relação M2>MR indica que o algoritmo M2 mostrou
melhores resultados que o MR. Já algoritmos entre chaves indicam que estes são estatis-
ticamente semelhantes, como por exemplo {M1,R}.
Com base nos resultados apresentados nota-se que os métodos determinísticos de
inicialização M1 e M2 apresentam melhores desempenhos, seguidos do algoritmo MR e
87
por fim, pelos algoritmos M3 e R.
6.3.2 Resultados
Para os conjunto de dados Iris, Spambase, Page Blocks, Moons, Blobs e S4, o teste
de Friedman mostrou haver diferenças significativas entre os algoritmos de inicialização
Método I, Método II, Método III, mrFCM e inicialização aleatória, para os algoritmos de
agrupamento FCM e ckMeans, com os valores de m = {1.5, 1.75, 2.0}.
O teste post-hoc Wilcoxon-Nemenyi-McDonald-Thompson mostrou com 90% de signi-
ficância que os algoritmos M1 e M2 tiveram melhores resultados que os demais algoritmos.
O algoritmo M3 foi considerado estatisticamente semelhante ao algoritmo R.
Os testes estatísticos indicaram que os métodos de inicialização M1 e M2, trazem o
maior ganho de desempenho aos algoritmos FCM e ckMeans, com a redução do número
de iterações e do tempo de execução. Estes métodos também encontram melhores valores
para os índices SF e DB.
Para o algoritmo de inicialização M3 não foi possível detectar diferenças significativas
com relação ao algoritmo de inicialização R.
88
7 Considerações Finais
A principal contribuição deste trabalho foi propor três novas abordagens para gerar
os centros iniciais no algoritmo de agrupamento Fuzzy C-Means, que podem também ser
aplicadas em suas variantes. Neste trabalho os métodos de inicialização propostos foram
utilizados para gerar os centros iniciais dos grupos na variante ckMeans. Esses métodos
trouxeram uma aceleração no tempo de processamento, preservaram ou melhoraram a
qualidade do agrupamento perante a aplicação dos algoritmos originais, onde os centros
iniciais dos grupos são escolhidos aleatoriamente.
A análise de agrupamento usando o Fuzzy C-Means e ckMeans com inicialização
aleatória não é um processo realizado em apenas uma execução. É necessária uma série
de tentativas e repetições para uma dada configuração de parâmetros de entrada. Com os
métodos determinísticos de inicialização propostos, o FCM e o ckMeans são executados
uma única vez até convergir, eliminando a aleatoriedade.
Os experimentos realizados com os conjuntos de dados Iris, Spambase, Page Blocks,
Blobs, S4 e Moons mostraram que as partições obtidas pelos algoritmos FCM e ckMeans
utilizando os métodos propostos na inicialização dos centros, em termos de valores dos
índices de validação DB, SF e CR na maioria das configurações dos parâmetros de entrada,
tem qualidade superior ao agrupamento com o FCM e ckMeans originais. Apesar de não
serem tão significativas as diferenças. Os experimentos também mostraram uma aceleração
no tempo de execução dos algoritmos. Portanto, para estas bases de dados as propostas
de inicialização, Método I, Método II e Método III, selecionam melhores centros iniciais.
7.1 Trabalhos Futuros
Entre os trabalhos futuros a serem realizados com base nos métodos de inicialização
desenvolvidos encontram-se:
• Aplicar os métodos propostos para gerar os centros iniciais dos grupos em outras
89
variantes do FCM;
• Comparar os três métodos de inicialização dos centros com outras propostas de
inicialização disponíveis na literatura;
• Trabalhar com outras bases de dados supervisionadas e não supervisionadas.
90
Referências
ABU-ZEID, N.; KASHIF, R.; BADAWY, O. M. Immune based clustering for medicaldiagnostic systems. In: IEEE. 2012 International Conference on Advanced ComputerScience Applications and Technologies (ACSAT). [S.l.], 2012. p. 372–375.
ARNALDO, H. A.; BEDREGAL, B. R. Um novo método de inicializaçao para oalgoritmo fuzzy c-means. Jornadas Chilenas de Computación 2013, 2013.
ARNALDO, H. A.; BEDREGAL, B. R. Uma nova forma de inicializar os centros dosgrupos em algoritmos tipo fuzzy c-means. Terceiro Congresso Brasileiro de SistemasFuzzy, 2014.
ARNALDO, H. A.; BEDREGAL, B. R. C. A new way to obtain the initial centroidclusters in fuzzy c-means algorithm. In: IEEE. Theoretical Computer Science (WEIT),2013 2nd Workshop-School on. [S.l.], 2013. p. 139–144.
BENTLEY, J. L. Multidimensional binary search trees used for associative searching.Communications of the ACM, v. 18, n. 9, p. 509–517, 1975.
BEZDEK, J. C. Pattern recognition with fuzzy objective function algorithms. [S.l.]:Kluwer Academic Publishers, 1981.
BEZDEK, J. C.; PAL, S. K. Fuzzy models for pattern recognition. [S.l.]: IEEE press NewYork, 1992.
BOCK, H. H.; DIDAY, E. Analysis of symbolic data: exploratory methods for extractingstatistical information from complex data. [S.l.]: Springer, 2000.
CAMPELLO, R. J.; HRUSCHKA, E. R. A fuzzy extension of the silhouette widthcriterion for cluster analysis. Fuzzy Sets and Systems, v. 157, n. 21, p. 2858–2875, 2006.
CARVALHO, F. d. A. de. Fuzzy c-means clustering methods for symbolic interval data.Pattern Recognition Letters, v. 28, n. 4, p. 423–437, 2007.
CHAH, E. et al. Automated spike sorting algorithm based on laplacian eigenmaps andk-means clustering. Journal of neural engineering, IOP Publishing, v. 8, n. 1, p. 016006,2011.
CHENG, T. W.; GOLDGOF, D. B.; HALL, L. O. Fast fuzzy clustering. Fuzzy sets andsystems, v. 93, n. 1, p. 49–56, 1998.
CHIANG, I. W.-Y.; LIANG, G.-S.; YAHALOM, S. The fuzzy clustering method:Applications in the air transport market in taiwan. The Journal of Database Marketing& Customer Strategy Management, v. 11, n. 2, p. 149–158, 2003.
91
DAVE, R. N. Characterization and detection of noise in clustering. Pattern RecognitionLetters, v. 12, n. 11, p. 657–664, 1991.
DAVIES, D. L.; BOULDIN, D. W. A cluster separation measure. Pattern Analysis andMachine Intelligence, IEEE Transactions on, IEEE, n. 2, p. 224–227, 1979.
DEMŠAR, J. Statistical comparisons of classifiers over multiple data sets. The Journalof Machine Learning Research, JMLR. org, v. 7, p. 1–30, 2006.
DEVIJVER, P. A.; KITTLER, J. Pattern recognition: A statistical approach. [S.l.]:Prentice/Hall International Englewood Cliffs, NJ, 1982.
DUDA, R. O.; HART, P. E. et al. Pattern classification and scene analysis. [S.l.: s.n.],1973.
DUDA, R. O.; HART, P. E.; STORK, D. G. Pattern classification. [S.l.]: John Wiley &Sons, 2012.
DUNN, J. C. A fuzzy relative of the isodata process and its use in detecting compactwell-separated clusters. Journal of Cybernetics, Taylor & Francis, v. 3, n. 3, p. 32–57,1973.
EL-SONBATY, Y.; ISMAIL, M. Fuzzy clustering for symbolic data. IEEE Transactionson Fuzzy Systems, v. 6, n. 2, p. 195–204, 1998.
ESCHRICH, S. et al. Fast accurate fuzzy clustering through data reduction. IEEETransactions on Fuzzy Systems, v. 11, n. 2, p. 262–270, 2003.
EVERITT, B.; LANDAU, S.; LEESE, M. Cluster analysis. 4th. Arnold, London, 2001.
FISHER, R. A. The use of multiple measurements in taxonomic problems. Annals ofeugenics, v. 7, n. 2, p. 179–188, 1936.
FRIEDMAN, M. The use of ranks to avoid the assumption of normality implicit in theanalysis of variance. Journal of the American Statistical Association, Taylor & Francis,v. 32, n. 200, p. 675–701, 1937.
FRIEDMAN, M. A comparison of alternative tests of significance for the problem of mrankings. The Annals of Mathematical Statistics, JSTOR, v. 11, n. 1, p. 86–92, 1940.
GAO, X.; XIE, W. Research process of fuzzy clustering theory development and itsapplication. Science Bulletin, v. 44, n. 21, p. 2241–2251, 1999.
GORDON, A. D. Classification, (chapman & hall/crc monographs on statistics & appliedprobability). Chapman and Hall/CRC, New York, USA, 1999.
GREGORY, M.; SCATA, R.; BROWN, E. Web document classification using machinelearning clustering algorithms. Journal of Computing Sciences in Colleges, v. 21, n. 6, p.276–277, 2006.
GUSTAFSON, D. E.; KESSEL, W. C. Fuzzy clustering with a fuzzy covariance matrix.In: IEEE. Decision and Control including the 17th Symposium on Adaptive Processes,1978 IEEE Conference on. [S.l.], 1978. v. 17, p. 761–766.
92
HALKIDI, M.; BATISTAKIS, Y.; VAZIRGIANNIS, M. On clustering validationtechniques. Journal of Intelligent Information Systems, v. 17, n. 2-3, p. 107–145, 2001.
HAMMER, B. et al. Intuitive clustering of biological data. In: IEEE. Neural Networks,2007. IJCNN 2007. International Joint Conference on. [S.l.], 2007. p. 1877–1882.
HAN, J.; KAMBER, M.; PEI, J. Data mining: concepts and techniques. [S.l.]: Morgankaufmann, 2006.
HATHAWAY, R. J.; BEZDEK, J. C. Nerf c-means: Non-euclidean relational fuzzyclustering. Pattern recognition, v. 27, n. 3, p. 429–437, 1994.
HATHAWAY, R. J.; BEZDEK, J. C. Fuzzy c-means clustering of incomplete data.Systems, Man, and Cybernetics, Part B: Cybernetics, IEEE Transactions on, v. 31, n. 5,p. 735–744, 2001.
HATHAWAY, R. J.; DAVENPORT, J. W.; BEZDEK, J. C. Relational duals of thec-means clustering algorithms. Pattern recognition, v. 22, n. 2, p. 205–212, 1989.
HOLLANDER, M. W. Nonparametric statistical methods. J Wiley New York, 1999.
HRBACEK, K.; JECH, T. Introduction to Set Theory, Revised and Expanded. [S.l.]: CrcPress, 1999.
HUBERT, L.; ARABIE, P. Comparing partitions. Journal of classification, Springer,v. 2, n. 1, p. 193–218, 1985.
HUNG, M.-C.; YANG, D.-L. An efficient fuzzy c-means clustering algorithm. In: IEEE.Data Mining, 2001. ICDM 2001, Proceedings IEEE International Conference on. [S.l.],2001. p. 225–232.
JAIN, A. K.; DUBES, R. C. Algorithms for clustering data. [S.l.]: Prentice-Hall, Inc.,1988.
JAIN, A. K.; MURTY, M. N.; FLYNN, P. J. Data clustering: a review. ACM computingsurveys (CSUR), v. 31, n. 3, p. 264–323, 1999.
KAYMAK, U.; SETNES, M. Fuzzy clustering with volume prototypes and adaptivecluster merging. Fuzzy Systems, IEEE Transactions on, v. 10, n. 6, p. 705–712, 2002.
KERSTEN, P. R. Fuzzy order statistics and their application to fuzzy clustering. FuzzySystems, IEEE Transactions on, v. 7, n. 6, p. 708–712, 1999.
KOLEN, J. F.; HUTCHESON, T. Reducing the time complexity of the fuzzy c-meansalgorithm. Fuzzy Systems, IEEE Transactions on, v. 10, n. 2, p. 263–267, 2002.
KRISHNAPURAM, R.; JOSHI, A.; YI, L. A fuzzy relative of the k-medoids algorithmwith application to web document and snippet clustering. In: IEEE. Fuzzy SystemsConference Proceedings, 1999. FUZZ-IEEE’99. 1999 IEEE International. [S.l.], 1999.v. 3, p. 1281–1286.
KRISHNAPURAM, R.; KELLER, J. M. A possibilistic approach to clustering. FuzzySystems, IEEE Transactions on, v. 1, n. 2, p. 98–110, 1993.
93
LI, C.; BECERRA, V.; DENG, J. Extension of fuzzy c-means algorithm. In: IEEE.Cybernetics and Intelligent Systems, 2004 IEEE Conference on. [S.l.], 2004. v. 1, p.405–409.
MACQUEEN, J. et al. Some methods for classification and analysis of multivariateobservations. In: CALIFORNIA, USA. Proceedings of the fifth Berkeley symposium onmathematical statistics and probability. [S.l.], 1967. v. 1, n. 281-297, p. 14.
MIWA, T. Tables of the Studentized range upper quantiles. 2014. Available online athttp://cse.niaes.affrc.go.jp/miwa/probcalc/s-range/srng_tbl.html.
PAL, N. R.; BEZDEK, J. C. On cluster validity for the fuzzy c-means model. FuzzySystems, IEEE Transactions on, v. 3, n. 3, p. 370–379, 1995.
PAL, N. R.; PAL, K.; BEZDEK, J. C. A mixed c-means clustering model. In: IEEE.Fuzzy Systems, 1997., Proceedings of the Sixth IEEE International Conference on. [S.l.],1997. v. 1, p. 11–21.
PAUL, R.; HOQUE, A. S. M. L. Clustering medical data to predict the likelihood ofdiseases. In: IEEE. Digital Information Management (ICDIM), 2010 Fifth InternationalConference on. [S.l.], 2010. p. 44–49.
R Core Team. R: A Language and Environment for Statistical Computing. Vienna,Austria, 2014. Disponível em: <http://www.R-project.org>.
RAND, W. M. Objective criteria for the evaluation of clustering methods. Journal of theAmerican Statistical association, Taylor & Francis Group, v. 66, n. 336, p. 846–850, 1971.
RUDIN, W. Principles of mathematical analysis (international series in pure & appliedmathematics). McGraw-Hill Publishing Co., 1976.
SALICRU, M.; VIVES, S.; ZHENG, T. Inferential clustering approach for microarrayexperiments with replicated measurements. IEEE/ACM Transactions on ComputationalBiology and Bioinformatics (TCBB), v. 6, n. 4, p. 594–604, 2009.
SATO, M.; JAIN, L. C. Innovations in fuzzy clustering: Theory and applications (studiesin fuzziness and soft computing). Springer-Verlag, 2006.
SHELDON, M. R.; FILLYAW, M. J.; THOMPSON, W. D. The use and interpretationof the friedman test in the analysis of ordinal-scale data in repeated measures designs.Physiotherapy Research International, Wiley Online Library, v. 1, n. 4, p. 221–228, 1996.
TAN, P.-N. et al. Introduction to data mining. [S.l.]: Pearson Education India, 2007.
VARGAS, R. R. de. Uma Nova Forma de Calcular os Centros dos Clusters emAlgoritmos de Agrupamento Tipo Fuzzy C-Means. Tese (Doutorado) — Tese (doutoradoem ciência da computaçao), Departamento de Informática e Matemática Aplicada(DIMAp), UFRN, Natal, RN, 2012.
VARGAS, R. R. de; BEDREGAL, B. R. Interval ckmeans: An algorithm for clusteringsymbolic data. In: IEEE. Fuzzy Information Processing Society (NAFIPS), 2011 AnnualMeeting of the North American. [S.l.], 2011. p. 1–6.
94
VERMA, N. K. et al. Medical image segmentation using improved mountain clusteringapproach. In: IEEE. Information Technology: New Generations, 2009. ITNG’09. SixthInternational Conference on. [S.l.], 2009. p. 1307–1312.
WALCK, C. Handbook on statistical distributions for experimentalists. [S.l.]: Universityof Stockholm Internal Report SUF-PFY/96-01, available from www. physto. se/˜ walck,2007.
WANG, W.; YANG, J.; MUNTZ, R. Sting: A statistical information grid approach tospatial data mining. In: VLDB. [S.l.: s.n.], 1997. v. 97, p. 186–195.
WU, K.-L.; YANG, M.-S. Alternative c-means clustering algorithms. Pattern recognition,v. 35, n. 10, p. 2267–2278, 2002.
WU, X. et al. Top 10 algorithms in data mining. Knowledge and Information Systems,v. 14, n. 1, p. 1–37, 2008.
WU, Z.-d.; XIE, W.-x.; YU, J.-p. Fuzzy c-means clustering algorithm based on kernelmethod. In: IEEE. Computational Intelligence and Multimedia Applications, 2003.ICCIMA 2003. Proceedings. Fifth International Conference on. [S.l.], 2003. p. 49–54.
XIE, X. L.; BENI, G. A validity measure for fuzzy clustering. IEEE Transactions onPattern Analysis and Machine Intelligence, v. 13, n. 8, p. 841–847, 1991.
XU, R.; WUNSCH, D. et al. Survey of clustering algorithms. Neural Networks, IEEETransactions on, v. 16, n. 3, p. 645–678, 2005.
YAGER, R. R.; FILEV, D. P. Approximate clustering via the mountain method.Systems, Man and Cybernetics, IEEE Transactions on, v. 24, n. 8, p. 1279–1284, 1994.
YANG, M.-S.; WU, K.-L. A new validity index for fuzzy clustering. In: IEEE. FuzzySystems, 2001. The 10th IEEE International Conference on. [S.l.], 2001. v. 1, p. 89–92.
YANG, Y.; HUANG, S. Image segmentation by fuzzy c-means clustering algorithm witha novel penalty term. Computing and Informatics, v. 26, n. 1, p. 17–31, 2012.
ZADEH, L. A. Fuzzy sets. Information and control, v. 8, n. 3, p. 338–353, 1965.
ZHANG, K.-s. et al. New modification of fuzzy c-means clustering algorithm. In: FuzzyInformation and Engineering. [S.l.]: Springer, 2009. p. 448–455.
ZHANG, W.-b.; HU, H.-z.; LIU, W.-j. Rules extraction of interval type-2 fuzzy logicsystem based on fuzzy c-means clustering. In: IEEE. Fuzzy Systems and KnowledgeDiscovery, 2007. FSKD 2007. Fourth International Conference on. [S.l.], 2007. v. 2, p.256–260.
95
APÊNDICE A -- Resultados dos testes deFriedman eWilcoxon-Nemenyi-McDonald-Thompson
Aqui são apresentados os resultados das análises dos testes de Friedman e do teste
post-hoc Wilcoxon-Nemenyi-McDonald-Thompson realizados nesta dissertação.
Teste: dbFuzzyCMeans1.5
Friedman (p-value): 0.253709685039389
======================================
Para o algoritmo de agrupamento FCM comm = 1.5, o índice DB, utilizando um nível
de significância de 90%, o teste de Friedman mostrou não haver diferenças significativas
entre os algoritmos de inicialização analisados (M1, M2, M3, MR e R).
Teste: dbCKMeans1.5
Friedman (p-value): 0.227608516048418
======================================
Para o algoritmo de agrupamento ckMeans com m = 1.5, o índice DB, com um nível
de significância de 90%, o teste de Friedman mostrou não haver diferenças significativas
entre os algoritmos de inicialização analisados.
Teste: dbFuzzyCMeans1.75
Friedman (p-value): 0.28556282347028
======================================
96
Para o algoritmo de agrupamento FCM com m = 1.75, o índice DB, com um nível
de significância de 90%, o teste de Friedman mostrou não haver diferenças significativas
entre os algoritmos de inicialização analisados.
Teste: dbCKMeans1.75
Friedman (p-value): 0.445325327968082
======================================
Para o algoritmo de agrupamento ckMeans com m = 1.75, o índice DB, com um nível
de significância de 90%, o teste de Friedman mostrou não haver diferenças significativas
entre os algoritmos de inicialização analisados.
Teste: dbFuzzyCMeans2.0
Friedman (p-value): 0.0439967263540096
M2 - M1 : 0.3497697
M3 - M1 : 0.8890775
MR - M1 : 0.9677165
R - M1 : 0.967719
M3 - M2 : 0.04542034
MR - M2 : 0.7533043
R - M2 : 0.09392262
MR - M3 : 0.5199752
R - M3 : 0.998728
R - MR : 0.6981902
======================================
(a) Diferenças entre os pares
M3 R M1 MR M2
dbFuzzyCMeans2.0
Algoritmos de inicialização
05
1015
2025
30
a
ab
ab
bc
c
(b) Ranks Rj
Figura 17: Resultado do teste post-hoc
Para o algoritmo de agrupamento FCM com m = 2.0, o índice DB, com um ní-
vel de significância de 90%, o teste de Friedman mostrou haver diferenças significativas
entre os algoritmos de inicialização analisados. Com ajuda do teste post-hoc Wilcoxon-
Nemenyi-McDonald-Thompson, observou-se diferenças significativas entre os algoritmos
de inicialização M2 e M3. Também mostrou existir diferenças entre os algoritmos M2 e
R.
Teste: dbCKMeans2.0
Friedman (p-value): 0.337009816787307
======================================
97
Para o algoritmo de agrupamento ckMeans com m = 2.0, o índice DB, com um nível
de significância de 90%, o teste de Friedman mostrou não haver diferenças significativas
entre os algoritmos de inicialização analisados.
Teste: fsFuzzyCMeans1.5
Friedman (p-value): 0.0657457714256702
M2 - M1 : 0.7894456
M3 - M1 : 0.8947921
MR - M1 : 0.9994182
R - M1 : 0.5068597
M3 - M2 : 0.2477342
MR - M2 : 0.8947884
R - M2 : 0.05168976
MR - M3 : 0.7894454
R - M3 : 0.9609465
R - MR : 0.3667034
======================================
(a) Diferenças entre os pares de métodos
M2 MR M1 M3 R
fsFuzzyCMeans1.5
Algoritmos de inicialização
05
1015
2025
30
a
abab
bc
c
(b) Ranks Rj
Figura 18: Resultado do teste post-hoc
Para o algoritmo de agrupamento FCM com m = 1.5, o índice SF, com um ní-
vel de significância de 90%, o teste de Friedman mostrou haver diferenças significativas
entre os algoritmos de inicialização analisados. Com ajuda do teste post-hoc Wilcoxon-
Nemenyi-McDonald-Thompson, observou-se diferenças significativas entre os algoritmos
de inicialização M2 e R.
Teste: fsCKMeans1.5
Friedman (p-value): 0.112471972329626
======================================
Para o algoritmo de agrupamento ckMeans com m = 1.5, o índice SF, com um nível
de significância de 90%, o teste de Friedman mostrou não haver diferenças significativas
entre os algoritmos de inicialização analisados.
Teste: fsFuzzyCMeans1.75
Friedman (p-value): 0.185438054615415
======================================
98
Para o algoritmo de agrupamento FCM com m = 1.75, o índice SF, com um nível
de significância de 90%, o teste de Friedman mostrou não haver diferenças significativas
entre os algoritmos de inicialização analisados.
Teste: fsCKMeans1.75
Friedman (p-value): 0.120941992535713
======================================
Para o algoritmo de agrupamento ckMeans com m = 1.75, o índice SF, com um nível
de significância de 90%, o teste de Friedman mostrou não haver diferenças significativas
entre os algoritmos de inicialização analisados.
Teste: fsFuzzyCMeans2.0
Friedman (p-value): 0.12197362925495
======================================
Para o algoritmo de agrupamento FCM com m = 2.0, o índice SF, com um nível de
significância de 90%, o teste de Friedman mostrou não haver diferenças significativas entre
os algoritmos de inicialização analisados.
Teste: fsCKMeans2.0
Friedman (p-value): 0.0358070054278766
M2 - M1 : 0.887536
M3 - M1 : 0.6362169
MR - M1 : 0.9207403
R - M1 : 0.2952908
M3 - M2 : 0.1411917
MR - M2 : 0.3993024
R - M2 : 0.03385484
MR - M3 : 0.9813894
R - M3 : 0.9813897
R - MR : 0.8017132
======================================
(a) Diferenças entre os pares de métodos
M2 M1 MR M3 R
fsCKMeans2.0
Algoritmos de inicialização
05
1015
2025
30
a
ab
bc
bc
c
(b) Ranks Rj
Figura 19: Resultado do teste post-hoc
Para o algoritmo de agrupamento ckMeans com m = 2.0, o índice SF, com um ní-
vel de significância de 90%, o teste de Friedman mostrou haver diferenças significativas
99
entre os algoritmos de inicialização analisados. Com ajuda do teste post-hoc Wilcoxon-
Nemenyi-McDonald-Thompson, observou-se diferenças significativas entre os algoritmos
de inicialização M2 e R.
Teste: iterFuzzyCMeans1.5
Friedman (p-value): 0.32323989288135
======================================
Para o algoritmo de agrupamento FCM com m = 1.5, o número de iterações do
algoritmo de agrupamento, com um nível de significância de 90%, o teste de Friedman
mostrou não haver diferenças significativas entre os algoritmos de inicialização analisados.
Teste: iterCKMeans1.5
Friedman (p-value): 0.0468116626263493
M2 - M1 : 0.7561824
M3 - M1 : 0.5842373
MR - M1 : 0.999748
R - M1 : 0.6437478
M3 - M2 : 0.06028037
MR - M2 : 0.6437537
R - M2 : 0.07666578
MR - M3 : 0.7015086
R - M3 : 0.9999841
R - MR : 0.7562136
======================================
(a) Diferenças entre os pares de métodos
M3 R MR M1 M2
iterCKMeans1.5
Algoritmos de inicialização
05
1015
2025
30
aab
abcbc
c
(b) Ranks Rj
Figura 20: Resultado do teste post-hoc
Para o algoritmo de agrupamento ckMeans com m = 1.5, o número de iterações do
algoritmo de agrupamento, com um nível de significância de 90%, o teste de Friedman
mostrou haver diferenças significativas entre os algoritmos de inicialização analisados. Com
ajuda do teste post-hoc Wilcoxon-Nemenyi-McDonald-Thompson, observou-se diferenças
significativas entre os algoritmos de inicialização M2 e M3. Também observou-se diferenças
significativas entre os algoritmos M2 e R.
100
Teste: iterFuzzyCMeans1.75
Friedman (p-value): 0.00577373957293803
M2 - M1 : 0.996214
M3 - M1 : 0.01636427
MR - M1 : 0.7048339
R - M1 : 0.07878648
M3 - M2 : 0.04840545
MR - M2 : 0.8920764
R - M2 : 0.1830158
MR - M3 : 0.3585716
R - M3 : 0.9822436
R - MR : 0.7048019
======================================
(a) Diferenças entre os pares de métodos
M3 R MR M2 M1
iterFuzzyCMeans1.75
Algoritmos de inicialização
05
1015
2025
30 a
a
b
bc
c
(b) Ranks Rj
Figura 21: Resultado do teste post-hoc
Para o algoritmo de agrupamento FCM com m = 1.75, o número de iterações do
algoritmo de agrupamento, com um nível de significância de 90%, o teste de Friedman
mostrou haver diferenças significativas entre os algoritmos de inicialização analisados. Com
ajuda do teste post-hoc Wilcoxon-Nemenyi-McDonald-Thompson, observou-se diferenças
significativas entre os algoritmos de inicialização M1 e M3, os algoritmos M1 e R, e os
algoritmos M2 e M3.
Teste: iterCKMeans1.75
Friedman (p-value): 0.0627876035618727
M2 - M1 : 0.8920771
M3 - M1 : 0.5882354
MR - M1 : 0.9822445
R - M1 : 0.4696445
M3 - M2 : 0.1224349
MR - M2 : 0.5882303
R - M2 : 0.07881678
MR - M3 : 0.8920747
R - M3 : 0.9997522
R - MR : 0.8090227
======================================
(a) Diferenças entre os pares de métodos
R M3 MR M1 M2
iterCKMeans1.75
Algoritmos de inicialização
05
1015
2025
30
aab
abc
bc
c
(b) Ranks Rj
Figura 22: Resultado do teste post-hoc
101
Para o algoritmo de agrupamento ckMeans com m = 1.75, o número de iterações do
algoritmo de agrupamento, com um nível de significância de 90%, o teste de Friedman
mostrou haver diferenças significativas entre os algoritmos de inicialização analisados. Com
ajuda do teste post-hoc Wilcoxon-Nemenyi-McDonald-Thompson, observou-se diferenças
significativas entre os algoritmos de inicialização M2 e R.
Teste: iterFuzzyCMeans2.0
Friedman (p-value): 0.010338797085364
M2 - M1 : 0.9962141
M3 - M1 : 0.01645184
MR - M1 : 0.4696382
R - M1 : 0.1830891
M3 - M2 : 0.04833104
MR - M2 : 0.7048183
R - M2 : 0.358599
MR - M3 : 0.5882389
R - M3 : 0.8920853
R - MR : 0.9822443
======================================(a) Diferenças entre os pares de métodos
M3 R MR M2 M1
iterFuzzyCMeans2.0
Algoritmos de inicialização
05
1015
2025
30 a
ab
b
c
c
(b) Ranks Rj
Figura 23: Resultado do teste post-hoc
Para o algoritmo de agrupamento FCM com m = 2.0, o número de iterações do
algoritmo de agrupamento, com um nível de significância de 90%, o teste de Friedman
mostrou haver diferenças significativas entre os algoritmos de inicialização analisados. Com
ajuda do teste post-hoc Wilcoxon-Nemenyi-McDonald-Thompson, observou-se diferenças
significativas entre os algoritmos de inicialização M1 e M3, e os pares M2 e M3.
102
Teste: iterCKMeans2.0
Friedman (p-value): 0.074759971044225
M2 - M1 : 0.8516546
M3 - M1 : 0.5243059
MR - M1 : 0.9909293
R - M1 : 0.7014875
M3 - M2 : 0.07667333
MR - M2 : 0.5842016
R - M2 : 0.1474743
MR - M3 : 0.8066099
R - M3 : 0.998749
R - MR : 0.9229791
======================================(a) Diferenças entre os pares de métodos
M3 R MR M1 M2
iterCKMeans2.0
Algoritmos de inicialização
05
1015
2025
30
a
ab
abc
bc
c
(b) Ranks Rj
Figura 24: Resultado do teste post-hoc
Para o algoritmo de agrupamento ckMeans com m = 2.0, o número de iterações do
algoritmo de agrupamento, com um nível de significância de 90%, o teste de Friedman
mostrou haver diferenças significativas entre os algoritmos de inicialização analisados. Com
ajuda do teste post-hoc Wilcoxon-Nemenyi-McDonald-Thompson, observou-se diferenças
significativas entre os algoritmos de inicialização M2 e M3.
Teste: timeFuzzyCMeans1.5
Friedman (p-value): 0.638677055281906
======================================
Para o algoritmo de agrupamento FCM com m = 1.5, o tempo de execução, com
um nível de significância de 90%, o teste de Friedman mostrou não haver diferenças
significativas entre os algoritmos de inicialização analisados.
Teste: timeCKMeans1.5
Friedman (p-value): 0.119287154963701
======================================
Para o algoritmo de agrupamento ckMeans com m = 1.5, o tempo de execução,
com um nível de significância de 90%, o teste de Friedman mostrou não haver diferenças
significativas entre os algoritmos de inicialização analisados.
103
Teste: timeFuzzyCMeans1.75
Friedman (p-value): 0.0289061180327211
M2 - M1 : 0.9997521
M3 - M1 : 0.04858519
MR - M1 : 0.3585681
R - M1 : 0.4696528
M3 - M2 : 0.07890388
MR - M2 : 0.4696415
R - M2 : 0.5882346
MR - M3 : 0.8920797
R - M3 : 0.8089938
R - MR : 0.9997521
======================================
(a) Diferenças entre os pares de métodos
M3 MR R M2 M1
timeFuzzyCMeans1.75
Algoritmos de inicialização
05
1015
2025
30
a
aa
bb
(b) Ranks Rj
Figura 25: Resultado do teste post-hoc
Para o algoritmo de agrupamento FCM com m = 1.75, o tempo de execução, com um
nível de significância de 90%, o teste de Friedman mostrou haver diferenças significativas
entre os algoritmos de inicialização analisados. Com ajuda do teste post-hoc Wilcoxon-
Nemenyi-McDonald-Thompson, observou-se diferenças significativas entre os algoritmos
de inicialização M2 e M3, e os algoritmos M1 e M3.
Teste: timeCKMeans1.75
Friedman (p-value): 0.180098897324876
======================================
Para o algoritmo de agrupamento FCM com m = 1.75, o tempo de execução, com
um nível de significância de 90%, o teste de Friedman mostrou não haver diferenças
significativas entre os algoritmos de inicialização analisados.
104
Teste: timeFuzzyCMeans2.0
Friedman (p-value): 0.0323409165070579
M2 - M1 : 0.9822446
M3 - M1 : 0.04856405
MR - M1 : 0.1830745
R - M1 : 0.3585841
M3 - M2 : 0.1830115
MR - M2 : 0.4696982
R - M2 : 0.7048062
MR - M3 : 0.9822428
R - M3 : 0.8920699
R - MR : 0.9962142
======================================
(a) Diferenças entre os pares de métodos
M3 MR R M2 M1
timeFuzzyCMeans2.0
Algoritmos de inicialização
05
1015
2025
30
a
a
ab
bc
c
(b) Ranks Rj
Figura 26: Resultado do teste post-hoc
Para o algoritmo de agrupamento FCM com m = 2.0, o tempo de execução, com um
nível de significância de 90%, o teste de Friedman mostrou haver diferenças significativas
entre os algoritmos de inicialização analisados. Com ajuda do teste post-hoc Wilcoxon-
Nemenyi-McDonald-Thompson, observou-se diferenças significativas entre os algoritmos
de inicialização M1 e M3.
Teste: timeCKMeans2.0
Friedman (p-value): 0.180098897324876
======================================
Para o algoritmo de agrupamento ckMeans com m = 2.0, o tempo de execução,
com um nível de significância de 90%, o teste de Friedman mostrou não haver diferenças
significativas entre os algoritmos de inicialização analisados.
105
APÊNDICE B -- Tabelas Estatísticas
Tabela 49: Tabela de Valores Críticos Qui-Quadrado (WALCK, 2007)
106
Tabela 50: Tabela Studentized range (DEMŠAR, 2006; MIWA, 2014)
a k => 2 3 4 5 6 7 8 9 10
0.10 2.326 2.902 3.240 3.478 3.661 3.808 3.931 4.037 4.129
0.05 2.772 3.314 3.633 3.858 4.030 4.170 4.286 4.387 4.474
0.01 3.643 4.120 4.403 4.603 4.757 4.882 4.987 5.078 5.157