• Nenhum resultado encontrado

A comparison between K-Means, FCM and ckmeans algorithms

N/A
N/A
Protected

Academic year: 2021

Share "A comparison between K-Means, FCM and ckmeans algorithms"

Copied!
7
0
0

Texto

(1)

A comparison between K-Means,

FCM and ckMeans algorithms

Rog´erio R. de Vargas, Benjam´ın R. C. Bedregal Departamento de Inform´atica e Matem´atica Aplicada Universidade Federal do Rio Grande do Norte, UFRN

Natal, Brazil

rogerio@ppgsc.ufrn.br, bedregal@dimap.ufrn.br

Eduardo Silva Palmeira

Departamento de Ciˆencias Exatas e da Terra Universidade Estadual de Santa Cruz, UESC

Ilh´eus, Brazil espalmeira@uesc.br

Resumo—Fuzzy C-Means, introduzido por Jim Bezdek em 1981 ´e um dos primeiros e mais populares algoritmos de agrupamento fuzzy. No entanto, com o objetivo de melho-rar o ´ındice de acertos ou sua velocidade, ao longo destes anos diversas modificac¸ ˜oes tem sido propostas. Entre estas destacamos o ckMeans, proposto pelos autores em 2010, que altera no FCM a forma de calcular o centro dos clusters. A ideia ´e usar uma func¸˜ao de pertinˆencia auxiliar dos elementos aos clusters que sejam essencialmente crisp e calcular os centroides seguindo um processo similar ao usado no algoritmo K-Means, mas mantendo o restante do algoritmo FCM. De fato, esta hibridizac¸ao entre o FCM e K-Means motivou o nome ckMeans para esta variante do FCM. Neste artigo aplicamos os algoritmos K-Means, FCM e ckMeans a uma base de dados validada de mamografias com cerca de mil elementos e comparamos estes trˆes algoritmos em termos do ´ındice de acertos e da quantidade de iterac¸ ˜oes e o tempo de processamento computacional at´e o sistema convergir. T´ıtulo: Uma comparac¸ ˜ao entre os algoritmos K-Means, FCM e ckMeans

Keywords-centro dos clusters; ckMeans; FCM; K-Means Abstract—Fuzzy C-Means, introduced by Jim Bezdek in 1981 is one of the earliest and most popular fuzzy clustering algorithms. However, in order to improve the hit rate or speed, over the years several modifications have been proposed. Among these we highlight the ckMeans algorithm proposed by us in 2010 which make a change in the way to calculate the center of the clusters of FCM. The idea is to use an auxiliary membership function of elements to those clusters that are essentially crisp and calculate the centroids following a similar process as done in K-Means algorithm but keeping the same procedures as in FCM in the rest of algorithm. In fact, this hybridization between FCM and K-Means motivated the name ckMeans for this variant of the FCM. In this article we apply K-Means, FCM and ckMeans algorithms in a validated database of mammograms with about a thousand elements and compare these three algorithms in terms of hit rate and number of each iterations and the computational processing time until the convergency of the system.

I. INTRODUC¸ ˜AO

Agrupamento ´e um m´etodo de aprendizado n˜ao supervi-sionado e ´e aplicado em diversas ´areas, inclusive minerac¸˜ao de dados, reconhecimento de padr˜oes, vis˜ao computacional,

bioinform´atica, etc. O objetivo desses m´etodos ´e organizar um conjunto de dados em grupos de tal forma que os dados dentro de um determinado grupo tenha um alto grau de semelhanc¸a, enquanto os dados pertencentes a diferentes grupos tenham um alto grau de dissimilaridade [1].

Agrupamento de dados ´e uma ferramenta essencial para a busca de grupos de dados n˜ao-rotulados. Agrupamento fuzzy ´e um m´etodo que pode capturar a incerteza em uma situac¸˜ao real. O agrupamento fuzzy pode obter um resultado robusto em relac¸˜ao a agrupamentos hard convencional. Em [2] a Figura 1 explica essa ideia.

Figura 1. Exemplo de agrupamento de dados em sete grupos, onde o r´otulo sobre o item indica o grupo a qual o item pertence

