Professional Documents
Culture Documents
1 Introduo
{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 Fuzzy-
c-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 Fuzzy-
c-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 recente-
mente 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 conexio-
nistas, 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 representa-
es 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 ne-
cessidade 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 desen-
volvimento 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 utili-
zando 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.
O modelo de Rede Neural Fuzzy escolhido para ser explorado neste tutorial o mo-
delo 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 efe-
tivo 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 abor-
dagens 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 se-
rem 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 ca-
ractersticas 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
2 Conceitos Bsicos
x1 x1,1 x1,2 x1,p
x x x2,2 x2,p
X = 2 = 2,1
xn x n,1 xn,2 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.
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 deter-
minar 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, tra-
zendo 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
G : <p W C
1. Ci 6= , i = 1, ..., c;
Sc
2. i=1 Ci = X;
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 im-
precisas, 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}
(a) (b)
A : X [0, 1]
(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.
calculada como:
p
! 21
X 2
d( v i , v j ) = (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.
n
1 X
Eq =
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 asso-
ciado 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 con-
figurao tima de parmetros para minimizar JC M (Uh , C), que dado por:
9 Veja um dos primeiros estudos sobre esse algoritmo, por MacQueen em 1967 [23].
c X
n 2
X
JCM (Uh , C) = 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 u1,2 u1,n
u2,1 u2,2 u2,n
.. .. .. ..
. . . .
Uh =
ui+1,1
.. .. .. ..
. . . .
uc,1 uc,2 uc,n
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).
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 = 1, se i = arg minci=1 d(C i , x j ) (3)
ij
0, caso contrrio.
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 al-
terao dos vetores prottipos representantes dos grupos: alteraes muito pequenas indicam
que as mudanas ocorridas nos grupos em formao no algoritmo no alteram, significativa-
mente, a formao de cada grupo, indicando que o processo encontrou um ponto de mnimo.
10 Nanotao 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.
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);
C de acordo
com a Equao (4);
Atualize
at que
C (t) C (t1)
<
LVQ uma arquitetura de RNA, proposta por Teuvo Kohonen, caracterizada pelo uso
de um algoritmo de aprendizado competitivo e supervisionado baseado no conceito de distn-
cia 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 tam-
bm 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 su-
perfcie 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 atri-
budo 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.
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
t+1 t t
if x j (RLV Q ) = C Iv (RLV Q ) ento C Iv = C Iv + [ x j C Iv ]; (6)
t+1 t t
if x j (RLV Q ) 6= C Iv (RLV Q ) ento C Iv = C Iv [ x j C Iv ]; (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 apren-
dizado 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.
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.
t
t = (0) 1 ( )
tmax
(a) (b)
(c) (d)
t
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 treina-
mento 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.
(a) (b)
(c) (d)
(e) (f)
ij = i ( x j ), 1 i c, 1 j n
0 ij 1, i, j (8)
c
X
ij = 1, j (9)
i=0
n
X
0< ij < n, i. (10)
j=0
onde ij o grau de pertinncia de x j ao i-simo grupo fuzzy de X.
(a) (b)
Figura 5. Objetos separados em grupos naturais: (a) Objetos fsicos para agrupamento. (b)
Agrupamento Grfico. Adaptado de [3].
3.2 Fuzzy-c-Means
O algoritmo FCM tem como objetivo encontrar grupos fuzzy para um conjunto de da-
dos. 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 pro-
duzir grupos mais adequados (melhores ou mais naturais) do que aqueles produzidos pelo
algoritmo c-Means clssico. Tal funo dada por:
c X
n
X m 2
JF CM (Uf , M) = (ij ) d(mi , x j ) (11)
i=1 j=1
onde,
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
1,1
2,1 2,2 2,n
.. .. .. ..
. . . .
i,1 i,2 i,n
Uf =
.. .. .. ..
. . . .
i+1,1
.. .. .. ..
. . . .
c,1 c,2 c,n
1
t+1
ij = 1
1m (12)
c
P d( C l , x j )
l=1 d( C i , x j )
m1 m1,1 m1,2 m1,p
m2 mi,1 mi,2 mi,p
M=
= mi+1,1
mc mc,1 mc,2 mc,p
n m
t+1
P
ij xj
t+1 j=1
mi = n m (13)
t+1
P
ij
j=1
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.
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);
M de acordo com
Atualize
a Equao (13);
at que
M(t) M(t1)
<
1 1 1
t+1
ij = P
c
1
= P
c = P
c
d( C l , x j ) d( C l , x j ) d( C i , x j )
( ) (12) ( )1 ( )
l=1 d( C i , x j ) l=1 d( C i , x j ) l=1 d( C l , x j )
resultando em:
1
t+1
ij = P
c (14)
d( C i , x j )
( )
l=1 d( C l , x j )
1 1
lim
c = lim
c
=
d( C i , x j )0
P d( C i , x j ) d( C i , x j )0
P d( C i , x j ) d( C i , x j )
( ) ( )+
l=1 d( C l , x j ) l=1l6=i d( C l , 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 so-
matria, 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 dis-
tncia 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.
(a) (b)
(c)
(d)
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
resultante no expoente (1m) . Para (m ), ij no calculado em funo das distncias
entre dados e os centros dos grupos, e sim em funo da quantidade de grupos c, como
demostrado em:
1 1 1 1
lim 1 = 0 = P
c = (15)
c
m 1m c
c
d( C l , x j )
P d( C l , x j )
P
1
d( C i , x j ) l=1 d( C i , x j ) l=1
l=1
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.
Tabela 4. Influncia dos graus de pertinncia no reposicionamento do vetor m3 .
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.
n n n n
1 m
m 1 m
t+1
P P P P
ij xj c
xj c
xj xj
j=1 j=1 j=1 j=1
lim n = lim n = lim n = (16)
m m m 1 m m 1 m n
t+1
P P P
ij c c 1
j=1 j=1 j=1
1 1 1
0 0 0
0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1
0.9 0.369
0.8 0.368
0.7
0.367
0.6
0.366
0.5
0.4 0.365
0.3
0.364
0.2
0.363
0.1
0 0.362
0 0.2 0.4 0.6 0.8 1 0.497 0.498 0.499 0.5 0.501 0.502 0.503
(d) (e)
m
onde t+1
ij = 1
c de acordo com a Equao (15).
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 .
16 Do ingls Self-Organizing Map (SOM), rede neural artificial baseada em aprendizado auto-organizvel competi-
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:
n n X
c 2
X X m
Qm (Uf , M) = Qm
j (Uf , M) = [ij (ij ) ] d(C i , x j )
j=1 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;
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
1
ut+1
ij = 1
(m1) (17)
c
P d( C i , x j )
l=1 d( C l , x j )
1 1
ut+1
ij = 1
(m1) = 1
(1)(m1) =
c c
P d( C i , x j ) P d( C l , x j )
l=1 d( C l , x j ) l=1 d( C i , x j )
1 1
= 1
(m+1) = 1
(1m)
c c
P d( C l , x j ) P d( C l , x j )
l=1 d( C i , x j ) l=1 d( C i , x j )
(t+1) (t) t
m (t)
mi =mi + [ij (uij ) ] xj mi (18)
onde a taxa de aprendizado, a qual sofrer atualizaes de formas anlogas quelas apli-
cadas 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 apren-
dizado 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:
Bezdek et al. [3] definiram um algoritmo para a Fuzzy LVQ que no utiliza os concei-
tos 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 treina-
mento 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:
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(f ) m(0)
m(t) = m(0) + t ; (19)
T
m(t)
(t) m(t) 1
Fuzzy ij = ij = 1 (20)
c 1m
P d( C l , x j )
l=1 d( C i , x j )
n
(t)
Fuzzy ij (xj mi )(t1)
P
(t) (t1) j=1
mi =mi + n (21)
P (t)
Fuzzy ij
s=1
O processo de execuo da Fuzzy LVQ pode ser definido conforme descrito no Al-
goritmo 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
na famlia das Fuzzy LVQ, onde m(0) > m(f ) , essa fase inicial de ordenao (deslo-
camentos grandes) est combinada a valores altos do parmetro de fuzificao, levando
os prottipo para mdia dos dados (como discutido na Equao (16));
5 Experimentos
A fim de ilustrar os processos de execuo dos algoritmos aqui discutidos, nesta se-
o 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
2 2 2 2
1 1 1 1
0 0 0 0
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 .
2 2 2
1 1 1
0 0 0
1 1 1
0 0 0
(d) Fuzzy LVQ supervisionada (e) Fuzzy LVQ (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 inter-
pretaes 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.
Tabela 8. Informaes sobre a execuo para o conjunto de dados com dupla interpretao
de nmero de grupos.
1 0.5 1
0.9
0.5
0
0.8
0.7 0
0.5
0.6
0.5
0.5 1
1
0.4
1.5
0.3 1.5
0.2
2
2
0.1
0 2.5 2.5
0 0.2 0.4 0.6 0.8 1 0 0.5 1 1.5 2 2.5 0 0.5 1 1.5 2 2.5
0 0 0
1 1 1
2 2 2
(d) Fuzzy LVQ supervisionada (e) Fuzzy LVQ (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 perspec-
tiva. 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.
Tabela 9. Informaes sobre a execuo para o conjunto de dados com densidade de dados
diferentes nos grupos.
0 0 0
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
0.4 0.4
0.5
0.35 0.35
0.4
0.3 0.3
0.15 0.15
0.1
0.1 0.1
0
0.05 0.05
0 0
0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
(d) Fuzzy LVQ supervisionada (e) Fuzzy LVQ (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.
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.
A modelagem original do modelo FCM tem sido aplicada, por exemplo, para o pro-
cessamento 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 seg-
mentao 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 com-
presso 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, desen-
volvidos com base no FCM padro, a fim de identificar pontos em comum e limitaes espe-
cficas 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 con-
texto 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 reconheci-
mento 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
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 re-
conhecimento 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 de-
mais 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%.
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 apli-
cao especfica - neste caso, a segmentao de imagens. O FLICM utiliza informaes
locais de nveis de cinza e espaciais para segmentar imagens. O algoritmo apresenta ro-
bustez 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 des-
critos 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 in-
vs 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.
7 Consideraes Finais
8 Referncias
[1] A BE , S. Support Vector Machines for Pattern Classification (Advances in Pattern Re-
cognition), 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.
[9] E VERITT, B. S. E R ABE -H ESKETH , S. The Analysis of Proximity Data. Hodder Arnold
Publishers, Londres, 1997.
[12] H AYKIN , S. Neural Networks: a comprehensive foundation, 2nd ed. Prentice Hall Inc,
New Jersey, USA, 1998.
[15] K LIR , G. J. E Y UAN , B. Fuzzy Sets and Fuzzy Logic: Theory and Applications.
Prentice-Hall, 1995.
[17] KOSKO , B. Neural Networks and Fuzzy Systems: A Dynamical Approach to Machine
Intelligence. Prentice-Hall, Englewood Cliffs, New Jersey, 1992.
[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.
[22] L IU , X. E P EDRYCZ , W. Axiomatic Fuzzy Set Theory and Its Applications, 1 ed. Sprin-
ger, April 2009.
[23] M AC Q UEEN , J. Some methods for classification and analysis of multivariate obser-
vations. In Proceedings of 5-th Berkeley Symposium on Mathematical Statistics and
Probability (1967), Berkeley, University of California Press, pp. 1:281297.
[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.
[29] O LIVEIRA , J. V. E P EDRYCS , W., Eds. Advances in Fuzzy Clustering and its Applica-
tions. John Wiley & Sons, Ltd, 2007.
[30] PAL , N. R., PAL , K. E B EZDEK , J. C. A mixed c-means clustering model. In Pro-
ceedigns 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.
[33] P EDRYCZ , W., L OIA , V. E S ENATORE. Fuzzy clustering with viewpoints. IEEE Tran-
sactions 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 c-
means 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.
[37] S OPHARAK , A., U YYANONVARA , B. E S., B. Automatic exudate detection from non-
dilated 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 Confe-
rence on Frontiers in Handwriting Recognition (Montreal, Canad, 2008), pp. 475480.
[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 Tran-
sactions on Systems, Man and Cybernetics (1994), pp. 12791284.
[48] Z ADEH , L. A. Fuzzy sets. Information and Control 8, 3 (1965), 338353.