Você está na página 1de 44

Tutorial sobre Fuzzy-c-Means e Fuzzy Learning Vector

Quantization: Abordagens Hbridas para Tarefas de


Agrupamento e Classificao
Thiago Rocha 1 Sarajane Marques Peres 2
Helton H. Bscaro 2 Renata Cristina B. Madeo 2 Clodis Boscarioli 3

Resumo: Neste tutorial apresentada uma discusso sobre o algoritmo Fuzzyc-Means e sobre as Redes Neurais Fuzzy, considerando a proposta de insero de
princpios da Teoria de Conjuntos Fuzzy nas abordagens de agrupamento e classificao clssicas: algoritmo c-Means e o modelo neural Learning Vector Quantization.
A motivao para a construo de um modelo hbrido, dessa categoria, conferir s
abordagens clssicas a capacidade de lidar adequadamente com aspectos de incerteza
e impreciso, comumente encontrados em problemas reais.

Abstract: In this tutorial, we present a discussion on the Fuzzy-c-Means algorithm


and the Fuzzy-Neural Networks, taking into account the proposal of inclusion of principles of the Fuzzy Set Theory into classical clustering and classification approaches,
namely: c-Means algorithm and the Learning Vector Quantization neural model. The
goal of building such a hybrid model is to enable the classical neural approach to
deal appropriately with uncertainty and imprecision issues, commonly found in real
problems.

Introduo

Sistemas Hbridos so caracterizados pela uso combinado de caractersticas referentes a duas ou mais tcnicas da Inteligncia Computacional, ou de reas afins, em um nico
modelo, com o intuito de aproveitar o que de melhor cada uma das tcnicas envolvidas pode
oferecer resoluo de um problema. Nesse contexto encontram-se os modelos hbridos
construdos a partir de, ou com o uso de, por exemplo, Teoria de Conjuntos Fuzzy (TCF) e
Redes Neurais Artificiais (RNA).
Os modelos hbridos discutidos neste tutorial tem como base de hibridizao a insero de conceitos da Teoria de Conjuntos Fuzzy no algoritmo c-Means. Essa iniciativa d
1 Departamento

de Engenharia Eltrica, Faculdade de Tecnologia, UnB, Gleba A, Av. L3 Norte, Braslia, DF


{hiagoh@unb.br}
2 Escola de Artes, Cincias e Humanidades, USP, Av. Arlindo Bettio, 1000, So Paulo, SP {sarajane@usp.br}
{heltonhb@usp.br} {renata.si@usp.br}
3 Universidade Estadual do Oeste do Paran,
Unioeste, R. Universitria, 1069, Cascavel, PR
{Clodis.Boscarioli@unioeste.br}

Tutorial sobre Fuzzy-c-Means e Fuzzy Learning Vector Quantization: Abordagens Hbridas


para Tarefas de Agrupamento e Classificao
origem ao algoritmo Fuzzy-c-Means, proposto por Bezdek, Tsao e Pal [4], o qual a base
para vrios outros modelos hbridos aplicveis a tarefas de agrupamento e classificao fuzzy,
incluindo os modelos neuro-fuzzy aqui discutidos. Modelos hbridos inspirados no Fuzzyc-Means ou relacionados a esse algoritmo so discutidos em [30, 31, 39, 18, 6, 36, 8, 26].
Como exemplos de aplicaes recentemente desenvolvidas com o apoio do algoritmo Fuzzyc-Means cita-se processamento de imagens [18, 6, 8, 37, 35, 40, 42], anlise em sistemas de
energia [36, 26] e reconhecimento de padres [38]. O algoritmo FCM tambm foi recentemente usado por Pedrycs, Loia e Senatore [33] na experimentao de uma nova abordagem
de introduo de conhecimento de domnio na tarefa de agrupamento.
Uma taxonomia simplificada para organizar os Sistemas Neurais Hbridos discutida
por Wermter e Sun [43], que consiste de trs classes de arquitetura de sistemas: arquiteturas
neurais unificadas (ou sistemas hbridos unificados), arquiteturas hbridas de transformao
e arquiteturas hbridas modulares. A primeira classe constitui-se de representaes conexionistas, porm, com a capacidade de conferir interpretaes simblicas para os ns e para as
ligaes da RNA. Na segunda classe esto as arquiteturas capazes de transformar representaes simblicas em representaes conexionistas e vice-versa. E finalmente, arquiteturas que
possuem tanto mdulos simblicos quanto mdulos conexionistas adequados para resolver
determinadas tarefas, ou parte de tarefas, esto inseridas na ltima classe.
Especificamente da combinao de RNA com caractersticas da TCF surgem duas
classes de sistemas [27]: Redes Neurais Fuzzy (do ingls fuzzy-neural network) e Sistemas
Neuro-Fuzzy (do ingls neural-fuzzy systems). A primeira classe caracterizada por RNA
dotadas da capacidade de manusear informaes fuzzy4 , e a segunda classe caracterizada
por Sistemas Fuzzy estendidos pelo uso de RNA para melhorar algumas caractersticas como
a adaptabilidade do sistema.
Estudos sobre Redes Neurais Fuzzy e Sistemas Neuro-Fuzzy so motivados pela necessidade de melhorar resultados em problemas complexos de classificao e agrupamento
de dados, predio entre outros. Um breve histrico sobre essa rea pode ser encontrado no
trabalho de Vuorimaa [41]. Segundo esse autor, tais modelos tiveram o incio de seu desenvolvimento entre o fim dos anos 80 e incio dos anos 90 e, desde ento, tem sido aplicados em
diferentes problemas. O artigo Fuzzy Neural Networks, publicado na revista Mathematical
Biosciences [21], considerado a primeira iniciativa na criao de sistemas hbridos utilizando RNA e TCF, com a proposta de substituir as somas ponderadas realizadas no modelo
de neurnio McCulloc-Pitts [25] por uma operao fuzzy correspondente.
Ainda segundo Vuorimaa [41], uma coleo dos primeiros e mais importantes artigos
acerca dos Sistemas Neuro-Fuzzy foi editada por Bezdek et al. [3], em 1992. Kosko [17],
tambm em 1992, elaborou um livro abrangente sobre o assunto. Mais recentemente alguns
autores tem apresentado trabalhos que discutem diferentes aspectos de sistemas neuro-fuzzy
4

nessa classe que se encaixa a discusso realizada neste tutorial.

RITA Volume 19 Nmero 1 2012

121

Tutorial sobre Fuzzy-c-Means e Fuzzy Learning Vector Quantization: Abordagens Hbridas


para Tarefas de Agrupamento e Classificao
e afins, por exemplo: [22, 29, 28, 20, 1].
O modelo de Rede Neural Fuzzy escolhido para ser explorado neste tutorial o modelo Fuzzy Learning Vector Quantization (Fuzzy LVQ). Trata-se de um modelo inspirado na
rede neural Leaning Vector Quantization (LVQ), um modelo de fcil entendimento e efetivo em termos de tarefas de classificao e agrupamento5 . Existem vrias iniciativas que
usam o modelo Fuzzy Learning Vector Quantization em diferentes reas de aplicao como
as recentes aplicaes em Geocincias [11], processamento de dados sensoriais (processing
sensor-array data) [13] e reconhecimento de padres [7, 24]; e tambm algum esforo em
propor novas formas de hibridizao, como os trabalhos [44, 45].
nesse contexto que se encontra a motivao para dar ateno aos fundamentos de
tal hibridizao, pois percebe-se que o potencial desta rea no est totalmente explorado,
e a partir do entendimento de suas bases que surgem as novas linhas de desenvolvimento
e aplicao na rea. Assim, este tutorial dedicado a introduzir o leitor no estudo de abordagens hbridas para tarefas de agrupamento e classificao. A fim de explorar tal assunto,
o algoritmo Fuzzy-c-Means e as Redes Neurais Fuzzy so as abordagens escolhidas para serem discutidas sob uma arquitetura de sistema hbrido unificado. De forma mais especfica,
foram selecionados dois modelos neurais, baseados na RNA LVQ, propostos por Chung e
Lee [5] e por Bezdek, Tsao e Pal [4]. No modelo de Chung e Lee, graus de pertinncias de
dados a classes so utilizados para fuzificar a regra de aprendizado da RNA. No modelo
de Bezdek, Tsao e Pal, uma variao no supervisionada da RNA LVQ acrescida de caractersticas fuzzy. Ao serem escolhidos esses modelos se est conferindo a este tutorial um
carter de aplicao de anlise de dados, especificamente para problemas de classificao e
agrupamento.
Para melhor direcionar a leitura deste tutorial, optou-se por organiz-lo da seguinte
forma: na Seo 2 oferecida uma reviso de conceitos necessrios ao entendimento do
contedo aqui apresentado; o algoritmo Fuzzy-c-Means discutido em detalhes na Seo
3 contextualizando-o na rea de Agrupamentos Fuzzy; na Seo 4 as Redes Neurais Fuzzy
derivadas da RNA LVQ so apresentadas. A Seo 5 apresenta alguns exemplos didticos
de aplicao dos algoritmos discutidos no tutorial. Um breve levantamento de iniciativas
que aplicam os modelos aqui discutidos apresentado na Seo 6 e, finalmente, na Seo 7
algumas consideraes finais so delineadas.

5 Learning Vector Quantization um dos modelos que, juntamente com Self-Organizing Maps e Adaptive Resonance
Theory, dominam a rea de agrupamento de dados baseado em RNA [46].

122

RITA Volume 19 Nmero 1 2012

Tutorial sobre Fuzzy-c-Means e Fuzzy Learning Vector Quantization: Abordagens Hbridas


para Tarefas de Agrupamento e Classificao

Conceitos Bsicos

Nesta seo so discutidos aspectos referentes a representao de dados, aprendizado


computacional, tarefas de anlise de dados, medidas de similaridade, erro de quantizao,
algoritmo c-Means clssico e modelo de RNA LVQ. O objetivo dessa discusso contextualizar o leitor no que diz respeito s teorias utilizadas nas demais sees.
2.1

Conjunto de Dados
No contexto deste tutorial, um conjunto de dados X definido como:

x1
x1,1

x
x
X = 2 = 2,1

x
n,1
xn

x1,2
x2,2

xn,2

x1,p
x2,p

xn,p

onde xj um vetor de p coordenadas e n o nmero de elementos do conjunto de dados.


Cada vetor representa um dado desse conjunto e cada coordenada desse vetor representa um
atributo descritivo do dado. O conjunto de dados X reside no espao <p , e este espao
referenciado pelos algoritmos de anlise de dados como espao dos dados, espao de
entrada ou espao vetorial.
Geralmente esses dados apresentam algum tipo de organizao que pode ser explicada
por meio de parties do conjunto de dados, e o estudo dessas parties uma tarefa de
anlise de dados. Essas parties podem ser caracterizadas como classes ou grupos de dados
(tambm comumente chamados de clusters), a depender, respectivamente, da existncia ou
no de algum tipo de informao discriminatria explcita sobre elas.
2.2

Aprendizado Computacional

Na teoria da rea de Inteligncia Artificial existem diferentes tipos de aprendizado


computacional que podem ser implementados por diferentes tcnicas. de interesse, neste
tutorial, um tipo especfico de aprendizado - o indutivo - nas modalidades supersionada e
no supervisionada, implementados por algoritmos de otimizao (c-Means, Fuzzy-c-Means,
RNA LVQ e suas variaes fuzzy).
No aprendizado indutivo, padres e regras (parties e funes) so determinados a
partir de um conjunto de dados ou representao de experincias. Na modalidade supervisionada, o algoritmo ajusta parmetros de uma funo a partir do erro medido entre as respostas
obtidas com o uso de tal funo e as respostas desejadas. J na modalidade no supervisio-

RITA Volume 19 Nmero 1 2012

123

Tutorial sobre Fuzzy-c-Means e Fuzzy Learning Vector Quantization: Abordagens Hbridas


para Tarefas de Agrupamento e Classificao
nada, os parmetros de uma funo so ajustados com base na maximizao de medidas de
qualidade aplicadas ao resultado apresentado com o uso de tal funo6 .
2.3

Tarefas de Anlise de Dados: Classificao e Agrupamento

O termo classe deve ser usado quando existe informao sobre quantas e quais so
as parties presentes no conjunto de dados, bem como qual dado pertence a qual partio.
Nesse caso, o trabalho de anlise de dados denominado classificao e se prope a determinar uma funo que seja capaz de realizar o mapeamento entre os dados e suas classes,
bem como mapear corretamente novos dados que venham a compor o conjunto de dados, trazendo ou no a informao sobre sua classificao. Formalmente, na tarefa de classificao,

o mapeamento de um conjunto de vetores de dados de entrada ( x <p ) para um conjunto C


7
finito de rtulos onde a cardinalidade de C c, modelado em termos de alguma funo:
F : <p W C
onde W um espao de parmetros ajustveis por meio de um algoritmo de aprendizado
supervisionado.
O termo grupo deve ser usado quando no existe qualquer informao sobre como
a organizao dos dados. Nesse caso, o trabalho de anlise de dados denominado agrupamento8 e tem por objetivo estudar as relaes de similaridade entre os dados, determinando
quais dados formam quais grupos. Os grupos so formados de maneira a maximizar a similaridade entre os elementos de um grupo (similaridade intra-grupo) e minimizar a similaridade
entre elementos de grupos diferentes (similaridade inter-grupos). Formalmente, dado um