Portanto, o objetivo da tarefa de agrupamento ´e maximizar a similaridade de objetos de um grupo, e minimiz´a-lo para objetos de diferentes grupos. O sucesso de um algoritmo de agrupamento ´e a escolha de uma boa medida de similaridade. Em m´etodos de agrupamento crisp cada ponto do con-junto de dados pertence a exatamente um cluster. Em geral, agrupamento fuzzy tem a sua partic¸˜ao com base na ideia de func¸˜oes de pertinˆencia expresso por um grau de pertinˆencia correspondente a um cluster, especificamente, os algoritmos fuzzy associam um dado para todos os clusters, variando o grau de pertinˆencia dos dados em cada cluster. Especial-mente, agrupamento fuzzy tem sido amplamente estudado e aplicado em uma variedade de ´areas. Em particular, validac¸˜ao de cluster fuzzy desempenha um papel muito importante no agrupamento fuzzy [3].

(2)

A teoria dos Conjuntos Fuzzy foi concebido como um resultado de uma tentativa de lidar com o problema de reconhecimento de padr˜oes no contexto de categorias im-precisamente definidos. Nesses casos, o grau de pertinˆencia de um dado a uma classe ´e uma quest˜ao de grau, como ´e a quest˜ao de haver ou n˜ao um grupo de dados formam um cluster [4].

Existem v´arias propostas diferentes de extens˜oes para o algoritmo FCM (Fuzzy C-Means) na literatura. Em [5], por exemplo, ´e proposto uma nova m´etrica, utilizando a func¸˜ao exponencial para substituir a distˆancia euclidiana no algoritmo FCM. No artigo proposto por [6] o objetivo principal ´e reduzir o tempo de processamento e o n´umero de iterac¸˜oes no algoritmo FCM, a reduc¸˜ao ´e feita atrav´es da agregac¸˜ao de exemplos similares. Existem v´arias outras variantes do algoritmo FCM, por exemplo, os autores [7], [8], [9], [10], [11], que tamb´em buscam otimizar a precis˜ao, ou o tempo de convergˆencia do algoritmo FCM tradicional. No entanto, nenhum destes autores prop˜oem uma nova forma de calcular o centro de clusters.

Neste trabalho, prop˜oe-se discutir a variante do algoritmo FCM, tendo como principal recurso `a utilizac¸˜ao de uma nova forma de calcular os centros dos clusters. A ideia ´e utilizar a matriz do grau de pertinˆencia, a fim de obter uma matriz crisp que possibilite calcular os novos centros usando uma estrat´egia semelhante `a do algoritmo K-Means [12]. Por este motivo, denominou-se o nome de ckMeans a este algoritmo. Apresentamos o algoritmo ckMeans que usa um n´umero de iterac¸˜oes menor que o algoritmo FCM e, consequente-mente, o tempo total de convergˆencia ´e menor no algoritmo ckMeans que mant´em ou melhora a qualidade do resultado. A sec¸˜ao 2 apresenta uma breve discuss˜ao sobre o algo-ritmo FCM. A sec¸˜ao 3 detalha o algoalgo-ritmo ckMeans. Os experimentos s˜ao discutidos na sec¸˜ao 4. E, finalmente, a sec¸˜ao 5 traz as conclus˜oes e considerac¸˜oes finais.

II. ALGORITMOFUZZYC-MEANS

No agrupamento n˜ao-fuzzy ou hard, os dados s˜ao dividi-dos em grupos crisp, onde cada dado pertence a exatamente a um cluster. No agrupamento fuzzy, os dados podem pertencer a mais de um cluster, ´e associado a cada dado um grau de pertinˆencia que indica o grau em que o dado pertence a diferentes clusters. Esta sec¸˜ao demonstra o algoritmo de agrupamento FCM.

Segundo [13], o algoritmo para agrupamento de dados fuzzy foi proposto por [14], e estendido por [4]. A ideia basicamente ´e que o conjunto X = {x1, x2, . . . , xn} seja dividido em p clusters, μij ´e o grau de pertinˆencia da amostra xiao j-´esimo cluster e o resultado do agrupamento ´e expresso pelos graus de pertinˆencia na matriz μ.

O algoritmo FCM tenta encontrar conjuntos nos dados, minimizando a func¸˜ao objetivo mostrada na equac¸˜ao (1):

J = n  i=1 p  j=1 μmijd (xi; cj)2 (1) onde:

