• Nenhum resultado encontrado

Apontamentos M5

N/A
N/A
Protected

Academic year: 2021

Share "Apontamentos M5"

Copied!
32
0
0

Texto

(1)

Professor Doutor Fernando Lucas Bação

U

NIDADE DE

(2)

1

Introdução ao Self-Organizing Map.

2

Princípios básicos do Self-Organizing Map.

3

Ferramentas de Exploração e Análise do Self-Organizing Map.

4

O Self-Organizing Map na Análise de Clusters.

5

Links de Interesse.

6

Bibliografia.

(3)

1 INTRODUÇÃO AO SELF-ORGANIZING MAP

No módulo anterior abordámos a análise de clusters recorrendo aos algoritmos hierárquicos e k-means. Outra forma de abordar a tarefa de clustering consiste em utilizar, as habitualmente designadas, redes neuronais não-supervisionadas. No caso das redes não-supervisionadas (e ao contrário das redes supervisionadas que estudaremos num módulo posterior) não é dado qualquer output ou target. Mais concretamente, neste módulo iremos estudar um tipo de rede não-supervisionada normalmente designada por Self-Organizing Map.

Apesar do termo Self-Organizing Map ser aplicado a um grande número de abordagens no nosso curso utilizamos o termo como sinónimo de Kohonen Self-Organizing Maps [Kohonen 1995]. Teuvo Kohonen foi o inventor deste tipo de rede neuronal que propôs em 1982 [Kohonen 1982]. Os SOM têm sido alvo de grande interesse e adesão por parte de um grande número de investigadores e académicos. De facto, o número de publicações sobre o tema é verdadeiramente extraordinário. O interesse dos diferentes investigadores varia entre a formalização rigorosa das propriedades dos SOM, a sua relação com a psicologia e psicofisiologia e, principalmente, o elevado número de aplicações que mostra ter no contexto das mais diversas temáticas.

Kohonen define o SOM como “uma ferramenta de visualização e análise para dados de elevada dimensionalidade”. Estes constituem, de facto, duas das mais interessantes características do SOM, no entanto ele tem sido utilizado em muitas outras tarefas, tais como: clustering, redução de dimensionalidade, classificação, amostragem, entre outras. No contexto do nosso curso centramos o nosso interesse no SOM enquanto ferramenta de análise exploratória, enfatizando as suas capacidades como ferramenta de clustering, visualização e análise de dados de elevada dimensionalidade. A nossa perspectiva é a de que o SOM deve ser encarado como uma “caixa de ferramentas” e não apenas como uma ferramenta de clustering, na medida em que encerra inúmeras características que pode ser relevantes e desejáveis em diferentes tarefas e contextos. É sobre essa “caixa de ferramentas” que nos iremos debruçar neste módulo.

(4)

2 PRINCÍPIOS BÁSICOS DO SELF-ORGANIZING MAP

O Self-Organizing Map (SOM) é uma rede neuronal com capacidade para organizar grandes conjuntos de dados de acordo com as semelhanças que apresentam. Esquematicamente o SOM pode ser visto como uma matriz de unidades (neurónios), também designado por “mapa topológico” ou “espaço de output”. Esta matriz pode ser rectangular ou hexagonal, tal como apresentado na Figura 1. Na figura as unidades aparecem numeradas apenas para que possam ser identificadas.

Figura 1: Exemplo de um Mapa Topológico, onde se encontram representados os neurónios de um SOM.

Cada um dos círculos representa uma unidade, identificada pelo número que representa a sua posição na matriz. É importante salientar que o SOM pode ter dimensionalidade n, no entanto, os mais frequentes são os SOM 2D e 1D (Figura 2) devido às questões relacionadas com a possibilidade de visualização do espaço de output. Como é óbvio, o SOM 3D já coloca desafios de difícil resolução, em termos de visualização, e qualquer acréscimo de dimensões traduz-se na incapacidade de visualização do espaço de output. Assim, a utilização de SOM’s acima das duas dimensões é muito rara já que grande parte da relevância do SOM passa pela possibilidade de visualização e análise do espaço de output.

(5)

Figura 2: exemplo de um SOM 2d (lado esquerdo) e de um SOM 1d lado direito

Cada uma das unidades do SOM corresponde a um vector de valores, tipicamente, inicializado aleatoriamente. A dimensão do vector da unidade é definida pelo número de variáveis de input a utilizar no problema de clustering. Por exemplo, digamos que no nosso problema iremos utilizar 3 variáveis para caracterizar cada um dos padrões de input que queremos agrupar. Isto significa que cada um dos padrões de input corresponderá a um vector de dimensão 3, tal como acontecerá com os vectores que definem as unidades do SOM.

O facto de cada unidade do SOM ser um vector de dimensão igual aos padrões de input a agrupar faz com que para além do espaço de output o SOM tenha também expressão no espaço das variáveis ou “espaço de input”, aliás à semelhança do que acontece com o algoritmo k-means estudado no módulo anterior. Concluímos assim, que o SOM pode ser “visto” de duas perspectivas diferentes, a partir do espaço das variáveis (o espaço de input), ou a partir do seu mapa topológico (espaço de output).

Por forma a simplificar o problema da explicação do funcionamento do algoritmo e permitir a sua visualização, tomemos um exemplo: digamos que estamos a proceder ao clustering de um conjunto de padrões de input com base em apenas duas variáveis. Assim, quer as unidades (neurónios) quer os padrões de input que estamos a tentar agrupar são definidos a duas dimensões, pelas variáveis (W1, W2). Neste caso específico podemos representar graficamente quer as unidades quer os padrões de input. Na Figura 3 apresentamos um exemplo de um SOM e dos dois espaços que o caracterizam. No lado esquerdo da figura, o espaço de output onde as unidades estão organizadas numa matriz rectangular. No lado direito da figura, o espaço de input definido pelas variáveis de interesse (W1, W2). A posição das unidades do início do processo de treino, tal como é o caso da Figura 3, é inicializada aleatoriamente.

(6)

Figura 3: exemplo do espaço de output (do lado esquerdo) onde se definem as relações topológicas e do espaço de input (do lado direito) definido em função das variáveis que caracterizam os padrões de input a classificar

