Glossário

K-Nearest Neighbors (KNN)

Descobre o K-Nearest Neighbors (KNN), um algoritmo de aprendizagem automática simples mas poderoso para tarefas de classificação e regressão. Aprende como funciona!

Treina os modelos YOLO simplesmente
com Ultralytics HUB

Aprende mais

O K-Nearest Neighbors (KNN) é um algoritmo de aprendizagem automática fundamental utilizado para tarefas de classificação e regressão. É conhecido pela sua simplicidade e natureza intuitiva, o que o torna uma escolha popular para principiantes na área da aprendizagem automática. A ideia central do KNN é que os pontos de dados com atributos semelhantes tendem a pertencer à mesma classe ou a ter valores semelhantes. Este algoritmo faz previsões com base na classe maioritária ou no valor médio dos 'K' pontos de dados mais próximos no conjunto de dados de treino.

Como funciona o K-Nearest Neighbors (KNN)

O algoritmo KNN funciona com base no princípio da proximidade. Quando lhe é apresentado um ponto de dados novo e inédito, calcula a distância entre esse ponto e todos os pontos do conjunto de dados de treino. Em seguida, identifica os "K" pontos de treino mais próximos do novo ponto. Para a classificação, atribui ao novo ponto a classe mais comum entre os seus 'K' vizinhos mais próximos. No caso da regressão, o valor previsto é a média (ou média ponderada) dos valores dos seus "K" vizinhos mais próximos. A escolha de 'K' é crucial e pode afetar significativamente o desempenho do modelo. Um 'K' mais pequeno pode levar a uma sensibilidade ao ruído, enquanto um 'K' maior pode suavizar os limites de decisão, mas pode incluir pontos de outras classes.

Métricas de distância

O conceito de "mais próximo" no KNN depende de uma métrica de distância. As métricas de distância comuns utilizadas incluem a distância euclidiana, a distância de Manhattan e a distância de Minkowski. Cada métrica tem as suas próprias caraterísticas e é adequada para diferentes tipos de dados. Por exemplo, a distância euclidiana é normalmente utilizada para dados numéricos contínuos, enquanto a distância de Manhattan pode ser mais robusta em relação a outliers.

Relevância e aplicações

O KNN é amplamente utilizado devido à sua facilidade de implementação e eficácia em vários domínios. É particularmente útil quando há pouco ou nenhum conhecimento prévio sobre a distribuição dos dados. O KNN pode ser aplicado em sistemas de recomendação, como a sugestão de produtos aos utilizadores com base nas preferências de utilizadores semelhantes. Podes saber mais sobre sistemas de recomendação no contexto da IA e da aprendizagem automática.

Aplicações no mundo real

Exemplo 1: Cuidados de saúde

Na área da saúde, o KNN pode ser utilizado para prever se um paciente tem probabilidade de desenvolver uma determinada doença com base nos históricos médicos de pacientes semelhantes. Ao analisar factores como a idade, a tensão arterial e os níveis de colesterol, a KNN pode classificar novos pacientes em categorias de risco, ajudando no diagnóstico precoce e em planos de tratamento personalizados. Explora mais sobre a IA nos cuidados de saúde.

Exemplo 2: Reconhecimento de imagens

O KNN pode ser utilizado em tarefas de reconhecimento de imagens, como a identificação de dígitos manuscritos ou a classificação de imagens de objectos. Ao representar imagens como vectores de caraterísticas, o KNN pode classificar novas imagens com base na sua semelhança com imagens rotuladas no conjunto de treino. Esta aplicação é particularmente relevante em domínios como o reconhecimento ótico de caracteres (OCR) e a etiquetagem automática de imagens.

Conceitos relacionados

Agrupamento K-Means

Embora tanto o KNN como o K-Means envolvam o parâmetro "K", têm objectivos diferentes. O K-Means é um algoritmo de aprendizagem não supervisionado utilizado para agrupamento, em que "K" representa o número de agrupamentos. Por outro lado, o KNN é um algoritmo de aprendizagem supervisionado utilizado para classificação e regressão, em que "K" representa o número de vizinhos considerados. Sabe mais sobre o agrupamento K-Means.

Redução da dimensionalidade

O desempenho do KNN pode ser afetado por dados de elevada dimensão, um fenómeno conhecido como a "maldição da dimensionalidade". Técnicas como a análise de componentes principais (PCA) podem ser utilizadas para reduzir o número de caraterísticas, mantendo a informação essencial, melhorando assim a eficiência e a precisão do KNN.

Vantagens e desvantagens

Vantagens

  • Simplicidade: O KNN é fácil de compreender e implementar.
  • Sem fase de treinamento: O KNN não tem uma fase de treinamento explícita, o que o torna eficiente para conjuntos de dados dinâmicos.
  • Flexibilidade: Pode ser utilizado tanto para tarefas de classificação como de regressão.

Desvantagens

  • Custo computacional: O KNN pode ser computacionalmente dispendioso, especialmente com grandes conjuntos de dados, uma vez que requer o cálculo de distâncias para todos os pontos de treino.
  • Sensibilidade a 'K': A escolha de 'K' pode afetar significativamente o desempenho.
  • Maldição da dimensionalidade: O desempenho degrada-se com dados de elevada dimensão.

Conclusão

O K-Nearest Neighbors é um algoritmo versátil e intuitivo que encontra o seu lugar em várias aplicações de aprendizagem automática. A sua capacidade de fazer previsões com base na semelhança dos pontos de dados torna-o uma ferramenta valiosa para tarefas de classificação e regressão. No entanto, é essencial considerar cuidadosamente a escolha de 'K' e a métrica de distância para obter um desempenho ótimo. Para os interessados em explorar modelos avançados de aprendizagem automática e a sua implementação, Ultralytics oferece soluções de ponta como os modelos Ultralytics YOLO e a plataforma Ultralytics HUB.

Lê tudo