n ´e o n´umero de dados;

p ´e o n´umero de clusters considerados no algoritmo o qual deve ser decidido antes da execuc¸˜ao;

m > 1 ´e o parˆametro da fuzzificac¸˜ao1

. Usualmente, m est´a no intervalo[1, 25; 2] [15];

xi um vetor de dados de treinamento, onde i = 1, 2, . . . , n. Onde cada posic¸˜ao no vetor representa um atributo do dado;

cj ´e o centro de um agrupamento fuzzy (j = 1, 2, . . . , p);

d (xi; cj) ´e a distˆancia2 entre xi e cj;

A entrada do algoritmo s˜ao os n dados, o n´umero de clusters p e o valor de m. Os passos s˜ao:

1) Inicialize μ com um valor aleat´orio cont´ınuo entre zero (nenhuma pertinˆencia) e um (pertinˆencia total), onde a soma das pertinˆencias deve ser um;

2) Calcule o centro do cluster j da seguinte maneira:

cj = n  i=1 μmijxi n  i=1 μmij (2)

3) Calcule um valor inicial para J usando a equac¸˜ao (1); 4) Calcule a tabela da func¸˜ao de pertinˆencia fuzzy μ

conforme mostrado na equac¸˜ao (3)

μij=  1 d(xi;cj)  2 m−1 p  k=1  1 d (xi; ck)  2 m−1 (3)

5) Retornar `a etapa 2 at´e que uma condic¸˜ao de parada seja alcanc¸ada.

Algumas condic¸˜oes de parada poss´ıveis s˜ao:

Um n´umero de iterac¸˜oes pr´e-fixado for executado; O usu´ario informa um valor de parada  > 0, e se

d (JU; JA) ≤ 

ent˜ao para, onde JA ´e a func¸˜ao objetiva (equac¸˜ao (1)) calculada na iterac¸˜ao anterior e JU ´e a func¸˜ao objetiva da ´ultima iterac¸˜ao.

1Considerando somente valores racionais para simplificar o c´alculo das

equac¸ ˜oes (1), (2) e (3). Uma vez que na pr´atica, s˜ao usadosm racionais.

2Quando s˜ao valores num´ericos, normalmente ´e usado a distˆancia

(3)

III. ALGORITMO CKMEANS

O algoritmo K-Means, proposto por [12], ´e um m´etodo de particionamento (m´etodo n˜ao-hier´arquico) que divide as observac¸˜oes dos dados em k clusters mutuamente exclusivos. Esse algoritmo considera como centro de um grupo o seu centr´oide. O centr´oide de um grupo ´e definido como o vetor soma de todos os vetores correspondentes aos objetos associados a este grupo. Ent˜ao, a tarefa do algoritmo K-Means ´e minimizar a func¸˜ao objetivo correspondente `a distˆancia total entre os objetos e os centr´oides dos grupos aos quais esses objetos foram associados.

Segundo [13], o algoritmo para agrupamento de dados fuzzy foi proposto por [14], e estendido por [4]. A ideia basicamente ´e que o conjunto fuzzy X = {x1, x2, . . . , xn} seja dividido em p clusters, μij ´e o grau de pertinˆencia da amostra xi ao j-´esimo cluster e o resultado do agrupamento ´e expresso pelos graus de pertinˆencia na matriz μ.

O algoritmo ckMeans proposto por [16] segue a mesma estrutura do algoritmo FCM, por´em, a ´unica alterac¸˜ao deu-se em como calcular o centro dos clusters, ou seja, o cj.

A entrada do algoritmo tamb´em s˜ao os n dados, o n´umero de clusters p e o valor de m. Os passos s˜ao:

1) Inicialize μ com um valor aleat´orio cont´ınuo entre zero (nenhuma pertinˆencia) e um (pertinˆencia total), onde a soma das pertinˆencias deve ser um;

2) Calcule o centro do cluster j:

Cria-se uma nova matriz μ, chamada de μCrisp con-tendo valores 1 ou 0. Cada linha dessa nova matriz tem 1 na posic¸˜ao do maior valor dessa linha na matriz μ e zero nas demais posic¸˜oes da linha. Quando uma coluna da matriz μCrisp, for toda com zeros, ´e atribu´ıdo o valor 1 na posic¸˜ao que corresponde ao maior valor dessa mesma coluna na matriz μ.

