Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. [email protected] Universidade Federal...

66
Mapas Auto-Organizáveis Mapas Auto-Organizáveis de Kohonen de Kohonen Moacir P. Ponti Jr. Moacir P. Ponti Jr. [email protected] [email protected] Universidade Federal de São Carlos Universidade Federal de São Carlos

Transcript of Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. [email protected] Universidade Federal...

Page 1: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

Mapas Auto-Organizáveis de Mapas Auto-Organizáveis de KohonenKohonen

Moacir P. Ponti Jr. Moacir P. Ponti Jr.

[email protected]@gmail.com

Universidade Federal de São CarlosUniversidade Federal de São Carlos

Page 2: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

22Moacir P. Ponti Jr.

SumárioSumário

1.1. IntroduçãoIntrodução

2.2. Inspiração NeurofisiológicaInspiração Neurofisiológica

3.3. Aprendizagem CompetitivaAprendizagem Competitiva

4.4. Mapas Auto-OrganizáveisMapas Auto-Organizáveis

Page 3: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

33Moacir P. Ponti Jr.

IntroduçãoIntrodução

O O Self-Organizing Map Self-Organizing Map (SOM), ou Mapas Auto-(SOM), ou Mapas Auto-

Organizáveis foram desenvolvidos por Kohonen a Organizáveis foram desenvolvidos por Kohonen a

partir de 1982partir de 1982

Aprendizado Aprendizado não-supervisionadonão-supervisionado, diferente de , diferente de

todas as redes neurais artificiais desenvolvidas até todas as redes neurais artificiais desenvolvidas até

então então

Possui forte inspiração neurofisiológicaPossui forte inspiração neurofisiológica

É baseado em Aprendizagem CompetitivaÉ baseado em Aprendizagem Competitiva

Page 4: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

44Moacir P. Ponti Jr.

Inspiração NeurofisiológicaInspiração Neurofisiológica

Observação de imagens Observação de imagens Ressonância magnética (MRI)Ressonância magnética (MRI)

Tomografia Computadorizada (CT)Tomografia Computadorizada (CT)

Diferentes estímulos geramDiferentes estímulos geram Regiões de excitaçãoRegiões de excitação

Organização topográficaOrganização topográfica

Figura: Regiões ativas durante aplicação de acupuntura no ponto LI-5Fonte: Neuro-imaging of Acupunture Project

Page 5: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

55Moacir P. Ponti Jr.

Inspiração NeurofisiológicaInspiração Neurofisiológica

Page 6: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

66Moacir P. Ponti Jr.

Inspiração NeurofisiológicaInspiração Neurofisiológica

Quando um neurônio é excitado, ao redor uma área Quando um neurônio é excitado, ao redor uma área

entre 50 e 100 entre 50 e 100 μμmm também sofre excitaçãotambém sofre excitação

Ao redor, uma área sofre inibição para impedir a Ao redor, uma área sofre inibição para impedir a

propagação do sinal a áreas não relacionadaspropagação do sinal a áreas não relacionadas A figura ilustra a A figura ilustra a

iteração lateral entre iteração lateral entre

os neurôniosos neurônios

Page 7: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

77Moacir P. Ponti Jr.

Aprendizagem CompetitivaAprendizagem Competitiva

Neurônios de saída da RNA competem entre si para Neurônios de saída da RNA competem entre si para se tornar ativosse tornar ativos

Apenas um neurônio de saída está ativo em um Apenas um neurônio de saída está ativo em um determinado instantedeterminado instante

Três elementos básicos:Três elementos básicos:1.1. Neurônios com mesma estrutura, diferente pelos Neurônios com mesma estrutura, diferente pelos

pesos,pesos, de forma que tenham de forma que tenham respostas diferentesrespostas diferentes a a uma entradauma entrada

2.2. Um Um limitelimite imposto sobre a força de cada neurônio imposto sobre a força de cada neurônio

3.3. Mecanismo de competição entre neurônios, de forma Mecanismo de competição entre neurônios, de forma que um neurônio é vencedor em um dado instante.que um neurônio é vencedor em um dado instante.

Page 8: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

88Moacir P. Ponti Jr.

Aprendizagem CompetitivaAprendizagem Competitiva

Em cada momento o neurônio vencedor:Em cada momento o neurônio vencedor: aprende a se especializar em agrupamentos de aprende a se especializar em agrupamentos de

padrões similarespadrões similares

tornam-se tornam-se detectores de característicasdetectores de características para classes para classes

diferentes de padrões de entradadiferentes de padrões de entrada

O número de unidades de entrada define a O número de unidades de entrada define a

dimensionalidade dos dadosdimensionalidade dos dados

Page 9: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

99Moacir P. Ponti Jr.

Aprendizagem Competitiva - ExemploAprendizagem Competitiva - Exemplo

Exemplo de estrutura simples:Exemplo de estrutura simples: 1 camada de saída1 camada de saída Totalmente conectada à entradaTotalmente conectada à entrada Pode incluir realimentação entre Pode incluir realimentação entre

neurônios para inibição lateral neurônios para inibição lateral

Conexões excitadoras das Conexões excitadoras das entradas para os neurônios entradas para os neurônios (setas (setas fechadas com linhas contínuas)fechadas com linhas contínuas)

Conexões laterais inibitórias Conexões laterais inibitórias entre os neurôniosentre os neurônios (setas abertas em (setas abertas em linhas tracejadas)linhas tracejadas)

EntradasNeurônios

Saída

x1

x2

x3

x4

y1

y2

y3

Page 10: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

1010Moacir P. Ponti Jr.

Aprendizagem Competitiva Aprendizagem Competitiva (Neurônio Vencedor)(Neurônio Vencedor)

O neurônio vencedor é o que possui o maior campo local O neurônio vencedor é o que possui o maior campo local

