Compartilhar via


kNN vs ANN

Duas categorias principais de algoritmos de pesquisa de vetor são kNN (k-Nearest Neighbors) e ANN (Approximate Nearest Neighbors, não confundir com Rede Neural Artificial). O kNN é preciso, mas requer um uso mais intensivo de computação, tornando-o menos adequado para conjuntos de dados grandes. O ANN, por outro lado, oferece um equilíbrio entre precisão e eficiência, tornando-o mais adequado para aplicativos em grande escala.

Como o kNN funciona

  1. Vetorização: cada ponto de dados do conjunto de dados é representado como um vetor em um espaço multidimensional.
  2. Cálculo de distância: para classificar um novo ponto de dados (ponto de consulta), o algoritmo calcula a distância entre o ponto de consulta e todos os outros pontos no conjunto de dados usando uma função de distância.
  3. Como localizar vizinhos: o algoritmo identifica os pontos de dados k mais próximos (vizinhos) ao ponto de consulta com base nas distâncias calculadas. O valor de k (o número de vizinhos) é crucial. Um k pequeno pode ser sensível ao ruído, enquanto um k grande pode suavizar os detalhes.
  4. Como fazer previsões:
  • Classificação: para tarefas de classificação, o kNN atribui o rótulo de classe ao ponto de consulta mais comum entre os k vizinhos. Essencialmente, ele realiza um “voto majoritário”.
  • Regressão: para tarefas de regressão, o kNN prevê o valor do ponto de consulta como a média (ou, às vezes, a média ponderada) dos valores dos k vizinhos.

Como funciona o ANN

  1. Vetorização: cada ponto de dados do conjunto de dados é representado como um vetor em um espaço multidimensional.
  2. Indexação e estruturas de dados: os algoritmos ANN usam estruturas de dados avançadas (por exemplo, árvores KD, hash sensível à localidade ou métodos baseados em grafo) para indexar os pontos de dados, permitindo pesquisas mais rápidas.
  3. Cálculo de distância: em vez de calcular a distância exata para cada ponto, os algoritmos ANN usam a heurística para identificar rapidamente as regiões do espaço que provavelmente conterão os vizinhos mais próximos.
  4. Como localizar vizinhos: o algoritmo identifica um conjunto de pontos de dados que provavelmente estarão próximos ao ponto de consulta. Esses vizinhos não têm garantia de serem os pontos mais próximos exatos, mas são próximos o suficiente para fins práticos.
  5. Como fazer previsões:
  • Classificação: para tarefas de classificação, o ANN atribui o rótulo de classe ao ponto de consulta mais comum entre os k vizinhos identificados, de modo semelhante ao kNN.
  • Regressão: para tarefas de regressão, o kNN prevê o valor do ponto de consulta como a média (ou a média ponderada) dos valores dos k vizinhos identificados.