No lado esquerdo da Figura 4 podemos ver os padrões de input de interesse e do lado direito esses mesmos padrões de input agora acompanhados pelas unidades do SOM. Em termos práticos o treino do SOM é feito no espaço de input mas “coordenado” a partir do espaço de output, ou seja, existem determinadas características do espaço de output que condicionam o treino do SOM.

Figura 4: do lado esquerdo da figura podemos ver os padrões de input a classificar no espaço de input, do lado direito esses mesmos padrões de input com as unidades que definem o SOM.

Em larga medida o processo de treino do SOM é muito semelhante ao algoritmo k-means, abordado no módulo anterior. No entanto, existem diferenças que devem ser tidas em linha de conta. Em primeiro lugar, durante o treino do SOM as propriedades topológicas são preservadas, o raio de vizinhança é o parâmetro que garante a preservação da estrutura

(7)

designado taxa de aprendizagem (ou ritmo de aprendizagem), que em cada momento define o ajustamento que é feito. Ambos os parâmetros decrescem ao longo do treino, por forma a garantir a convergência do SOM para uma solução óptima (ou semi-óptima).

O processo de treino do SOM é muito simples. Uma vez gerados aleatoriamente os vectores que definem as unidades, é apresentado à rede o primeiro objecto (Figura 5). Procede-se de seguida à avaliação das distâncias entre o objecto e todas as unidades, sendo que a unidade mais próxima “ganha” a representação do indivíduo. Uma vez definida qual a unidade mais próxima do objecto (Figura 5), esta mover-se-á no sentido do objecto, por forma a melhorar a sua representação deste. Esta aproximação é definida pela taxa de aprendizagem, que varia entre 1 e 0. A taxa de aprendizagem define, tendo em conta a distância que separa a unidade do objecto, a magnitude da aproximação. Com uma taxa de aprendizagem de 1, a unidade ficará exactamente na mesma posição do objecto, ao contrário, se esta for 0 então a unidade permanecerá na mesma posição, à mesma distância do objecto. Tipicamente, a taxa de aprendizagem é iniciada com valores perto de 1 e à medida que o processo decorre tende para 0.No caso particular da Figura 5 a taxa de aprendizagem é elevada uma vez que a deslocação das unidades é bastante notória o que é característico das fases iniciais de treino. Adicionalmente, e como já referimos anteriormente, não é só a unidade vencedora que é actualizada mas também as suas unidades vizinhas. Na Figura 5 (em baixo do lado direito) podemos ver que as unidades 2 e 4 também actualizarão a sua posição.

(8)

Figura 5: Uma vez apresentado o primeiro indivíduo à rede o neurónio mais próximo desloca-se no sentido do indivíduo, por forma a melhorar a sua representação do mesmo.

Neste exemplo o raio de vizinhança abrange apenas os vizinhos imediatos (Figura 6), no entanto este parâmetro pode ser bastante mais abrangente. Tipicamente, no início do processo de aprendizagem o raio de vizinhança deve cobrir metade da dimensão da matriz, no entanto, não existe qualquer demonstração teórica que permita definir o raio óptimo. Existe ainda a possibilidade de utilizar uma função de vizinhança que se traduza numa redução progressiva do ajuste feito pelas unidades vizinhas à medida que estão mais distantes. Por exemplo, os vizinhos imediatos são actualizados com base na mesma taxa de aprendizagem, os vizinhos “em segundo grau” com uma taxa inferior e assim sucessivamente.

Figura 6: definição das vizinhanças no espaço de output.

De acordo com o exemplo apresentado o resultado do processamento do objecto A é o que apresentamos na Figura 7. As unidades 1, 2 e 4 moveram-se para a zona onde se encontrava o objecto a processar (a zona Noroeste do plano). Uma vez processado o primeiro objecto, um novo objecto do conjunto de dados é apresentado à rede, neste caso o objecto D. Importa referir que a sequência pela qual os padrões de input são apresentados à rede é aleatória.

(9)

Figura 7: resultado da distribuição das unidades após o processamento do primeiro objecto (lado esquerdo), apresentação do segundo objecto.

Este processo decorrerá para todos os padrões de input. Ao fim de cada época (na linguagem das redes neuronais uma época corresponde ao processamento de todos os padrões de input, ou seja, a primeira época acaba quando o último indivíduo do conjunto de dados é apresentado pela primeira vez à rede), os parâmetros do processo, taxa de aprendizagem e vizinhança, são actualizados. Em geral, a duração do processo de treino de um SOM é definido à partida pelo utilizador especificando o número de épocas que este deverá comportar. Tipicamente, o número de épocas é elevado, na ordem dos milhares.

ACTIVIDADE I

Treino de um SOM (visto no espaço de input) 1D e 2D

As duas animações apresentadas mostram a evolução do treino de duas redes, uma rede 1D e uma rede 2D. Em ambos os casos o filme refere-se ao que pode ser observado no “espaço de input”. Cada ponto vermelho representa um objecto, os pontos verdes representam as unidades do SOM. Como é óbvio, no caso desta animação, os nossos padrões

(10)

Se o treino do SOM decorrer com sucesso, então os objectos (padrões de input) que se encontram próximos no espaço de input serão mapeados para unidades próximas (ou para a mesma unidade) no espaço de output, e vice-versa. Assim, o SOM “preserva a topologia” no sentido em que (tanto quanto possível) as vizinhanças serão preservadas durante o processo de mapeamento.

Em geral, independentemente da quantidade de treino, haverá sempre diferenças entre a posição de um dado padrão de input e a unidade onde se encontra mapeado. Esta diferença é designada como erro de quantização, e constitui uma medida da qualidade da representação que as unidade proporcionam dos vectores de input. O erro de quantização é calculado através da soma de todas as distâncias entre cada padrão de input e a unidade para o qual se encontra mapeado, dando assim uma noção da qualidade da representação conseguida pelo SOM. A Figura 8 apresenta um espaço de input onde se encontram representadas 2 unidades e 45 padrões de input, as linhas representam as distâncias, utilizadas no cálculo do erro de quantização, entre cada padrão de input e a unidade mais próxima (unidade para a qual foi mapeado).

