You are on page 1of 11

Captulo 8

Mapas Auto-Organizveis de Kohonen

Neste captulo visamos apresentar uma descrio de um mtodo de poda desenvolvido para as redes auto-organizveis de Kohonen e um novo mtodo de inicializao das direes de busca dos modelos de aprendizagem baseada em busca de projeo. A partir de uma anlise estatstica do conjunto amostral, desenvolveu-se um algoritmo simplificado cujo objetivo principal a eliminao das unidades de sada excedentes de um mapa autoorganizvel unidimensional, permitindo assim a determinao de uma arquitetura mnima capaz de representar o conjunto de dados. O algoritmo apresentado como resultado pode ser facilmente aplicado a estruturas de dimenses mais elevadas, como os mapas bidimensionais. Os resultados aqui apresentados diferem daqueles descritos e desenvolvidos nos captulos anteriores por constiturem tcnicas de treinamento no-supervisionado. Duas so as motivaes bsicas que fundamentam sua apresentao no contexto deste trabalho: 1. a nfase na necessidade de se ajustar a complexidade da rede neural em funo da natureza do problema abordado, como tambm se verificou no caso de treinamento supervisionado e 2. a necessidade de aplicao destes mapas auto-organizveis na definio de condies iniciais timas para as redes neurais sujeitas a treinamento supervisionado,

particularmente no caso de treinamento construtivo baseado em busca de projeo (projection pursuit). 8.1 Introduo O Captulo 7 apresenta procedimentos de poda para as arquiteturas do tipo MLP. Para os mapas auto-organizveis de Kohonen (SOM), a abordagem torna-se um pouco diferente. As arquiteturas auto-organizveis, como propostas por KOHONEN (1982), geram mapeamentos de um espao de dimenso elevada em estruturas cuja dimenso topolgica inferior original. Estes mapeamentos so capazes de preservar as relaes de vizinhana dos dados de entrada. Isto os torna interessantes para aplicaes em diversas reas, como reconhecimento de voz, anlise exploratria de dados (KASKI, 1995; 1997) e otimizao combinatria. O fato de que mapeamentos similares podem ser encontrados em diversas reas 167

do crebro humano e de outros animais indica que a preservao da topologia um princpio importante pelo menos em sistemas de processamento de sinais. A reduo de dimenso pode acarretar uma perda de informao (a qual se procura minimizar) ou ento pode levar a uma transformao topolgica da informao original (de modo a explicitar relaes no evidenciadas at ento). Em ambos os casos, o que se procura preparar a informao disponvel para um processamento posterior, eliminando todo tipo de redundncia e apresentando a informao de forma que ela possa ser diretamente manipulada. Em termos de aplicao, foi verificado que a utilizao de estruturas do modelo de Kohonen com dimenso arbitrria mas fixa implicam em limitaes nos mapeamentos resultantes (FRITZKE, 1993). Um grande nmero de variaes do algoritmo original, com o objetivo de determinao de uma arquitetura mais adequada ao problema a ser abordado, tem sido proposto na literatura. FRITZKE (1993) apresenta um mapa auto-organizvel construtivo para treinamento supervisionado e no-supervisionado. apresentado um procedimento controlado de incluso de unidades (crescimento), juntamente com procedimentos de poda para a remoo ocasional de neurnios. CHO (1997) introduz um mtodo dinmico de diviso de unidades que representam mais de uma classe. So feitos comentrios sobre procedimentos de poda para a eliminao de unidades pouco significativas, mas nenhum mtodo formalmente descrito e suas propriedades no so analisadas. 8.2 Os Mapas Auto-Organizveis de Kohonen Os mapas auto-organizveis de Kohonen fazem parte de um grupo de redes neurais chamado redes baseadas em modelos de competio, ou simplesmente redes competitivas (FAUSETT, 1994). Estas redes combinam competio com uma forma de aprendizagem para fazer os ajustes de seus pesos. Outra caracterstica importante deste tipo de rede que elas utilizam treinamento nosupervisionado, onde a rede busca encontrar similaridades baseando-se apenas nos padres de entrada. O principal objetivo dos mapas auto-organizveis de Kohonen agrupar os dados de entrada que so semelhantes entre si formando classes ou agrupamentos denominados clusters. Em uma rede classificadora h uma unidade de entrada para cada componente do vetor de entrada. Cada unidade de sada representa um cluster, o que limita a quantidade de clusters ao nmero de sadas. Durante o treinamento a rede determina a unidade de sada que melhor