conjunto de dados de entrada ( x <p ), encontrada uma funo:


G : <p W C
onde W um vetor de parmetros ajustveis, por meio de um algoritmo de aprendizado supervisionado ou no supervisionado, que determina c-classes ou grupos em X,
C = C1 , ..., Cc (c n) tal que [46]:
6 Para

mais detalhes sobre os diferentes tipos de aprendizado e sobre sua relao com a teoria de RNA, veja [34],
[12] e [10].
7 De acordo com [3], c pode ser definido dentro do intervalo ]1, n[ com o objetivo de rejeitar a hiptese de que o
conjunto de dados X apresenta dados agrupados quando c = 1 ou c = n. Se c = 1 tem-se a situao em que os
dados se encontram organizados em um nico grupo ou classe. J quando c = n tem-se a situao em que cada
dado do conjunto de dados representa um grupo ou classe.
8 A tarefa de agrupamento tambm conhecida como clusterizao.

124

RITA Volume 19 Nmero 1 2012

Tutorial sobre Fuzzy-c-Means e Fuzzy Learning Vector Quantization: Abordagens Hbridas


para Tarefas de Agrupamento e Classificao
1. Ci 6= , i = 1, ..., c;
Sc
2. i=1 Ci = X;
3. Ci Cj = , i, j = 1, ..., c and i 6= j, assumindo a abordagem de classificao ou agrupamentos clssica.
2.4

Teoria de Conjuntos Fuzzy

A TCF foi introduzida por Loft Zadeh [48] na dcada de 60, poca em que a viso
tradicional sobre como a informao cientfica deveria ser trabalhada (evitando incertezas)
estava comeando a ser revista. A essncia dessa teoria est na aceitao da incerteza como
um fato das situaes reais, que deve ser apropriadamente modelado e tratado por mtodos
matemticos. A ideia de incerteza passa pelas dificuldades em lidar com informaes imprecisas, falta de especificidade, conceitos vagos entre outras caractersticas que podem fazer
com que uma situao no parea clara ou ntida o suficiente para ser analisada pela teoria de
conjuntos crisp (ou clssica).
O objetivo da TCF tratar os fenmenos naturais ou as situaes reais como so, para
que se tenha uma modelagem muito mais prxima do que real. Segundo Klir e Yuan [15], a
possibilidade de estudar a incerteza tende a reduzir a complexidade dos modelos e a aumentar
a credibilidade dos mesmos.
A TCF uma generalizao da teoria de conjuntos clssica que, ao liberar os estudos
dos conjuntos da dicotomia imposta na teoria clssica, aumenta o poder de expressividade
dos conjuntos (veja a Figura 1), de forma que um elemento pode pertencer ou no a um
conjunto com determinados graus de pertinncia e, mais do que isso, pode pertencer, com
graus apropriados, a diferentes conjuntos definidos sobre um mesmo universo de discurso.
O que caracteriza a pertinncia de um elemento a um conjunto a funo caracterstica
que o define, associando, no caso de conjuntos crisp, os valores 0 ou 1 a cada elemento de
um universo de discurso, de forma a discrimin-lo como pertencente ou no ao conjunto em
questo. A funo f que define um conjunto crisp A do tipo:
fA : X {0, 1}
em que X o universo de discurso (um conjunto de elementos) e {0, 1} define um conjunto
de dois estados: 0 - no pertence; 1 - pertence.
No caso da TCF, uma funo caracterstica generalizada associa a cada elemento do
universo de discurso um valor de um intervalo, entre 0 e 1, indicando o grau de pertinncia
dos elementos ao conjunto. Essa funo assume o papel de funo de pertinncia que define

RITA Volume 19 Nmero 1 2012

125

Tutorial sobre Fuzzy-c-Means e Fuzzy Learning Vector Quantization: Abordagens Hbridas


para Tarefas de Agrupamento e Classificao

(a)

(b)

Figura 1. Interpretao geomtrica do poder de expressividade da teoria de conjuntos (a)


crisp e (b) fuzzy [32]. Em (a) existem apenas quatro vetores representados: (0;0), (0;1), (1;0)
e (1;1). Em (b) todos os vetores contidos no espao unitrio [0,1] esto representados. O
vetor (0,25;0,75) no pode ser representado na interpretao geomtrica da teoria de
conjuntos crisp.
um conjunto fuzzy. Assim, define-se a funo de pertinncia A de um conjunto fuzzy A
como sendo do tipo:
A : X [0, 1]
em que X o universo de discurso (um conjunto de elementos crisp) e [0, 1] define um
intervalo infinito de estados cujas extremidades significam a no pertinncia de um elemento
a um conjunto (0) e a pertinncia total de um elemento a um conjunto (1). Os demais nmeros
no intervalo significam diferentes graus de pertinncia de um elemento a um conjunto.
Diferentes funes de pertinncia podem ser definidas no mesmo universo de discurso.
Na Figura 2 so exibidos os grficos de duas funes que modelam a pertinncia do conjuntos
dos nmeros reais ao conjunto fuzzy 2, ou seja, elas modelam o conjunto de nmeros reais
prximos ao nmero 2. No eixo das abscissas est representado o universo de discurso, neste
caso, o conjunto dos nmeros reais; e no eixo das ordenadas esto os graus de pertinncia de
cada nmero real ao conjunto fuzzy 2.
Segundo o grfico da funo exibido na Figura 2(a), o nmero real 1, 5 pertence ao
conjunto fuzzy 2 com grau de pertinncia 0, 5. Em outras palavras, 1, 5 igual a 2 com grau
de certeza 0, 5. J na Figura 2(b) o nmero real 1, 5 possui um grau de pertinncia 0, 3 em
relao ao referido conjunto fuzzy.
Os conjuntos fuzzy definidos por tais funes de pertinncia possuem diferenas, mas
como representam o mesmo conceito, apresentam algumas similaridades (baseado em [15]):
em todos eles o nmero real 2 tem grau de pertinncia 1 (pertinncia total);

126

RITA Volume 19 Nmero 1 2012

Tutorial sobre Fuzzy-c-Means e Fuzzy Learning Vector Quantization: Abordagens Hbridas


para Tarefas de Agrupamento e Classificao

(a)

(b)

Figura 2. Duas funes de pertinncia diferentes para definir o conjunto de nmeros reais
prximos ao nmero 2, usando a noo de conjuntos fuzzy. (Adaptada de [15]). Observe-se
que funes de pertinncia diferentes definem conjuntos fuzzy distintos.
para todos os outros nmeros reais o grau de pertinncia < 1;
a funo de pertinncia que os definem simtrica em relao reta x = 2;
o funo de pertinncia monotonicamente decrescente, de 1 para 0, de acordo com o
aumento de |2 x|; e os nmeros reais que esto fora do intervalo [1, 3] (no universo
de discurso) no pertencem aos conjuntos ou pertencem com graus de pertinncia desprezveis.
2.5

Medidas de Similaridade

Os algoritmos que executam tarefas de anlise de dados geralmente utilizam alguma


medida de similaridade entre vetores em seu processo de execuo. Essas medidas servem
para guiar o processo de construo da superfcie de deciso que determinar qual a regio
de abrangncia de uma classe de dados no caso da tarefa de classificao, ou quais dados
pertencem a quais grupos no caso da tarefa de agrupamento.
A similaridade entre dois vetores corresponde a uma medida que compara a igualdade
dos mesmos, podendo tambm ser utilizada como uma forma de medir a distino entre eles
(a dissimilaridade). Normalmente, a similaridade calculada com base em uma medida de
distncia entre dois vetores.
Existem diferentes medidas de distncia que podem ser aplicadas nos processos de
anlise de dados, como Distncia Euclidiana, Distncia de Hamming, Distncia de Chebyschev, Distncia City-Block, Mtrica de Tanimoto, Mtrica de Mahalanobis etc. Cada uma
delas mais ou menos adequada a depender do tipo de tarefa a ser resolvida e do tipo de
dados utilizado. Para uma reviso detalhada sobre medidas de similaridade veja [9].
Neste tutorial, a medida de similaridade sempre aplicada visando medir o quo similares so um vetor de dados e um vetor que representa uma classe ou grupo. A Distncia
Euclidiana a mtrica escolhida para ser a base do clculo de similaridade entre vetores, que

RITA Volume 19 Nmero 1 2012

127

Tutorial sobre Fuzzy-c-Means e Fuzzy Learning Vector Quantization: Abordagens Hbridas


para Tarefas de Agrupamento e Classificao
calculada como:


d( v i , v j )

p
X

! 21
2

(vil vjl )

(1)

l=1

onde p a dimenso do espao dos vetores e v i e v j so os vetores sobre os quais se deseja


calcular a similaridade.
2.6

Erro de Quantizao

Segundo [10] a tarefa de agrupamento (e tambm de classificao) de dados pode


ser entendida como um processo de quantizao vetorial. Os vetores prottipos dos grupos
(ou classes), so tambm chamados de vetores quantizadores ou vetores de reconstruo, e
representam dados de uma determinada regio do espao.
Uma das formas de avaliar a quantizao do espao obtida mediante a aplicao de
um algoritmo de agrupamento (ou classificao) usando a medida do Erro de Quantizao.
Essa medida est baseada no clculo da mdia das distncias entre os dados e o vetor que
representa a regio onde os dados esto localizados, e calculada como:
n

Eq =



1 X

x j C i
n j=1

onde n o nmero de dados, x j um dado e C i o vetor representante do grupo ou classe

qual o dado x j pertence, sendo que i = arg minci=1 d(C i , x j ).


2.7

c-Means

O algoritmo c-Means foi um dos primeiros algoritmos propostos para anlise de


agrupamento9 . Nesse algoritmo, c agrupamentos so representados como um conjunto

C = {C 1 , ..., C c } de vetores chamados prottipos. Cada vetor prottipo sempre est associado representao de uma classe ou grupo do conjunto de dados e, para isso, deve residir
no mesmo espao <p que os dados do conjunto. O conjunto C representado por uma matriz
de dimenso c p.
Para alcanar seu objetivo, o algoritmo realiza vrias iteraes na busca de uma configurao tima de parmetros para minimizar JC M (Uh , C), que dado por:
9 Veja

128

um dos primeiros estudos sobre esse algoritmo, por MacQueen em 1967 [23].

RITA Volume 19 Nmero 1 2012

Tutorial sobre Fuzzy-c-Means e Fuzzy Learning Vector Quantization: Abordagens Hbridas


para Tarefas de Agrupamento e Classificao

JCM (Uh , C) =

c X
n
X

uij d(C i , x j )

(2)

i=1 j=1

onde d(C i , x j ), a distncia entre o vetor de dados x j e o prottipo do grupo C i , c o


nmero de grupos a ser determinado pelo algoritmo, n o nmero de dados no conjunto de
dados e Uh uma matriz binria chamada matriz de partio, de dimenses c n, definida
como:

u1,1
u2,1
..
.

Uh =
ui+1,1

..

.
uc,1

u1,2 u1,n
u2,2 u2,n

..
..
..
.
.
.

..
..
..
.
.
.
uc,2 uc,n

Nessa matriz de partio, cada elemento uij {0, 1} indica a associao de um

dado a um grupo. Um dado x j est associado ao grupo representado pelo prottipo C i se

uij = 1, caso contrrio, se uij = 0, o dado x j no est associado ao grupo i. Com o


processo de minimizao, os dados so associados aos grupos de forma que, quanto menores

forem as distncias entre o dado x e o vetor prottipo C associado a ele, menor o valor da
Equao (2).
Visto que o objetivo de um processo de agrupamento de dados associar um elemento
a um grupo, e que no caso do c-Means a base a teoria de conjuntos crisp, necessrio garantir que cada dado esteja associado a exatamente um grupo. Assim, o processo de minimizao
da Equao (2) deve obedecer condio:
c
X

uij = 1, j 1, ..., n.

i=1

garantindo que a soma das pertinncias de um dado x j a todos os grupos em C seja igual a
1, ou seja, cada coluna da matriz de partio deve possuir o valor 1 em uma e somente uma
clula.
Segundo Kruse, Dfing e Lesot [19], esta restrio garante parties exaustivas e evita
a soluo trivial para a minimizao de JCM , a qual consiste em no associar os dados aos
grupos (uij = 0 i, j).

RITA Volume 19 Nmero 1 2012

129

Tutorial sobre Fuzzy-c-Means e Fuzzy Learning Vector Quantization: Abordagens Hbridas


para Tarefas de Agrupamento e Classificao
Existe uma segunda restrio que precisa ser adicionada ao processo de otimizao
de JCM para garantir que todos os c grupos tenham, ao menos, um dado associado. Essa
restrio modelada por:
n
X

uij 1, i 1, ..., c.

j=1

tal que cada linha da matriz de partio deve possuir o valor 1 em pelo menos uma clula.
As duas prximas equaes so implementadas no processo de minimizao de JCM
que constitui o Algoritmo c-Means. A atualizao de Uh , dada por:
(
ut+1
ij

1, se i = arg minci=1 d(C i , x j )


0, caso contrrio.

(3)

onde t o contador de iteraes do processo de otimizao e ut+1


o valor da pertinncia
ij
do dados j ao grupo i na iterao t + 1, faz com que cada dado seja associado ao grupo cujo
prottipo o mais prximo a ele (possui a distncia mnima) dentre todos os prottipos. A
atualizao de C, calculada como:
n
P

uij x j

t+1
j=1
Ci = P
n

(4)
uij

j=1

estabelece novos vetores prottipos para os grupos de acordo com a mdia de todos os vetores
de dados associados a eles. O numerador da Equao 4 soma, para cada grupo, os vetores de
dados associados a eles.
Assumindo a Distncia Euclidiana (Equao (1)), o processo de minimizao de JCM
pode ser definido como no Algoritmo 110 .
O erro  usado como condio de parada do algoritmo um limite inferior para a alterao dos vetores prottipos representantes dos grupos: alteraes muito pequenas indicam
que as mudanas ocorridas nos grupos em formao no algoritmo no alteram, significativamente, a formao de cada grupo, indicando que o processo encontrou um ponto de mnimo.
10 Na

notao do tipo Ct entenda-se t como o indicativo da verso da varivel C que deve ser considerada, ou seja, a
verso da varivel C criada na iterao t. Esta observao vale para todas as ocorrncias desta notao nos algoritmos
apresentados neste texto.

130

RITA Volume 19 Nmero 1 2012

Tutorial sobre Fuzzy-c-Means e Fuzzy Learning Vector Quantization: Abordagens Hbridas


para Tarefas de Agrupamento e Classificao
Algoritmo 1 c-Means
Determine a quantidade de parties c;
Determine um valor pequeno e positivo para um erro mximo, , permitido no processo;
Inicialize o conjunto de prottipos C aleatoriamente, escolhendo c vetores prottipos dentro do menor
intervalo que contm todos os dados do conjunto; ou inicialize tais vetores escolhendo aleatoriamente
c dados do conjunto de dados;
Inicialize o contador de iteraes t como t = 0;
repita
t + +;
Atualize Uh de acordo com a Equao (3);
Atualize
C de acordo com a Equao (4);


at que C (t) C (t1) < 

O resultado apresentado pelo Algoritmo c-Means fortemente dependente da inicializao do parmetro c e da inicializao do conjunto de vetores prottipos C. Sendo assim, no
garantido que a otimizao realizada pelo algoritmo atingiu um mnimo global. Mnimos
locais so frequentemente encontrados nesse processo e, a fim de melhorar esse aspecto do
algoritmo, aconselhvel a execuo de diferentes instncias desse processo, com variaes
na inicializao dos dois parmetros citados.
2.8

Learning Vector Quantization

LVQ uma arquitetura de RNA, proposta por Teuvo Kohonen, caracterizada pelo uso
de um algoritmo de aprendizado competitivo e supervisionado baseado no conceito de distncia vetorial como forma de anlise de similaridade entre vetores (dados e prottipos)11 . Seu
objetivo analisar o espao dos dados dividindo-o em regies distintas e definindo um vetor
prottipo (um neurnio ou um vetor de reconstruo) para cada regio. Esse processo tambm conhecido como Quantizao Vetorial, da o nome da Learning Vector Quantization.
As coordenadas dos vetores prottipos so denominadas pesos sinpticos.
Basicamente, o algoritmo de aprendizado desta RNA usa a informao de classe como
um guia para movimentar os vetores prottipos no espao dos dados a fim de definir a superfcie de deciso de um modelo classificador. Para dar incio ao processo de aprendizado
desta arquitetura, um conjunto de vetores prottipos inicializado e a cada um deles atribudo um rtulo, correspondendo aos rtulos das classes presentes no conjunto de dados. A
inteno que cada um desses vetores j seja previamente associado a uma classe, cabendo
ao algoritmo de treinamento a funo de encontrar o melhor posicionamento para que cada
11 Eventualmente,

possvel encontrar uma variao do algoritmo de aprendizado desta RNA que no utiliza a
informao de classe dos dados, caracterizando-se como aprendizado no supervisionado.

RITA Volume 19 Nmero 1 2012

131

Tutorial sobre Fuzzy-c-Means e Fuzzy Learning Vector Quantization: Abordagens Hbridas


para Tarefas de Agrupamento e Classificao
vetor prottipo represente a classe a ele associada. importante ressaltar que a uma classe
possvel associar vrios vetores prottipos.
No processo de aprendizado, cada dado do conjunto de dados (vetores de entrada)
comparado aos vetores prottipos por meio da uma medida de similaridade. Se o rtulo
de classe do dado igual ao rtulo do vetor prottipo mais prximo a ele, este prottipo
deslocado na direo da localizao vetorial do dado. Caso contrrio, se as classes so
diferentes, o movimento se d para a direo contrria localizao vetorial do dado. O uso
da informao de classe para direcionar o aprendizado caracteriza a superviso. A escolha do
vetor prottipo mais prximo ao vetor do dado de entrada, dentre todo o conjunto de vetores
prottipo, caracteriza o aprendizado competitivo e formalmente descrita como:
k

Iv = arg min d(C i , x j )

(5)

i=1

onde Iv o ndice do prottipo vencedor (o prottipo mais prximo do dado).

Seja X o conjunto de dados para treinamento da LVQ; CLV Q = {C 1 , ..., C k }


o conjunto de vetores prottipos, tambm conhecido como neurnios de sada da LVQ;
RLV Q = {r1 , ..., rc }, com c k, o conjunto de rtulos aos quais esto associados cada
um dos vetores de dados e dos vetores prottipos. A regra que rege a competio apresentada na Equao (5). As regras de aprendizado so:

t+1

t+1

if x j (RLV Q ) = C Iv (RLV Q ) ento C Iv = C Iv + [ x j C Iv ];

if x j (RLV Q ) 6= C Iv (RLV Q ) ento C Iv = C Iv [ x j C Iv ];

(6)

(7)

onde t um contador de iteraes e o coeficiente de aprendizado, x j (RLV Q ) o

rtulo associado ao dado x j e C Iv (RLV Q ) o rtulo associado ao prottipo vencedor. O


Algoritmo 2 descreve os passos do processo de treinamento da LVQ.
O coeficiente de aprendizado desempenha um papel importante no processo de aprendizado da LVQ. Para entend-lo til ter uma viso geomtrica sobre como se comportam
os vetores envolvidos nas regras de aprendizado. Na Figura 3 esto ilustrados cada um dos
passos das operaes vetoriais executadas nas regras de aprendizado:

Na Figura 3(a) est representada a operao de subtrao ( x j C Iv , na iterao t),


que determina o deslocamento mximo que o vetor prottipo pode realizar.

132

RITA Volume 19 Nmero 1 2012

Tutorial sobre Fuzzy-c-Means e Fuzzy Learning Vector Quantization: Abordagens Hbridas


para Tarefas de Agrupamento e Classificao
Algoritmo 2 Algoritmo de treinamento da LVQ
Inicialize o conjunto de prottipos (neurnios) CLV Q aleatoriamente (ou use algum conhecimento a
priori);
Determine o rtulo r de cada vetor prottipo (conjunto de rtulos RcX1 );
Determine o coeficiente de aprendizado ;
enquanto condio de parada falsa faa
para Todos os dados j, com j = 1..., n faa

Encontre o prottipo vencedor C Iv de acordo com a Equao (5);

Adapte os pesos sinpticos de C Iv de acordo com as Equaes (6) ou (7) ;


fim para
Atualize o coeficiente de aprendizado (se necessrio e desejvel);
fim enquanto

Sobre esse vetor resultante atua o coeficiente de aprendizado determinando o tamanho


do deslocamento que o vetor prottipo efetivamente sofrer (Figura 3(b)). Note que
quanto menor for esse coeficiente, menor ser o deslocamento do vetor prottipo.
Nas Figuras 3(c) e 3(d) mostrado o efeito da terceira operao vetorial (adio ou
subtrao). No caso da adio, que ocorre quando a classificao sugerida pela LVQ
correta, o vetor resultante da operao est situado entre o vetor prottipo e o vetor
de dados, ou seja, houve a movimentao do vetor prottipo na direo do dado12 . No
caso da subtrao, que ocorre quando a classificao sugerida pela LVQ incorreta, o
efeito o contrrio.
Durante o treinamento de uma LVQ, o valor do coeficiente de aprendizado deve diminuir, de forma que no incio do treinamento os movimentos dos vetores prottipos sejam
amplos, maximizando a explorao do espao dos dados e, ao final do processo, os movimentos realizados pelos vetores prottipos sejam sutis, caracterizando um ajuste fino nos
seus posicionamentos. Assim, a atualizao do coeficiente de aprendizado pode ser realizada
por meio de uma funo monotnica decrescente, definida no intervalo [0,1]. Exemplos de
funes para atualizao do coeficiente de aprendizado so:
t = (0) 1 (

t
tmax

onde t o contador da iterao atual do algoritmo de treinamento; (0) o coeficiente de


aprendizado inicial; tmax o nmero mximo de iteraes do algoritmo; e
12 Se

o coeficiente de aprendizado 1 o vetor prottipo se torna vetor de dados. Esta situao pode no ser
benfica por contribuir para a ocorrncia do fenmeno de sobreajuste (overfitting).

RITA Volume 19 Nmero 1 2012

133

Tutorial sobre Fuzzy-c-Means e Fuzzy Learning Vector Quantization: Abordagens Hbridas


para Tarefas de Agrupamento e Classificao

(a)

(b)

(c)

(d)

Figura 3. Interpretao geomtrica das regras de aprendizado da LVQ.

t = (0) e
onde um parmetro responsvel pela taxa de reduo desejada. Como critrio de parada
para o processo de aprendizado pode-se considerar o nmero de iteraes mxima, o valor
mnimo para o coeficiente de aprendizado ou o erro de quantizao mximo, entre outros.
A Figura 4 ilustra, no espao bi-dimensional, alguns passos do processo de treinamento de uma LVQ. A Figura 4(a) mostra o contexto do problema no incio do processo de
treinamento. O treinamento inicia com um vetor de dados e o vetor prottipo vencedor da
competio para este dado. Ambos esto destacados pela ligao feita por uma flecha na
Figura 4(b). Na figura seguinte, a flecha indica a direo de deslocamento do vetor prottipo.
Nesse caso trata-se de um afastamento pois o vetor prottipo no representa a classe do vetor
de dados. Na sequncia apresentado o novo contexto do problema, com o vetor prottipo
j deslocado. As duas ltimas figuras (Figuras 4(e) e (f)) representam, respectivamente, um
contexto do problema em uma iterao intermediria do processo e o contexto do problema
na iterao final. Nessa ltima, observa-se que todos os vetores prottipos se deslocaram at
a posio onde representam bem os vetores de dados das classes s quais foram associados.

134

RITA Volume 19 Nmero 1 2012

Tutorial sobre Fuzzy-c-Means e Fuzzy Learning Vector Quantization: Abordagens Hbridas


para Tarefas de Agrupamento e Classificao

(a)

(b)

(c)

(d)

(e)

(f)

Figura 4. Passos do processo de treinamento de uma LVQ (Adaptada da execuo da


R
demonstrao nnd14lv1.m do Matlab ).
Legenda: quadrado: vetor de dados; cruz: vetor
prottipo; cor preta: classe 1; cor cinza: classe 2; quadrado circulado: classificao
incorreta; quadrado no circulado: classificao correta.

RITA Volume 19 Nmero 1 2012

135

Tutorial sobre Fuzzy-c-Means e Fuzzy Learning Vector Quantization: Abordagens Hbridas


para Tarefas de Agrupamento e Classificao

Agrupamento Fuzzy e Fuzzy c-Means

Conforme definido na Seo 2, a tarefa de anlise de dados por agrupamento o


processo de agrupar dados de um conjunto de forma que a similaridade entre os dados de
um grupo maximizada enquanto a similaridade entre dados de grupos diferentes minimizada. Entretanto, na prtica, separar dados em grupos pode exigir a considerao de fatores
de incerteza e impreciso, j que alguns dados podem se caracterizar como similares a dados de um ou mais grupos. O tratamento desses fatores pode ser realizado por meio da
TCF, transformando o processo de agrupamento clssico em um processo fuzzy. Entre os
algoritmos existentes para a realizao de agrupamento fuzzy est o Fuzzy-c-Means (FCM),
originalmente proposto em Bezdek, em 1981 [2], como uma alternativa ao algoritmo de agrupamento clssico c-Means. Esse algoritmo a base para a insero de caractersticas fuzzy
aos modelos neurais discutidos neste tutorial e o entendimento de seus princpios essencial
para promover o uso adequado de tais modelos. Esta seo dedicada a discutir a tarefa de
agrupamento fuzzy e o algoritmo FCM.
3.1

Agrupamento Fuzzy

Formalmente, considerando o conjunto de dados X com n elementos, o nmero de


agrupamentos c e a definio de conjuntos fuzzy, como apresentados na Seo 2, no agrupamento fuzzy os c grupos fuzzy formam uma partio fuzzy Cf de X. Cf uma matriz c n
cujos valores so por:

ij = i ( x j ), 1 i c, 1 j n
satisfazendo trs condies:
0 ij 1, i, j
c
X

ij = 1, j

(8)

(9)

i=0

0<

n
X

ij < n, i.

(10)

j=0

onde ij o grau de pertinncia de x j ao i-simo grupo fuzzy de X.

136

RITA Volume 19 Nmero 1 2012

Tutorial sobre Fuzzy-c-Means e Fuzzy Learning Vector Quantization: Abordagens Hbridas


para Tarefas de Agrupamento e Classificao
A primeira restrio trata da questo de normalidade de conjuntos fuzzy. A segunda
restrio trata da diviso da pertinncia do dado em pertinncias a um ou vrios grupos. A
terceira restrio impede que qualquer grupo seja vazio (sem dados associados a ele); e que
um grupo tenha associado a ele todos os dados do conjunto com pertinncia mxima (1). Se
todos os valores de ij pertencerem ao conjunto {0, 1}, ento os grupos so definidos como
grupos crisp do conjunto X [3], [4].
Bezdek et al. [3] exemplificou o processo de agrupamento fuzzy por meio de objetos,
como os contidos na Figura 5(a). Para agrupar esse conjunto de objetos, trs grupos foram
criados: das MAS, das PERAS e das LARANJAS. A Figura 5(b) ilustra um processo
de agrupamento grfico (ou espacial) desses objetos, cuja metodologia consiste em: colocar
sobre cada objeto um rtulo que indica a qual grupo natural ele pertence, onde P = Pera
(objeto com a marca P, pertencente ao grupo natural das Peras), M=Ma, L=Laranja, com
exceo do objeto oval O3, um LIMO, que representa uma anomalia nos dados, frente a
rotulao definida neste exemplo.

(a)

(b)

Figura 5. Objetos separados em grupos naturais: (a) Objetos fsicos para agrupamento. (b)
Agrupamento Grfico. Adaptado de [3].
As Tabelas 1 e 2 representam, respectivamente, as matrizes Uh (matriz de parties
clssica) e Uf (matriz de parties fuzzy, discutida na Seo 3.2), resultantes dos processos
de agrupamento crisp e do agrupamento fuzzy. Note que no agrupamento crisp o objeto
O3 foi definido como sendo uma Laranja (objeto pertence ao grupo das Laranjas com grau
de pertinncia 1). No agrupamento fuzzy, esse mesmo objeto foi mais bem agrupado como
Laranja (o maior grau de pertinncia para este objeto 0,85), entretanto, ele tambm possui
caractersticas de Ma e de Pera, visto que pertence a esses grupos com graus de pertinncia
0,09 e 0,06, respectivamente.
Diferentes graus de pertinncia de um dado a diversos grupos permitem diferentes

RITA Volume 19 Nmero 1 2012

137

Tutorial sobre Fuzzy-c-Means e Fuzzy Learning Vector Quantization: Abordagens Hbridas


para Tarefas de Agrupamento e Classificao

P
L
M
Total

O1
0
0
1
1

O2
0
1
0
1

O3
0
1
0
1

O4
1
0
0
1

O5
1
0
0
1

O6
0
1
0
1

O7
0
0
1
1

O8
0
0
1
1

O9
0
1
0
1

O10
1
0
0
1

O11
0
1
0
1

O12
0
0
1
0

Tabela 1. Resultado do Processo de Agrupamento Crisp.

P
L
M
Total

O1
0,05
0
0,95
1

O2
0
0,97
0,03
1

O3
0,06
0,85
0,09
1

O4
0,93
0
0,07
1

O5
0,92
0
0,08
1

O6
0
0,99
0,01
1

O7
0
0,21
0,79
1

O8
0
0,19
0,81
1

O9
0,09
0,82
0,09
1

O10
0,75
0,13
0,12
1

O11
0,10
0,80
0,10
1

O12
0,1
0,25
0,65
1

Tabela 2. Resultado do Processo de Agrupamento Fuzzy.

interpretaes de agrupamento, o que no acontece no processo de agrupamento crisp. Alm


disso, essa modelagem fuzzy produziu uma soluo com estrutura mais rica e flexvel que a
soluo dada pelo modelo crisp.
3.2

Fuzzy-c-Means

O algoritmo FCM tem como objetivo encontrar grupos fuzzy para um conjunto de dados. Para alcanar este objetivo, o algoritmo precisa minimizar uma funo que diz respeito
minimizao das distncias entre os dados e os centros dos grupos aos quais tais dados
pertencem com algum grau de pertinncia [46]. A minimizao da funo citada deve produzir grupos mais adequados (melhores ou mais naturais) do que aqueles produzidos pelo
algoritmo c-Means clssico. Tal funo dada por:

JF CM (Uf , M) =

c X
n
X

m
(ij ) d(mi , x j )

(11)

i=1 j=1

onde,
n, c e ij foram definidos anteriormente neste tutorial;
m um nmero real positivo, tal que m (1, ), utilizado como parmetro de
fuzificao e discutido mais frente neste texto;

138

RITA Volume 19 Nmero 1 2012

Tutorial sobre Fuzzy-c-Means e Fuzzy Learning Vector Quantization: Abordagens Hbridas


para Tarefas de Agrupamento e Classificao

d(mi , x j ) a distncia entre o vetor de dados xj e o vetor prottipo representante da

i-sima partio fuzzy mi ;


Uf uma matriz de pertinncias fuzzy, de dimenses c n, definida de acordo com:

1,2 1,n
2,2 2,n
..
..
..
.
.
.
i,2 i,n
..
..
..
.
.
.

..
..
..
.
.
.

1,1
2,1
..
.

i,1

Uf =
..

i+1,1

..

.
c,1 c,2 c,n

A construo e atualizao desta matriz acontecem durante o processo de minimizao


da Equao (11), seguindo o disposto em13 :
t+1
ij =

1
c
P

l=1


d( C l , x j )

d( C i , x j )

(12)

1
 1m

sendo que duas excees devem ser tratadas:


(
t+1
ij

1
0

se d(C i , x j ) = 0

se d(C l , x j ) = 0, (l 6= i e 1 l, i c)

M uma matriz de prottipos de grupos. mi so vetores prottipos. A matriz possui


dimenses c p e definida por:


m1
m1,1

m2 mi,1

M=
= mi+1,1

mc,1
mc

m1,2
mi,2

mc,2

m1,p
mi,p


mc,p

A inicializao dessa matriz aleatria e sua atualizao ocorre durante o processo de


minimizao da Equao (11), seguindo o disposto em14 :
13 Esta
14 Esta

atualizao est discutida em detalhes na Seo 3.3.


atualizao est discutida em detalhes na Seo 3.4.

RITA Volume 19 Nmero 1 2012

139

Tutorial sobre Fuzzy-c-Means e Fuzzy Learning Vector Quantization: Abordagens Hbridas


para Tarefas de Agrupamento e Classificao

n
P
t+1
j=1
mi =
n
P

t+1
ij

j=1

m

t+1
ij

xj

m

(13)

onde i = 1, ..., c e j = 1, ..., n, t um contador de iteraes inicializado em 0 e x j


o vetor representante do dado xj que analisado em relao s suas pertinncias aos
grupos.
Assumindo a Distncia Euclidiana (Equao (1)), o processo de execuo do FCM
pode ser definido, segundo [3], como descrito no Algoritmo 3.
Algoritmo 3 Fuzzy-c-Means
Determine o valor do parmetro de fuzificao m;
Determine a quantidade de parties fuzzy c;
Determine um valor pequeno e positivo para o erro mximo, , permitido no processo;
Inicialize a matriz de prottipos M aleatoriamente;
Inicialize o contador de iteraes t como t = 0;
repita
t + +;
Atualize Uf de acordo com a Equao (12);
Atualize
a Equao (13);
M de acordo com


at que M(t) M(t1) < 

A definio dos valores iniciais para os parmetros m, c e M influencia o resultado


a ser obtido ao final do processo e, devido ao carter aleatrio ou subjetivo de definio dos
mesmos, vrias execues do algoritmo devem ser realizadas para que se tenha um panorama
da sua robustez na resoluo de um problema especfico. Alm disso, entender o processo
de atualizao da matriz de pertinncias fuzzy Uf e da matriz de prottipos M essencial
para que se tenha condies de trabalhar adequadamente com o algoritmo Fuzzy c-Means.
Os processos de atualizao de tais matrizes so discutidos na sequncia.
3.3

Estudo da atualizao da Matriz de Pertinncias Fuzzy Uf

O processo de atualizao de cada elemento ij da matriz Uf (Equao (12)) mantm


o ndice i no grupo ao qual se quer calcular a pertinncia do dado j, enquanto varia o ndice l
em todos os grupos. Isso significa que a pertinncia de um dado j a um grupo i dependente
das relaes desse dado com todos os demais grupos. A influncia dessas relaes no clculo
das pertinncias ij ponderada por meio do parmetro m.

140

RITA Volume 19 Nmero 1 2012

Tutorial sobre Fuzzy-c-Means e Fuzzy Learning Vector Quantization: Abordagens Hbridas


para Tarefas de Agrupamento e Classificao
De acordo com [46], a definio de m = 2 permite a seguinte simplificao da Equao (12):
t+1
ij = P
c

1
(

l=1


d( C l , x j )

d( C i , x j )

1
(12)

= P
c

1
(

l=1


d( C l , x j )

d( C i , x j )

)1

= P
c
l=1

1
(


d( C i , x j )

d( C l , x j )

resultando em:
t+1
ij = P
c
l=1

1
(


d( C i , x j )

d( C l , x j )

(14)
)

Desta forma, se o parmetro m valorado com 2, o grau de pertinncia ij obtido


unicamente em funo das razes entre as distncias e o dado j e os centros de grupos.
Caso a distncia entre o dado j e o centro do grupo i esteja prxima de zero, o grau
de pertinncia ij tender a 1, que significa que o dado j tem alta pertinncia quele grupo,
como mostrado por:

lim


d( C i , x j )0

c
P

l=1


d( C i , x j )

d( C l , x j )

=
)

lim


d( C i , x j )0

1
c
P
l=1l6=i


d( C i , x j )

d( C l , x j )

)+


d( C i , x j )

d( C i , x j )

1
=1
0+1

Para o caso em que d(C i , x j ) 6= 0, interessante analisar o efeito das razes entre

d(C i , x j ) e d(C l , x j ) no valor dos termos da somatria (Equao (14)) e consequentemente


nos valores das pertinncias ij . Quanto maior for o resultado de uma razo dentro da somatria, maior ser sua influncia sobre a soma total, contribuindo para a reduo do grau de
pertinncia ij . Isso equivalente a afirmar que, quanto maior for a distncia de um dado j
ao centro de um grupo i menor ser o seu grau de pertinncia a esse grupo.
Estas situaes so ilustradas na Figura 6. Nota-se que nas situaes em que a distncia entre o dado j e o centro do grupo i menor que a distncia entre o dado j e outros
centros dos outros grupos, a pertinncia ij maior. O caso contrrio tambm vlido.

RITA Volume 19 Nmero 1 2012

141

Tutorial sobre Fuzzy-c-Means e Fuzzy Learning Vector Quantization: Abordagens Hbridas


para Tarefas de Agrupamento e Classificao

(a)

(b)

(c)

(d)

Figura 6. Exemplo do clculo de ij no FCM, com m = 2: (a) e (b) so grficos


representando as distncias similares (a) e discrepantes (b), entre o dado e os centros dos
clusters; (c) e (d) so os clculos referentes aos grficos (a) e (b), respectivamente.

142

RITA Volume 19 Nmero 1 2012

Tutorial sobre Fuzzy-c-Means e Fuzzy Learning Vector Quantization: Abordagens Hbridas


para Tarefas de Agrupamento e Classificao
Por outro lado, assumindo m 6= 2, observa-se que existe uma alterao na influncia
das relaes entre as distncias dos dados aos centros dos grupos, de acordo com o valor
1
. Para (m ), ij no calculado em funo das distncias
resultante no expoente (1m)
entre dados e os centros dos grupos, e sim em funo da quantidade de grupos c, como
demostrado em:
1

lim

c
P
l=1


d( C l , x j )

d( C i , x j )

=
1
 1m

1
c
P
l=1


d( C l , x j )

d( C i , x j )

1
0 = P
c

=
1

1
c

(15)

l=1

Consequentemente, o dado ter o mesmo grau de pertinncia a todos os grupos, conforme comentado em [4].
A fim de melhor entender o comportamento do algoritmo mediante a parametrizao
de m, um exemplo numrico aqui desenvolvido. A Tabela 3 mostra o efeito causado pela
variao de m na formao dos grupos fuzzy da Figura 6(b). Observe que para uma mesma

situao, a pertinncia do dado x 1 aos grupos representados pelos prottipos m1 , m2 , m3


varia.
Parmetro de
fuzificao m
3
2
3/2

1,1

2,1

3,1

0, 253
0, 182
0, 081

0, 309
0, 273
0, 184

0, 438
0, 545
0, 735

Tabela 3. Influncia do parmetro de fuzificao m nos graus de pertinncia de um dado aos


grupos. Com valores de m mais altos, as diferenas entre os graus de pertinncias so
atenuadas.

Assim, analisando o intervalo dos possveis valores de m ((1, )), observa-se que o
valor 2 atua como um ponto de referncia. medida que o valor de m aumenta, o mdulo
1
do denominador da frao 1m
tambm aumenta, diminuindo, portanto, a diferena entre os
valores de cada parcela do somatrio e consequentemente diminuindo a diferena entre os
valores de ij . Inversamente, a medida que m se aproxima de 1, cada parcela do somatrio
passa a ter um expoente e no um radical, aumentando o valor das parcelas e por consequncia
a diferena entre os valores de ij .
Na Seo 3.4 mostrado como tal variao tem influncia direta sobre a atualizao
da matriz M e por isso tem tambm influncia sobre a formao final dos grupos ao final do
processo de agrupamento.

RITA Volume 19 Nmero 1 2012

143

Tutorial sobre Fuzzy-c-Means e Fuzzy Learning Vector Quantization: Abordagens Hbridas


para Tarefas de Agrupamento e Classificao
3.4

Estudo da atualizao da Matriz de Prottipos M

O processo de atualizao de cada elemento da matriz de prottipos M (Equao (13))


baseada nos graus de pertinncia dos dados a um grupo, especificamente aquele cujo vetor
prottipo relacionado est sendo alterado. Nesse processo, o ndice i fixo em um grupo
enquanto o ndice j varia em todos os dados do conjunto de dados. Isso significa que a

posio de um vetor mi dependente das posies dos vetores de dados x j e de seus graus
de pertinncias aos grupos i (ij )15 . A influncia destas relaes no clculo da posio final

de mi ponderada pelo parmetro de fuzificao m.


Para entender a influncia dos graus de pertinncia ij na atualizao dos vetores

prottipo mi , a Tabela 3 estendida (Tabela 4) de forma a ilustrar que, quanto maior for o
grau de pertinncia do dado ao grupo, maior a sua contribuio na operao vetorial (maior
a influncia/peso exercida(o) pelo dado no deslocamento do vetor prottipo) realizada na

Equao (13), que reposiciona o vetor prottipo mi sob alterao.


Parmetro de
fuzificao m

1,1

3
2
3/2

0, 253
0, 182
0, 081

Peso no
deslocamento

de m3
0, 016
0, 033
0, 023

2,1

0, 309
0, 273
0, 184

Peso no
deslocamento

de m3
0, 030
0, 075
0, 079

3,1

0, 438
0, 545
0, 735

Peso no
deslocamento

de m3
0, 084
0, 297
0, 630

Tabela 4. Influncia dos graus de pertinncia no reposicionamento do vetor m3 .

J a influncia do parmetros de fuzificao m sobre o reposicionamento do vetor


m3 melhor entendida considerando diferentes possibilidades de graus de pertinncia de um
dado a um grupo, como na Tabela 5.

De acordo com os dados apresentados na Tabela 5, quanto maior o valor do parmetro m mais suave ser o reposicionamento dos vetores na matriz M, visto que a ponderao
de m faz com que diminua a influncia dos dados sobre tal reposicionamento.
A Tabela 6 mostra o resultado da execuo do FCM sobre um conjunto de dados
didtico (veja a representao grfica na Figura 7). Observe que existe uma tendncia a
aumentar o erro de quantizao quando se aumenta o valor do parmetro m e, para altos
valores de m, os prottipos tendem a se aproximar do centro do conjunto de dados, como
ilustrado na Figura 7(d) e (e). Portanto, plausvel afirmar que para valores altos de m
15 A

operao vetorial executada nesse processo tem uma interpretao geomtrica similar quela executada no
processo de aprendizado da LVQ (veja Figura 3).

144

RITA Volume 19 Nmero 1 2012

Tutorial sobre Fuzzy-c-Means e Fuzzy Learning Vector Quantization: Abordagens Hbridas


para Tarefas de Agrupamento e Classificao
Parmetro de
fuzificao m

1,1
0, 253

7
3
2
1, 5
1, 01

2,1
0, 309

Peso no
deslocamento

de m3
0, 000
0, 016
0, 064
0, 127
0, 250

Peso no
deslocamento

de m3
0, 000
0, 030
0, 095
0, 172
0, 305

3,1
0, 438

Peso no
deslocamento

de m3
0, 003
0, 084
0, 192
0, 290
0, 434

Tabela 5. Influncia do parmetro de fuzificao m no reposicionamento do vetor m3 .

o algoritmo apresenta resultados com grupos menos bem definidos. Mais exemplos sobre
resultados obtidos com a variao desses parmetros so mostrados na Seo 5.
Parmetros de
fuzificao m
1
1.1
1.5
2
2.5
3
3.5

Nmero de
Iteraes
0
2
4
7
11
38
22

Erro de
Quantizao
Indefinido
0, 0838
0, 0839
0, 0852
0, 0904
0, 1018
0.5135

Parmetros de
fuzificao m
4
4.5
5
5.5
6
6.5
7

Nmero de
Iteraes
18
16
15
14
14
13
13

Erro de
Quantizao
0, 5136
0, 5137
0, 5139
0, 5139
0, 5141
0, 5141
0, 5141

Tabela 6. Execuo do algoritmo FCM, com variao no parmetro de fuzificao m. A


condio de parada para estas execues uma movimentao mnima na autalizao da
matriz M.

O comportamento discutido acima pode ser formalmente verificado. De acordo com


Bezdek et al. [3], para atualizao da matriz M, executada por meio da Equao (13), caso o

valor de m tenda a infinito, os novos valores de mi sero a posio mdia dos dados pertencentes quele grupo, conforme demonstrado por:

n
P

lim

j=1
n
P

t+1
ij

j=1

m

n
P

xj

m
t+1
ij

= lim

j=1
n
P


1 m
xj
c

j=1

RITA Volume 19 Nmero 1 2012


1 m
c

= lim

n
 P
1 m
xj
c
j=1
n
 P
1 m
1
c
j=1

n
P

xj

j=1

(16)

145

Tutorial sobre Fuzzy-c-Means e Fuzzy Learning Vector Quantization: Abordagens Hbridas


para Tarefas de Agrupamento e Classificao

0.9

0.9

0.9

0.8

0.8

0.8

0.7

0.7

0.7

0.6

0.6

0.6

0.5

0.5

0.5

0.4

0.4

0.4

0.3

0.3

0.3

0.2

0.2

0.1

0.1

0.2
0.1

0
0

0.2

0.4

0.6

0.8

0
0

0.2

0.4

(a)

0.6

0.8

0.2

0.4

(b)

0.6

0.8

(c)

1
0.9

0.369

0.8

0.368

0.7
0.367
0.6
0.366
0.5
0.365

0.4
0.3

0.364

0.2
0.363
0.1
0.362

0
0

0.2

0.4

0.6

0.8

0.497

(d)

0.498

0.499

0.5

0.501

0.502

0.503

(e)

Figura 7. Plotagem do conjunto de dados (cruzes) e os prottipos representantes de grupos


(crculos): (a) Condies iniciais; (b) Resultado para m = 1, 1; (c) Resultado para m = 2;
(d) Resultado para m = 7; (e) Viso mais detalhada para resultado para m = 7.
onde t+1
ij

m

1
c

de acordo com a Equao (15).

4 Fuzzy Learning Vector Quantization


Nesta seo so discutidos dois modelos de Redes Neurais Fuzzy baseados na LVQ. A
primeira, proposta em [5], caracteriza-se como um modelo de aprendizagem supervisionada
cujo processo bastante similar ao processo da LVQ clssica. A segunda, proposta em [4],
caracteriza-se por um processo de aprendizagem no supervisionada, tornando o processo de
aprendizado da LVQ similar ao prprio FCM ou mesmo a um modelo simplificado de uma
rede neural auto-organizvel como SOM16 .
4.1

Fuzzy LVQ com aprendizagem supervisionada

Conforme discutido em [5], identificam-se dois objetivos principais na execuo de


uma LVQ: (a) maximizao da taxa de classificaes corretas e; (b) minimizao do erro de
quantizao.
16 Do ingls Self-Organizing Map (SOM), rede neural artificial baseada em aprendizado auto-organizvel competitivo, tambm proposta por Teuvo Kohonen [16].

146

RITA Volume 19 Nmero 1 2012

Tutorial sobre Fuzzy-c-Means e Fuzzy Learning Vector Quantization: Abordagens Hbridas


para Tarefas de Agrupamento e Classificao
Motivados pelo alcance efetivo desses objetivos e pelas facilidades oferecidas pelo
algoritmo FCM, Chung e Lee definem em [5] uma funo objetivo para o modelo Fuzzy
LVQ. Esta funo dada por:

Qm (Uf , M) =

n
X

Qm
j (Uf , M) =

j=1

n X
c
X

[ij (ij ) ] d(C i , x j )

j=1 i=1

onde:

os termos m, Uf , M, n, c e d(C i , x j ) foram definidos anteriormente neste tutorial;


i = 1, ..., c e j = 1, ..., n;
as condies de agrupamento fuzzy, expressas nas Equaes (8), (9) e (10), devem ser
obedecidas;
ij o grau de pertinncia esperado do dado xj classe i, representando o rtulo
de classe que ser utilizado no modelo de aprendizado supervisionado. Tais graus de
pertinncia esperados esto organizados em uma matriz , de dimenses c n.
A otimizao dessa funo considera a minimizao das a) diferenas entre os graus
de pertinncia esperados (ij ) e os graus de pertinncia obtidos (ij ) e; b) distncias entre os
dados e os centros das classes procuradas; que correspondem, respectivamente, aos objetivos
que Chung identifica para a LVQ.
O processo de execuo da Fuzzy LVQ (minimizao do funo objetivo) est definido
no Algoritmo 4. Comparativamente aos algoritmos FCM e de treinamento da LVQ, esse
algoritmo, respectivamente:
realiza as atualizaes das matrizes de pertinncia Uf e de prottipos M, de maneira
similar ao algoritmo FCM.
faz uso de classificaes de dados, conhecidas a priori, num processo de aprendizado
supervisionado como no algoritmo da LVQ;
Para definio da matriz , considerado que um dado pertena a apenas uma classe,
ento o respectivo grau de pertinncia deve ser valorado com 1, enquanto os demais referentes
a esse dado devem ser valorados com 0. O critrio de parada definido segundo o projetista
do modelo, que poder aplicar, assim como no FCM, o conceito do erro mximo permitido

RITA Volume 19 Nmero 1 2012

147

Tutorial sobre Fuzzy-c-Means e Fuzzy Learning Vector Quantization: Abordagens Hbridas


para Tarefas de Agrupamento e Classificao
Algoritmo 4 Algoritmo de treinamento da Fuzzy LVQ supervisionada
Determine o valor do parmetro de fuzificao m;
Determine o valor do coeficiente de aprendizado inicial da rede (0) ;
Determine a quantidade de classes c;
Determine o critrio de parada a ser utilizado;
Defina a matriz de pertinncias esperadas ;
Inicialize a matriz de prottipos M aleatoriamente ou com algum conhecimento a priori;
Inicialize o contador de iteraes t;
enquanto condio de parada falsa faa
para Cada dado j, com j = 1..., n faa
para Cada vetor prottipo i, com i = 1, ..., c faa
Atualize Uf , segundo a Equao (17);
Aualiza M, segundo a Equao (18);
fim para
fim para
Atualize a taxa de aprendizado ;
Incremente o contador de iteraes t;
fim enquanto

, ou como definido no processo de aprendizado da LVQ, um valor mnimo para a taxa de


aprendizado , ou ainda, um valor mximo para o nmero de iteraes t.
Aps estas definies, inicia-se o processo de minimizao que constitui o algoritmo
da Fuzzy LVQ, por meio da atualizao das matrizes Uf e M. Para atualizao da matriz de
pertinncias Uf aplica-se (adaptado de [5]):

ut+1
ij =

1
c
P
l=1


d( C i , x j )

d( C l , x j )

1
 (m1)

(17)

para i = 1, ..., c e j = 1, ..., n.


A equivalncia das Equaes (17) e (12) mostrada por:

148

RITA Volume 19 Nmero 1 2012

Tutorial sobre Fuzzy-c-Means e Fuzzy Learning Vector Quantization: Abordagens Hbridas


para Tarefas de Agrupamento e Classificao

ut+1
ij =

1
c
P

l=1


d( C i , x j )

d( C l , x j )

=
1
 (m1)

l=1

l=1

=
c
P

1
c
P


d( C l , x j )

d( C i , x j )

=
1
 (m+1)


d( C l , x j )

d( C i , x j )

=
1
 (1)(m1)

1
c
P
l=1


d( C l , x j )

d( C i , x j )

1
 (1m)

portanto, os estudos j apresentados sobre o parmetro m tambm se aplicam no presente


caso.
A atualizao da matriz M, que corresponde regra de aprendizado do modelo, ocorre

por meio da movimentao de todos os vetores prottipos representantes de classes mi , seguindo o disposto em:
(t+1) (t)
mi
=mi




(t)
+ [ij (uij ) ] xj mi
t

(18)

onde a taxa de aprendizado, a qual sofrer atualizaes de formas anlogas quelas aplicadas no processo clssico da LVQ. Por meio da Equao (18) nota-se que a atualizao de
M calculada em funo do termo [ij (uij )m ]. Semelhantemente ao processo de aprendizado da LVQ, caso esse termo seja negativo, o centro da classe (o prottipo) ser afastado
do dado, caso contrrio, ser atrado pelo dado. A incluso deste termo fuzificou a regra de
aprendizado da LVQ, considerando que:
a direo de movimento dos vetores prottipos determinada de acordo com o sinal da
diferena entre os graus de pertinncia atuais dos dados s classes;
a intensidade do movimento dos vetores prottipos ponderada tanto pelo coeficiente
de aprendizado quanto pela diferena entre as pertinncias verificadas e as pertinncias
esperadas;
as pertinncias verificadas so ponderadas pelo parmetro de fuzificao m e as discusses j realizadas em relao a estes parmetros podem ser mapeadas para o presente
caso: quanto maior o valor de m mais suave a influncia das pertinncias verificadas
no processo de aprendizado.

RITA Volume 19 Nmero 1 2012

149

Tutorial sobre Fuzzy-c-Means e Fuzzy Learning Vector Quantization: Abordagens Hbridas


para Tarefas de Agrupamento e Classificao
4.2

Fuzzy LVQ com aprendizagem no supervisionada

Bezdek et al. [3] definiram um algoritmo para a Fuzzy LVQ que no utiliza os conceitos do aprendizado supervisionado, pois no utiliza o rtulo de classe em sua execuo. Esse
algoritmo possui duas importantes caractersticas: (a) utiliza os prottipos no vencedores da
competio na determinao da taxa de aprendizado, introduzindo no processo uma ideia de
vizinhana similar existente no algoritmo SOM; (b) automatiza, at certo ponto, a escolha
do valor do parmetro de fuzificao m.
Diferentemente do que acontece no FCM e na Fuzzy LVQ supervisionada, o valor do
parmetro de fuzificao alterado durante o processo de execuo do algoritmo de treinamento da Fuzzy LVQ no supervisionada. A maneira como ele alterado (de forma crescente
ou descrescente, ou sem alterao) determina em qual famlia das Fuzzy LVQ o algoritmo
ser classificado. Tais famlias so nomeadas da seguinte forma:
Fuzzy LVQ Decrescente - Fuzzy LVQ, onde m(0) > m(f ) ;
Fuzzy LVQ Crescente - Fuzzy LVQ, onde m(0) < m(f ) ;
Fuzzy LVQ - Fuzzy LVQ constante, onde m(0) = m(f ) .
onde m(0) e m(f ) denotam, respectivamente, os valores inicial e final definidos para o
parmetro de fuzificao m, antes da execuo do algoritmo. Aps inspees experimentais,
Bezdek et al. [3] recomendam que os valores de m(0) e m(f ) sejam valorados no intervalo
]1,01 , 7[. Dessa forma, no caso da Fuzzy LVQ, o seguinte critrio deve ser obedecido:
7 > m(0) > m(f ) > 1, 01. A regra proposta como forma de atualizar esse parmetro em
funo do tempo de execuo do algoritmo de treinamento, expressa por:

m(t) = m(0) + t

m(f ) m(0)
;
T

(19)

onde: t o contador de iteraes do algoritmo; T o nmero mximo de iteraes;


m(f ) ,m(0) , m(t) , representam, respectivamente, os valores final, inicial e na iterao t, do
parmetro de fuzificao m. Note que esta regra aplicvel em qualquer uma das famlias da
Fuzzy LVQ no supervisionada.
Na Fuzzy LVQ proposta por Bezdek et al. [3] no existe atualizao explcita da Matriz
de Pertinncia Uf , como ocorre no FCM e na Fuzzy LVQ supervisionada. Na Fuzzy LVQ
no supervisionada, o valor do coeficiente de aprendizado corresponde ao valor do grau de
pertinncia do dado ao grupo, ponderado pelo parmetro m, conforme demonstrado em:

150

RITA Volume 19 Nmero 1 2012

Tutorial sobre Fuzzy-c-Means e Fuzzy Learning Vector Quantization: Abordagens Hbridas


para Tarefas de Agrupamento e Classificao

(t)

m(t)

Fuzzy ij = ij

m(t)

1
c
P

d( C l , x j )

1
1m

(20)

l=1 d( C i , x j )

Note que no algoritmo FCM, os graus de pertinncia do dado ao grupo tambm so


ponderados pelo parmetro m (conforme pode ser visto na Equao(13)).
Assim como no processo da Fuzzy LVQ supervisionada, a atualizao dos vetores pro
ttipos (Matriz M) mi ocorre em funo da posio atual do vetor, das taxas de aprendizado

calculadas anteriormente, e das distncias entre vetores representantes dos dados xj e centros

dos grupos mi no instante t 1, conforme demonstrado em:


n
P
(t) (t1)
mi =mi

j=1

(t)

Fuzzy ij (xj mi )(t1)


n
P
s=1

(21)
(t)

Fuzzy ij

Analisando a Equao (21), referente atualizao dos prottipos da Fuzzy LVQ no


supervisionada, e a Equao (13), referente atualizao dos prottipos do FCM, nota-se que
o diferencial entre os dois algoritmos est pautado em duas questes:
na considerao ou no da posio atual do prottipo no clculo da nova posio. Na
realidade, a Fuzzy LVQ no supervisionada, seguindo os princpios da LVQ, executa
um deslocamento no vetor prottipo, enquanto que o FCM realiza uma substituio do
vetor prottipo.
na possibilidade de atualizar o parmetro de fuzificao, conferindo Fuzzy LVQ no
supervisionada um carter mais autnomo em relao a este parmetro.
O processo de execuo da Fuzzy LVQ pode ser definido conforme descrito no Algoritmo 5 [3].
Considerando as discusses sobre o parmetro de fuzificao m e sobre as taxas de
aprendizado e Fuzzy j realizadas nesse texto, infere-se que:
as redes pertencentes famlia das Fuzzy LVQ possuem melhores condies para
encontrar agrupamentos bem definidos, principalmente quando o valor inicial para o
parmetro de fuzificao baixo (limm0 1 ), pois nas iteraes iniciais, tanto a taxa de
aprendizado da rede neural quanto o parmetro de fuzificao permitem a ordenao

RITA Volume 19 Nmero 1 2012

151

Tutorial sobre Fuzzy-c-Means e Fuzzy Learning Vector Quantization: Abordagens Hbridas


para Tarefas de Agrupamento e Classificao
Algoritmo 5 Algoritmo de treinamento da Fuzzy LVQ no supervisionada
Determine a quantidade de parties fuzzy c;
Inicialize o contador de iteraes t;
Determine o erro mximo permitido ;
Determine os valores dos parmetros de fuzificao inicial m(0) e final m(f ) ;
Inicialize a matriz de prottipos M aleatoriamente;
Inicialize o contador de iteraes t como t = 0;
Inicialize a medida de trmino E (0) com o maior valor possvel;
repita
Atualize o valor de m, conforme Equao (19);
para Cada dado j (j = 1, ..., n) faa
Calcule o novo valor do coeficiente de aprendizado, o qual ser especfico para cada par (dado,
grupo), conforme Equao (20)
fim para
Atualize M conforme Equao (21);
Incremente t;
Atualize E (t) =k M (t) M (t1) k;
at que t > T ou E (t1) 

inicial dos prottipos, atravs de deslocamentos grandes, na direo dos grupos de


dados. Com a evoluo do algoritmo, tanto a taxa de aprendizado quando o parmetro
de fuzificao levam a rede a uma situao de estabilizao;
na famlia das Fuzzy LVQ, onde m(0) > m(f ) , essa fase inicial de ordenao (deslocamentos grandes) est combinada a valores altos do parmetro de fuzificao, levando
os prottipo para mdia dos dados (como discutido na Equao (16));
no caso da famlia das LVQ constante, o comportamento se assemelha quele discutido no algoritmo FCM, com baixos valores do parmetro de fuzificao levando a um
estado de melhor definio de grupos, e com altos valores desse parmetros, levando
os prottipos na direo do centro dos dados.
A Figura 8 ilustra cada um dos casos comentados.

Experimentos

A fim de ilustrar os processos de execuo dos algoritmos aqui discutidos, nesta seo so apresentados alguns testes realizados sobre conjuntos de dados de cunho didtico.
So realizadas algumas comparaes entre tais processos com o intuito de ilustrar como a
combinao das tcnicas levou concepo de modelos robustos e eficientes. Para fins de

152

RITA Volume 19 Nmero 1 2012

Tutorial sobre Fuzzy-c-Means e Fuzzy Learning Vector Quantization: Abordagens Hbridas


para Tarefas de Agrupamento e Classificao

1.5

1.5

1.5

1.5

0.5

0.5

0.5

0.5

0.5
0.5

0.5

1.5

2.5

0.5
0.5

(a)

0.5

1.5

2.5

0.5
0.5

(b)

0.5

1.5

2.5

0.5
0.5

0.5

(c)

1.5

2.5

(d)

Figura 8. Execues da Fuzzy LVQ no supervisionada para o mesmo conjunto de dados e


com os mesmos pesos iniciais. Condio de parada:  = 0, 0001. (a) LVQ constante m(0) = m(f ) = 1, 1, Eq = 0, 1874 e 5 pocas; (b) LVQ constante - m(0) = m(f ) = 7,
Eq = 0, 8925 e 28 pocas; (c) Fuzzy LVQ - m(0) = 1, 1 e m(f ) = 7, Eq = 0, 1874 e 5
pocas; (d) Fuzzy LVQ - m(0) = 7, m(f ) = 1, 1, Eq = 0, 8925 e 28 pocas.
comparao, em cada conjunto de dados fixou-se os valores dos pesos iniciais para todos os
algoritmos e o critrio de parada para todas as execues foi  = 0, 000117 . O valor 2 foi
escolhido para o parmetro de fuzificao m, sendo que para os casos em que existe variao
no m o intervalo estabelecido foi [1, 1; 2].
O primeiro exemplo, ilustrado na Figura 9 e Tabela 7, a aplicao dos algoritmos
estudados nesse tutorial em um conjunto de dados sugerido por Yager e Filev [47]. Este
conjunto de dados possui trs grupos bem definidos e bem separados, com formato retangular
e todos com a mesma densidade de dados18 .

Erro de Quantizao
Nmero de pocas

C-Means

FCM

LVQ

0,2058
50

0,1906
11

0,2046
4

Fuzzy LVQ
Supervisionada
0,1929
41

Fuzzy
LVQ
0,1874
5

Fuzzy
LVQ
0,1907
36

Tabela 7. Informaes sobre a execuo para o conjunto de dados de fcil resoluo.

Todos os modelos desse primeiro exemplo chegaram a resultados de classificao ou


agrupamento satisfatrios. Contudo, percebe-se claramente a superioridade dos modelos hbridos, com destaque para a Fuzzy LVQ, que alm de chegar ao erro de quantizao mais
baixo, tambm se apresenta como uma abordagem bastante eficiente em termos de nmero
17 Uma

exceo foi estabelecida para a execuo do c-Means, cujo critrio de parada foi  = 0, 01 para os dois
primeiros conjuntos e  = 0, 001 para o terceiro conjunto. Essa estratgia foi adotada para impedir que o c-Means
executasse por muito mais tempo do que as demais tcnicas, visto que este algoritmo tem um tempo de convergncia
mais longo. Execues mais longas do que as apresentadas aqui no levam a melhores resultados.
18 Caractersticas que permitem verificar a corretude do algoritmo, dado que se trata de um conjunto de dados com
grupos bem definidos e fceis de encontrar.

RITA Volume 19 Nmero 1 2012

153

Tutorial sobre Fuzzy-c-Means e Fuzzy Learning Vector Quantization: Abordagens Hbridas


para Tarefas de Agrupamento e Classificao

1.5

1.5

1.5

0.5

0.5

0.5

0.5
0.5

0.5
0.5

0.5
0.5

0.5

1.5

2.5

(a) C-means

0.5

1.5

2.5

(b) FCM
2

1.5

1.5

1.5

0.5

0.5

0.5

0.5
0.5

0.5
0.5

0.5
0.5

0.5

1.5

2.5

(d) Fuzzy LVQ supervisionada

0.5

1.5

(e) Fuzzy LVQ

0.5

1.5

2.5

1.5

2.5

(c) LVQ

2.5

0.5

(f) Fuzzy LVQ

Figura 9. Grficos dos resultados de aplicao dos algoritmos estudados neste tutorial:
conjunto de dados de fcil resoluo. Os dados esto representados pelas cruzes e os
prottipos de grupos esto representados pelos crculos.
de pocas executadas.
A Figura 10 e a Tabela 8 trazem informaes referentes execuo dos algoritmos
em um segundo conjunto sugerido por Yager e Filev [47]. Esse conjunto proporciona interpretaes subjetivas quanto ao nmero de grupos existentes, podendo ser interpretado como
um conjunto com dois ou trs grupos, a depender de onde os sete pontos localizados entre
os dois grupos das extremidades sero agrupados. Tais pontos podem ser considerados um
grupo, pontos pertencentes aos outros dois grupos, ou podem ser considerados como rudo.

Erro de Quantizao
Nmero de pocas

C-Means

FCM

LVQ

0,2976
no
convergiu

0,2278
36

0,3494
5

Fuzzy LVQ
Supervisionada
0,2317
85

Fuzzy
LVQ
0,2269
11

Fuzzy
LVQ
0,2281
66

Tabela 8. Informaes sobre a execuo para o conjunto de dados com dupla interpretao
de nmero de grupos.

Os resultados do segundo exemplo confirmam a superioridade dos modelos hbridos.


Nesse caso, os modelos hbridos consumiram mais pocas de execuo, porm se mostra-

154

RITA Volume 19 Nmero 1 2012

Tutorial sobre Fuzzy-c-Means e Fuzzy Learning Vector Quantization: Abordagens Hbridas


para Tarefas de Agrupamento e Classificao

0.5

0.9
0.5

0
0.8

0.7
0.5
0.6

0.5
0.5

1
1

0.4
1.5
0.3

1.5

0.2
2

0.1
0

2.5
0

0.2

0.4

0.6

0.8

2.5
0

0.5

(a) C-means

1.5

2.5

(b) FCM

0.5

0.5

0.5

1.5

1.5

1.5

1.5

2.5

2.5

2.5

2.5
0.5

1.5

0.5

0.5

2.5

(c) LVQ

0.5

0.5

2.5
0

0.5

1.5

(e) Fuzzy LVQ

(d) Fuzzy LVQ supervisionada

2.5

0.5

1.5

(f) Fuzzy LVQ

Figura 10. Grficos dos resultados de aplicao dos algoritmos estudados neste tutorial:
conjunto de dados com dupla interpretao de nmero de grupos. Os dados esto
representados pelas cruzes e os prottipos de grupos esto representados pelos crculos.
ram factveis para resoluo do problema considerando a existncia de trs grupos, enquanto
o c-Means e a LVQ no so capazes de entender o conjunto de dados sob esse perspectiva. Considerando a existncia de apenas dois grupos, os resultados dos modelos clssicos
melhoram, pois sua principal dificuldade est em encontrar o terceiro grupo.
Finalmente, o ltimo exemplo est ilustrado na Figura 11 e na Tabela 9. Trata-se de
um conjunto de dados com variao de densidade de dados entre os grupos, adaptado de [14].
O conjunto possui 312 pontos, divididos em 301 pontos para o primeiro grupo e 11 pontos
para o segundo.

Erro de Quantizao
Nmero de pocas

C-Means

FCM

LVQ

0,0616
19

0,0541
7

0,0637
6

Fuzzy LVQ
Supervisionada
0.0455
55

Fuzzy
LVQ
0,0403
11

Fuzzy
LVQ
0,0516
16

Tabela 9. Informaes sobre a execuo para o conjunto de dados com densidade de dados
diferentes nos grupos.
No caso desse ltimo exemplo, h que se destacar o timo desempenho do modelo
Fuzzy LVQ. O conjunto de dados usado no favorece tcnicas no supervisionadas (observe

RITA Volume 19 Nmero 1 2012

155

Tutorial sobre Fuzzy-c-Means e Fuzzy Learning Vector Quantization: Abordagens Hbridas


para Tarefas de Agrupamento e Classificao

0.9

0.45

0.8

0.4

0.45
0.4

0.7

0.35

0.35

0.6

0.3

0.3

0.5

0.25

0.25

0.4

0.2

0.2

0.3

0.15

0.15

0.2

0.1

0.1

0.1

0.05

0.05

0
0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0
0.2

0.3

(a) C-means

0.4

0.5

0.6

0.7

0.8

0.9

0
0.2

0.3

(b) FCM

0.5

0.6

0.7

0.8

0.9

0.7

0.8

0.9

(c) LVQ

0.45

0.6

0.4

0.45

0.4

0.4

0.35

0.35

0.5

0.4
0.3

0.3

0.3

0.25

0.25

0.2

0.2

0.2

0.15

0.15

0.1
0.1

0.1

0.05

0.05

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

(d) Fuzzy LVQ supervisionada

0
0.2

0.3

0.4

0.5

0.6

0.7

(e) Fuzzy LVQ

0.8

0.9

0
0.2

0.3

0.4

0.5

0.6

(f) Fuzzy LVQ

Figura 11. Grficos dos resultados de aplicao dos algoritmos estudados neste tutorial:
conjunto de dados com densidade de dados diferentes nos grupos. Os dados esto
representados pelas cruzes e os prottipos de grupos esto representados pelos crculos.

que as tcnicas supervisionadas resolvem o problema), visto a grande disparidade da densidade de dados em cada grupo. Entretanto, mesmo em condies desfavorveis o modelo
Fuzzy LVQ apresentou o melhor erro de quantizao19 . Em termos de classes/grupos obtidos, a LVQ apresenta resultados superiores, ainda que seu erro de quantizao seja mais alto.
Esse comportamento se deve ao fato da grande quantidade de dados no grupo onde os dois
prottipos do algorimto FCM se posicionaram, usando um pequeno nmero de pocas.

Aplicaes - Viso Geral

Os modelos explorados neste trabalho (FCM e Fuzzy LVQ) foram apresentados no


incio da dcada de 90. Atualmente, eles tem sido aplicados na execuo de tarefas de agrupamento e tambm utilizados como base para o desenvolvimento de novos modelos com o
objetivo de minimizar deficincias observadas durante suas aplicaes, como a sensibilidade
a rudos, o alto custo computacional exigido e a adequabilidade para aplicao em problemas
que apresentam necessidades particulares.
19 O

erro de quantizao usado como uma medida de qualidade para os resultados de tarefas de classificao e
agrupamento, como discutido na Seo 2.6, contudo, a depender da situao, esse erro no indica o melhor resultado
obtido. Um exemplo o caso do algoritmo FCM e do modelo LVQ.

156

RITA Volume 19 Nmero 1 2012

Tutorial sobre Fuzzy-c-Means e Fuzzy Learning Vector Quantization: Abordagens Hbridas


para Tarefas de Agrupamento e Classificao
A modelagem original do modelo FCM tem sido aplicada, por exemplo, para o processamento de imagens mdicas [37, 35], para a anlise e compresso de imagens [40] e
outros problemas de reconhecimento de padres [38]. Em [37], o FCM utilizado na segmentao de imagens de ressonncia magntica para deteco de exsudatos 20 - o primeiro
sinal de Retinopatia Diabtica - com preciso de 99, 11%. Em [35], variaes do FCM so
utilizadas para segmentar leses em imagens de dermatoscopia. Nesse caso, a verso clssica
do algoritmo apresenta 0, 74 de sensibilidade e 0, 99 de especificidade, enquanto a verso
proposta apresenta 0, 77 de sensibilidade e 0, 99 de especificidade, alm de ter menor custo
computacional. O FCM tambm utilizado para identificao online de um usurio por meio
de sua escrita a mo com 98, 3% de preciso em [38]. Em [40], uma verso modificada in
batch do algoritmo Fuzzy LVQ, baseada na funo objetivo do FCM, foi utilizado para compresso de imagens, obtendo resultados superiores a prpria Fuzzy LVQ clssica e a outros
algoritmos, como verses modificadas da rede neural Linde Buzo Gray (LBG) e do algoritmo
clssico c-Means.
Em [42] os autores avaliam quatro diferentes mtodos de agrupamento fuzzy, desenvolvidos com base no FCM padro, a fim de identificar pontos em comum e limitaes especficas de cada mtodo. Ao final, proposto um algoritmo de agrupamento otimizado que foi
aplicado com sucesso na classificao de posturas humanas.
O algoritmo FCM tambm foi recentemente usado na construo de uma prova de
conceito para uma nova abordagem de insero de conhecimento de domnio na resoluo da
tarefa de agrupamento. Em [32], os autores introduzem o conceito chamado viewpoints, o
qual uma forma pela qual o usurio pode introduzir algum conhecimento sobre os dados que
esto sendo agrupados por um processo de otimizao qualquer. Apesar dos autores terem
escolhido o FCM em sua prova de conceito, a abordagem introduzida neste trabalho no est
restrita a essa classe de algoritmos de agrupamento.
O algoritmo Fuzzy LVQ tem sido utilizado em Geocincias [11], processamento de
dados sensoriais (processing sensor-array data) [13] e reconhecimento de padres [7, 24].
Os autores em [11] aplicaram diferentes arquiteturas de redes neurais (Multilayer Perceptron
(MLP) Self Organizing Maps (SOM) e Fuzzy LVQ) no problema de classificao no contexto de mapeamento geolgico. Diferentes experimentos foram executados e foi observado
a superioridade da Fuzzy LVQ tanto em relao a acuidade dos resultados alcanados quanto
em relao a velocidade de execuo e estabilidade do modelo. A Fuzzy LVQ tambm foi
alvo de comparao com outras arquiteturas de redes neurais em aplicaes de reconhecimento de padres de odores. Em [13] os autores afirmam que a Fuzzy LVQ apresenta alta
capacidade de reconhecimento neste tipo de aplicao. Nesse trabalho, o desempenho dessa
arquitetura neural foi melhorado pela combinao de seu processo de aprendizado com o
20 matria

resultante de processo inflamatrio : fonte - FERREIRA, Aurlio Buarque de Holanda. Dicionrio da


lngua portuguesa. Rio de Janeiro (RJ), Brasil: 2000, verbete exsudato

RITA Volume 19 Nmero 1 2012

157

Tutorial sobre Fuzzy-c-Means e Fuzzy Learning Vector Quantization: Abordagens Hbridas


para Tarefas de Agrupamento e Classificao
mtodo de otimizao Particle Swarm. Em [7], as arquiteturas neurais SOM, LVQ e Fuzzy
LVQ supervisionada e no supervisionada foram testadas para resolver um problema de reconhecimento de padres de movimentos gestuais. Nesse trabalho, a rede neural Fuzzy LVQ
no supervisionada obteve os melhores resultados dentre os modelos testados, apresentando
taxas de reconhecimento altas com um nmero reduzido de neurnios em relao aos demais modelos. Em [24], redes neurais Fuzzy LVQ no supervisionadas e supervisionadas
foram utilizadas para compor um comit de mquinas visando reconhecer imagens estticas
e movimentos dinmicos representando as configuraes de mo e movimentos da Lngua
Brasileira de Sinais. O comit foi capaz de reconhecer as 20 configuraes de mo e os cinco
movimentos utilizados para representar as letras do alfabeto na Lngua Brasileira de Sinais
com preciso de, respectivamente, 85% e 91, 7%.
Verses hbridas, que combinam o FCM com outros algoritmos, so exploradas em
diferentes contextos de aplicao. Com o objetivo de analisar a eficincia de companhias
de distribuio de energia, os autores do trabalho apresentado em [36] aplicaram o FCM
em conjunto com os mtodos Principal Component Analysis (PCA) e Data Envelopment
Analysis (DEA). Nesse trabalho, o FCM foi a tcnica escolhida para agrupar companhias
de distribuio de energia com base em variveis ambientais, de forma que cada companhia
seja comparada apenas com aquelas atuantes em contextos similares, evitando comparaes
de organizaes com realidades muito diferentes. Tambm no contexto de sistemas de energia, os autores do trabalho apresentado em [26] constrem um sistema hbrido usando FCM,
Quantum-Inspired Particle Swarm Optimization (QPSO) e redes neurais Radial Basis Function (RBF). Nesse sistema hbrido, o algoritmo FCM atua na busca dos centros das funes
kernel da rede neural RBF e o clculo dos pesos das conexes da camada de sada da rede
neural suportado por uma tcnica de otimizao global, a QPSO, tambm introduzida nesse
artigo. Em [8] proposto um algoritmo baseado no FCM e no princpio do Filtro Sigma, o
Improved Fuzzy C-means (IFCM), visando a segmentao de imagens de ressonncia magntica. O uso do novo algoritmo diminuiu o erro mdio na segmentao de 2, 5%, utilizando
o FCM tradicional, para 0, 74%.
Em termos de evoluo, perceptvel que a principal preocupao em relao aos
modelos FCM e Fuzzy LVQ a sensibilidade a rudos. Visando fornecer solues para esse
problema, diversos trabalhos foram desenvolvidos. No caso do FCM, o modelo Fuzzy Possibilistic C-Means (FPCM) proposto em [30] visando superar o problema de sensibilidade a
rudos, presente no FCM, e um problema presente no modelo Possibilistic C-Means (PCM),
que apresenta uma tendncia a convergir para clusters coincidentes, atravs da considerao
de graus de pertinncia e valores de possibilidade. Posteriormente, uma evoluo desse algoritmo apresentada em [31]: o modelo Possibilistic Fuzzy C-Means (PFCM) um modelo
hbrido baseado nos modelos FCM e PCM que pretende evitar os problemas j citados, alm
de evitar certa dificuldade do FPCM em lidar com grandes conjuntos de dados. O algoritmo
FPCM tambm embasou a criao de uma abordagem para implementao de co-clustering,

158

RITA Volume 19 Nmero 1 2012

Tutorial sobre Fuzzy-c-Means e Fuzzy Learning Vector Quantization: Abordagens Hbridas


para Tarefas de Agrupamento e Classificao
apresentada em [39].
Alguns algoritmos, como o algoritmo Fuzzy Local Information C-means (FLICM)
apresentado em [18], visam superar as desvantagens do FCM objetivando uma rea de aplicao especfica - neste caso, a segmentao de imagens. O FLICM utiliza informaes
locais de nveis de cinza e espaciais para segmentar imagens. O algoritmo apresenta robustez a rudos e pode ser utilizado diretamente nas imagens originais, ao invs de imagens
pr-processadas. O problema do rudo tambm foi notado em [6], em uma aplicao de
segmentao de imagens. Como no modelo FCM no so consideradas as informaes de
vizinhana espacial, que so fundamentais para o alcance de bons resultados na segmentao
de imagens, em [6, 18], os autores propem outras modificaes na medida de similaridade
do FCM padro, com vistas a melhorar seu desempenho neste tipo de aplicao.
J no caso da Fuzzy LVQ, algums evolues so representadas pelos trabalhos descritos em [44, 45]. O modelo Possibilistic Fuzzy Learning Vector Quantization (PFLVQ)
proposto em [44] integra o modelo de agrupamento PFCM no modelo Fuzzy LVQ para lidar
com os rudos presentes nos dados. Outro modelo proposto recentemente em [45] consiste
em integrar os princpios da LVQ ao modelo Generalized Noise Clustering (GNC), ao invs do modelo FCM - que sensvel a rudos - para criar o Noise Fuzzy Learning Vector
Quantization (NFLVQ), que utiliza os valores de pertinncia do algoritmo GNC como taxas
de aprendizado e apresenta melhores resultados no agrupamento de conjuntos de dados com
rudos.

Consideraes Finais

Este tutorial cobriu os principais conceitos referentes ao algoritmo Fuzzy-c-Means


e aos modelos neurais-fuzzy Fuzzy Learning Vector Quantization. Alm disso, conceitos
bsicos normalmente necessrios para o entendimento de modelos que se aplicam a tarefas
de agrupamento e classificao foram apresentados, juntamente com as suas verses clssicas
(C-Means e Learning Vector Quantization).
A teoria discutida, bem como os exemplos didticos apresentados, tiveram o objetivo de colocar o leitor em condies de melhor entender o comportamento dos algoritmos
e, com isso, otimizar o uso dos mesmos. A explanao terica, sobretudo sobre o algoritmo
Fuzzy-c-Means, ilustrou a importncia da correta parametrizao dos modelos, visto que diferentes valores para diferentes parmetros, comprovadamente, levam a comportamentos e
resultados diferenciados. O algoritmo Fuzzy-c-Means, que serviu de base para a elaborao
do modelo Fuzzy LVQ, apresentado neste trabalho, tem sido utilizado tambm como base
para o desenvolvimento de diversas novas modelagens. Conhecer em detalhes o comportamento do algoritmo FCM diante dos parmetros de entrada torna-se fundamental para o pleno
entendimento das abordagens evoludas do algoritmo padro.

RITA Volume 19 Nmero 1 2012

159

Tutorial sobre Fuzzy-c-Means e Fuzzy Learning Vector Quantization: Abordagens Hbridas


para Tarefas de Agrupamento e Classificao
A adequabilidade do tratamento da incerteza e impreciso, suportados pela Teoria
Fuzzy, foi evidenciada pelos exemplos presentes na seo de experimentos. Fica evidente
tambm nos exemplos didticos a superioridade dos mtodos hbridos sobre suas verses
clssicas. No obstante, o referencial bibliogrfico que suporta a discusso aqui desenvolvida,
mostra que os mtodos hbridos aqui tratados esto em constante aplicao e evoluo.

Referncias

[1] A BE , S. Support Vector Machines for Pattern Classification (Advances in Pattern Recognition), 1 ed. Springer, July 2005.
[2] B EZDEK , J. Pattern Recognition with Fuzzy Objective Function Algorithms, 1 ed.
Kluwer Academic Publishers, 1981.
[3] B EZDEK , J. C. E PAL , S. K. Fuzzy models for pattern recognition : methods that
search for structures in data. Methods that search for structures in data. IEEE Press,
New York, 1992.
[4] B EZDEK , J. C., T SAO , E. C. E PAL , N. R. Fuzzy kohonen clustering networks. In
IEEE International Conference on Fuzzy Systems (1992), pp. 10351043.
[5] C HUNG , F. E L EE , T. Fuzzy learning vector quantization. In IEEE International Joint
Conference on Neural Networks (1993), pp. 2739 2742.
[6] D ESPOTOVIC , I., G OOSSENS , B., VANSTEENKISTE , E. E P HILIPS , W. An improved
fuzzy clustering approach for image segmentation. In 17th IEEE International Conference on Image Processing (September 2010), pp. 249 252.
[7] D IAS , D. B., M ADEO , R. C. B., ROCHA , T., B SCARO , H. H. E P ERES , S. M.
Hand movement recognition for Brazilian Sign Language: A study using distance-based
neural networks. In International Joint Conference on Neural Networks (2009), IEEE,
pp. 697704.
[8] D U , R. E L EE , H. J. A modified-FCM segmentation algorithm for brain MR images. In
International Conference on Hybrid Information Technology (ICHIT 09) (New York,
NY, USA, 2009), ACM, pp. 2527.
[9] E VERITT, B. S. E R ABE -H ESKETH , S. The Analysis of Proximity Data. Hodder Arnold
Publishers, Londres, 1997.
[10] FAUSETT, L. Fundamentals of Neural Netoworks: architectures, algorithms, and applications. Prentice-Hall, Inc., New Jersey, USA, 1994.

160

RITA Volume 19 Nmero 1 2012

Tutorial sobre Fuzzy-c-Means e Fuzzy Learning Vector Quantization: Abordagens Hbridas


para Tarefas de Agrupamento e Classificao
[11] F ILIPPI , A. E J ENSEN , J. Effect of continuum removal on hyperspectral coastal vegetation classification using a fuzzy learning vector quantizer. IEEE Transactions on
Geoscience and Remote Sensing, 45, 6 (June 2007), 18571869.
[12] H AYKIN , S. Neural Networks: a comprehensive foundation, 2nd ed. Prentice Hall Inc,
New Jersey, USA, 1998.
[13] JATMIKO , W., ROCHMATULLAH , K USUMOPUTRO , B., S ANABILA , H., S EKIYAMA ,
K. E F UKUDA , T. Visualization and statistical analysis of fuzzy-neuro learning vector
quantization based on particle swarm optimization for recognizing mixture odors. In
International Symposium on Micro-NanoMechatronics and Human Science, 2009. MHS
2009 (9-11 2009), pp. 420425.
[14] K AYMAK , U. E S ETNES , M. Extended fuzzy clustering algorithms. Research Paper ERS-2000-51-LIS, Erasmus Research Institute of Management (ERIM), November
2000.
[15] K LIR , G. J. E Y UAN , B. Fuzzy Sets and Fuzzy Logic: Theory and Applications.
Prentice-Hall, 1995.
[16] KOHONEN , T. Self Organizing Maps, 3rd ed. Springer, 2000.
[17] KOSKO , B. Neural Networks and Fuzzy Systems: A Dynamical Approach to Machine
Intelligence. Prentice-Hall, Englewood Cliffs, New Jersey, 1992.
[18] K RINIDIS , S. E C HATZIS , V. A robust fuzzy local information c-means clustering
algorithm. IEEE Transactions on Image Processing 19, 5 (May 2010), 1328 1337.
[19] K RUSE , R., D RIGN , C. E L ESOT, M.-J. Fundamentals of Fuzzy Clustering. John
Wiley & Sons Ltd, 2007, ch. Advances in Fuzzy Clustering and its Applications, pp. 3
30.
[20] L EE , R. S. T. Fuzzy-Neuro Approach to Agente Applications, 1 ed. Springer, December
2005.
[21] L EE , S. E L EE , E. Fuzzy neural networks. Mathematical Biosciences 23 (1975), 151
177.
[22] L IU , X. E P EDRYCZ , W. Axiomatic Fuzzy Set Theory and Its Applications, 1 ed. Springer, April 2009.
[23] M AC Q UEEN , J. Some methods for classification and analysis of multivariate observations. In Proceedings of 5-th Berkeley Symposium on Mathematical Statistics and
Probability (1967), Berkeley, University of California Press, pp. 1:281297.

RITA Volume 19 Nmero 1 2012

161

Tutorial sobre Fuzzy-c-Means e Fuzzy Learning Vector Quantization: Abordagens Hbridas


para Tarefas de Agrupamento e Classificao
[24] M ADEO , R. C. B., P ERES , S. M., B SCARO , H. H., D IAS , D. B. E B OSCARIOLI , C.
A committee machine implementing the pattern recognition module for fingerspelling
applications. In 25th Annual ACM Sumposium on Applied Computing (2010), ACM.
[25] M C C ULLOCH , W. S. E P ITTS , W. A logical calculus of the ideas immanent in nervous
activity. 1527.
[26] M ENG , K., D ONG , Z. Y., WANG , D. H. E W ONG , K. P. A self-adaptive rbf neural
network classifier for transformer fault analysis. IEEE Transactions on Power Systems
PP, 99 (2010), 1 1. IEEE Early Access.
[27] M ITRA , S. E H AYASHI , Y. Neuro-fuzzy rule generation: Survey in soft computing
framework. IEEE Transactions on Neural Network 11, 3 (May 2000), 748768.
[28] M IYAMOTO , S., I CHIHASHI , H. E H ONDA , K. Algorithms for Fuzzy Clustering:
Methods in c-Means Clustering with Applications, 1 ed. Springer, April 2008.
[29] O LIVEIRA , J. V. E P EDRYCS , W., Eds. Advances in Fuzzy Clustering and its Applications. John Wiley & Sons, Ltd, 2007.
[30] PAL , N. R., PAL , K. E B EZDEK , J. C. A mixed c-means clustering model. In Proceedigns of IEEE International Conference on Fuzzy Systems (Barcelona, Spain, July
1997), pp. 1121.
[31] PAL , N. R., PAL , K., K ELLER , J. M. E B EZDEK , J. C. A possibilistic fuzzy c-means
clustering algorithm. IEEE T. Fuzzy Systems 13, 4 (2005), 517530.
[32] P EDRYCS , W. E G OMIDE , F. An Introduction to Fuzzy Sets: Analysis and Design. A
Bradford Books, 1998.
[33] P EDRYCZ , W., L OIA , V. E S ENATORE. Fuzzy clustering with viewpoints. IEEE Transactions on Fuzzy Systems 18, 2 (April 2010), 274 284.
[34] RUSSEL , S. E N ORVIG , P. Artificial Inteligence: A Modern Approach, 2nd ed. Pearson,
December 2002.
[35] S CHAEFER , H. Z., S ADKA , G. E C ELEBI , M. E. Anisotropic mean shift based fuzzy cmeans segmentation of dermoscopy images. IEEE Journal of Selected Topics in Signal
Processing 3, 1 (2009), 2634.
[36] S IMAB , M. E H AGHIFAM , M.-R. Using integrated model to assess the efficiency of
electric distribution companies. IEEE Transactions on Power Systems PP, 99 (2010),
11. IEEE Early Access.

162

RITA Volume 19 Nmero 1 2012

Tutorial sobre Fuzzy-c-Means e Fuzzy Learning Vector Quantization: Abordagens Hbridas


para Tarefas de Agrupamento e Classificao
[37] S OPHARAK , A., U YYANONVARA , B. E S., B. Automatic exudate detection from nondilated diabetic retinopathy retinal images using fuzzy c-means clustering. Sensors 9, 3
(2009), 21482161.
[38] TAN , G. X., V IARD -G AUDIN , C. E KOT, A. Online writer identification using fuzzy
c-means clustering of character prototypes. In Proceedings of 11th International Conference on Frontiers in Handwriting Recognition (Montreal, Canad, 2008), pp. 475480.
[39] T JHI , W.-C. E C HEN , L. Dual fuzzy-possibilistic coclustering for categorization of
documents. IEEE Transactions on Fuzzy Systems 17, 3 (2009), 532543.
[40] T SEKOURAS , G. E., A NTONIOS , M., A NAGNOSTOPOULOS , C., G AVALAS , D. E
E CONOMOU , D. Improved batch fuzzy learning vector quantization for image compression. International Journal of Information Sciences 178 (October 2008).
[41] V UORIMAA , P. Fuzzy self-organizing map. Fuzzy Sets and Systems 66 (1994), 223
231.
[42] WANG , Z. Comparison of four kinds of fuzzy c-means clustering methods. In Third
International Symposium on Information Processing (Octorber 2010), pp. 563566.
[43] W ERMTER , S. E S UN , R. An overview of hybrid neural systems. In Hybrid Neural
Systems (2000), vol. 1778 of Lecture Notes in Computer Science, Springer, pp. 113.
[44] W U , X.-H., F U , H., W U , B. E Z HAO , J.-W. Possibilistic fuzzy learning vector quantization. Journal of Information and Computational Science 7, 3 (2010), 777783.
[45] W U , X.-H., W U , B. E Z HAO , J.-W. Noise fuzzy learning vector quantization. Key
Engineering Materials 439-440 (2010), 367371.
[46] X U , R. E W UNSCH , D. II survey of clustering algorithms. IEEE Transactions on
Neural Networks 16, 3 (may 2005), 645678.
[47] YAGER , R.R., F. D. Approximate clustering via the mountain method. In IEEE Transactions on Systems, Man and Cybernetics (1994), pp. 12791284.
[48] Z ADEH , L. A. Fuzzy sets. Information and Control 8, 3 (1965), 338353.

RITA Volume 19 Nmero 1 2012

163