22
1 Self Organizing Maps - Redes de Kohonen 1. Redes auto organizáveis Existe uma classe de redes neurais artificias que possuem a capacidade de auto organização, sendo por isto chamadas de redes auto organizáveis. A principal característica das redes auto organizáveis refere-se ao processo de aprendizado, que ocorre através do treinamento não supervisionado: a própria “estrutura” da rede é responsável pelo ajuste dos parâmetros que determinam o aprendizado da rede com relação ao problema em questão. As redes (“mapas”) SOM (Self Organizing Maps) e ART (Adaptive Resonance Theory) são modelos com tal capacidade. 1.1 Redes SOM (Self Organizing Maps) As redes SOM (Self Organizing Maps) foram desenvolvidas por Teuvo Kohonen – professor da Faculdade de Ciência da Informação da Universidade de Helsinqui (Finlândia) – na década de 80. Em vários trabalhos estas redes são chamadas de “redes de Kohonen”, o que pode provocar confusão, uma vez que Kohonen também propôs outros modelos de redes neurais. As redes SOM possuem forte inspiração neurofisiológica. Baseiam-se no mapa topológico presente no córtex cerebral.

Self Organizing Maps - Redes de Kohonenpalhares2.flu.angelfire.com/uniceub/ia/iat009.pdf · 5 • “Se as redes neurais recebem informações sobre a magnitude e direção dos erros

Embed Size (px)

Citation preview

Page 1: Self Organizing Maps - Redes de Kohonenpalhares2.flu.angelfire.com/uniceub/ia/iat009.pdf · 5 • “Se as redes neurais recebem informações sobre a magnitude e direção dos erros

1

Self Organizing Maps - Redes de Kohonen

1. Redes auto organizáveis

• Existe uma classe de redes neurais artificias que possuem acapacidade de auto organização, sendo por isto chamadas de redesauto organizáveis.

• A principal característica das redes auto organizáveis refere-seao processo de aprendizado, que ocorre através do treinamentonão supervisionado: a própria “estrutura” da rede é responsávelpelo ajuste dos parâmetros que determinam o aprendizado da redecom relação ao problema em questão.

• As redes (“mapas”) SOM (Self Organizing Maps) e ART(Adaptive Resonance Theory) são modelos com tal capacidade.

1.1 Redes SOM (Self Organizing Maps)

• As redes SOM (Self Organizing Maps) foram desenvolvidas porTeuvo Kohonen – professor da Faculdade de Ciência daInformação da Universidade de Helsinqui (Finlândia) – na décadade 80. Em vários trabalhos estas redes são chamadas de “redes deKohonen”, o que pode provocar confusão, uma vez que Kohonentambém propôs outros modelos de redes neurais.

• As redes SOM possuem forte inspiração neurofisiológica.Baseiam-se no mapa topológico presente no córtex cerebral.

Page 2: Self Organizing Maps - Redes de Kohonenpalhares2.flu.angelfire.com/uniceub/ia/iat009.pdf · 5 • “Se as redes neurais recebem informações sobre a magnitude e direção dos erros

2

• Sabe-se que o cérebro dos animais mais sofisticados possui áreasresponsáveis por funções específicas. Existem áreas dedicadas àfala, à visão, ao controle motor, à sensibilidade ao toque, etc.Cada uma dessas áreas contém subáreas.

• Cada subárea mapeia internamente respostas do órgão sensorialrepresentado por ela. Por exemplo:

� Córtex auditivo: o mapeamento reflete as diferentesfrequências sonoras.

� Córtex visual: o mapeamento é definido pelas característicasvisuais primitivas, como intensidade de luz, orientação ecurvatura de linhas.

• Observa-se que os neurônios estão espacialmente ordenadosdentro destas áreas e, assim, neurônios topologicamente maispróximos tendem a responder a padrões ou estímulos de formasemelhante.

• Tal ordenação topológica é resultado do uso de feedback lateralentre as células do córtex cerebral. Este feedback lateral égeralmente modelado em redes neurais por uma função conhecidacomo “chapéu mexicano”.

Page 3: Self Organizing Maps - Redes de Kohonenpalhares2.flu.angelfire.com/uniceub/ia/iat009.pdf · 5 • “Se as redes neurais recebem informações sobre a magnitude e direção dos erros

3

• Segundo a função “chapéu mexicano”, cada neurônio influencia oestado de ativação de seus neurônios vizinhos de três formaspossíveis: excitatória (região R1), inibitória (região R2) elevemente excitatória (região R3)

1.1.1 Funcionamento básico da rede SOM

• A estrutura básica de uma rede SOM apresenta apenas duascamadas: a camada input e a camada output, esta últimarepresentada normalmente como um grid bidimensional.

� Os nodos da camada input se ligam a todos os nodos da camadaouptut.