168

responde ao vetor de entrada; o vetor de pesos para a unidade vencedora ajustado de acordo com o algoritmo de treinamento a ser descrito na prxima seo. Durante o processo de auto-organizao do mapa, a unidade do cluster cujo vetor de pesos mais se aproxima do vetor dos padres de entrada escolhida como sendo a vencedora. A unidade vencedora e suas unidades vizinhas tm seus pesos atualizados segundo uma regra a ser descrita a seguir. 8.2.1 Arquiteturas A Figura 8.1 apresenta arquiteturas tpicas de um mapa auto-organizvel de Kohonen, considerando configuraes de vizinhana unidimensional e bidimensional, embora dimenses mais elevadas possam ser consideradas. Alm disso, dada a dimenso, a quantidade de unidades ou neurnios de sada pode ser arbitrada e mantida fixa, ou ento definida automaticamente pelo algoritmo de treinamento, como ser descrito mais adiante para o caso de vizinhanas unidimensionais. A quantidade de elementos de entrada depende do banco de dados a ser utilizado no treinamento da rede. O grid de sada pode ser de vrias dimenses, com quantidade de elementos varivel.

unidades de sada j

unidad es de sada j pes osdascone x ewij ... unidad es de entrada i

pesos das conexes wij ... x1 x2 xn unidades de entrada i

x1

x2

xn

(a)

(b)

Figura 8.1: Arquiteturas tpicas de uma rede de Kohonen. (a) Arquitetura bidimensional. (b) Arquitetura unidimensional.

169

8.2.2 Algoritmo de Treinamento O algoritmo padro de treinamento apresentado abaixo (KASKI, 1997):
1. Inicializao e definies de parmetros Inicialize os pesos wij. Defina os parmetros de vizinhana. Defina os parmetros de aprendizagem. 2. Enquanto a condio de parada falsa, faa: 2.1. Para cada j calcule: 2.1.1. 2.1.2.

D ( j ) = arg min w j x j j
Encontre o ndice

tal

que

D(J)

seja

um

mnimo. 2.1.3. j Nc de J, e i:

wij (novo) = wij (antigo) +


2.2. 2.3. Reduza o raio de vizinhana

[xi wij (antigo )]

Atualize a taxa de aprendizagem

A taxa de aprendizagem decresce lentamente com o tempo. A formao de um mapa ocorre em duas fases: formao inicial da ordem correta convergncia final

A Figura 8.2 mostra um fluxograma representativo do algoritmo de treinamento do SOM. O algoritmo comea lendo os vetores dos padres de entrada x1, x2, . . . , xN (bloco 1). assumido que so utilizados N padres diferentes durante o processo de treinamento. O prximo passo selecionar os valores iniciais para os pesos das conexes wij (i=1, ..., n e j=1, ..., m) e o raio de vizinhana Nc. Kohonen sugeriu que os pesos das conexes sejam inicializados com valores aleatrios pequenos KOHONEN (1982). O raio de vizinhana Nc importante para atualizar os pesos (veja o bloco 7 da Figura 8.2). Como mostrado na Figura 8.3, os vizinhos de um n de sada so definidos dentro de um bloco quadrado, com o n j sendo o centro do bloco. Por exemplo, os vizinhos do n de sada j com Nc = 4 incluem 81 ns no quadrado maior NEj (Nc = 4) da Figura 8.3.

170

Incio

L os padres de entrada

x1, x2, . . . , xN
inicializa wij e Nc conta as iteraes I = 1

2 3 4

conta os padres de entrada p = 1