O algoritmo ckMeans retorna uma matriz μCrisp com valores em {0, 1} conforme ´e mostrado na equac¸˜ao (4). Ou seja, μCrisp ´e a matriz enquanto μCrispij ´e o conte´udo dessa matriz na posic¸˜ao (ij).

μCrispij= max ⎛ ⎝ ⎢ ⎢ ⎢ ⎣ μij p max l=1 μil ⎥ ⎥ ⎥ ⎦ , ⎢ ⎢ ⎢ ⎣ μij n max l=1 μlj ⎥ ⎥ ⎥ ⎦ ⎞ ⎠ (4) O primeiro argumento do max tem que cada dado tenha o valor 1 no cluster ao qual pertence com maior grau de pertinˆencia e grau de pertinˆencia zero nos demais. O segundo argumento tem por objetivo que o maior grau de cada coluna (cluster) seja 1. Para assim garantir que todo cluster tenha pelo menos um elemento. Dessa forma, em raras ocasi˜oes, pode acontecer que uma linha tenha mais de uma valor 1 (o que n˜ao ocorre o algoritmo K-Means original), mas como esta matriz ´e apenas auxiliar, n˜ao ocasionar´a qualquer transtorno.

Os passos do algoritmo para calcular o μCrispij3 ´e realizado da seguinte forma:

a) Leia μ;

b) Em cada linha encontrar o maior valor da matrix μ e atribuir 1 a essa mesma posic¸˜ao em μCrisp e zero nas restantes;

c) Armazenar em um vetor a quantidade de 1’s que cada coluna de μCrisp possui.

Se uma coluna n˜ao tiver 1’s marque sumariamente com 1 a posic¸˜ao onde est´a o maior valor. Ap´os cal-culada a matriz μCrisp calculam-se os novos centros dos clusters conforme a equac¸˜ao (5).

cj = Σ n i=1xiμCrispij Σn i=1μCrispij (5)

O cj ´e calculado pela somat´oria dos dados que per-tencem ao cluster (de forma crisp) e dividido pela quantidade de objetos classificados como 1 na matriz μCrisp deste cluster.

3) Calcule um valor inicial para J usando as mesmas equac¸˜oes do algoritmo FCM;

4) Calcule a tabela da func¸˜ao de pertinˆencia fuzzy μ conforme o algoritmo FCM.

Algumas condic¸˜oes de parada poss´ıveis s˜ao as mesmas do algoritmo FCM.

O resultado (sa´ıda) da implementac¸˜ao do algoritmo K-Means retorna qual cluster pertece determinada instˆancia. Para os algoritmos FCM e ckMeans ´e retornado o grau de pertinˆencia de determinada instˆancia a cada cluster. No final, os trˆes algoritmos distribuem os elementos em m clusters. Cabe ao usu´ario ou especialista interpretar cada cluster. Por´em quando estamos testando a efic´acia de um algoritmo para comparar com outros, usualmente usamos bases de dados onde cada dado tenha uma classificac¸˜ao pre-viamente conhecida (CC1, . . . , CCm), por exemplo, a base Mamografia (detalhado na sec¸˜ao IV); para podermos assim determinar a porcentagem de acertos dos algoritmos. Por´em um problema ´e que o algoritmo de agrupamento determina m classes (CA1, . . . , CAm) e n˜ao necessariamente CAi corresponde `a classe CCi, com i = 1, . . . , m, e nem sempre ´e possivel determinar a olho nu a melhor forma de associar as classes (CA1, . . . , CAm) as classes (CC1, . . . , CCm) de forma a maximizar a porcentagem de acertos.

Para este fim foi desenvolvido um algoritmo de “forc¸a bruta” que combina todas as possibilidades de associac¸˜ao determinando a porcentagem de acertos de cada associac¸˜ao, dando como sa´ıda aquela que devolve o maior n´umero de acertos.

3Pode ocorrer uma situac¸˜ao onde o resultado de µCrisp

ij n˜ao esteja completamente fiel `a equac¸˜ao (4). O maior valor da colunaµij ter´a 1 em

(4)