de input são caracterizados por duas únicas variáveis. Neste caso temos 6 clusters (grupos de pontos vermelhos) e 6 unidades. Como se pode ver no início do processo, quando a taxa de aprendizagem e o raio de vizinhança têm valores elevados, o comportamento da rede é bastante errático, com deslocações muito acentuadas. À medida que estes parâmetros decrescem a rede tende a estabilizar e as diferentes unidades a “especializar-se” na representação de sub-conjuntos de pontos (clusters).

(11)

# # # S # S # S # S # S # S #S # S # S #S #S #S # S # S S# # S # S S# # S # S # S # S # S # S # S # S S# # S # S # S # S S# S# # S # S # S # S # S S# #S S# # S # S # S # S # # # S # S # S # S # S # S #S # S # S #S #S #S # S # S S# # S # S S# # S # S # S # S # S # S # S # S S# # S # S # S # S S# S# # S # S # S # S # S S# #S S# # S # S # S # S

Figura 8: representação gráfica do erro de quantização.

O erro topológico serve para avaliar a complexidade do espaço de output formado durante o treino do SOM. O erro topológico mede o número médio de vezes em que o segundo vizinho mais próximo de um padrão de input não é mapeado para uma unidade vizinha da unidade onde o padrão de referência de encontra mapeado. Quanto mais elevado o erro topológico mais complexo será o espaço de output. Um elevado erro topológico poderá indicar que o problema de classificação é complexo e preservar a topologia difícil, ou indicar que o treino não permitiu um desdobramento adequado da rede.

ACTIVIDADE II Treino de um SOM 2D (visto no espaço de output)

Gostaríamos de convidar o aluno a visitar o site http://www.eas.asu.edu/~eee511/demos/som-color/sofm.html,

(12)

de forma muito simples e intuitiva o funcionamento do SOM. Quando acede ao site o applet encontra-se em funcionamento, pelo que o primeiro passo é para o processo premindo o botão stop. A imagem inicial apresenta o “espaço de output” de um SOM de 10*10 unidades (as unidades são representadas pelos 100 quadrados). Cada uma das unidades apresenta uma cor. Esta cor representa um vector rgb (red, green and blue) específico. Como certamente saberá qualquer cor pode ser reproduzida com base numa combinação de destas três cores. A Figura 9 mostra como determinadas combinações de vermelho, verde e azul produzem cores diferentes. Assim, cada a cor de cada unidade representa um conjunto específico de valores para cada uma das três posições do vector rgb.

(13)

Ao premir o botão start, o applet inicia a classificação dos padrões (ou objectos, ou indivíduos) que aparecem na parte inferior do quadro (Figura 10). Cada vez que o quadrado muda de cor significa que estamos a processar um novo padrão (o que acontece a um ritmo acelerado). Cada um destes padrões é classificado na unidade que lhe é mais semelhante (que tem o vector rgb mais parecido). Normalmente utiliza-se a expressão “a unidade ganhou a representação do padrão”.

Padrão a Classificar Unidade que ganha a representção do padrão

Padrão a Classificar Unidade que ganha a representção do padrão

Figura 10: aspecto do ecrã do applet

Ao ganhar a representação do padrão a unidade vencedora ajusta o seu vector por forma a aproximar-se ainda mais do vector do padrão. A dimensão desta aproximação é regulada por um parâmetro normalmente designado por taxa de aprendizagem ou ritmo de aprendizagem. A taxa de aprendizagem é definida no início do processo de treino, pelo utilizador, varia entre 0 e 1, e decresce à medida que o treino avança. Taxas de aprendizagem mais elevadas

(14)

2.1 O Self-Organizing Map como uma superfície de borracha

Depois da explicação anterior é mais fácil imaginar SOM como uma “superfície de borracha” que é “esticada” e “torneada” sobre o espaço de input, por forma a cobrir, tão perto quanto possível, todos os padrões de input representados nesse espaço. Este objectivo é atingindo através de um processo iterativo ao longo de um conjunto, normalmente elevado, de épocas.

traduzem-se em ajustamentos mais significativos e vice-versa.

Devido às propriedades topológicas do SOM, o ajustamento não se restringe à unidade vencedora mas também às unidades vizinhas. As unidades vizinhas são definidas com base no raio da vizinhança. O raio da vizinhança é um parâmetro definido no início do treino, pelo utilizador, e que, tipicamente, decresce ao longo do treino. A necessidade de quer a taxa de aprendizagem quer o raio da vizinhança decrescerem ao longo do processo de aprendizagem relaciona-se com a necessidade de convergência. Convergência significa a capacidade de estabilizar o processo de aprendizagem numa solução, tanto quanto possível óptima.

Iniciando o applet pode ver que este processo se desenrola, com grande rapidez, e à medida que o treino avança a matriz começa a “auto-organizar-se” em zonas de cor. Determinadas zonas “especializam-se” na representação de diferentes tons de vermelho, outras em tons de verde e assim sucessivamente. Esta observação traduz uma das mais interessantes propriedades do SOM, que se relaciona com o facto de padrões de input classificados em zonas próximas no espaço de output da rede serem mais semelhantes do que aqueles que se encontram mais distanciados.

(15)

Neste sentido o SOM tem semelhanças a outros tipos de redes neuronais, como a RBF (Radial Basis Function), bem como com o algoritmo k-means. A diferença mais importante entre o SOM e o k-means relaciona-se com a noção de vizinhança no espaço de output, e que se traduz na influência que as unidades exercem sobre a posição dos seus vizinhos. As unidades encontram-se amarradas entre si no espaço de output. No caso do k-means, pelo contrário, os movimentos dos centroides são independentes entre si. Esta particularidade do SOM impõem uma ordenação às unidades que não existe nos outros métodos

Como já referimos no início do treino as unidades são inicializadas aleatoriamente. Tipicamente, o processo de treino do SOM é composto por duas grandes fases. Durante a primeira fase as unidades são “espalhadas” por forma a cobrir o espaço de input. Esta fase é normalmente designada como “fase de desdobramento” (unfolding phase). Depois desta fase, a forma genérica da rede no espaço de input fica definida, e pode dar-se início à segunda fase, normalmente designada “ajustamento fino” ou “afinação” (fine tuning phase). Durante a fase de “afinação” o SOM procura minimizar o erro de quantização, ou seja, procura que as unidades se aproximem o máximo dos padrões de input que representam.

