• Nenhum resultado encontrado

AGRUPAMENTO DE DADOS INTERVALARES COM O ALGORITMO IFCM INTERVAL DATA CLUSTERING WITH IFCM ALGORITHM

N/A
N/A
Protected

Academic year: 2021

Share "AGRUPAMENTO DE DADOS INTERVALARES COM O ALGORITMO IFCM INTERVAL DATA CLUSTERING WITH IFCM ALGORITHM"

Copied!
7
0
0

Texto

(1)

1 – Universidade Federal do Rio Grande do Norte – DIMAp – PPgSC. Lagoa Nova 59078-970 Natal, RN – Brazil E-mail: [email protected]; [email protected] e [email protected]

AGRUPAMENTO DE DADOS INTERVALARES COM O ALGORITMO IFCM

INTERVAL DATA CLUSTERING WITH IFCM ALGORITHM

Rogério R. de Vargas1, Benjamín R. C. Bedregal1, Isaac L. O. Filho1

RESUMO

Os algoritmos de agrupamento consistem em uma abordagem não supervisionada de reconhecimento de padrões que cumprem um papel fundamental para a análise exploratória de dados. Um dos algoritmos mais usados no agrupamento de dados pontuais é o fuzzy c-means. Diante disso, é proposta uma extensão intervalar desse algoritmo (IFCM) que permite que a entrada dos dados e o grau de pertinência sejam intervalos. Possibilitando assim, representar os dados sem nenhuma conversão dos dados intervalares para pontuais. É mostrado o resultado de uma simulação com o algoritmo IFCM para uma amostra de 50 dados intervalares, agrupando-os em três clusters.

Palavras-chave: Agrupamento Fuzzy Intervalar, Fuzzy C-Means, Dados Intervalares ABSTRACT

Clustering algorithms for unsupervised pattern recognition fulfilling a key role for the exploratory data analysis. One of the most used algorithms in the group of data points is the fuzzy c-means (FCM). Thus, is proposed an interval extension of the FCM algorithm (IFCM) that allows data entry and the membership degree are intervals. Thus enabling, represent data with no conversion of data to spot interval. Shown is the result of a simulation with the algorithm IFCM for a sample interval of 50 data, grouping them into three clusters.

Keywords: Interval Fuzzy Clustering, Fuzzy C-Means, Interval Data

INTRODUÇÃO

Diariamente as pessoas armazenam ou representam grandes quantidades de dados com o propósito de analisá-los e manipulá-los posteriormente.

A tarefa de agrupamento reúne em um mesmo grupo objetos de uma coleção que mantenham algum grau de afinidade. Assim, a sua base é o conceito de similaridade, o seu objetivo principal é de maximizar a similaridade de objetos do mesmo grupo e de minimizá-la entre os elementos de grupos distintos. A figura 1 explana esta ideia.

Figura 1: Exemplo de agrupamento de dados em sete grupos, onde o rótulo sobre o elemento indica a qual pertence

Por definição, agrupar significa reunir objetos que possuam as mesmas características. Tendo em vista que não conhecemos que características são essas, o agrupamento toma por base alguma medida de similaridade. Em [1] define ainda o conceito de modelo de agrupamento, um conjunto de grupos gerados a partir dos objetos de uma coleção. Além disso, [1] complementa a definição mencionando o fato de que agrupamento tem como objetivo maximizar uma função objetivo, implícita ou explícita, inerente aos dados.

Sendo assim, a finalidade da tarefa de agrupamento é maximizar a similaridade dos objetos de um grupo, e minimizá-la para objetos de grupos distintos. O sucesso de um algoritmo de agrupamento está na escolha de uma boa medida de similaridade.

(2)

expressa por um grau de pertinência referente a um

cluster, isto é, os algoritmos fuzzy associam um dado a

todos os cluster através da variação do grau de pertinência do dado em cada cluster.

A proposta em [2] é uma extensão do algoritmo fuzzy

c-means para o processamento dados intervalares.

Simulações são realizadas de um conjunto de dados reais obtidos de um sistema de transporte real. O algoritmo proposto provém do algoritmo fuzzy c-means permite processar conjunto de dados intervalares e mostra que a proposta desse algoritmo pode ser usada para extrair regras de intervalos fuzzy tipo 2.