Os passos para a instalac¸˜ao da biblioteca C-XSC, o c´odigo fonte dos algoritmos de agrupamento podem serem vistos em: http://rogerio.in.

IV. EXPERIMENTOS

Inicialmente implementou-se o algoritmo K-Means se-guindo o tutorial dispon´ıvel em [17] e o algoritmo FCM (tradicional) baseado na implementac¸˜ao4de [18], dispon´ıvel

em http://www.usyd.edu.au/agric/acpa/fkme/program.html. Todos os algoritmos aqui discutidos, foram executados e desenvolvidos em C++ (Vers˜ao 4.4) usando a biblioteca C-XSC (vers˜ao 2.5) [19], dispon´ıvel em http://www.xsc.de, usando um Notebook Intel CoreT M i3 CPU M 350 2.27GHz, e 3 GB de mem´oria principal, usando o sistema operacional Linux (Kernel 2.6.35-28-generic, GNOME 2.32, Ubuntu 10.10).

A. Base de Dados Mamografia

A mamografia ´e o m´etodo mais eficaz para o rastreamento do cˆancer de mama dispon´ıveis atualmente. No entanto, a bi´opsia de mama resultantes da interpretac¸˜ao mamografia leva a aproximadamente 70% bi´opsias desnecess´arias com resultados benignos. Para reduzir o elevado n´umero de bi´opsias mam´arias desnecess´arias, v´arios computer-aided diagn´ostico (CAD) tˆem sido propostas nos ´ultimos anos. Este conjunto de dados5 podem ser usados para predizer

a gravidade (benigno ou maligno) de uma les˜ao de massa de mamografia. Esta base esta dividida em 516 dados classificados como benignos e 445 dados classificados como malignos que foram identificadas na mamografia coletadas no Instituto de Radiologia do da. Universidade Erlangen-Nuremberg, entre 2003 e 2006.

B. Parˆametros para a Inicializac¸˜ao

O n´umero de clusters ´e dois, o valor fuzziness m = 1, 25 e  = 0, 001. Estes parˆametros s˜ao usados nas trˆes configurac¸˜oes dos algoritmos aqui discutidos, ou seja, os algoritmos K-Means, FCM e ckMeans.

Os valores iniciais de μijs˜ao n´umeros aleat´orios. Usou-se os mesmos valores para inicializar os algoritmos K-Means, FCM e ckMeans. O valor inicial de Cj foram os mesmos nos algoritmos FCM e ckMeans.

C. Resultados Comparativos

O n´umero de instˆancias espalhadas nos clusters usando os algoritmos K-Means, FCM e ckMeans ´e o mesmo. A Figura 2 mostra a distribuic¸˜ao dos dados a cada classes.

4De fato, essa implementac¸ ˜ao reporta exatamente os mesmo valores de

[18].

5Esta base de dados est´a dispon´ıvel em http://archive.ics.uci.edu/ml/

datasets/Mammographic+Mass.

Figura 2. Instˆancias

Observe que a classe Benigno teve 516 instˆancias e a classe Maligno teve 445 instˆancias, totalizando 961 instˆancias.

A Figura 3 mostra as instˆancias classificadas usando o algoritmo K-Means. Cluster 1 Cluster 2 0 50 100 150 200 250 300 350 400 Benigno Maligno

Figura 3. Classificac¸ ˜ao das Instˆancias usando o algoritmo K-Means

Note que o Cluster 1 teve 339 Benigno e 106 Maligno. Por possuir maiores valores a classe Benigno, associamos o cluster 1 a classe Benigno. Para o cluster 2, esse teve 217 instˆancias na classe Benigno e 299 na classe Maligno, associando o Cluster 2 a classe Maligno.

(5)

339 299 323 Benigno Maligno Incorretos

Figura 4. Instˆancias Classificadas Corretamente e Incorretamente com o algoritmos K-Means

As instˆancias classificadas nessa base de dados foram 638, representando 66,39% dos dados.

Os resultados obtidos com os algoritmos FCM e ckMeans s˜ao diferentes que se comparados com o algoritmo K-Means. A Figura 5 mostra as instˆancias classificadas usando os algoritmos FCM e ckMeans. Cluster 1 Cluster 2 0 50 100 150 200 250 300 350 400 Benigno Maligno

Figura 5. Classificac¸ ˜ao das Instˆancias usando os algoritmos FCM e ckMeans