5 apresente o padro de entrada x p

6 11 I=I+1 p=p+1 7

computa o valor de ativao Dj para cada n e seleciona o n j* como o n com o valor mnimo de Dj

atualiza os pesos do n j e seus vizinhos 8 9 10 p = N? i = I? sim Nc = 0 sim para no

Nc = N c - 1

12

Figura 8.2: Diagrama de fluxo para o algoritmo que produz os mapas auto-organizveis.

No processo de treinamento, Nc decrementado de 1 aps um determinado nmero de iteraes (veja bloco 12 da Figura 8.2) at que Nc seja igual a zero. Aqui, diz-se que ocorreu uma iterao quando o vetor de padres x1, x2, . . . , xN tiver sido apresentado uma vez. O procedimento detalhado dentro de uma iterao descrito como segue. Depois de especificado os pesos iniciais das conexes, o valor de ativao de cada n de sada pode ser computado. O n J com o mximo valor de ativao selecionado como a unidade vencedora. Isto o que o algoritmo de treinamento faz no bloco 6 da Figura 8.2. No bloco 7, os pesos das conexes para o n J e todos os ns em sua vizinhana definidos por NEj como mostrado na Figura 8.3 so atualizados. Os procedimentos acima so repetidos para cada padro de entrada. Quando todas as N amostras de entrada tiverem sido apresentadas, dizemos que uma iterao est completa. 171

NEj (Nc=4) Nc=3 Nc=2 Nc=1 Nc=0


Nc=0 NEj (Nc=3)

