Sintonize na YOLO Vision 2025!
25 de setembro de 2025
10:00 — 18:00 BST
Evento híbrido
Yolo Vision 2024
Glossário

K-Nearest Neighbors (KNN)

Descubra como o K-Nearest Neighbors (KNN) simplifica o machine learning com sua abordagem intuitiva e não paramétrica para tarefas de classificação e regressão.

K-Nearest Neighbors (KNN) é um algoritmo fundamental de aprendizado supervisionado usado para tarefas de classificação e regressão. É considerado um algoritmo baseado em instância ou de "aprendizado preguiçoso" porque não constrói um modelo durante a fase de dados de treinamento. Em vez disso, ele armazena todo o conjunto de dados e faz previsões encontrando as 'K' instâncias mais semelhantes (vizinhos) nos dados armazenados. A ideia central é que pontos de dados semelhantes existam em estreita proximidade. Para um novo ponto de dados não classificado, o KNN identifica seus vizinhos mais próximos e usa seus rótulos para determinar sua própria classificação ou valor.

Como funciona o KNN?

O algoritmo KNN opera com um princípio simples de similaridade, tipicamente medido por uma métrica de distância. A mais comum é a distância Euclidiana, embora outras métricas possam ser usadas dependendo do conjunto de dados.

O processo para fazer uma previsão é direto:

  1. Escolha o valor de K: O número de vizinhos (K) a serem considerados é um hiperparâmetro crítico. A escolha de K pode afetar significativamente o desempenho do modelo.
  2. Calcular Distâncias: Para um novo ponto de dados, o algoritmo calcula a distância entre ele e todos os outros pontos no conjunto de dados de treinamento.
  3. Identificar Vizinhos: Identifica os K pontos de dados do conjunto de treinamento que estão mais próximos do novo ponto. Estes são os "vizinhos mais próximos".
  4. Fazer uma Predição:
    • Para tarefas de classificação, o algoritmo realiza uma votação majoritária. O novo ponto de dados é atribuído à classe que é mais comum entre seus K vizinhos mais próximos. Por exemplo, se K=5 e três vizinhos são da Classe A e dois são da Classe B, o novo ponto é classificado como Classe A.
    • Para tarefas de regressão, o algoritmo calcula a média dos valores de seus K vizinhos mais próximos. Essa média se torna o valor previsto para o novo ponto de dados.

Aplicações no Mundo Real

A simplicidade e a natureza intuitiva do KNN o tornam útil em várias aplicações, especialmente como um modelo de linha de base.

  • Sistemas de Recomendação: O KNN é uma escolha popular para construir mecanismos de recomendação. Por exemplo, um serviço de streaming pode recomendar filmes a um usuário, identificando outros usuários (vizinhos) com históricos de visualização semelhantes. Os filmes apreciados por esses vizinhos, que o usuário-alvo não viu, são então recomendados. Essa técnica é uma forma de filtragem colaborativa.
  • Serviços Financeiros: Em finanças, o KNN pode ser usado para avaliação de crédito. Ao comparar um novo solicitante de empréstimo com um banco de dados de solicitantes anteriores com resultados de crédito conhecidos, o algoritmo pode prever se o novo solicitante provavelmente não pagará. Os vizinhos são solicitantes anteriores com perfis financeiros semelhantes (por exemplo, idade, renda, nível de dívida), e seu histórico de inadimplência informa a previsão. Isso ajuda a automatizar as avaliações de risco iniciais.

KNN vs. Conceitos Relacionados

É importante distinguir o KNN de outros algoritmos comuns de machine learning:

  • Agrupamento K-Means: Embora os nomes sejam semelhantes, suas funções são muito diferentes. K-Means é um algoritmo de aprendizado não supervisionado usado para particionar dados em K subgrupos (clusters) distintos e não sobrepostos. KNN, em contraste, é um algoritmo supervisionado usado para previsão com base em dados rotulados.
  • Máquina de Vetores de Suporte (SVM): SVM é um algoritmo supervisionado que busca encontrar o melhor hiperplano possível que separa diferentes classes no espaço de características. Enquanto o KNN toma decisões com base na similaridade local de vizinhos, o SVM visa encontrar um limite global ideal, tornando-o fundamentalmente diferente em sua abordagem. Mais detalhes podem ser encontrados na página SVM do Scikit-learn.
  • Árvores de Decisão: Uma Árvore de Decisão classifica os dados criando um modelo de decisões hierárquicas baseadas em regras. Isso resulta em uma estrutura semelhante a uma árvore, enquanto o KNN depende da similaridade baseada em distância, sem aprender regras explícitas. Você pode aprender mais na documentação de Árvores de Decisão do Scikit-learn.

Embora o KNN seja uma ferramenta valiosa para entender os conceitos fundamentais de aprendizado de máquina e para uso em conjuntos de dados menores e bem selecionados, pode ser computacionalmente intensivo para inferência em tempo real com big data. Para tarefas complexas de visão computacional, como a detecção de objetos em tempo real, modelos mais avançados como o Ultralytics YOLO são preferidos por sua velocidade e precisão superiores. Esses modelos podem ser facilmente treinados e implementados usando plataformas como o Ultralytics HUB.

Junte-se à comunidade Ultralytics

Junte-se ao futuro da IA. Conecte-se, colabore e cresça com inovadores globais

Junte-se agora
Link copiado para a área de transferência