Note que o Cluster 1 teve 353 Benigno e 77 Maligno. Por possuir maiores valores a classe Benigno, associamos o cluster 1 a classe Benigno. Para o cluster 2, esse teve 229 instˆancias na classe Benigno e 302 na classe Maligno, associando o Cluster 2 a classe Maligno.

A Figura 6 mostra a classificac¸˜ao de cada dado nas classes. O n´umero de instˆancias classificadas incorretamente em cada cluster ´e 306, o que corresponde a 31,84% com os algoritmos simulados. 353 302 306 Benigno Maligno Incorretos

Figura 6. Instˆancias Classificadas Corretamente e Incorretamente com os algoritmos FCM e ckMeans

As instˆancias classificadas nessa base de dados foram 655, representando 68,16% dos dados.

A Tabela I mostra a quantidade de iterac¸˜oes, a m´edia do tempo de processamento de cada iterac¸˜ao em segundos e o tempo total em segundos que os algoritmos levaram para convergir.

Tabela I PERFORMANCE

K-Means FCM ckMeans

Iterac¸ ˜oes 7 26 9

Tempo m´edio de cada iterac¸˜ao 0,08 0,09 0,05 Tempo Convergˆencia 0,57 2,46 0,52

O algoritmo K-Means tem o menor n´umero de iterac¸˜oes (sete) e com o tempo total de convergˆencia em 0,57 segun-dos. No entanto, se comparado com os demais algoritmos simulados n˜ao apresentou o menor tempo de convergˆencia e a taxa de acerto foram menor se comparado com os algoritmos FCM e ckMeans. O tempo m´edio para cada iterac¸˜ao foram de 0,08 segundos.

O algoritmo FCM convergiu com 26 iterac¸˜oes, o tempo m´edio de cada iterac¸˜ao foram de 0,09 segundos e o tempo total at´e a convergˆencia foram de 2,46 segundos, sendo o algoritmo que teve o maior tempo de processamento se comparado ao K-Means e ckMeans.

O algoritmo ckMeans se comparado entre os algoritmos testados, teve o menor tempo at´e a sua convergˆencia, com tempo total de 0,52 segundos. O n´umero de iterac¸˜oes foram 9 e o tempo m´edio de cada iterac¸˜ao foram de 0,05 segundos. O valor inicial de J foram iguais entre os algoritmos FCM e ckMeans (374,498) e a ´ultima iterac¸˜ao no algoritmo FCM foram de 0,0008829561 na iterac¸˜ao 26. No algoritmo ckMeans o valor de J foram zero na iterac¸˜ao 9.

(6)

o tempo de processamento s˜ao os mesmos mostrados na Tabela I. E mesmo assim, o algoritmo ckMeans tem o tempo de processamento melhor que se comparado com os demais algoritmos.

V. CONCLUSAO E˜ CONSIDERAC¸ ˜OESFINAIS Neste trabalho, comparou-se trˆes algoritmos, o K-Means, FCM e o ckMeans. Este ´ultimo, prop˜oe uma alterac¸˜ao na forma de calcular o centro dos clusters nos algoritmos tipo FCM, reduzindo o tempo de processamento e n´umero de iterac¸˜oes e, em alguns casos, melhorando a classificac¸˜ao de instˆancias de seus respectivos clusters.

O algoritmo ckMeans mostrou-se um bom m´etodo para calcular os centros dos clusters. Esse algoritmo reduziu o tempo de processamento e o n´umero de iterac¸˜oes na classificac¸˜ao de dados. O algoritmo ckMeans fornece uma acelerac¸˜ao perante a aplicac¸˜ao FCM tradicional [20].

Compreende-se que a express˜ao para o c´alculo da func¸˜ao objetiva e os centros dos cluster no algoritmo FCM ´e uma derivac¸˜ao matem´atica de uma func¸˜ao objetiva. Por´em, n˜ao se tem essa preocupac¸˜ao no algoritmo ckMeans, os valores de J (func¸˜ao objetivo) ´e um pouco menor no algoritmo ckMeans do que no algoritmo FCM, e portanto, na pr´atica o objetivo de minimizar J tamb´em pode ser alcanc¸ado pelo algoritmo ckMeans.