� Os nodos da camada output estão, por sua vez, ligados entre siao seus vizinhos geograficamente adjacentes.

• Um padrão p de entrada é apresentado à rede (via camada input).

• A rede procura a unidade (neurônio) da camada output maisparecida com p.

• Durante o treinamento, a rede aumenta a semelhança do nodo(neurônio) escolhido e seus vizinhos em relação ao padrão p.

Page 4: Self Organizing Maps - Redes de Kohonenpalhares2.flu.angelfire.com/uniceub/ia/iat009.pdf · 5 • “Se as redes neurais recebem informações sobre a magnitude e direção dos erros

4

• Assim, a rede constrói um mapa topológico onde nodostopologicamente mais próximos respondem de forma semelhantea padrões de entrada semelhante.

• O algoritmo de aprendizado da rede é competitivo: os nodos(neurônios) da camada output competem entre si para seremativados, ou seja, para ver quem gera o maior valor de saída(resposta) ao padrão p apresentado.

2. Clusterização utilizando mapas de Kohonen(Revista InfoGeo – Ano 2 No 6 março/abril 1999 – pág 34-36 –“Segmentação com mapas neurais de Kohonen” por Francisco Aranha)

• “Em essência, redes neurais são uma tecnologia de processamentode informações que se inspira no funcionamento do cérebrohumano.”

• “Apresentadas a uma série de estímulos (os dados a analisar) asredes neurais os organizam e aprendem a reconhecer padrões efazer previsões.”

Page 5: Self Organizing Maps - Redes de Kohonenpalhares2.flu.angelfire.com/uniceub/ia/iat009.pdf · 5 • “Se as redes neurais recebem informações sobre a magnitude e direção dos erros

5

• “Se as redes neurais recebem informações sobre a magnitude edireção dos erros que cometem na análise, aperfeiçoam seuconhecimento, melhorando as respostas seguintes”.

• Em particular, as redes de Kohonen apresentam uma estrutura derede em duas camadas distintas de neurônios: uma camada deentrada (camada “input” ) por onde se “apresenta” o padrão para arede e uma camada de processamento (camada “kohonen”), ondese forma o mapa (resultado da classificação dos padrõesapresentados).

• Os neurônios da camada input se ligam a todos os neurônios dacamada kohonen. Cada neurônio da camada kohonen estádiretamente ligado aos seus neurônios diretamente adjacentes.

• O funcionamento básico do mapa de Kohonen assim se processa:

� Um padrão p1 é apresentado à rede, através da camada input.

� Os neurônios da camada input transmitem estes “estímulos” aosneurônios da camada de processamento kohonen.

Page 6: Self Organizing Maps - Redes de Kohonenpalhares2.flu.angelfire.com/uniceub/ia/iat009.pdf · 5 • “Se as redes neurais recebem informações sobre a magnitude e direção dos erros

6

� O neurônio Ni da camada kohonen que reagir mais fortemente aosestímulos do padrão p1 ganha-o para si. Além disso, reforça suasligações com os vizinhos mais próximos, sensibilizando-os umpouco mais em relação às características do padrão p1.

� Na próxima oportunidade, quando um padrão pk “parecido” comp1 for apresentado ao mapa de Kohonen, toda a vizinhança de Ni

reagirá um pouco mais intensamente em relação às outras áreas domapa.

� Cada nova apresentação de um padrão pr à rede faz com que operfil de sensibilidade dos neurônios da camada kohonen vá sealterando: isto é o que chamamos treinamento da rede.

� A medida em que o número de padrões de treinamento vaiaumentando, as alterações dos neurônios vão gradualmente sereduzindo, até que a configuração do mapa (camada kohonen)converge para uma disposição estável. Dizemos então que o mapade Kohonen aprendeu a classificar.

Page 7: Self Organizing Maps - Redes de Kohonenpalhares2.flu.angelfire.com/uniceub/ia/iat009.pdf · 5 • “Se as redes neurais recebem informações sobre a magnitude e direção dos erros

7

2.1 – Ideias da rede SOM

• Considere uma pessoa e o seu (virtualmente infinito) “vetor deatributos”:

• Considere, que uma determinada livraria gostaria de “classificar”sua clientela de acordo com apenas duas características(variáveis): sexo e gênero literário de interesse:

Page 8: Self Organizing Maps - Redes de Kohonenpalhares2.flu.angelfire.com/uniceub/ia/iat009.pdf · 5 • “Se as redes neurais recebem informações sobre a magnitude e direção dos erros

8

• Usando um mapa de Kohonen para classificar (clusterizar) osclientes:

Page 9: Self Organizing Maps - Redes de Kohonenpalhares2.flu.angelfire.com/uniceub/ia/iat009.pdf · 5 • “Se as redes neurais recebem informações sobre a magnitude e direção dos erros

9