[
Nc=2

( )

Nc=1

Figura 8.3: Vizinhos do n j, NEj (Nc). (a) Arquitetura bidimensional. (b) Arquitetura unidimensional.

8.2.3 Exemplo e Motivao para o Procedimento de Poda


Padres para Treinamento 1.5 1 0.8 1 0.6 0.4 0.2 y 0 y 0 -0.2 -0.5 -0.4 -0.6 -0.8 -1.5 -1.5 -1 -0.5 0 x 0.5 1 1.5 -1 -1 -0.5 0 x 0.5 1 Configurao final do vetor de pesos

0.5

-1

(a)
Configurao final do vetor de pesos 1.5

(b)

0.5 y 0

-0.5

-1 -1.5

-1

-0.5 x

0.5

(c)
Figura 8.4: Motivao para o desenvolvimento de um mtodo de poda para o SOM. (a) Conjunto de pontos a serem mapeados. (b) Mapeamento resultante para rede com 8 sadas. (c) Mapeamento resultante para uma rede inicialmente com oito sadas e cujas unidades redundantes foram retiradas pelo procedimento de poda proposto.

172

A Figura 8.4(a) apresenta um conjunto de dados composto por quatro classes disjuntas distribudas no espao 2. Cada classe composta por dez elementos. O algoritmo original, com oito unidades de sada, proposto por Kohonen e descrito nas sees precedentes apresenta, como um possvel resultado, a configurao de pesos vista na Figura 8.4(b). intuitivo que quatro dos oito vetores de pesos podem ser eliminados de alguma forma, para que a rede possua uma arquitetura mnima e ainda seja capaz de representar satisfatoriamente os dados de treinamento. Um conjunto de vetores de pesos como vistos na Figura8.4(c), pode ser obtido atravs de procedimentos de poda, o qual certamente no conhece previamente o nmero de classes do problema. 8.3 Procedimento de Poda (PSOM) para Vizinhana Unidimensional Quando pensamos em eliminar unidades pouco relevantes de uma rede neural artificial, trs questes bsicas surgem naturalmente: existem efetivamente unidades em excesso? se existirem, quais unidades devem ser eliminadas e de que forma? como a rede deve comportar-se aps a retirada de uma unidade?

Ao longo desta seo pretendemos apresentar uma resposta para estas perguntas. Como mencionado anteriormente, este mtodo tem por objetivo reduzir a dimenso topolgica do mapa gerado pelo algoritmo de treinamento original, e suas aplicaes podem ser diversas, mas com nfase em problemas de classificao ou agrupamento de padres. Os algoritmos de poda apresentados no Captulo 7 permitem a retirada de unidades intermedirias atravs de uma anlise de sensibilidade ou da incluso de um termo de penalidade na funo objetivo a ser minimizada. Para as redes auto-organizadas em estudo, no existe um critrio de erro a ser minimizado, mas sim um critrio de distncia a ser avaliado. Nosso objetivo retirar unidades que so pouco representativas. Para isso, preciso saber quais so estas unidades, se existirem. Definimos um vetor medida de agrupamento (0$) responsvel por avaliar o grau de representatividade de cada unidade de sada da rede. Aquelas unidades cujas medidas de agrupamento

0$

so inferiores a um determinado limiar () so retiradas uma-a-uma,

juntamente com todas as suas conexes. Por outro lado, se uma determinada unidade de sada possui uma medida de agrupamento 0$ muito grande, um termo de penalizao () pode ser adicionado medida de 173

agrupamento desta unidade, aumentando a probabilidade de que outras unidades possam classificar parte do conjunto amostral, evitando assim, excessos no processo de poda. Aps avaliada a medida de agrupamento de cada unidade de sada, e feita a poda de uma destas unidades (uma-a-uma), alguns fatores devem ser considerados. Geralmente os critrios de parada dos mapas auto-organizveis so um limite de iteraes ou um valor mnimo do passo de ajuste (), nos casos em que decresce durante o processo de aprendizagem. O procedimento de poda deve ser um procedimento retardado, ou seja, a rede treinada da maneira usual durante algumas iteraes, e assim que o mapa apresenta uma topologia pr-definida, inicia-se a eliminao de unidades cuja

0$

pequena. Torna-se

bvio, ento, que ao retirarmos uma unidade em fase adiantada do treinamento, o valor reduzido da taxa de aprendizagem permitir pequenos ajustes no vetor de pesos. Este argumento evidencia a necessidade de uma reinicializao do valor do passo () e do raio de vizinhana Nc sempre que uma unidade for retirada. A poda implica na retirada da unidade e reinicializao dos parmetros de treinamento, tendo como condies iniciais, por exemplo, o estado anterior do processo. O aproveitamento do resultado obtido pela rede antes do processo de poda, torna intuitiva a idia de que o algoritmo proposto (PSOM) seja sempre superior ao algoritmo padro (SOM) para a mesma arquitetura final e mesmos parmetros comuns, como e min, caso o critrio de parada seja min. A condio de parada sugerida um valor mnimo (min) para a taxa de aprendizagem (). O parmetro um valor percentual, ou seja, se uma unidade no representa nem % do conjunto de dados, esto ela pode ser retirada. Se a distribuio do conjunto de dados a ser utilizado conhecida, ento sugerido que a metade do valor percentual da classe menos representativa do conjunto seja utilizada. Caso no saibamos nada a respeito dos dados de treinamento, geralmente so utilizados valores baixos como 0.5% ou 1% para o parmetro , de forma que a rede no perca a capacidade de representar todas as classes possveis, inclusive as menos representativas. Para conjuntos amostrais pequenos, com at algumas dezenas de amostras, o nmero de sadas inicial da rede pode ser tomado como sendo igual ao nmero de amostras disponveis, ou seja, m = N; pois no possvel que existam mais do que N elementos distintos em um conjunto contendo N dados. Se o conjunto de dados grande, esta estratgia pouco 174

recomendvel devido ao esforo computacional do incio do processo de treinamento, mesmo contando etapas de poda. Algumas das desvantagens do mtodo proposto so a quantidade de parmetros a serem arbitrados e um processo que inicia com uma arquitetura grande e tenta reduzi-la durante a adaptao. Neste trabalho foi considerada a aplicao do mtodo de poda apenas para o caso de vizinhanas unidimensionais, pela simplicidade na redefinio da vizinhana aps a poda. 8.3.1 Algoritmo O algoritmo PSOM de treinamento apresentado abaixo:
1. Inicializao e definies de parmetros Inicialize os pesos wij Defina os parmetros de vizinhana (Nc0) e aprendizagem (0) Defina os parmetros de penalizao () e poda () Defina o nmero mnimo de sadas (mmin) e o retardo (ret) 2. Enquanto a condio de parada falsa, faa: 2.1. Para cada j calcule: 2.1.1. 2.1.2. 2.1.3. 2.1.4.
j

D ( j ) = arg min w j x j

}
0$
correspondente a J