Em [3] foi proposto também uma extensão intervalar do algoritmo fuzzy c-means, onde cada dado de entrada é um intervalo. Para calcular a distância de cada ponto a um determinado cluster (de intervalo) é usado a distância Euclidiana. Na finalidade de validar o método proposto, foram realizados vários testes em conjuntos de dados intervalares, um consistindo na classificação de carros por determinada característica e outro pela variação da temperatura em diversas cidades.

Foi proposto em [4] outra maneira de trabalhar com dados intervalares. Este é denominado método do centro. Consiste em calcular a média aritmética dos valores mínimos e máximos para cada dado intervalar de entrada.

O método proposto em [5] é uma extensão do método do centro [4]. Nessa extensão, os dados intervalares são decompostos em dois conjuntos de dados pontuais. Um consiste nos valores mínimos e o outro consiste nos valores máximos de cada intervalo.

Em diversas pesquisas utilizando dados intervalares, como por exemplo, descrito em [2] e [3], são propostas adaptações no algoritmo fuzzy c-means para lidar com dados intervalares. Porém os algoritmos propostos por estes trabalhos usam graus de pertinências pontuais. Em [4] e [5] têm também a entrada de dados como intervalos, porém estes não consideram o grau de pertinência como intervalos.

Representar o conjunto de dados como intervalos consiste em delimitar os erros ocasionados por estimativas de medições, de simplificações, modelagem, por falha humana ou pelo instrumento de medição. Os trabalhos [2][3][4] e [5] lidam com dados intervalares mas com uma perspectiva pontual no sentido que os graus de pertinências e as métricas sejam pontuais. Um dos objetivos deste trabalho é apresentar uma forma de agrupamento para os valores amostrais que consideram os erros contidos. Então a entrada dos dados são valores intervalares. Desta forma, julga-se que a classificação de cada elemento a

um determinado cluster (o grau de pertença) também seja um intervalo.

A seção 2 mostra as principais operações e funções intervalares especiais na matemática intervalar, destacando-se a forma de calcular a distância entre dois intervalos. Para a seção 3, mostra-se a análise de

cluster pontual e a nova extensão do algoritmo

proposto baseado no fuzzy c-means. A seção 4 mostra a aplicação e os resultados da implementação desse algoritmo. Finalmente, a conclusão é discutida na seção 5.

MATEMÁTICA INTERVALAR

A Matemática Intervalar considera um conjunto de métodos para manipulação de intervalos numéricos que aproximam dados incertos. Na computação científica, os intervalos podem ser aplicados para representar valores desconhecidos e, também para representar valores contínuos. Servem para controlar o erro de arredondamento e para representar dados inexatos, aproximações e erros de truncamento de procedimentos [6]. Estes métodos baseiam-se na definição da aritmética intervalar e do produto escalar ótimo [7]. Destacam-se a seguir, as principais operações e funções da matemática intervalar utilizadas para este trabalho: Operações básicas:

Sejam, dois intervalos reais, com

e . As operações aritméticas intervalares de adição, subtração, multiplicação e divisão são vistas na tabela 1.

Tabela1. Operações Básicas

Descrição Operações Adição Subtração Multiplicação Divisão com

(3)

definição de ordem entre intervalos depende da abordagem ou semântica utilizada. Para este trabalho utilizou-se da ordem de Kulisch-Miranker [8], conforme definição a seguir.

Definição 1 Sejam dois intervalos e

Y , a ordem de Kulisch-Miranker define que

e .

Funções Intervalares Especiais:

Define-se os expoentes de uma função intervalar sendo conforme mostrado na equação (1).

Define-se a raiz fracionária intervalar na equação (2).

Observe que .

Métrica Intervalar: Em [9] é considerado que a distância entre dois intervalos é um número real, o que não é natural.

Por exemplo, em um campeonato de futebol a diferença na pontuação do time para o time são 3 pontos, 27 e 30 respectivamente. Pode-se prever essa distância na tabela de pontuação nas próximas duas rodadas. Há como imaginar essa diferença dentre as possibilidades possíveis, porém não há como ter certeza dos resultados de cada jogo. Ao analisar o time , considerando sua pontuação mínima, não havendo vitórias e a sua pontuação máxima, com duas vitórias, poderíamos representar a previsão da pontuação a ser alcançada na forma de intervalos, sendo e o outro time, . Com esta representação podemos prever a diferença de pontuação mínima e máxima entre os times após duas rodadas, neste exemplo, o intervalo .

