Glossaire

Voisins les plus proches (K-Nearest Neighbors - KNN)

Découvrez comment K-Nearest Neighbors (KNN) simplifie l'apprentissage automatique grâce à son approche intuitive et non paramétrique des tâches de classification et de régression.

K-Nearest Neighbors (KNN) est un algorithme fondamental d'apprentissage supervisé utilisé pour les tâches de classification et de régression. Il est considéré comme un algorithme basé sur les instances ou "d'apprentissage paresseux", car il ne construit pas de modèle pendant la phase de formation des données. Au lieu de cela, il stocke l'ensemble des données et fait des prédictions en trouvant les "K" instances les plus similaires (voisins) dans les données stockées. L'idée de base est que des points de données similaires existent à proximité les uns des autres. Pour un nouveau point de données non classifié, KNN identifie ses voisins les plus proches et utilise leurs étiquettes pour déterminer sa propre classification ou valeur.

Comment fonctionne le KNN ?

L'algorithme KNN fonctionne selon un principe simple de similarité, généralement mesurée par une métrique de distance. La plus courante est la distance euclidienne, bien que d'autres métriques puissent être utilisées en fonction de l'ensemble de données.

Le processus de prédiction est simple :

  1. Choisir la valeur de K: Le nombre de voisins (K) à considérer est un hyperparamètre critique. Le choix de K peut affecter de manière significative les performances du modèle.
  2. Calculer les distances: Pour un nouveau point de données, l'algorithme calcule la distance qui le sépare de tous les autres points de l'ensemble de données d'apprentissage.
  3. Identifier les voisins: Il identifie les K points de données de l'ensemble d'apprentissage qui sont les plus proches du nouveau point. Ce sont les "plus proches voisins".
  4. Faire une prédiction:
    • Pour les tâches de classification, l'algorithme procède à un vote majoritaire. Le nouveau point de données se voit attribuer la classe la plus fréquente parmi ses K voisins les plus proches. Par exemple, si K=5 et que trois voisins appartiennent à la classe A et deux à la classe B, le nouveau point est classé dans la classe A.
    • Pour les tâches de régression, l'algorithme calcule la moyenne des valeurs de ses K voisins les plus proches. Cette moyenne devient la valeur prédite pour le nouveau point de données.

Applications dans le monde réel

La simplicité et le caractère intuitif du KNN le rendent utile dans diverses applications, notamment en tant que modèle de base.

  • Systèmes de recommandation: KNN est un choix populaire pour la construction de moteurs de recommandation. Par exemple, un service de streaming peut recommander des films à un utilisateur en identifiant d'autres utilisateurs (voisins) ayant un historique de visionnage similaire. Les films appréciés par ces voisins, que l'utilisateur cible n'a pas vus, sont alors recommandés. Cette technique est une forme de filtrage collaboratif.
  • Services financiers: Dans le domaine financier, le KNN peut être utilisé pour l'évaluation du crédit. En comparant un nouveau demandeur de prêt à une base de données d'anciens demandeurs dont les résultats en matière de crédit sont connus, l'algorithme peut prédire si le nouveau demandeur est susceptible de manquer à ses obligations. Les voisins sont d'anciens demandeurs présentant des profils financiers similaires (par exemple, âge, revenu, niveau d'endettement), et leurs antécédents en matière de défaillance informent la prédiction. Cela permet d'automatiser l'évaluation initiale des risques.

KNN et concepts apparentés

Il est important de distinguer le KNN des autres algorithmes courants d'apprentissage automatique :

  • K-Means Clustering: Bien que les noms soient similaires, leurs fonctions sont très différentes. K-Means est un algorithme d'apprentissage non supervisé utilisé pour répartir les données en K sous-groupes (clusters) distincts et ne se chevauchant pas. KNN, en revanche, est un algorithme supervisé utilisé pour la prédiction sur la base de données étiquetées.
  • Machine à vecteurs de support (SVM): Le SVM est un algorithme supervisé qui cherche à trouver le meilleur hyperplan possible pour séparer les différentes classes dans l'espace des caractéristiques. Alors que KNN prend des décisions basées sur la similarité locale des voisins, SVM vise à trouver une frontière optimale globale, ce qui rend son approche fondamentalement différente. Plus de détails sont disponibles sur la page Scikit-learn SVM.
  • Arbres de décision: Un arbre de décision classe les données en créant un modèle de décisions hiérarchiques fondées sur des règles. Il en résulte une structure arborescente, alors que le KNN s'appuie sur la similarité basée sur la distance sans apprendre de règles explicites. Pour en savoir plus, consultez la documentation Scikit-learn Decision Trees.

Si le KNN est un outil précieux pour comprendre les concepts fondamentaux de l'apprentissage automatique et pour l'utilisation sur des ensembles de données plus petits et bien sélectionnés, il peut s'avérer lourd en termes de calcul pour l'inférence en temps réel avec des données volumineuses (big data). Pour les tâches complexes de vision artificielle telles que la détection d'objets en temps réel, des modèles plus avancés comme Ultralytics YOLO sont préférés en raison de leur vitesse et de leur précision supérieures. Ces modèles peuvent être facilement entraînés et déployés à l'aide de plateformes comme Ultralytics HUB.

Rejoindre la communauté Ultralytics

Rejoignez l'avenir de l'IA. Connectez-vous, collaborez et évoluez avec des innovateurs mondiaux.

S'inscrire
Lien copié dans le presse-papiers