Mapas de Kohonen

Origem: Wikipédia, a enciclopédia livre.
Saltar para a navegação Saltar para a pesquisa
Question book.svg
Esta página ou secção não cita fontes confiáveis e independentes, o que compromete sua credibilidade (desde fevereiro de 2014). Por favor, adicione referências e insira-as corretamente no texto ou no rodapé. Conteúdo sem fontes poderá ser removido.
Encontre fontes: Google (notícias, livros e acadêmico)

O algoritmo de Kohonen foi desenvolvido por Teuvo Kohonen em 1982, sendo considerado relativamente simples e com a capacidade de organizar dimensionalmente dados complexos em grupos (clusters), de acordo com suas relações. Este método solicita apenas os parâmetros de entrada, mostrando-se ideal para problemas onde os padrões são desconhecidos ou indeterminados.

treinamento do SOM em dados bidimensionais

Este algoritmo é considerado um mapa auto-organizável (da sigla SOM, Self-organized map, em inglês), capaz de diminuir a dimensão de um grupo de dados, conseguindo manter a representação real com relação as propriedades relevantes dos vetores de entrada, tendo-se como resultado um conjunto das características do espaço de entrada.


Além disso, possui a propriedade de transformar um mapa multidimensional em bidimensional, adicionando os elementos ao novo mapa de tal forma que os objetos similares sejam posicionados próximos uns dos outros.

Apresenta duas importantes características: utiliza aproximação dos pontos similares onde os mesmos são processados separadamente e permite ao mapa obter centros em um plano bidimensional disponibilizando uma visualização facilmente compreensível.

O algoritmo de Kohonen ordena os objetos i, frequentemente organizados em uma grade retangular, atribuindo-os ao vetor modelo, denominado mi, no espaço multidimensional. Cada item xk é mapeado para a unidade do mapa ck mais adequada, conforme a menor distância entre mi e xk definida pela fórmula [2]: ck = argmin i xk – mi

Este algoritmo utiliza o método de aprendizagem por competição (competitive learning), considerado o mais comum nas RNA auto-organizáveis, permitindo que aconteça o aprendizado dividindo-se os padrões de entrada dos dados em conjuntos inseparáveis. Este método avalia os neurônios de saída da rede de maneira que ocorra uma competição entre eles, tendo-se como resultado o neurônio que possui maior ativação. A rede neural de Kohonen é composta por duas camadas: a de entrada e de Kohonen. Cada nó da camada de entrada tem a função de distribuir os valores padrões para a de Kohonen, que é um conjunto de nodos organizados de forma tabular. O vetor de entrada possui seus elementos conectados com cada nó da camada Kohonen por meio de ligações, as quais são responsáveis por manterem atualizados os valores durante o processo de treinamento da RNA.

Algoritmo[editar | editar código-fonte]

1) inicialize os pesos de todos os neurônios do látice, varias inicializações podem ser aplicadas, comumente a inicialização aleatória,em que cada um dos pesos do neurônio recebe um numero aleatório dentro do espaço dos dados

 cada  é um numero aleatório entre os valores mínimos e máximos da característica  dos dados
Exemplo: Considere o conjunto de dados em  ,. Para este conjutno o peso  de um neurônio pode ser iniciado dentro do intervalo  ou seja 

2) Escolha um dado aleatoriamente no conjunto de dados e encontre seu BMU (best match unit) que é o neurônio que possui a menor distancia entre entre o conjunto de características do dado e o conjunto de pesos do neurônio dentre todos os neurônios. A distancia mais comum empregada para medir a similaridade entre estes vetores é a distância euclidiana, porém outras métricas de similaridade podem ser aplicadas.

Para encontrar o BMU de um dado . Para cada neurônio  do conjunto de neurônios calcule a distancia . O neurônio que possuir a menor distancia será o BMU.


3) aproxime o o neurônio BMU de seu dado, esta aproximação entre o vetor de pesos e o vetor de características será feita obtendo a diferença entre os dois vetores e incrementando uma parcela desta diferença no BMU ponderada por um fator chamado de taxa de aprendizado que tem por objetivo suavizar o processo de ajuste dos neurônios nos dados. Para o ajuste:

 ,  é a nova posição do vetor 
Note que se  , ou seja, a nova posição de  é a media da sua antiga posição com a posição do dado.
No caso  ,  , ou seja  se aproxima totalmente indo para a mesma posição espacial que .

Podemos conluir que quanto maior o maior a aproximação do BMU com o dado.

processo de treinamento detalhado

4) Considerando as relações de vizinhança topológica aproxime também os vizinhos do BMU assim como no passo 3.Entretanto na atualização dos vizinhos será considerado mais um fator de ponderação descrito por uma função chamada função de vizinhança, produzirá valores menores quando o BMU e o neuronio forem distantes no espaço matricial (látice).

para cada vizinho  do BMU, 

Muitos tipos diferentes de funções de vizinhança podem ser aplicadas, na maioria dos casos ainda existe mais um parâmetro destas funções que é o raio que aumenta ou diminui os valores de .

5) Repita Passo 2 em diante por um numero de vezes determinado, este numero pode variar muito de acordo com a quantidade de neuronios, a taxa de aprendizado e a a função de vizinhança escolhida


Ícone de esboço Este artigo sobre programação de computadores é um esboço. Você pode ajudar a Wikipédia expandindo-o.