induzido induzido υυkk para um dado padrão de entrada para um dado padrão de entrada xx

O campo local induzido representa a ação combinada de O campo local induzido representa a ação combinada de todas as entradas do neurônio todas as entradas do neurônio k k

A escolha do vencedor maximiza o produto interno entre A escolha do vencedor maximiza o produto interno entre os pesos do neurônio e o sinal de entrada os pesos do neurônio e o sinal de entrada

O sinal de saída O sinal de saída yyk k do neurônio vencedor é colocado em do neurônio vencedor é colocado em

1 (um) e dos outros neurônios em 0 (zero).1 (um) e dos outros neurônios em 0 (zero).

contrario caso 0

todopara se 1 ijy jk

k

Page 11: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

1111Moacir P. Ponti Jr.

Aprendizagem Competitiva Aprendizagem Competitiva (Pesos)(Pesos)

Considerando Considerando ωωkjkj como o peso sináptico como o peso sináptico

conectando o nó de entrada conectando o nó de entrada jj ao neurônio ao neurônio kk, cada , cada

neurônio tem uma quantidade de peso sinápticoneurônio tem uma quantidade de peso sináptico

Cada neurônio tem seus pesos inicializados Cada neurônio tem seus pesos inicializados aleatoriamentealeatoriamente

O aprendizado dá-se então deslocando os pesos do O aprendizado dá-se então deslocando os pesos do neurônio vencedor, na direção da entradaneurônio vencedor, na direção da entrada

kj

kj todopara 1

Page 12: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

1212Moacir P. Ponti Jr.

Aprendizagem Competitiva Aprendizagem Competitiva (Regra de Aprendizagem)(Regra de Aprendizagem)

A regra de aprendizagem competitiva aplica uma A regra de aprendizagem competitiva aplica uma

variação variação ΔΔωωkjkj ao peso ao peso ωωkjkj, definida por: , definida por:

contrario caso 0

