Método Mean Shift

O método Mean Shift é um algoritmo baseado em janela deslizante que tenta encontrar áreas densas no conjunto de dados.

A ideia desse algoritmo é criar uma região circular, obtida através da média ponderada dos elementos presentes dentro dessa área, considerando a distância de cada ponto em relação ao ponto atual.

A região de maior concentração em de objetos determina a direção de deslocamento deste círculo na base de dados.

Quando o círculo não se movimentar mais na base de dados a iteração termina e o algoritmo é encerrado.

Compreendendo o algoritmo

A ideia do algoritmo é calcular a função densidade de probabilidade para um conjunto de dados. Isso é feito através do conceito de kernel density estimation (KDE)

A média ponderada é calculada utilizando o kernel, que atribui pesos aos pontos de dados com base em sua proximidade ao ponto central.

A largura de banda (bandwidth) define o raio da vizinhança que é considerado para calcular a média ponderada.

Se o valor do bandwidth for muito grande, os pontos de dados de diferentes clusters podem ser misturados, levando a um agrupamento menos discriminativo.

Se o valor do bandwidth for muito pequeno, podem surgir clusters pequenos e insignificantes ou até mesmo apenas um único cluster que englobe todos os pontos.

A escolha adequada do valor do bandwidth é crucial para obter resultados significativos com o algoritmo Mean Shift.

Geralmente, esse valor é ajustado empiricamente ou através de métodos de validação cruzada para encontrar o valor que melhor se adapte aos dados específicos em questão.

Uma abordagem comum é experimentar diferentes valores e selecionar aquele que produzir os clusters mais relevantes e bem definidos para a tarefa em questão.

Métodos baseados em modelos

Redes de Kohonen

Redes de Kohonen, também conhecidas como Mapas Auto-Organizáveis (SOM - Self-Organizing Maps), são uma classe especial de algoritmos de aprendizado de máquina não supervisionado, desenvolvidas por Teuvo Kohonen em 1982.

Essas redes têm como objetivo organizar e visualizar dados complexos em um espaço bidimensional ou tridimensional, de forma que padrões e estruturas ocultas possam ser facilmente identificados.

O funcionamento das redes de Kohonen é inspirado na forma como o cérebro humano organiza informações e aprende a partir do ambiente.

Cérebro respondendo a estímulos

A rede é composta por um conjunto de neurônios artificialmente conectados em uma estrutura bidimensional, que representa o mapa. Cada neurônio é associado a um vetor de pesos, que inicialmente é aleatório.

O treinamento das redes de Kohonen ocorre em duas etapas: Competição e Cooperação

 

Princípio fundamental: Aprendizagem competitiva

Competição

Durante essa fase, um dado de entrada é apresentado à rede, e cada neurônio calcula a sua distância em relação ao dado.

 

O neurônio que possui os pesos mais próximos do dado de entrada é o vencedor (BMU: Best Matching Unit), ou seja, o neurônio com menor distância euclidiana.

Cooperação

O neurônio vencedor, juntamente com seus neurônios vizinhos próximos, atualiza seus pesos para ficarem mais similares ao dado de entrada.

 

Essa atualização ajuda a agrupar os dados de entrada similares em regiões próximas do mapa.

Essas duas etapas de competição e cooperação são repetidas várias vezes durante o treinamento, e gradualmente, os neurônios se organizam em regiões distintas, formando agrupamentos e revelando padrões presentes nos dados.

Competição Cooperação

A vizinhança de cada neurônio pode ser definida de acordo com a forma geométrica utilizada para representar os neurônios da rede

  • Hexagonal: cada neurônio possui 6 vizinhos diretos

 

  • Retangular: cada neurônio possui 4 vizinhos diretos

Atualização dos pesos

 

Os pesos são atualizados segundo a distância ao neurônio ganhador

Considerações finais

 

  • É uma rede de aprendizado não supervisionado

  • Os exemplos de entrada são comparados a todos os neurônios e o mais próximo é considerado o neurônio vencedor (BMU)

  • Os pesos do nerônio vencedor são atualizados para aproximar-se mais do padrão de dados que representa

  • É uma rede ideal para detecção de agrupamentos

  • O vetor de pesos para um cluster serve como um exemplar dos padrões de entrada associados com esse cluster.