Foi proposto em [10] uma ―métrica‖ para dados intervalares, na qual a distância entre dois intervalos também é um intervalo, sem perder as características da métrica euclidiana quando se trata de números reais ou intervalos degenerados. Essa métrica intervalar satisfaz propriedades análogas às métricas no sentido usual [11]. Porém, na proposta deste trabalho, essa métrica intervalar não se mostrou apropriado. Isso levou a introduzir uma nova métrica intervalar.

Definição 2 (Distância Intervalar): Sejam, . A

distância intervalar entre e , denotada por , é o intervalo da equação (3).

onde é a distância usual entre dois

números reais.

Essa métrica intervalar também satisfaz propriedades análogas as métricas usuais.

ANÁLISE DE CLUSTER INTERVALAR De acordo com [12], a técnica de agrupamento

clustering procura identificar um conjunto de

categorias ou classes para descrever os dados.

Segundo [13] e [14], no agrupamento parte-se de uma situação em que não existem classes, somente elementos de um universo. A partir destes elementos, as técnicas de agrupamento são responsáveis por definir as classes e enquadrar os elementos.

A figura 2 mostra os procedimentos de análise de

clusters com quatro passos básicos. A típica análise de cluster consiste em quatro passos com retro

alimentação. Esses passos são intimamente relacionados e afetam os clusters resultantes.

Figura 2. Procedimento de Agrupamento

1. Seleção ou extração de atributos: Seleção de

atributos escolhe atributos representativos de um conjunto de atributos candidatos, enquanto extração de atributos utiliza transformações para gerar atributos úteis e novos a partir dos originais;

2. Desenvolvimento ou seleção do algoritmo de

agrupamento: Este passo é usualmente

(4)

a partição dos padrões em clusters um problema de otimização, o qual é bem definido matematicamente;

3. Validação dos clusters: Dado um conjunto de dados, todo o algoritmo de agrupamento pode gerar uma partição, não importando se existe uma estrutura ou não que justifique isso. É preciso haver padrões e critérios de avaliações eficientes para fornecer ao usuário confiabilidade em relação ao resultado obtido a partir do algoritmo utilizado. A validação dos clusters consiste em aplicar, sobre os mesmos dados, várias técnicas de agrupamento e admitir como válidos apenas os clusters gerados pela maior parte dos métodos empregados.

4. Interpretação dos resultados: O objetivo final da análise de cluster é prover aos usuários impressões significativas a partir dos dados originais de forma que estes possam resolver efetivamente os problemas encontrados. Entre os diversos algoritmos de agrupamento existentes, este trabalho deter-se-á a intervalização do algoritmo proposto por [15] chamado Fuzzy C-Means (FCM).

Baseado na estrutura do FCM em [16], é proposto um algoritmo para o agrupamento de dados intervalares, denominado Interval Fuzzy C-Means (IFCM).

O IFCM tenta de encontrar conjuntos nos dados minimizando uma função objetiva mostrada na equação (4):

onde:

é o número de dados intervalares;

é o número de clusters considerados no

algoritmo, o qual deve ser decidido antes da execução;

é um fator de fuzziness (um valor maior do que 1)1

é o -ésimo dado intervalar;

é o centro (intervalo) do -ésimo cluster; é a distância intervalar entre e ;

A entrada do algoritmo são dados intervalares, o número de cluster e o valor . Suas etapas são:

1 Só consideramos valores racionais para não complicar o cálculo das

equações (4), (5) e (6). Uma vez que na prática são usados racionais.

1. Inicialize com subintervalo de aleatórios associados a cada par (dados/clusters) tais que para cada par dados/clusters e temos que existem para todo

satisfazendo

2. calcule o centro do cluster da seguinte maneira:

3. calcule um valor inicial (um intervalo de dado para usando a equação (4); 4. calcule a tabela de função de pertinência

fuzzy intervalar conforme mostrado na

equação (6)

5. retornar a etapa 2 até que uma condição de parada seja alcançada.

Algumas condições de parada possíveis são:

Um número de iterações pré-fixado for executado, e pode-se considerar que o algoritmo conseguiu agrupar os dados; o usuário informa um valor de parada ,

e se

então pára onde é a função objetiva (equação (4)) calculada da iteração anterior e é a função objetiva da última iteração.

RESULTADOS IFCM

Em uma amostra de cinquenta dados intervalares, onde o diâmetro desses intervalos é no máximo um e variando aleatoriamente esses dados entre o intervalo são mostrados a seguir, os resultados obtidos com IFCM.

(5)

no sistema operacional Linux (Ubuntu 9.04) e utilizou-se a biblioteca C-XSC (versão 2.2) [17], disponível em http:\\www.xsc.de.

Os parâmetros de entrada foram 50 dados, 3 clusters,

e .

A entrada dos dados foi simulada, gerando dados aleatórios dividindo-os em cinco grupos. As especificações desses dados são mostradas na tabela 2. Tabela 2.Entrada de Dados

GRUPO VALORES ENTRE AMOSTRA

G1 [1;5] 7

G2 [6;15] 13

G3 [16;24] 15

G4 [25;40] 7

G5 [41;50] 8

A amostra deu-se com 50 dados intervalares distintos. Satisfazendo a etapa 1 do algoritmo, gerou-se 50 graus de pertinência para cada cluster.

O sistema convergiu após 20 iterações e o tempo total de processamento foi de 21 segundos.

O resultado do algoritmo no cluster 1 é mostrado na figura 3.

Figura 3. Agrupamento do Cluster 1

Observe que os dados na figura 3 referente o intervalo possuem um grau de pertinência próximo de um. Dados entre o grau de pertinência tende a 0,5. E dados acima de 15, tendem a ter um grau de pertinência praticamente zero. Na figura 4 é mostrado somente o cluster 2.

Figura 4. Agrupamento do Cluster 2

Analisando o cluster 2 na figura 4, tem-se que dados intervalares entre possuem o grau de pertinência quase um. O intervalo

possuem o grau de pertinência entre . E por fim, a figura 5 mostra o cluster 3.

Figura 5. Agrupamento do Cluster 3

O cluster 3 possuem dados onde seus elementos tem grau de pertinência em torno de 0,5 em dois clusters. O resultado final englobando os três clusters é mostrado na figura 6.

(6)

Uma discussão mais abrangente pode ser dada utilizando o conceito de -corte, no qual este permite cortar os dados expostos dado algum grau de pertinência, seja com intervalos degenerados ou não. Se for utilizado algum -corte linear acima de 0,7 algum dado poderá ser desprezado, ocasionando que um elemento não pertença a nenhum cluster. Usando um -corte abaixo de 0,3 certamente nesta simulação causará diversas intersecções. Neste exemplo específico, caso fosse optado pela utilização do -corte, um bom parâmetro para esta aplicação seria em torno de 0,5. Com -corte em 0,5 é gerado uma partição na base de dados, ou seja, cada dado intervalar pertence a exatamente um cluster. Observe que isso pode ser encarado como um agrupamento crisp da base. Porém, isso não significa que o -corte particione qualquer base de dados intervalares.

CONCLUSÕES

A análise de cluster não é um processo realizado em apenas uma execução. Em muitas circunstâncias, é necessário uma série de tentativas e repetições. Ainda, não há um critério universal e efetivo para guiar a seleção de atributos e de algoritmos de agrupamentos. Critérios de validação provêm impressões sobre a qualidade dos clusters, mas como escolher este mesmo critério é ainda um problema que requer mais [18]. O contexto deste trabalho esta inserido na abordagem simbólica em análise de dados (SDA - Symbolic Data

Analysis) relacionada com métodos para a extração de

conhecimentos em grandes bases de dados. O principal objetivo da SDA é desenvolver métodos para o tratamento de dados mais complexos como intervalos. Este trabalho apresentou um estudo das principais operações e funções especiais da matemática intervalar e mostrou os procedimentos de análise de clusters. Estudaram-se outros algoritmos de agrupamento para a entrada de dados intervalares. Então a vantagem é que neste algoritmo fuzzy c-means consideram graus de pertinências intervalares propiciando conhecer ainda mais a imprecisão nos dados de entrada. O grande trunfo deste algoritmo é sempre manter os dados de entrada e operações com intervalos e quando necessário calcular a distância de cada ponto ao centro de cada

cluster, usar uma métrica intervalar em vez de usar uma

métrica pontual como a distância Euclidiana.

O algoritmo Interval Fuzzy C-Means proposto neste artigo, houve a aplicação de duas técnicas: a matemática intervalar e a teoria dos conjuntos fuzzy. Desta forma, é possível tratar os dados de entrada imprecisos em resultados com funções de pertinências intervalares.

Na implementação computacional do algoritmo proposto para as operações intervalares, usou-se a biblioteca C-XSC no qual se mostra adequada para realizar as operações intervalares.

Pretende-se no futuro próximo, testar o IFCM com outros algoritmos de agrupamento de dados que a entrada de dados seja intervalar.

AGRADECIMENTOS

Os autores agradecem a CAPES pelo suporte financeiro oferecido na forma de bolsa de estudos para os alunos de Pós-Graduação.

REFERÊNCIAS

[1] Bezerra, E., Mattoso, M., Xexeo, G.: Semi-Supervised Clustering of XML Documents: Getting the Most from Structural Information. In: 3rd International Workshop on XML Schema and Data Management (XSDM’06), Atlanta. IEEE ICDE Workshop Proceedings. (2006)

[2] Zhang, W., Hu, H., Liu, W.: Rules Extraction of Interval Type-2 Fuzzy Logic System Based on Fuzzy C- Means Clustering. Fourth International Conference on Fuzzy Systems and KnowledgeDiscovery. Los Alamitos, CA, USA. 2 (2007) 256–260

[3] Carvalho, F.: Fuzzy c-means clustering methods for symbolic interval data. Pattern Recogn. Lett. Elsevier Science Inc. New York, USA vol. 28(4) (2007) 423–437

[4] Bock, H.: Analysis of Symbolic Data: Exploratory Methods for Extracting Statistical Information from Complex Data. Springer-Verlag New York, Inc., Secaucus, NJ, USA (2000)

[5] Sato, M., J., L.: Innovations in Fuzzy Clustering: Theory and Applications (Studies in Fuzziness and Soft Computing). Springer-Verlag, Berlin, Heidelberg (2006)

[6] Oliveira, R., Diverio, T., D., C.: Fundamentos da Matemática Intervalar. Editora Sagra Luzzato, Instituto de Informática da UFRGS, Porto Alegre, Brasil (2001)

(7)

[8] Kulisch, U., Miranker, W.: Computer Arithmetic in Theory and Practice. Academic Press, Inc., Orlando, FL, USA (1981)

[9] Moore, R. In: Interval Analysis. pub-PH, Philadelphia, PA, USA (1966) xi–145

[10] Trindade, R.: Uma Fundamentação Matemática para Processamento Digital de Sinais Intervalares. PhD thesis, Universidade Federal de Rio Grande do Norte, Natal, Brasil (2009)

[11] Lima, E.: Espaços Métricos (terceira edição). Projeto Euclides. IMPA (2003)

[12] Fayyad, U., Piatetsky-Shapiro, G., Smyth, P., Uthurusamy, R., eds.: Advances in Knowledge Discovery and Data Mining. AAAI/MIT Press (1996)

[13] Han, J., Huang, Y., Cercone, N., Yongjian, F.: Intelligent query answering by knowledge discovery techniques. IEEE Transactions on Knowledge and Data Engineering vol. 8 (1996) 373–390

[14] Agrawal, R.: Data mining: The quest perspective. Australian Computer Science Comm. — Proc. 7th

Australasian Database Conf., ADC. Melbourne, Australia vol. 18(2) (1996) 119–120

[15] Bezdek, J.: Pattern Recognition with Fuzzy Objective Function Algorithms. Kluwer Academic Publishers, Norwell, MA, USA (1981) [16] Cox, E.: FuzzyModeling and Genetic Algorithms

For DataMining and Exploration.Morgan Kaufmann, San Francisco (2005)

[17] Hofschuster,W., Kr¨amer,W.: C-XSC 2.0 - a C++ Library for eXtended Scientific Computing. In: Numerical Software with Result Verification: International Dagstuhl Seminar, Dagstuhl, Springer (2003) 15–35

Referências

Documentos relacionados