Encontre o ndice J tal que D(J) seja um mnimo Incremente o componente j Nc de J, e i:

wij (novo) = wij (antigo) + xi wij (antigo )


2.2. Atualize a taxa de aprendizagem 2.3. Se (m > mmin) & (nep > ret) 2.3.1.

Ento, retire a unidade que classifica menos

que amostras, faa = 0 e Nc = Nc0 2.3.2. 2.4. Se Seno, mantenha todas as unidades grande, penalize-o com o parmetro

0$(k)

2.5. Reduza o raio de vizinhana

175

8.4

Um Mtodo de Inicializao para os Modelos de Busca por Projeo (KODIR) Como visto no Captulo 7, a determinao de uma condio inicial adequada do

conjunto de pesos de fundamental importncia para garantir a convergncia do processo de treinamento das arquiteturas do tipo MLP. Embora apresentando uma dependncia menor em relao condio inicial, por tratar cada neurnio individualmente, os modelos baseados em busca de projeo (PPL), tambm estudados no Captulo 7, devem utilizar um conjunto inicial de vetores de pesos para cada neurnio com o objetivo de explorar ao mximo o espao de busca da soluo tima. Foi desenvolvida uma estratgia que faz uso dos mapas auto-organizveis de Kohonen (SOM), no intuito de gerar um conjunto de vetores aproximadamente uniformemente distribudos em um espao multidimensional, para que a caracterstica de mxima explorao do espao de soluo fosse atendida. Como mencionado anteriormente, o algoritmo de treinamento do SOM tem como um de seus aspectos intrnsecos a realizao de um mapeamento de um espao de dimenso n (nmero de entradas) para um espao de dimenso m (nmero de sadas). A questo que surge : para que os vetores de entrada permitam um mapeamento aproximadamente uniforme nas sadas qual deve ser o conjunto de treinamento? Como resposta para esta pergunta propomos a seguinte alternativa: se estamos buscando um conjunto de vetores que estejam o mais uniformemente distribudos no espao, ento (pelas caractersticas do SOM) os vetores de treinamento tambm devem ser distribudos da maneira mais uniforme possvel. Proposta uma forma de soluo para o problema, torna-se necessrio avaliar a qualidade dos resultados oferecidos por esta estratgia. A abordagem adotada neste item envolve uma anlise de dados direcionais (MARDIA et. al., 1979). Seja Ii, i = 1, 2, , N, um vetor unitrio qualquer no espao m-dimensional. Se m = 2, estes pontos podem ser representados no espao de dimenso 2 e visualizados. Considere:
I= 1 N Ii , N i =1

(8.1)

como sendo o vetor mdio. A direo do vetor mdio I

176

I0 =

I , R

R = IT I

( )

1/ 2

,
T

(8.2) denota a operao de

onde R a distncia do vetor mdio em relao origem e transposio vetorial. Por fim, considera-se o vetor resultante como sendo
r = N .I = I i .
i =1 N

(8.3)

Para avaliar o espalhamento dos vetores fornecidos pelo mtodo proposto, considerase a distncia do vetor mdio resultante origem do sistema de coordenadas, ou seja, a amplitude do vetor resultante. O mtodo aceita como parmetros de entrada a dimenso do espao de sada (nmero de entradas da rede) e o nmero de direes que se deseja gerar (nmero de sadas da rede). Alguns exemplos de aplicaes no espao de sada de dimenso 2 sero apresentados mais adiante no Captulo 9.

177

You might also like