Implementao do mtodo de classificao contnua fuzzy kmdias

















- Slides: 17
Implementação do método de classificação contínua fuzzy k-médias no ambiente Terra. Lib Isabela Neves Drummond
Estrutura da apresentação n n n Introdução Fuzzy x Geoprocessamento Classificação (Agrupamento) n n n k-médias fuzzy k-médias Implementação: Tefcm Testes Resultados Conclusão
Introdução n n n Motivação Objetivo: implementação do método de classificação fuzzy k-médias Linguagem: C++ Ambiente: Terra. Lib Visualização: Terra. View
Fuzzy x Geoprocessamento n Teoria dos conjuntos fuzzy n n Caracterizado por uma função de pertinência Sistemas de Informação Geográfica (SIG) – aplicação n exemplo
Classificação n SIG – subsistemas n n n coleta, entrada e verificação de dados armazenamento e gerenciamento processamento e visualização dos resultados Processo de classificação: definição de classe com vistas à redução de variedade, ordenando e simplificando Métodos: n n supervisionados não-supervisionados
Classificação: k-médias 1. Determinar posições iniciais dos k centros 2. Para cada elemento, colocá-lo no cluster do centróide mais próximo 3. Recalcular os centros a partir dos elementos alocados 4. Repetir passos 2 e 3 segundo algum critério de convergência
Classificação: fuzzy k-médias 1. Determinar posições iniciais dos k centros e o valor m do coeficiente fuzzy 2. Associar cada elemento aos clusters através de uma função de pertinência (função de distância). Assim, cada elemento irá possuir um grau de pertinência com relação a cada cluster 3. Recalcular os centros com base nos valores de pertinência 4. Atualizar os graus de pertinência 5. Repetir passos 2 a 4 segundo algum critério de convergência
k-médias x fuzzy k-médias n k-médias x fuzzy k-médias
Implementação: ambiente n n Linguagem C++ / Compilador Microsoft Visual C++ 6. 0 Terra. Lib: biblioteca de classes n n Paradigmas: n n n Kernel Functions Contrib Orientação a objeto Programação genérica Apresentação visual: Terra. View
Implementação: Tefcm n template<typename It, typename C, typename M, typename T> void n Te. Fcm (It begin, It end, C& result, M& u, double conv, T& max. Iter, double expo) n n n . . . Initialize(centroides[i], min. Value, max. Value); Te. Initfcm(u); . . . while ((!converge) && (num. Iter < max. Iter)) { Te. Stepfcm(begin, end, expo, centroides, u); converge = Check. Convergence(centroides, centr_aux, conv); centr_aux = centroides; ++num. Iter; }
Implementação: Tefcm n Terra. View n Interface: QT designer
Validação n n n Rotina que associa cada polígono a sua classe, ou seja, os setores que se encontram na mesma classe são preenchidos com a mesma cor Testes empregando diferentes “shapes” e atributos Análise numérica x análise temática
Resultados - Mapas obtidos n Fuzzy kmédias n n 3 classes m=2 n k-médias n 3 classes
Resultados - Mapas obtidos n K-médias
Resultados - Mapas obtidos n Fuzzy k-médias - diferentes valores de m m = 1. 1 m=3 m = 1. 5 m=2
Conclusões n n n n O Tefcm deve ser n-dimensional A interface pode ser refinada Dificuldades encontradas: ambiente, linguagem C++ e paradigmas empregados (programação genérica e orientação a objetos) Métodos de classificação: k-médias x fuzzy k -médias Muito sensível aos centros iniciais Valor de m é experimental Aprendizado
Trabalhos futuros n n O que fazer com a matriz U? Como otimizar os centros iniciais: AG, redes neurais, etc. . .