Os experimentos mostram que a classificac¸˜ao do grau de pertinˆencia com o algoritmo ckMeans em relac¸˜ao ao cluster ´e similar do que com o algoritmo FCM (considerando o caso estudado). O n´umero de iterac¸˜oes em relac¸˜ao `a con-vergˆencia em todos os cluster usando o algoritmo K-Means e FCM foram 7 e 26 iterac¸˜oes, respectivamente. No entanto, usando o algoritmo ckMeans obteve-se a convergˆencia com 9 iterac¸˜oes, embora tenha mais iterac¸˜oes se comparado com o K-Means, o tempo de processamento foi menor. Testes com outras bases tais como [16] e [21] tamb´em mostram que o algoritmo ckMeans tem um desempenho melhor que o algoritmos FCM e K-Means.

Observe que a condic¸˜ao de parada fornecido por epsilon quanto menor for, maior ´e o n´umero de iterac¸˜oes no al-goritmo FCM. Entretanto, no alal-goritmo ckMeans isso n˜ao ocorre, como o epsilon ´e utizado para calcular a diferenc¸a do valor de J na iterac¸˜ao atual com a iterac¸˜ao anterior, no algoritmo ckMeans a tendˆencia ´e que essa diferenc¸a seja zero.

A ideia ´e que a forma de calcular o centro dos clusters com o algoritmo ckMeans seja gen´erico, ou seja, possa ser aplicado em outras variantes do FCM, por exemplo, MFCM (Modified Fuzzy C-Means) em [22], isso ser´a provado em trabalhos futuros. Tamb´em, usaremos outras distˆancias como as propostas nos trabalhos de [23] e [24] em vez da Euclidiana para demonstrar a qualidade dos resultados usando o algoritmo ckMeans.

ACKNOWLEDGMENT

O autor Rog´erio R. de Vargas ´e bolsista de doutorado e agradece a CAPES-Brasil pelo apoio financeiro.

REFERENCIASˆ

[1] F. de Carvalho, “Fuzzy k-means clustering algorithms for interval-valued data based on adaptive quadratic distances,” Fuzzy Sets and Systems, vol. 161, no. 23, pp. 2978 – 2999, 2010.

[2] R. de Vargas and B. Bedregal, “Interval ckmeans: An algo-rithm for clustering symbolic data,” in Proc. Conf. North American Fuzzy Information Processing Society (NAFIPS 2011), El Paso, USA, 2011.

[3] W. Wang and Y. Zhang, “On fuzzy cluster validity indices,” Fuzzy Sets and Systems, vol. 158, no. 19, pp. 2095–2117, 2007.

[4] J. Bezdek, Pattern Recognition with Fuzzy Objective Func-tion Algorithms. Norwell, MA, USA: Kluwer Academic Publishers, 1981.

[5] K. Zang, B. Li, J. Xu, and L. Wu, “New modification of fuzzy c-means clustering algorithm,” Fuzzy Information and Engineering, vol. 1, pp. 445–448, 2009.

[6] S. Eschrich, J. Ke, L. Hall, and D. Goldgof, “Fast accurate fuzzy clustering through data,” IEEE Transactions on Fuzzy Systems, vol. 11, pp. 262–270, 2003.

[7] R. L. Cannon, J. V. Dave, and J. C. Bezdek, “Efficient implementation of the fuzzy c-means clustering algorithms,” IEEE Trans. Pattern Anal. Mach. Intell., vol. 8, no. 2, pp. 248–255, 1986.

[8] F. H¨oppner, “Speeding up fuzzy c-means: Using a hierarchical data organisation to control the precision of membership calculation,” Fuzzy Sets and Systems, vol. 128, no. 3, pp. 365–376, 2002.

[9] T. Cheng, D. Goldgof, and L. Hall, “Fast clustering with application to fuzzy rule generation,” in Proceedings of the IEEE International Conference on Fuzzy Systems, Tokio, Japan, 1995, pp. 2289–2295.

[10] D. Hershfinkel and I. Dinstein, “Accelerated fuzzy c-means clustering algorithm,” in B. Bosachi, J.C. Bezdek (Eds.), Proc. SPIE Appl. Fuzzy Logic Technol. III 2761, 1996, pp. 41–52. [11] B. Shankar and N. Pal, “FFCM: an effective approach for large data sets,” in Proceedings of the 3rd International Conference on Fuzzy Logic, Neural Nets and Soft Computing, 1994, pp. 331–332.

[12] J. MacQueen, “Some methods for classification and analysis of multivariate observations,” in Proceedings of the Fifth Ber-keley Symposium on Mathematical Statistics and Probability. Berkeley, CA: University of California Press, 1967, pp. 281– 297.

(7)

[14] J. C. Dunn, “A fuzzy relative of the isodata process and its use in detecting compact well-separated clusters,” Journal of Cybernetics, vol. 3, no. 3, pp. 32–57, 1973.

[15] E. Cox, Fuzzy Modeling and Genetic Algorithms for Data Mining and Exploration. Amsterdam ; Boston : Else-vier/Morgan Kaufmann, 2005.

[16] R. de Vargas and B. Bedregal, “A comparative study between fuzzy c-means and ckmeans algorithms,” in Proc. Conf. North American Fuzzy Information Processing Society (NAFIPS 2010), Toronto, Canada, 2010.

[17] K. Teknomo, “K-Means Clustering Tutorials,” 2010,

http://people.revoledu.com/kardi/tutorial/kMean/, Acessado 22/Maio/2010.

[18] J. DeGruijter and A. McBratney, “A modified fuzzy k-means for predictive classification,” in Classification and Related Methods of Data Analysis. Amsterdam: H.H. Bock, ed., Elsevier Science, 1988, pp. 97–104.

[19] W. Hofschuster and W. Kr¨amer, “C-xsc 2.0: A c++ library for extended scientific computing,” in Dagstuhl Seminars. Springer, 2003, pp. 15–35.

[20] R. de Vargas, B. Bedregal, and E. Palmeira, “ckmeans: A new variant of fuzzy c-means algorithm,” Information Sciences, 2011, submitted.

[21] R. de Vargas and B. Bedregal, “Uma nova forma de calcular o centro dos clusters no algoritmo fuzzy c-means,” in Procee-dings of CNMAC 2010 (33th Brazilian Conference on Applied and Computational Math). SBMAC (Brazilian Society of Applied and Computational Math), ´Aguas de Lind´oia, Brazil, 2010.

[22] R. Brouwer and A. Groenwold, “Modified fuzzy c-means for ordinal valued attributes with particle swarm for optimiza-tion,” Fuzzy Sets and Systems, vol. 161, no. 13, pp. 1774 – 1789, 2010.

[23] K.-L. Wu and M.-S. Yang, “Alternative c-means clustering algorithms,” Pattern Recognition, vol. 35, no. 10, pp. 2267– 2278, 2002.

Referências

Documentos relacionados

QUANDO TIVER BANHEIRA LIGADA À CAIXA SIFONADA É CONVENIENTE ADOTAR A SAÍDA DA CAIXA SIFONADA COM DIÂMTRO DE 75 mm, PARA EVITAR O TRANSBORDAMENTO DA ESPUMA FORMADA DENTRO DA

O emprego de um estimador robusto em variável que apresente valores discrepantes produz resultados adequados à avaliação e medição da variabilidade espacial de atributos de uma

O sistema atual do PIS/COFINS permite que empresas do regime não cumulativo, que comprem de Microempresas e empresas de pequeno porte do SIMPLES ou Lucro Presumido, possam

Promovido pelo Sindifisco Nacio- nal em parceria com o Mosap (Mo- vimento Nacional de Aposentados e Pensionistas), o Encontro ocorreu no dia 20 de março, data em que também

nesta nossa modesta obra O sonho e os sonhos analisa- mos o sono e sua importância para o corpo e sobretudo para a alma que, nas horas de repouso da matéria, liberta-se parcialmente

No entanto, maiores lucros com publicidade e um crescimento no uso da plataforma em smartphones e tablets não serão suficientes para o mercado se a maior rede social do mundo

3.3 o Município tem caminhão da coleta seletiva, sendo orientado a providenciar a contratação direta da associação para o recolhimento dos resíduos recicláveis,

O valor da reputação dos pseudônimos é igual a 0,8 devido aos fal- sos positivos do mecanismo auxiliar, que acabam por fazer com que a reputação mesmo dos usuários que enviam