A Figura 11 apresenta a evolução de uma rede ao longo do processo de treino. Os padrões de input, não visualizáveis na figura, encontram-se distribuídos uniformemente ao longo do rectângulo. Na Figura 11 podemos ver a fase de desdobramento da rede, que começa com todas as unidades agrupadas no centro do plano, nos três rectângulos da parte superior, seguida da fase de afinação, representada pelos três rectângulos da parte inferior da figura. No fim do processo a rede cobre completamente o espaço.

(16)

Figura 11: processo de desdobramento do SOM durante o processamento [Kohonen 95]

ACTIVIDADE

Treino de um SOM (como uma superfície de borracha) 2D

Nesta animação podemos ver o treino de uma rede de 5*5 unidades (25) que nos dá a ideia da superfície de borracha que se tenta adaptar à distribuição dos padrões de input. Cada ponto vermelho representa um objecto, os pontos verdes representam as unidades do SOM. Como é óbvio, no caso desta animação, os nossos padrões de input são caracterizados por duas únicas variáveis. Neste caso não temos clusters (grupos de pontos vermelhos) bem definidos e utilizamos uma rede com 25 unidades.

(17)

Pode acontecer, por motivos diversos, que o desdobramento do mapa não seja bem sucedido e acabe por ficar “dobrado”. Exemplo disso é a rede apresentada na Figura 12, onde estão patentes as consequências de um mau treino na “fase de desdobramento”.

Figura 12: exemplo de um SOM “dobrado”

ACTIVIDADE

Treino de um SOM com desdobramento inadequado 2D

Nesta animação podemos ver o treino de uma rede de 3*2 unidades (6) que nos dá a ideia da forma como o treino pode produzir uma rede dobrada. Na maior parte das circunstâncias este fenómeno acontece devido à inicialização das unidades em posições desfavoráveis. Tendo em conta que a inicialização é aleatória esta é uma situação que pode acontecer com alguma frequência.

Cada ponto vermelho representa um objecto, os pontos verdes representam as unidades do SOM. Como é óbvio, no caso desta animação, os nossos padrões de input são caracterizados por duas únicas variáveis. Neste caso temos 6

(18)

2.2 O Algoritmo Self-Organizing Map

Em termos formais poderemos descrever o algoritmo da seguinte forma: sendo xk (com k=1

até N, número de padrões de treino) os padrões de treino n-dimensionais. Sendo wij a unidade

na posição (i,j),

0

α

1

a taxa de aprendizagem (por vezes designada η) e

h

(

w

ij

,

w

mn

)

a

função de vizinhança (por vezes designada

Λ

ou Nc). A função de vizinhança assume valores

em [0,1] e é elevada para unidades que se encontram próximas no espaço de output, e baixa (ou 0) para unidades distantes. É usual a escolha de uma função monótona decrescente e

maior que 0 até ao raio r (designado raio de vizinhança) e 0 a partir daí. Sendo wwinner a

unidade vencedora para um dado padrão de input. O algoritmo terá o seguinte aspecto:

1. Calcular a distância entre o padrão de input e

todas as unidades

d

ij

=

x

k

w

ij

2. Selecionar a unidade mais próxima como vencedora

wwinner

w

ij

:

d

ij

=

min

( )

d

mn

3. Actualizar cada unidade de acordo com a regra

(

winner ij

)

k ij

ij

ij

w

h

w

w

x

w

w

=

+

α

,

4. Repetir o processo até que um critério de paragem seja atingido. Tipicamente, o critério de paragem é um número fixo de épocas ou interacções. Por forma a garantir a convergência do processo e a estabilidade do mapa a taxa de aprendizagem e o raio de vizinhança decrescem, em cada época, até chegar a 0.

Tipicamente a distância entre vectores é medida utilizando a distância euclidiana, no entanto muitas outras podem ser utilizadas.

As funções de vizinhança mais comuns são a gaussiana e a quadrada (ou bubble): clusters (grupos de pontos vermelhos) e 6 unidades.

(19)

Função Gaussiana 2 2 2 ( ) ) ( 2 1

)

,