vencedorofor neurônio o se )-( kx kjjkj

onde onde αα é a taxa de aprendizagem.é a taxa de aprendizagem.

Esta regra move o vetor de peso do neurônio Esta regra move o vetor de peso do neurônio

vencedor em direção ao padrão de entradavencedor em direção ao padrão de entrada

Page 13: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

1313Moacir P. Ponti Jr.

Aprendizagem Competitiva Aprendizagem Competitiva (Exemplo / Interpretação)(Exemplo / Interpretação)

2 entradas (espaço 2D)2 entradas (espaço 2D) 7 padrões de entrada7 padrões de entrada

4 neurônios de saída 4 neurônios de saída

αα = 0.5= 0.5 7 iterações7 iterações

Na Figura, os pontos pretos Na Figura, os pontos pretos

representam as entradas e os representam as entradas e os

amarelos os vetores dos amarelos os vetores dos

pesos sinápticos dos 4 pesos sinápticos dos 4

neurônios de saídaneurônios de saída Estado Inicial da Rede

Page 14: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

1414Moacir P. Ponti Jr.

Aprendizagem Competitiva Aprendizagem Competitiva (Exemplo / Interpretação)(Exemplo / Interpretação)

Simulação das iterações da aprendizagem competitiva

4

2

1

Entrada aleatória

Neurônio vencedor

Aprendizado

3como como αα = 0.5, o = 0.5, o

deslocamento é deslocamento é

referente à metade referente à metade

da distânciada distância

-1 1-2-3 2 3

1

2

3

-3

-2

-1

Page 15: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

1515Moacir P. Ponti Jr.

Aprendizagem Competitiva Aprendizagem Competitiva

Na aprendizagem competitiva, não há ordenação do Na aprendizagem competitiva, não há ordenação do

mapa de neurônios de saída (clusters)mapa de neurônios de saída (clusters)

No exemplo, a ordem No exemplo, a ordem

topológica seria: topológica seria:

w_1, w_2, w_3w_1, w_2, w_3

No entanto o mapa de No entanto o mapa de

saída está na ordem:saída está na ordem:

w_2, w_3, w_1w_2, w_3, w_1

Page 16: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

1616Moacir P. Ponti Jr.

Mapas Auto-OrganizáveisMapas Auto-Organizáveis

Grades neurais baseadas na aprendizagem Grades neurais baseadas na aprendizagem

competitivacompetitiva

Neurônios de saída da grade competem entre si para Neurônios de saída da grade competem entre si para

serem ativados ou disparadosserem ativados ou disparados

Os neurônios estão dispostos em nós de uma grade, Os neurônios estão dispostos em nós de uma grade,

em geral uni- ou bidimensionalem geral uni- ou bidimensional Mapas de dimensionalidade Mapas de dimensionalidade

mais alta são possíveis mais alta são possíveis

porem pouco comunsporem pouco comuns

Page 17: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

1717Moacir P. Ponti Jr.

Mapas Auto-OrganizáveisMapas Auto-Organizáveis

Processo de organizaçãoProcesso de organização

Aprendizado não-supervisionado Aprendizado não-supervisionado

Neurônios dispostos em gradeNeurônios dispostos em grade Vetores de peso localizam os neurônios no espaço Vetores de peso localizam os neurônios no espaço

de entradade entrada

Torna a rede ideal para detecção de agrupamentosTorna a rede ideal para detecção de agrupamentos

(clusters)(clusters)

Page 18: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

1818Moacir P. Ponti Jr.

O modelo de KohonenO modelo de Kohonen Produz um mapeamento Produz um mapeamento

topológico topológico

Transforma um padrão Transforma um padrão

de dimensão arbitrária de dimensão arbitrária

em um mapa discreto em um mapa discreto

uni- ou bidimensionaluni- ou bidimensional

Preserva a relação de Preserva a relação de

vizinhança entre os vizinhança entre os

neurôniosneurônios

Mapas Auto-OrganizáveisMapas Auto-Organizáveis

Entrada

Arranjo bidimensional de neurônios

Conexões sinápticas

Neurônio Vencedor

x

Page 19: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

1919Moacir P. Ponti Jr.

Mapa TopológicoMapa Topológico No caso bidimensional, dois tipos de grade são No caso bidimensional, dois tipos de grade são

possíveis: hexagonal ou retangular.possíveis: hexagonal ou retangular. Na hexagonal, cada neurônio possui 6 vizinhos diretosNa hexagonal, cada neurônio possui 6 vizinhos diretos

Na retangular, cada neurônio possui 4 vizinhos diretosNa retangular, cada neurônio possui 4 vizinhos diretos

Page 20: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

2020Moacir P. Ponti Jr.

Mapas Auto-Organizáveis (Arquitetura)Mapas Auto-Organizáveis (Arquitetura)

Considere um espaço vetorial de entrada com Considere um espaço vetorial de entrada com

dimensão dimensão dd

Cada amostra é um sinal/padrão representado por Cada amostra é um sinal/padrão representado por

um vetor um vetor xx = [ = [ xx11,, x x22,, ... ...,, x xdd ] ]

A arquitetura do SOM consiste de 2 camadas de A arquitetura do SOM consiste de 2 camadas de

neurôniosneurônios Camada de entrada composta por Camada de entrada composta por dd neurônios neurônios

Camada de saída (ou de Kohonen) formada por Camada de saída (ou de Kohonen) formada por NN

neurônios denotados por: neurônios denotados por: AA = { = { cc11,, c c22,, ... ...,, c cNN } }

Page 21: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

2121Moacir P. Ponti Jr.

Mapas Auto-Organizáveis (Arquitetura)Mapas Auto-Organizáveis (Arquitetura)

O vetor peso sináptico de cada neurônio da grade O vetor peso sináptico de cada neurônio da grade

tem a mesma dimensão que o espaço de entradatem a mesma dimensão que o espaço de entrada O vetor peso do neurônio O vetor peso do neurônio jj é representado por: é representado por:

ww = [ = [ ωωj1j1,, ωωj2j2,, ... ...,, ωωjdjd ] ] j = 1, ..., Nj = 1, ..., N

este vetor indica as coordenadas de sua localização este vetor indica as coordenadas de sua localização

no espaço de entrada no espaço de entrada dd dimensional dimensional

Page 22: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

2222Moacir P. Ponti Jr.

Diagrama Esquemático (exemplo)Diagrama Esquemático (exemplo) EntradaEntrada

PesosPesos

NeurôniosNeurônios

Mapas Auto-Organizáveis (Arquitetura)Mapas Auto-Organizáveis (Arquitetura)

Page 23: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

2323Moacir P. Ponti Jr.

ExemploExemplo Os círculos pretos representam dados (neurônios) de entrada no Os círculos pretos representam dados (neurônios) de entrada no

espaço unidimensional. A, B, C e D são a representação dos espaço unidimensional. A, B, C e D são a representação dos

neurônios de saída no espaço de entrada (que coincide com o neurônios de saída no espaço de entrada (que coincide com o

espaço dos pesos de conexão).espaço dos pesos de conexão).

(a) estado inicial dos neurônios - A, B, C e D tem pesos (a) estado inicial dos neurônios - A, B, C e D tem pesos

desordenadosdesordenados

(b) estado final dos neurônios A,B,C e D, após os ajustes, os (b) estado final dos neurônios A,B,C e D, após os ajustes, os

neurônios vizinhos tem pesos similaresneurônios vizinhos tem pesos similares

Page 24: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

2424Moacir P. Ponti Jr.

SOM – Algoritmo BásicoSOM – Algoritmo Básico

1.1. Inicialização: Inicialização: geralmente aleatória, pode ainda ser estimada por geralmente aleatória, pode ainda ser estimada por

análise da representação dos dadosanálise da representação dos dados

2.2. Competição:Competição: para cada padrão de entrada, calcula-se a resposta para cada padrão de entrada, calcula-se a resposta

dos neurônios de saída (grade). O neurônio com a maior resposta é dos neurônios de saída (grade). O neurônio com a maior resposta é

o vencedor da competição.o vencedor da competição.

3.3. Cooperação: Cooperação: o neurônio vencedor define uma vizinhança o neurônio vencedor define uma vizinhança

topológica (em função da grade) de neurônios excitadostopológica (em função da grade) de neurônios excitados

4.4. Adaptação SinápticaAdaptação Sináptica: aprendizado em relação ao padrão de : aprendizado em relação ao padrão de

entrada. Os pesos do neurônio vencedor, e de sua vizinhança, entrada. Os pesos do neurônio vencedor, e de sua vizinhança,

ficam mais próximos do padrão de entrada.ficam mais próximos do padrão de entrada.

Page 25: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

2525Moacir P. Ponti Jr.

InicializaçãoInicialização

Inicialização aleatóriaInicialização aleatória: : mais simples e mais utilizadamais simples e mais utilizada nenhum estado de organização é consideradonenhum estado de organização é considerado

durante as primeiras centenas de passos, os vetores durante as primeiras centenas de passos, os vetores

peso passam por processo de auto-organizaçãopeso passam por processo de auto-organização

Inicialização linearInicialização linear: tenta pré-organizar o espaço: tenta pré-organizar o espaço arranjo de neurônios definido ao longo de um arranjo de neurônios definido ao longo de um

subespaço linear correspondente aos:subespaço linear correspondente aos:

• kk auto-vetores da matriz de auto-correlação de auto-vetores da matriz de auto-correlação de XX que que

possuem os maiores auto-valorespossuem os maiores auto-valores

similar à análise dos componentes principais (PCA)similar à análise dos componentes principais (PCA)

Page 26: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

2626Moacir P. Ponti Jr.

Critério de CompetiçãoCritério de Competição

O critério do melhor casamento (O critério do melhor casamento (best matchingbest matching) é ) é

baseado na maximização do produto interno como baseado na maximização do produto interno como

na aprendizagem competitivana aprendizagem competitiva

Isto é matematicamente equivalente a minimizar a Isto é matematicamente equivalente a minimizar a

distância euclidiana entre distância euclidiana entre ww ee xx

O neurônio vencedor, O neurônio vencedor, v v é escolhido por:é escolhido por:

Njv jj

,...,2,1 , minarg wx

Page 27: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

2727Moacir P. Ponti Jr.

Processo CooperativoProcesso Cooperativo

Compreende a definição de uma função de Compreende a definição de uma função de

vizinhança vizinhança hhvjvj centrada no neurônio vencedor centrada no neurônio vencedor

Define uma região de neurônios cooperativos, que Define uma região de neurônios cooperativos, que

terão seus pesos ajustados juntamente com o terão seus pesos ajustados juntamente com o

neurônio vencedorneurônio vencedor

Há diversas formas de implementar a função de Há diversas formas de implementar a função de

vizinhançavizinhança Mais simples é definir um conjunto Mais simples é definir um conjunto NNvv(t)(t) de níveis de de níveis de

vizinhança ao redor do neurônio vencedorvizinhança ao redor do neurônio vencedor

Page 28: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

2828Moacir P. Ponti Jr.

Processo CooperativoProcesso Cooperativo

Então, a função de vizinhança torna-se:Então, a função de vizinhança torna-se:

NNvv(t) (t) é função monotônica é função monotônica

decrescente no tempodecrescente no tempo A função de vizinhança é A função de vizinhança é

mapeada no espaço de saídamapeada no espaço de saída

Figura: Exemplo de níveis de Figura: Exemplo de níveis de

vizinhança para uma vizinhança para uma

grade retangular de neurôniosgrade retangular de neurônios

)( , 0

)( , 1)(

tNj

tNjth

v

vvj

Page 29: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

2929Moacir P. Ponti Jr.

Processo CooperativoProcesso Cooperativo

Exemplos de função de vizinhançaExemplos de função de vizinhança Tipo bolha (todos os neurônios da vizinhança serão Tipo bolha (todos os neurônios da vizinhança serão

atualizados igualmente)atualizados igualmente)

• Base Quadrada / Base CircularBase Quadrada / Base Circular

vv

Page 30: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

3030Moacir P. Ponti Jr.

Processo CooperativoProcesso Cooperativo

Inicia-se o algoritmo com alto nível de vizinhança e Inicia-se o algoritmo com alto nível de vizinhança e

esta é reduzida conforme o tempo avançaesta é reduzida conforme o tempo avança

É necessário diminuir a região de vizinhança para É necessário diminuir a região de vizinhança para

obter a auto-organização do mapaobter a auto-organização do mapa

Para que o algoritmo convirja é necessário quePara que o algoritmo convirja é necessário que

tthvj quando 0)(

Page 31: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

3131Moacir P. Ponti Jr.

v

Processo CooperativoProcesso Cooperativo

Exemplo de mudança no nível da vizinhança em Exemplo de mudança no nível da vizinhança em

uma simulação de 3 iteraçõesuma simulação de 3 iterações Função de vizinhança quadrada tipo ‘bolha’Função de vizinhança quadrada tipo ‘bolha’

Iteração 1

Iteração 2

Iteração 3

Page 32: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

3232Moacir P. Ponti Jr.

Processo CooperativoProcesso Cooperativo

Uma função muito interessante a ser usada como Uma função muito interessante a ser usada como

função de vizinhança é a Gaussiana, dada por: função de vizinhança é a Gaussiana, dada por:

)(2exp)(

2 tth

jv

vj rr

onde o termo é a distância entre o neurônio onde o termo é a distância entre o neurônio vv

vencedor e o neurônio vencedor e o neurônio j j que está sendo atualizadoque está sendo atualizado

jv rr

Page 33: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

3333Moacir P. Ponti Jr.

Processo CooperativoProcesso Cooperativo

O parâmetro O parâmetro σσ define a largura da função e deve ser define a largura da função e deve ser

decrescente no tempo. Pode ser usada uma função decrescente no tempo. Pode ser usada uma função

linear, mas em geral é usada a exponencial:linear, mas em geral é usada a exponencial:

1

exp)0()(

tt

)0(log1 NIter

σσ(0)(0) é um valor inicial para é um valor inicial para σσ

ττ11 é uma constante de tempo do SOM é uma constante de tempo do SOM

definida para que a taxa de definida para que a taxa de aprendizagem nunca decaia para zeroaprendizagem nunca decaia para zero

Page 34: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

3434Moacir P. Ponti Jr.

Processo CompetitivoProcesso Competitivo

Exemplo de função de vizinhança GaussianaExemplo de função de vizinhança Gaussiana

hhvjvj

ddvjvj

v

Os neurônios da Os neurônios da

vizinhança são vizinhança são

atualizados de atualizados de

forma ponderadaforma ponderada

Quanto mais Quanto mais

afastados, menor afastados, menor

fica a taxa de fica a taxa de

aprendizadoaprendizado

Page 35: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

3535Moacir P. Ponti Jr.

Processo CooperativoProcesso Cooperativo

Exemplo de função de vizinhança GaussianaExemplo de função de vizinhança Gaussiana

v

v

Visão Lateral Visão Superior

Page 36: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

3636Moacir P. Ponti Jr.

Adaptação SinápticaAdaptação Sináptica

Modificação dos pesos em relação à entrada, de Modificação dos pesos em relação à entrada, de

forma iterativaforma iterativa

A equação abaixo é aplicada a todos os neurônios A equação abaixo é aplicada a todos os neurônios

da grade dentro da região de vizinhança da grade dentro da região de vizinhança hhvjvj

)]()[()()()1( tthttt jvjjj wxww

Vetor peso atualizado

Vetor peso anterior

Vizinhança Adaptação

Taxa de aprendizagem

Page 37: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

3737Moacir P. Ponti Jr.

O parâmetro de aprendizagem O parâmetro de aprendizagem αα , assim como a , assim como a

função de vizinhança deve decrescer com o tempo, função de vizinhança deve decrescer com o tempo,

para que as adaptações sejam cada vez mais “finas”para que as adaptações sejam cada vez mais “finas”

Pode ser usada uma função linear decrescente, mas Pode ser usada uma função linear decrescente, mas

é recomendada uma função exponencial é recomendada uma função exponencial

decrescente:decrescente:

onde onde ττ22 é o número total de iterações é o número total de iterações

Adaptação SinápticaAdaptação Sináptica

02

exp ,t

t

Page 38: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

3838Moacir P. Ponti Jr.

Adaptação Sináptica (Ordenação)Adaptação Sináptica (Ordenação)

Assumindo uma inicialização Assumindo uma inicialização

aleatória, é necessário duas aleatória, é necessário duas

fases de adaptaçãofases de adaptação

1.1. Fase de OrdenaçãoFase de Ordenação: devido à : devido à

inicialização aleatória, a grade inicialização aleatória, a grade

está desordenadaestá desordenada

• A ordenação topológica dá-se A ordenação topológica dá-se

pela movimentação da pela movimentação da

vizinhança, o que ocorre em vizinhança, o que ocorre em

geral nas primeiras 1000 geral nas primeiras 1000

iteraçõesiterações

4 2

1

3

3 2

1

4

Grade desordenada

Grade ordenada

Page 39: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

3939Moacir P. Ponti Jr.

Adaptação Sináptica (Ordenação)Adaptação Sináptica (Ordenação)

Para a Para a Fase deFase de OrdenaçãoOrdenação, a inicialização dos , a inicialização dos parâmetros: parâmetros: ττ22 , , αα(0)(0) ee σσ(0)(0) é importante e depende é importante e depende

da aplicaçãoda aplicação

Haykin (2000) sugere os seguintes valores iniciais:Haykin (2000) sugere os seguintes valores iniciais:

ττ22 = 1000 = 1000

αα(0)(0) = 0,1= 0,1

O O σσ(0)(0), largura da função de vizinhança, depende do , largura da função de vizinhança, depende do tamanho da rede. Para uma rede de 50 neurônios, tamanho da rede. Para uma rede de 50 neurônios, por exemplo, uma possibilidade é:por exemplo, uma possibilidade é:

σσ(0)(0) = 25= 25

Page 40: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

4040Moacir P. Ponti Jr.

Adaptação Sináptica (Convergência)Adaptação Sináptica (Convergência)

Após a fase de ordenação, inicia-se a adaptação aos Após a fase de ordenação, inicia-se a adaptação aos

padrões de entradapadrões de entrada

2.2. Fase de ConvergênciaFase de Convergência: ocorre uma “sintonia fina”, que : ocorre uma “sintonia fina”, que

pode durar muito mais iterações do que a fase de pode durar muito mais iterações do que a fase de

ordenaçãoordenação

• Neste momento, a função de vizinhança deverá englobar Neste momento, a função de vizinhança deverá englobar

apenas vizinhos próximos do neurônio vencedorapenas vizinhos próximos do neurônio vencedor

• Pode ainda ser reduzida à apenas o neurônio vencedorPode ainda ser reduzida à apenas o neurônio vencedor

Page 41: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

4141Moacir P. Ponti Jr.

Adaptação Sináptica (Convergência)Adaptação Sináptica (Convergência)

Para a Para a Fase deFase de ConvergênciaConvergência, a seguinte , a seguinte

inicialização dos parâmetros: inicialização dos parâmetros: ττ22 , , αα(0)(0) ee σσ(0)(0) é é

recomendada por Haykin (2000):recomendada por Haykin (2000):

ττ22 = 500 . = 500 . NN

αα(0)(0) = 0,01= 0,01

onde onde N N é o número de neurônios de saídaé o número de neurônios de saída

é importante não permitir que é importante não permitir que αα chegue a zero chegue a zero

Page 42: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

4242Moacir P. Ponti Jr.

ResumoResumo

Durante o processo de aprendizagem os neurônios:Durante o processo de aprendizagem os neurônios: organizam-se e tornam-se ordenados entre siorganizam-se e tornam-se ordenados entre si

especializam-se em detectar determinadas especializam-se em detectar determinadas

características dos padrões de entradacaracterísticas dos padrões de entrada

O SOM é, portanto, caracterizado pela:O SOM é, portanto, caracterizado pela: formação de um formação de um mapa topológicomapa topológico dos padrões de dos padrões de

entradaentrada

a a localização espaciallocalização espacial dos neurônios na grade após o dos neurônios na grade após o

aprendizado são aprendizado são indicativas das características indicativas das características

estatísticas estatísticas contidas nos padrões de entradacontidas nos padrões de entrada

Page 43: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

4343Moacir P. Ponti Jr.

AplicaçõesAplicações

As aplicações concentram-se principalmente em:As aplicações concentram-se principalmente em: Organização da representação dos dadosOrganização da representação dos dados

• Redução de dimensionalidadeRedução de dimensionalidade

• Reconstrução de SuperfíciesReconstrução de Superfícies

Separação de agrupamentos de dadosSeparação de agrupamentos de dados• Segmentação de ImagensSegmentação de Imagens

• Data MiningData Mining

• Classificação de DocumentosClassificação de Documentos

Classificação de dadosClassificação de dados• Reconhecimento de CaracteresReconhecimento de Caracteres

• Reconhecimento de FalaReconhecimento de Fala

Page 44: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

4444Moacir P. Ponti Jr.

AplicaçõesAplicações

Reconhecimento de CaracteresReconhecimento de Caracteres

http://fbim.fh-regensburg.de/~saj39122/begrolu/kohonen.html

Page 45: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

4545Moacir P. Ponti Jr.

AplicaçõesAplicações Reconstrução de superfíciesReconstrução de superfícies

Nuvem de

Pontos

Malha 3D do objeto

reconstruído

MARI, J.F. Reconstrução de superfícies 3D a partir de nuvens de pontos usando redes neurais auto-organizáveis. Projeto Mestrado. 2006

Page 46: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

4646Moacir P. Ponti Jr.

AplicaçõesAplicações

Segmentação de ImagensSegmentação de Imagens

Imagem Original Imagem Segmentada

http://citeseer.ist.psu.edu/jiang03som.html

Y. Jiang, et.al. SOM Based Image Segmentation. Lecture Notes in Artificial Intelligence 2639, 2003, pp.640-643

Page 47: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

4747Moacir P. Ponti Jr.

AlgoritmoAlgoritmo

1.1. Selecione a topologia da rede (defina os parâmetros)Selecione a topologia da rede (defina os parâmetros)

2.2. Selecione a região de vizinhança inicialSelecione a região de vizinhança inicial

3.3. Inicialize os pesos aleatoriamente e defina o nº de iteraçõesInicialize os pesos aleatoriamente e defina o nº de iterações

4.4. Para cada iteração:Para cada iteração:

1.1. Selecione um padrão de entradaSelecione um padrão de entrada

2.2. Encontre o neurônio vencedor (pela menor distância)Encontre o neurônio vencedor (pela menor distância)

3.3. Atualize os pesos do neurônio vencedor e sua vizinhançaAtualize os pesos do neurônio vencedor e sua vizinhança

4.4. Decremente a região de vizinhança e a taxa de aprendizagem Decremente a região de vizinhança e a taxa de aprendizagem

(caso desejado)(caso desejado)

5.5. Incremente o número da iteraçãoIncremente o número da iteração

5.5. FimFim

)]()[()()()1( tthttt jvjjj wxww

Page 48: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

4848Moacir P. Ponti Jr.

Mapas Auto-Organizáveis (Exemplo)Mapas Auto-Organizáveis (Exemplo)

4 2

1

3

-1 1-2-3 2 3

1

2

3

-3

-2

-1

2 entradas2 entradas

x1 = [ -1.0, 1.0, -2.0, 0.0] x1 = [ -1.0, 1.0, -2.0, 0.0]

x2 = [ -2.0, 1.0, -2.0, 2.0]x2 = [ -2.0, 1.0, -2.0, 2.0]

4 neurônios de saída 4 neurônios de saída w1 = [ 0.0, 1.0, 0.0,-1.0 ]; w1 = [ 0.0, 1.0, 0.0,-1.0 ]; w2 = [ 1.0, 0.0,-1.0, 0.0 ]; w2 = [ 1.0, 0.0,-1.0, 0.0 ];

αα = 0.5= 0.5 Decaimento para 0.3 na iteração 5Decaimento para 0.3 na iteração 5

Decaimento para 0.2 na iteracao 7Decaimento para 0.2 na iteracao 7

Região de vizinhança tipo ‘bolha’Região de vizinhança tipo ‘bolha’ Início = nível 1Início = nível 1

Decaimento de 1 nível na iteração 5Decaimento de 1 nível na iteração 5

10 iterações10 iterações

Page 49: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

4949Moacir P. Ponti Jr.

Exemplo de Implementação em C – parte 1Exemplo de Implementação em C – parte 1

// dados de entrada// dados de entrada

float x1[12] = {-3,-2, 1,-2,-2, 0, 1,-1,-2.5,-2.0, 0,-3.5};float x1[12] = {-3,-2, 1,-2,-2, 0, 1,-1,-2.5,-2.0, 0,-3.5};

float x2[12] = { 1,-2, 1, 2,-2, 2, 2,-3, 1.5,-2.5, 1, 2.0};float x2[12] = { 1,-2, 1, 2,-2, 2, 2,-3, 1.5,-2.5, 1, 2.0};

// estado inicial dos vetores de peso// estado inicial dos vetores de peso

float w1[4] = { 0, 1, 0,-1};float w1[4] = { 0, 1, 0,-1};

float w2[4] = { 1, 0,-1, 0};float w2[4] = { 1, 0,-1, 0};

// espaco de saida// espaco de saida

float S1[4] = { 0, 1, 1, 0};float S1[4] = { 0, 1, 1, 0};

float S2[4] = { 1, 1, 0, 0};float S2[4] = { 1, 1, 0, 0};

int iX = 0; int iX = 0; // entrada atual// entrada atual

int iter = 1; int iter = 1; // iteracao atual// iteracao atual

int fConv = 90; int fConv = 90; // delimita iteracao da fase de convergencia// delimita iteracao da fase de convergencia

int nD = 12; int nD = 12; // numero de dados// numero de dados

Page 50: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

5050Moacir P. Ponti Jr.

Exemplo de Implementação em C – parte 2Exemplo de Implementação em C – parte 2

// encontra o neurônio vencedor pelo calculo da menor distancia// encontra o neurônio vencedor pelo calculo da menor distancia

// wV = neuronio vencedor// wV = neuronio vencedor

wV = 0; wV = 0; // indice do neuronio vencedor// indice do neuronio vencedor

float dist[4] = { 0, 0, 0, 0 }; float dist[4] = { 0, 0, 0, 0 }; // vetor de distancias// vetor de distancias

for (int j=0; j<nN; j++)for (int j=0; j<nN; j++)

{{

// calcula distancia euclidiana// calcula distancia euclidiana

dist[j]= sqrt( (pow(x1[at]-w1[j],2)) + (pow(x2[at]-w2[j],2)) );dist[j]= sqrt( (pow(x1[at]-w1[j],2)) + (pow(x2[at]-w2[j],2)) );

// verifica a menor distancia// verifica a menor distancia

if (dist[j] <= dist[wV])if (dist[j] <= dist[wV])

wV = j;wV = j;

}}

Page 51: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

5151Moacir P. Ponti Jr.

Exemplo de Implementação em C – parte 3Exemplo de Implementação em C – parte 3

// verifica entre todos os neuronios, // verifica entre todos os neuronios,

// quais estao na regiao de vizinhanca ( wV = neuronio vencedor )// quais estao na regiao de vizinhanca ( wV = neuronio vencedor )

for (int j=0; j<nN; j++)for (int j=0; j<nN; j++)

{{

// verifica se esta na regiao de vizinhanca// verifica se esta na regiao de vizinhanca

// note que o calculo e feito no espaco de saida (S)// note que o calculo e feito no espaco de saida (S)

distviz = sqrt( (pow(S1[wV]-S1[j],2)) + (pow(S2[wV]-S2[j],2)) );distviz = sqrt( (pow(S1[wV]-S1[j],2)) + (pow(S2[wV]-S2[j],2)) );

// se estiver dentro do raio (funcao de vizinhanca circular),// se estiver dentro do raio (funcao de vizinhanca circular),

// atualiza o vetor de peso// atualiza o vetor de peso

if (distviz <= raio)if (distviz <= raio)

{{

w1[j] = w1[j]+alpha*(x1[act]-w1[j]);w1[j] = w1[j]+alpha*(x1[act]-w1[j]);

w2[j] = w2[j]+alpha*(x2[act]-w2[j]);w2[j] = w2[j]+alpha*(x2[act]-w2[j]);

}}

}}

Page 52: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

5252Moacir P. Ponti Jr.

Exemplo de Implementação em C – parte 4Exemplo de Implementação em C – parte 4

// escolhe nova entrada aleatoria entre 0 e nD (entre os dados)// escolhe nova entrada aleatoria entre 0 e nD (entre os dados)act = (int)(nD * rand() / (RAND_MAX + 1.0));act = (int)(nD * rand() / (RAND_MAX + 1.0));iter++; iter++; // incrementa iteraçao// incrementa iteraçao

if (iter == fConv)if (iter == fConv) // quando entra na fase de Convergencia // quando entra na fase de Convergencia{ alpha = 0.25; { alpha = 0.25; // atualiza parametros// atualiza parametros raio = 0.5; raio = 0.5; }}

// a cada duas iteracoes decrementa taxa de aprendizagem// a cada duas iteracoes decrementa taxa de aprendizagemif (iter % 2 == 0) if (iter % 2 == 0) {{ if (iter < fConv) if (iter < fConv) // decremento na fase de Ordenacao// decremento na fase de Ordenacao alpha-= 0.01;alpha-= 0.01; if (iter >= fConv) if (iter >= fConv) // decremento na fase de Convergencia// decremento na fase de Convergencia alpha-= 0.001;alpha-= 0.001; if (alpha <=0) if (alpha <=0) // protecao para alpha <= 0// protecao para alpha <= 0 alpha-= 0.0005;alpha-= 0.0005;}}

Page 53: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

5353Moacir P. Ponti Jr.

Variações do SOMVariações do SOM

Growing GridGrowing Grid

Growing Cell StructuresGrowing Cell Structures

Growing Neural GasGrowing Neural Gas

Page 54: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

5454Moacir P. Ponti Jr.

Growing GridGrowing Grid

Growing GridGrowing Grid É uma variante incremental do SOMÉ uma variante incremental do SOM

Inicia com apenas 4 neurônios (no caso 2D). Inicia com apenas 4 neurônios (no caso 2D).

A grade é incrementada pela inserção de linhas ou A grade é incrementada pela inserção de linhas ou

colunas completas, conforme os dados de entradacolunas completas, conforme os dados de entrada

Tem duas etapas:Tem duas etapas:

1.1. Fase de crescimentoFase de crescimento

2.2. Fase de ajuste finoFase de ajuste fino

Page 55: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

5555Moacir P. Ponti Jr.

Growing GridGrowing Grid

Growing GridGrowing Grid

Page 56: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

5656Moacir P. Ponti Jr.

Growing Cell StructuresGrowing Cell Structures

Growing Cell Structures (GCS)Growing Cell Structures (GCS) Também é incremental, no entanto:Também é incremental, no entanto:

• Não tem estrutura topológica regularNão tem estrutura topológica regular

A dimensionalidade é restritaA dimensionalidade é restrita

• A dimensionalidade da rede definida no início é mantidaA dimensionalidade da rede definida no início é mantida

• Isso permite a rede realizar a redução da dimensionalidadeIsso permite a rede realizar a redução da dimensionalidade

O número de neurônios iniciais é o número da O número de neurônios iniciais é o número da

dimensão + 1 dimensão + 1

No caso 2D, as conexões formam triângulosNo caso 2D, as conexões formam triângulos

No caso 3D, as conexões formam tetraedrosNo caso 3D, as conexões formam tetraedros

Page 57: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

5757Moacir P. Ponti Jr.

Growing Cell StructuresGrowing Cell Structures

Topologia Inicial do Growing Cell Structures(a) Unidimensional (b) Bidimensional (c) Tridimensional

Page 58: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

5858Moacir P. Ponti Jr.

Growing Cell StructuresGrowing Cell Structures

O algoritmo do GCS é similar ao utilizado pelo O algoritmo do GCS é similar ao utilizado pelo

SOM, exceto por duas importantes diferenças:SOM, exceto por duas importantes diferenças:

1.1. A taxa de aprendizagem é mantida constante durante A taxa de aprendizagem é mantida constante durante

todo o processo de treinamentotodo o processo de treinamento

2.2. Apenas o neurônio vencedor e sua vizinhança Apenas o neurônio vencedor e sua vizinhança

topológica direta são atualizadostopológica direta são atualizados

Page 59: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

5959Moacir P. Ponti Jr.

Growing Cell StructuresGrowing Cell Structures

Exemplo de aprendizadoExemplo de aprendizado

Page 60: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

6060Moacir P. Ponti Jr.

Growing Neural GasGrowing Neural Gas

Pode ser visto como uma variação do Growing Cell Pode ser visto como uma variação do Growing Cell

StructuresStructures

Diferenças quanto à dimensionalidade: Diferenças quanto à dimensionalidade: A dimensionalidade da rede não é restritaA dimensionalidade da rede não é restrita

Dimensionalidade definida no início é incrementadaDimensionalidade definida no início é incrementada

Portanto não ocorre redução de dimensionalidadePortanto não ocorre redução de dimensionalidade

Page 61: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

6161Moacir P. Ponti Jr.

Growing Neural GasGrowing Neural Gas

Quanto à topologia da rede:Quanto à topologia da rede: Inicia com dois neurônios independente da Inicia com dois neurônios independente da

dimensionalidadedimensionalidade

A topologia da rede reflete a topologia do espaço de A topologia da rede reflete a topologia do espaço de

entradaentrada

As conexões no espaço de saída são dinâmicas As conexões no espaço de saída são dinâmicas

(podem ser criadas e destruídas durante o (podem ser criadas e destruídas durante o

treinamento)treinamento)

Page 62: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

6262Moacir P. Ponti Jr.

Growing Neural GasGrowing Neural Gas

Quanto ao aprendizado:Quanto ao aprendizado: Há 2 neurônios vencedores, o primeiro e o segundo.Há 2 neurônios vencedores, o primeiro e o segundo.

Numa iteração ambos são atualizados e uma conexão Numa iteração ambos são atualizados e uma conexão

entre eles é criadaentre eles é criada

• Esta conexão tem um tempo de vidaEsta conexão tem um tempo de vida

• Caso não se torne ativa por um número de iterações Caso não se torne ativa por um número de iterações

determinado, a conexão é destruídadeterminado, a conexão é destruída

Page 63: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

6363Moacir P. Ponti Jr.

Growing Neural GasGrowing Neural Gas

Início com 2 neurônios Inclusão usando interpolação entre os neurônios mais ativos

Organização topológica

Page 64: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

6464Moacir P. Ponti Jr.

Growing Neural GasGrowing Neural Gas

Após 1000 iterações, mais neurônios são

incluídos conforme as novas entradas

Após 25000 iterações, já é possível observar que as conexões são criadas e destruídas conforme a

atividade dos neurônios que participam da conexão

Page 65: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

6565Moacir P. Ponti Jr.

ReferênciasReferências

HAYKIN, S. Mapas Auto-Organizáveis (capítulo 9). Em: HAYKIN, S. HAYKIN, S. Mapas Auto-Organizáveis (capítulo 9). Em: HAYKIN, S. Redes Redes NeuraisNeurais: princípios e prática. 2000: princípios e prática. 2000

KOHONEN, T. Self-organized formation of topologically correct feature KOHONEN, T. Self-organized formation of topologically correct feature maps. maps. Biological CyberneticsBiological Cybernetics, 43:59-69. 1982., 43:59-69. 1982.

PSYCH CENTRAL. PSYCH CENTRAL. Self-Organizing MapSelf-Organizing Map. Disponível em: . Disponível em: http://psychcentral.com/psypsych/Self-organizing_maphttp://psychcentral.com/psypsych/Self-organizing_map. Acesso em: 29/05/2006. Acesso em: 29/05/2006

HYNNINEN, J. HYNNINEN, J. Interactive Self-Organizing Map demonstrationsInteractive Self-Organizing Map demonstrations. Disponível . Disponível em: em: http://www.cis.hut.fi/research/javasomdemo/index.htmlhttp://www.cis.hut.fi/research/javasomdemo/index.html. Acesso em: . Acesso em: 25/05/200625/05/2006

FROHLICH, J. FROHLICH, J. 3D Kohonen Feature Map. Disponível em: 3D Kohonen Feature Map. Disponível em: http://fbim.fh-regensburg.de/~saj39122/jfroehl/diplom/e-sample-applet.htmlhttp://fbim.fh-regensburg.de/~saj39122/jfroehl/diplom/e-sample-applet.html. Acesso em: 31/05/2006.. Acesso em: 31/05/2006.

Page 66: Mapas Auto-Organizáveis de Kohonen Moacir P. Ponti Jr. moacirponti@gmail.com Universidade Federal de São Carlos.

6666Moacir P. Ponti Jr.

Outros sites interessantesOutros sites interessantes

Sistema de busca baseado no SOM: Sistema de busca baseado no SOM: http://www.gnod.net/http://www.gnod.net/

Livro de redes neurais em Java + SOM: Livro de redes neurais em Java + SOM:

http://www.heatonresearch.com/articles/series/1/http://www.heatonresearch.com/articles/series/1/

Applet SOM 3D: Applet SOM 3D:

http://fbim.fh-regensburg.de/~saj39122/jfroehl/diplom/e-samplehttp://fbim.fh-regensburg.de/~saj39122/jfroehl/diplom/e-sample-applet.html-applet.html

Applet DemoGNG 1.5 com diversas variações do SOM e Applet DemoGNG 1.5 com diversas variações do SOM e

muitos recursos: muitos recursos: http:http://www.neuroinformatik//www.neuroinformatik..ruhr-uni-bochumruhr-uni-bochum..

de/ini/VDM/research/gsn/DemoGNG/GG_2de/ini/VDM/research/gsn/DemoGNG/GG_2..htmlhtml