Page 10: Self Organizing Maps - Redes de Kohonenpalhares2.flu.angelfire.com/uniceub/ia/iat009.pdf · 5 • “Se as redes neurais recebem informações sobre a magnitude e direção dos erros

10

Page 11: Self Organizing Maps - Redes de Kohonenpalhares2.flu.angelfire.com/uniceub/ia/iat009.pdf · 5 • “Se as redes neurais recebem informações sobre a magnitude e direção dos erros

11

• Após o treinamento da rede (apresentação de todos os “padrões” àrede), são formados grupos (clusters) de perfis de clientes...

Page 12: Self Organizing Maps - Redes de Kohonenpalhares2.flu.angelfire.com/uniceub/ia/iat009.pdf · 5 • “Se as redes neurais recebem informações sobre a magnitude e direção dos erros

12

2.2 - Exemplo 1 – Entendendo SOM

♦ Vamos construir um mapa de Kohonen para classificar (agrupar –clusterizar) as 14 cidades A, B, C, ... N de acordo com o perfil de consumoper capita mensal de laranja e de limão dos habitantes destas cidades.Veja a tabela abaixo:

♦ Visualmente podemos notar que existem 3 (ou 4) perfis (padrões) decidade com relação ao consumo per capita mensal de laranja e de limão.Concorda com isso ou não ?

♦ Vamos ver como o mapa de Kohonen irá classificar...

Page 13: Self Organizing Maps - Redes de Kohonenpalhares2.flu.angelfire.com/uniceub/ia/iat009.pdf · 5 • “Se as redes neurais recebem informações sobre a magnitude e direção dos erros

13

♦ Vamos usar o software R para executar o algoritmo desta redeSOM.

♦ O primeiro passo é normalizar os dados... No exemplo foram realizados 3tipos de normalização (N1, N2 e N3) e foi escolhida a normalização N3,com base na normalização N2.

Page 14: Self Organizing Maps - Redes de Kohonenpalhares2.flu.angelfire.com/uniceub/ia/iat009.pdf · 5 • “Se as redes neurais recebem informações sobre a magnitude e direção dos erros

14

♦ Observe os dados normalizados (calculados no ambiente do R)

♦ A execução do algoritmo SOM no ambiente do R exige que selecionemosapenas os campos que serão usados para classificação. No casoselecionamos apenas os campos normalizados no “formato” N3, ou seja,os campos LARANJA_N3 e LIMAO_N3.

♦ Então executaremos o algoritmo numa camada (mapa) de dimensão 3 X 3

♦ Pronto... diversos resultados são gerados...

Page 15: Self Organizing Maps - Redes de Kohonenpalhares2.flu.angelfire.com/uniceub/ia/iat009.pdf · 5 • “Se as redes neurais recebem informações sobre a magnitude e direção dos erros

15

♦ Resultado: mapa de treinamento do vetor de pesos

Page 16: Self Organizing Maps - Redes de Kohonenpalhares2.flu.angelfire.com/uniceub/ia/iat009.pdf · 5 • “Se as redes neurais recebem informações sobre a magnitude e direção dos erros

16

♦ Resultado: Total de padrões alocados pelos neurônios da rede

Page 17: Self Organizing Maps - Redes de Kohonenpalhares2.flu.angelfire.com/uniceub/ia/iat009.pdf · 5 • “Se as redes neurais recebem informações sobre a magnitude e direção dos erros

17

♦ Resultado: Padrões alocados nos neurônios

Page 18: Self Organizing Maps - Redes de Kohonenpalhares2.flu.angelfire.com/uniceub/ia/iat009.pdf · 5 • “Se as redes neurais recebem informações sobre a magnitude e direção dos erros

18

♦ Resultado: O vetor de pesos dos neurônios e o mapa do vetor de pesos(code vector)

Page 19: Self Organizing Maps - Redes de Kohonenpalhares2.flu.angelfire.com/uniceub/ia/iat009.pdf · 5 • “Se as redes neurais recebem informações sobre a magnitude e direção dos erros

19

Page 20: Self Organizing Maps - Redes de Kohonenpalhares2.flu.angelfire.com/uniceub/ia/iat009.pdf · 5 • “Se as redes neurais recebem informações sobre a magnitude e direção dos erros

20

♦ Resultado: Cálculo da distância euclideana de um determinado padrão aum determinado neurônio. Um exemplo:

Page 21: Self Organizing Maps - Redes de Kohonenpalhares2.flu.angelfire.com/uniceub/ia/iat009.pdf · 5 • “Se as redes neurais recebem informações sobre a magnitude e direção dos erros

21

♦ Resultado: Mapa de calor por variável

Page 22: Self Organizing Maps - Redes de Kohonenpalhares2.flu.angelfire.com/uniceub/ia/iat009.pdf · 5 • “Se as redes neurais recebem informações sobre a magnitude e direção dos erros

22