(

        +

=

r m j n i mn ij g

w

w

e

h

Função Quadrada     > − + − ⇐ ≤ − + − ⇐ = r m j n i r m j n i w w hs ij mn 2 2 2 2 ) ( ) ( 0 ) ( ) ( 1 ) , (

O algoritmo é surpreendentemente robusta a alterações na função de vizinhança, sendo que na minha experiência pessoal, em geral, independentemente da função de vizinhança, ele converge para aproximadamente o mesmo mapa final. A função gaussiana tende a ser mais consistente, sendo que a função quadrada tende a produzir erros de quantização menores. Em resumo, podemos dizer que o SOM irá classificar os dados de input de acordo com os neurónios que activam no nível de output, com a restrição de que casos semelhantes activarão ou o mesmo neurónio ou neurónios próximos no mapa. Esta propriedade pode ser particularmente útil no que respeita à definição do número de clusters a utilizar.

2.3 Exemplo de Cálculo do Algoritmo Self-Organizing Map

Por forma a simplificar o entendimento sobre o funcionamento do algoritmo SOM nesta secção apresentamos um exemplo muito simples que ilustra os principais conceitos envolvidos no processo de treino da rede. No exemplo, por forma a simplificar os cálculos, utilizaremos uma rede com apenas duas unidades. Os padrões de input são:

x1(1, 1, 0, 0); x2(0, 0, 0, 1); x3(1, 0, 0, 0); x4(0, 0, 1, 1).

O número de unidades é 2. A nossa rede é composta pelas seguintes unidades (geradas aleatoriamente em [0,1]):

w1(0.2, 0.6, 0.5, 0.9); w2(0.8, 0.4, 0.7, 0.3)

Como estamos a utilizar uma rede com apenas duas unidades o parâmetro que representa o raio de vizinhança será 0.

(20)

r = 0

A taxa de aprendizagem é inicializada com o valor 0.6 e decresce ao fim de cada época de acordo com a expressão:

( 1)t

0.5

( )t

α

+

=

α

O algoritmo será desenvolvido da seguinte forma:

Passo 1: Iniciar o treino

Passo 2: apresentar o primeiro padrão de input (escolhido aleatoriamente)

x1(1, 1, 0, 0)

Passo 3: calcular a distância entre o padrão de input e cada uma das unidades:

D(w1,x1) = (0.2-1)2 + (0.6-1)2 + (0.5-0)2 + (0.9-0)2 = 1.86;

D(w2,x1) = (0.8-1)2 + (0.4-1)2 + (0.7-0)2 + (0.3-0)2 = 0.98;

Passo 4: O padrão de input encontra-se mais próximo da unidade w2, assim w2 será

actualizada de acordo com a seguinte expressão:

wij (new) = wij (old) + 0.6 [xi - wij (old)]

= 0.4 wij (old) + 0.6xi

Assim, após esta primeira iteração as unidades terão o seguinte aspecto:

w1(0.2, 0.6, 0.5, 0.9); w2(0.92, 0.76, 0.28, 0.12)

O processo de treino continua até que o número pré-especificado de épocas seja atingido. O estudante é convidado a continuar os cálculos para os restantes padrões de input, as soluções (mantendo a ordenação dos padrões de input) são apresentadas de seguida.

Resultados do processamento do padrão de input x2(0, 0, 0, 1):

(21)

Resultados do processamento do padrão de input x3(1, 0, 0, 0):

w1(0.08, 0.24, 0.20, 0.96); w2(0.968, 0.304, 0.112, 0.048)

Resultados do processamento do padrão de input x4(0, 0, 1, 1):

w1(0.032, 0.096, 0.680, 0.984); w2(0.968, 0.304, 0.112, 0.048)

Chegados a este ponto a 1ª época acaba, sendo que a taxa de aprendizagem deverá ser actualizada utilizando a expressão dada, que resultará em:

( 1)t

0.5(0.6) 0.3

α

+

=

=

Nesta fase dar-se-á início à segunda época, com uma taxa de aprendizagem mais baixa. O processo continuará até que o número pré-definido de épocas seja atingido. Assim, na segunda

época os resultados do processamento do padrão de input x1(1, 1, 0, 0):

w1(0.032, 0.096, 0.680, 0.984); w2(0.9776, 0.5128, 0.0784, 0.0336)

Resultados do processamento do padrão de input x2(0, 0, 0, 1):

w1(0.0224, 0.0672, 0.476, 0.9888); w2(0.9776, 0.5128, 0.0784, 0.0336)

Resultados do processamento do padrão de input x3(1, 0, 0, 0):

w1(0.0224, 0.0672, 0.476, 0.9888); w2(0.98432, 0.35896, 0.05488, 0.02352)

Resultados do processamento do padrão de input x4(0, 0, 1, 1):

(22)

3 FERRAMENTAS DE EXPLORAÇÃO E ANÁLISE DO SELF-ORGANIZING MAP

Nesta secção iremos analisar as principais ferramentas de que o SOM dispõe para proceder à visualização, exploração e análise dos resultados. A compreensão do funcionamento destas ferramentas constitui um requisito fundamental para uma boa utilização do SOM, já que é com base nestas ferramentas que os resultados obtidos podem ser avaliados e transformados em conhecimento. A possibilidade de visualizar o SOM treinado é particularmente interessante na medida em que permite obter uma perspectiva diferente, frequentemente mais informativa, sobre os dados e a sua estrutura. Apesar de requerem algum treino a utilização destas ferramentas é bastante simples.

3.1 Matriz-U

Uma das formas de visualizar os resultados de um SOM consiste na utilização de uma Matriz-U (Ultsch e Siemon 1990), esta é, talvez, a mais emblemática das ferramentas de análise disponíveis no SOM. A Matriz-U é uma representação do espaço de output de um SOM, onde as distâncias, no espaço de input, entre unidades vizinhas são representadas por cores ou em escalas de cinzento. Se as distâncias são pequenas isso significa que as unidades possuem características semelhantes, assim como todos os padrões de input nelas classificados. Se as unidades possuem grandes distâncias entre si isso significará que possuem características diferentes e que o espaço de input, naquela zona, é pouco povoado.

A construção da Matriz-U é bastante simples e consiste na expansão do espaço de output por forma a incluir novos elementos que servem apenas para codificar a distância entre unidades. Em primeiro lugar, o espaço de output é discretizado numa grelha sendo que cada quadrado representará uma unidade, tal como apresentado na Figura 13. De seguida a matriz original é expandida, sendo que o valor dos novos elementos (representados por ∆ na Figura 13) será a distância entre as unidades entre as quais se encontram. Uma vez definidos estes valores procede-se então ao cálculo das células onde se encontram as unidades (representados por ■ na Figura 13).

(23)

Figura 13: construção da matriz-U

Na Figura 14 apresenta-se um exemplo de uma Matriz-U, neste caso o SOM que lhe deu origem é de grande dimensão (30*20 unidades), os quadrados verdes representam as unidades e os tons de vermelho a distância entre unidades. A dimensão dos quadrados verdes, que representam as unidades, é dada pelo número de padrões de input classificados em cada uma das unidades. Os tons de vermelho dão a noção das distâncias entre as unidades, tons de vermelho escuro codificam grandes distâncias e o vermelho mais claro é utilizado para codificar pequenas distâncias. Como se pode observar as zonas onde as distâncias são mais pequenas encontram-se mais densamente povoadas. Da análise da Figura 14 podemos concluir que existem duas zonas bastante homogéneas que se encontram separadas por uma fronteira, uma espécie de cordilheira onde as distâncias são bastante maiores.

(24)

% % % % %% % % %% % % % %% %% % %% % %% %% % % %% %% % %% %% % % % %%% % % % % % %% % % %% % % % %% % % % % % % % % % % % % % % % % %% % % % % %% %% %% %%%%% %% %%%% % %%% %%% % %%% %%% %%% % % % %%% %% % %% %% % % % %%% %%% % %%% % %% %% %% %%% %%% % % % % % %% %% %% % %%% % %%% %%% % %%% % %% % %%% %% %%%% % % % %%% % %% %%% %%% % %%% %%% %% %% % %% % %%% %%% %%% % % % % %% % %% %% %%%% % %%% %%% % %%% % %% %%% %%%% %%% % % % % %% % %% %%% % %% % %%% %%% %%% %% %% %%% %%%% %%% % % % % % %% % % %% %% %% % %%% %% % %% %% %%% %%% %%%% % %% % % % %%% %% % % %% % %%% %% %% %% %%% % %%% %%% % %% %%%% % % % %% % % %% %%% % %%% %% %% %% % % %% %% % %%% %% % % % %% % %% %%% %% %% % %% %%% % %% % %% % %%% % %% % %% %%%% %%% %% % %%% % %% %% %% %%% % %% % %% %% %% % % % %%%% % % %%%% % % % % % % % %% % % %% %%% % %% % % %% % % % %%% %%%% % % %%%% %% % %%% %% % % % %% %%% %% %% % % %% %% %% % %%% %% % %%%% % % % %% %% %% % % %% %%% %%% % % % % % % % % % %% % %% % %% %%% % % % %%% %% % %% % % %%% %%% % %% % % %% % % %% % % % %% %%%% % % % %%% % %% % % %% %%% %%% % % % % %%% %%% % %% % %%% % % %% % % %%% % % % % % %% % %% %%% % % % %%%% %%% % %% % %% %% %% % % % % % %% %% % % %%%%% %%% % % % % % % %%%% %%%% %% %% %% % % % % % % % % % % % % %%%% % %% % %% % %% %%%% %%% % % %% % %% % % % % % %% % % %%% %%%% % % % % % % % %%% %% % %%% %% %% % %% % % % % % % % % % %% % % % % %% % % % % % %% % % % %% % % % %%%% %%% % % % %% % % % % %%% %% % %% %% % %% % % % %% % % % % % %% % %% % % % % % %%% % % % %%% % %%% %% % %% % %% % %% % %% % % %% % %% % % % % % %%% % % % %%% % %% % %% %% % % % %% % % % % % % % %% % % % %% %% % %%% %% % % %% % %% % % % %% % %% % %% % % % % % % % %%% % %% % % % %%% %% % %%% %% %% % % % %% % %% % %% %% %% % %%%% % %% % % % %%% %% % %%% %% % % %% %%%% %%% %% %% %% % % %%% %%% % % % % %% % % % %%% %% % % % % %% % % %%% % % %% %% %% %% %%%% % % % % %% %% % %%% % % % % % % % %%% %% % %% % %% % % % %%% % %% % % % % % % %% % % %% % % % % % % % %% %%%% %% %% % % % %% %% % % %% % % % % %% % % %%% %% % % %% %% % %%%% %% % %% % % %% %% % % %% % % % %% %% % %%% % % % % % % % %%% % % % % % % %% %% %%%% % % %% % % % % %% %% % % %% %% % % % %% % %%%% %% % %% % % %%%% % %% % % % % % %% %% %% % % % %% %% % % %% % % % %% % % %%%% %%% % % % % % % % % % % % %% % %%%% % % %% %%% % % %% % % %% % %% % % %%%% % % % % %% %% % % % % % %% % % % % %% % % % %% %% %% % %% % %% %%% % % % % % % %% % % % %% % % % % %% %%% %% % % %%% %%% %%%% % %% % % % % %% % % % %% %%%% % %% % % % %% % % %% %% % %% %%%% %%% % % % % % % % %% %% %% % %% % %% %%% % % %% %%% %%% %%%% %% % %% % % % % % % % % % %% % % % % %% % % %% %% %%%% %%%% % %% %%% %% % % % % %% %% % %%%% % %%% % % % % %% %%%% %%%% %%% %%% %% % % % %% % %% % % %%% %% %% % % % % %% %%%% %%%% %%% %% % %% % % % %% % % %%% %%% %% %% % % %% %% %%%% %%%% %%% % %% % % % % % % %% % %%% %%%% % % % % % % % % %% %%% %%%% %%% % %% % % % % % %% % % %%% %%% % % % % % % % % %%% %%% %%%% %%% %% % % % % % % %% % % % %% % %% % % %% %% %% %%% %%% %%%% %% %% % % % %% % % % %% % %%% % %% % % %% %% %% %%% %%% %%%% % %% % % % % %% %%% %% % % % % %% %% % % % % %% % %%% %%% %%%% % % %% % % %% % % % % % % % %%% % % %% % % % % % % %%%% %%% %%%% % %% % %% %% % % %% % %% % %% % %%% % % % % % % %%%% %%% %%% % %%% % %% % % % % % %% % % % %% % %% %% %% %% % %%%% %%% %% % % %% %%%% %% % %%% % %% % %% %% % %% % %% %% % %% % %%% % % %% % % %% %% % %% %%% % % %% %% %% %% %% %% % % %%% %% % % % %%% % % %% % %% % % %%% % %% %%% %% %% %% % % %% %% % %% % % %% % %% % %% %% %% % %%% % %% %% % %%% %% %% %% %% %%% % % %% % %% % %% %% %% % % %%% % % % %% % % % % % % %% %%% %%% % %% % %% %% %%% %% % %% % % %% % %% %% %% %% %% %% %% %%%%% %% %% % % % %%% %% % % % % % U %U %U %U %U %U %U U% %U %U %U %U %U %U %U %U %U %U %U %U %U %U U% %U %U %U %U %U %U %U % U %U %U %U %U %U %U U% %U %U %U %U %U %U %U %U %U %U %U %U %U %U U% %U %U %U %U %U %U %U % U %U %U %U %U %U %U %U %U %U %U %U %U %U %U %U %U %U %U %U %U %U %U %U %U %U %U %U % U %U %U %U %U %U %U U% %U %U %U %U %U %U %U %U %U %U %U %U %U %U U% %U %U %U %U %U %U %U % U %U %U %U %U %U %U %U %U %U %U %U %U %U %U %U %U %U %U %U %U %U %U %U %U %U %U %U % U %U %U %U %U %U %U %U %U %U %U %U %U %U %U %U %U %U %U %U %U %U %U %U %U %U %U %U % U %U %U %U %U %U %U U% %U %U %U %U %U %U %U %U %U %U %U %U %U %U U% %U %U %U %U %U %U %U % U %U %U %U %U %U %U U% %U %U %U %U %U %U %U %U %U %U %U %U %U %U U% %U %U %U %U %U %U %U % U %U %U %U %U %U %U U% %U %U %U %U %U %U %U %U %U %U %U %U %U %U U% %U %U %U %U %U %U %U % U %U %U %U %U %U %U U% %U %U %U %U %U %U %U %U %U %U %U %U %U %U U% %U %U %U %U %U %U %U % U %U %U %U %U %U %U U% %U %U %U %U %U %U %U %U %U %U %U %U %U %U U% %U %U %U %U %U %U %U % U %U %U %U %U %U %U U% %U %U %U %U %U %U %U %U %U %U %U %U %U %U U% %U %U %U %U %U %U %U % U %U %U %U %U %U %U U% %U %U %U %U %U %U %U %U %U %U %U %U %U %U U% %U %U %U %U %U %U %U % U %U %U %U %U %U %U U% %U %U %U %U %U %U %U %U %U %U %U %U %U %U U% %U %U %U %U %U %U %U % U %U %U %U %U %U %U %U %U %U %U %U %U %U U% %U %U %U %U %U %U U% %U %U %U %U %U %U %U % U %U %U %U %U %U %U %U %U %U %U %U %U %U U% %U %U %U %U %U %U U% %U %U %U %U %U %U %U % U %U %U %U %U %U %U %U %U %U %U %U %U %U U% %U %U %U %U %U %U U% %U %U %U %U %U %U %U % U %U %U %U %U %U %U %U %U %U %U %U %U %U U% %U %U %U %U %U %U U% %U %U %U %U %U %U %U % U %U %U %U %U %U %U U% %U %U %U %U %U %U %U %U %U %U %U %U %U %U U% %U %U %U %U %U %U %U % U %U %U %U %U %U %U U% %U %U %U %U %U %U %U %U %U %U %U %U %U %U U% %U %U %U %U %U %U %U

Figura 14: exemplo de uma matriz-U, o vermelho escuro representa grandes distâncias a dimensão dos quadrados verdes o número de padrões de input classificados em cada unidade.

Como já dissemos as Matrizes-U também podem ser construídas com base em tons de cinzento, sendo que o princípio geral é exactamente o mesmo que já discutimos. Na Figura 15 podemos ver um exemplo, referente ao projecto “World Poverty Map” onde se utilizaram 39 indicadores estatísticos, do Banco Mundial referentes a 1992, relacionados com a qualidade de vida, a saúde, a educação, entre outros, para caracterizar 129 países de acordo com o seu nível de desenvolvimento. Neste caso a Matriz-U foi “suavizada” não havendo percepção das células que a formam. Os diferentes países foram também mapeados para a matriz permitindo assim a identificação da sua posição bem como a dos seus vizinhos mais próximos. Como podemos observar Portugal (código PRT) encontra-se na zona superior central da matriz, ligeiramente à esquerda, acompanhado pela Polónia e a Hungria, numa área que, apesar de próxima dos países mais desenvolvidos parece ter particularidades. A zona clara onde se insere Portugal parece ter à sua volta um anel de cor mais escura, indicando que se encontra relativamente bem delimitada em relação aos seus vizinhos. Para mais informações sobre este projecto consulte http://www.cis.hut.fi/research/som-research/worldmap.html.

(25)

Figura 15: Matriz-U do “World Poverty Map”

Em conclusão podemos dizer que a Matriz-U é uma excelente ferramenta de visualização para analisar e explorar os resultados do SOM. A Matriz-U permite compreender a estrutura da distribuição dos dados, através da análise das áreas mais densas, onde as distâncias entre unidades são mais pequenas, e áreas menos densas. Esta análise aproxima-se muito da identificação de clusters naturais, ou seja, as zonas onde as unidades se encontram próximas entre si corresponderão a clusters naturais.

A Matriz-U permite também compreender a posição relativa dos diferentes padrões de input que procuramos agrupar. Como já vimos no caso do “World Poverty Map” a possibilidade de comparar a posição relativa dos padrões de input pode ser extremamente informativa e contribuir, de forma decisiva, para a compreensão dos resultados da classificação. Por vezes a posição na Matriz-U não é muito importante, mais importante são os vizinhos.

(26)

3.2 Planícies de Componentes (Component Planes)

As planícies de componentes são outra ferramenta de análise de grande relevância para a extracção de conhecimento do SOM. Como vimos no início do módulo cada unidade é um vector no espaço de input, sendo que por isso, no fim do treino, cada unidade terá um valor para cada uma das variáveis. Uma boa forma de compreender as características dos padrões de input classificados e das diferentes áreas da matriz criada consiste em mapear os valores assumidos por cada unidade para cada uma das variáveis. A Figura 16 apresenta um exemplo das planícies de componentes, neste caso a classificação foi feita com base em 17 variáveis que se encontram mapeadas na figura.

Figura 16: exemplo das planícies de componentes para um problema com 17 variáveis.

(27)

encontra mapeado é o valor que cada unidade assume para cada variável, assim, podemos ver, por exemplo que na variável 1 (Variable1) os valores mais elevados se encontram concentrados no topo e no fundo da planície, na zona central é onde os valores são mais baixos (vermelhos indicam valores elevados e os azuis valores baixos).

A utilização das planícies de componentes permite uma rápida interpretação das características das diferentes áreas da matriz, informando o utilizador sobre quais as unidades que apresentam os valores mais elevados nas diferentes variáveis. Paralelamente, com base nesta informação, é relativamente fácil identificar variáveis que se encontram correlacionadas entre si. Na Figura 16 podemos observar um comportamento bastante semelhante entre as variáveis 7, 9 e 10, a forma como os valores mais elevados e mais baixos das variáveis se distribuem mostram uma grande semelhança nestas 3 variáveis.

Utilizadas em conjunto com a Matriz-U as planícies de componentes permitem uma exploração bastante exaustiva dos resultados do SOM. Na Actividade II apresentámos um SOM que faz a classificação de sinais rgb, nesse caso ficou bem patente a forma como o espaço de output fica topologicamente organizado após o processamento do SOM, mantendo padrões de input com características semelhantes em zonas próximas.

3.3 Projecção de Sammon

Outra forma de visualizar os resultados do output do SOM consiste na utilização da projecção de Sammon [Sammon 1969]. Esta leva a cabo uma projecção não linear do espaço de input para um espaço de menor dimensão, tipicamente 2d. Este algoritmo tenta preservar todas as distâncias entre os padrões de input (objectos), enfatizando as distâncias locais. A projecção de Sammon é um algoritmo iterativo e computacionalmente intensivo e exigente. Uma das formas de mitigar estas dificuldades computacionais consiste na sua aplicação apenas às unidades do SOM, para evitar a sua aplicação a todos os padrões de input [Vesanto, 1997], esta estratégia traduz-se numa redução do fardo computacional. As projecções de unidades vizinhas encontram-se, normalmente, ligadas por linhas por forma a melhorar a visualização, tal como se pode observar na Figura 17. A projecção de Sammon dá uma imagem muito informativa da forma global do SOM bem como do seu correcto desdobramento.

(28)

Figura 17: exemplo da projecção Sammon de um SOM, as unidades são representadas por pontos negros e encontram-se ligadas aos encontram-seus vizinhos por linhas [Vesanto 1997].

4 O SELF-ORGANIZING MAP NA ANÁLISE DE CLUSTERS

Apesar de tradicionalmente a utilização do SOM estar mais relacionada com a visualização e análise de dados, o SOM pode ser uma excelente opção na análise de clusters. Existem duas formas de utilizar o SOM para fazer análise de clusters. A primeira, mais próxima da visão tradicional do SOM consiste em utilizar um SOM grande, com muitas unidades (como no caso do “World Poverty Map”) e à posteriori, com base na informação da Matriz-U, proceder ao agrupamento das unidades mais próximas num único cluster. A segunda consiste na utilização de um SOM pequeno, ou seja, com o número de unidades semelhante ao número de clusters pretendidos, tal como acontece com o algoritmo k-means.

Ambas as abordagens são perfeitamente aceitáveis, tendo vantagens e desvantagens. No caso da utilização de um SOM grande o utilizador fica com uma “imagem” da distribuição dos dados e pode definir os clusters através do agrupamento de unidades próximas. Em muitas circunstâncias a análise da Matriz-U leva o utilizador a compreender que não existem agrupamentos muito marcados, pelo que o analista se vê na iminência de “desenhar” clusters um pouco subjectivos. No caso da Figura 18, e tendo em conta que queríamos um conjunto pequeno de clusters, optámos por definir 3 clusters, tal como apresentado na figura.

(29)

Figura 18: exemplo da construção de clusters com base em grandes SOM, por via do agrupamento de unidades semelhantes.

No caso da utilização do SOM como um substituto do k-means (SOM pequeno), a recomendação mais importante relaciona-se com a necessidade de utilizar um SOM 1d. Os SOM 1d são mais eficientes na optimização de soluções de clustering uma vez que são muito mais flexíveis que as matrizes 2d. Assim, se utilizamos o SOM para fazer clustering com um pequeno número de unidades (correspondente ao número de clusters desejados) então devemos utilizar um SOM 1d. Regra geral os resultados destes SOM são bastante mais fiáveis e robustos do que os obtidos pelo algoritmo k-means. Ao contrário do k-means, no SOM os óptimos locais são menos prováveis, a incialização não é tão determinante na qualidade dos resultados finais e os outliers não condicionam o algoritmo de forma tão decisiva.

(30)

5 LINKS DE INTERESSE

• SOM_PAK um excelente software disponível sem qualquer limitação e com um bom manual que explica como funciona http://www.cis.hut.fi/research/som_lvq_pak.shtml

• A tese de mestrado de Jaakko Hollmén “Process Modeling Using the Self-Organizing Map” http://www.cis.hut.fi/jhollmen/dippa/node7.html

• Explicação do SOM http://www.cis.hut.fi/projects/somtoolbox/documentation/somalg.shtml • Databionics uma empresa muito interessante e que se dedica a “transferring information

processing techniques from nature to data mining.” http://www.mathematik.uni-marburg.de/~databionics/en//?q=home

(31)

6 BIBLIOGRAFIA

• Kohonen, T., (1982) “Self Organized Formation of Topologically Correct Feature Maps”, Biological Cybernetics, Vol.43

• Kohonen, T., (1988) “The Neural Phonetic Typewriter”, IEEE Computer.

• Kohonen, T., (1988) “Self-Organization and Associative Memory”, Springer-Verlag. • Kohonen, T., (1995) “Self-Organizing Maps”, Springer-Verlag.

• T. Kohonen (2001). “Self-Organizing Maps”. Springer series in information sciences, 3rd ed. • Sammon, Jr., J. W. (1969) “A nonlinear mapping for data structure analysis”. IEEE

Transactions on Computers, 18:401-409.

• Ultsch, A. and Siemon, H. P. (1990) “Kohonen's self organizing feature maps for exploratory data analysis”. In Proceedings of ICNN'90, International Neural Network Conference, pages 305-308, Kluwer, Dordrecht.

• Vesanto J., (1997), “Data Mining Techniques Based on the Self-Organizing Map” Thesis for the degree of Master of Science in Engineering in the Helsinki University of Technology at the Department of Engineering Physics and Mathematics, available at: http://www.cis.hut.fi/projects/ide/publications/html/mastersJV97/index.html.

• Vesanto, J., (1999). “SOM-Based Data Visualization Methods”. In Intelligent Data Analysis, Volume 3, Number 2, Elsevier Science, pp. 111-126.

(32)

Referências

Documentos relacionados

SOLOS E MANEJO FLORESTAL – Eucalyptus spp Responsável pelo desenvolvimento de estratégias de conservação de solos e manejo florestal para todas as áreas de eucalipto plantadas

Esta dissertação assume como principal objectivo avaliar a intervenção urbana mais recente na vertente Este da cidade do Porto, o Plano de Pormenor das Antas, e averiguar o

visam o ensino de habilidades de compreensão e de produção de textos orais e escritos e o desenvolvimento da competência comunicativa, na proposta curricular da instituição

◦ Os filtros FIR implementados através de estruturas não recursivas têm menor propagação de erros. ◦ Ruído de quantificação inerente a

Trata-se de um relato de pesquisa e experiência prática, de natureza descritiva, sobre a vivência em um projeto de extensão universitário multidisciplinar realizado na

Convenio para desenvolvimento de servicos assistenciais de natureza continuada, para atendimento da populacao local em situacAo de vulnerabilidade, compreendidos na area

Como hipótese, assumiremos que o desenvolvimento de um modelo matemático diferente do tradicional poderia, por permitir a criação de personagens com comportamentos adaptáveis a

Este trabalho se refere ao instituto processual conhecido como fundamentação das decisões judiciais, que em razão da divergência doutrinária quanto a nomenclatura