Numérique et sciences informatiques (NSI) · Première

L’algorithme des k plus proches voisins

Comment un programme peut-il deviner l’espèce d’une fleur, ou décider si un message est indésirable ? Une idée simple consiste à regarder les exemples déjà connus qui lui ressemblent le plus. C’est le principe de l’algorithme des k plus proches voisins (kNN, pour k nearest neighbors), un premier pas vers l’apprentissage automatique.

Une question sur ce cours ?

ULU, le tuteur d’ULUMINE, t’aide à partir de ce cours.

Séance guidée avec ULU (≈ 10 min)Diagnostic, explication, exercices adaptés et bilan.

Objectifs

  • Comprendre le principe d’une classification à partir de données étiquetées
  • Calculer une distance entre deux éléments décrits par des nombres
  • Dérouler l’algorithme des k plus proches voisins et son vote majoritaire
  • Mesurer l’influence de k et connaître les limites de la méthode

1. Le problème de classification

On dispose d’un jeu de données d’apprentissage : des éléments décrits par des caractéristiques numériques (taille, poids, mesures…) et dont la classe (l’étiquette) est connue. On veut prédire la classe d’un nouvel élément, la cible, à partir de ses seules caractéristiques.

Algorithme des k plus proches voisins : Pour classer la cible : on calcule sa distance à chaque élément connu, on garde les k plus proches, et on lui attribue la classe majoritaire parmi ces k voisins.

2. Distance et algorithme

3. Le choix de k

  • k trop petit (k = 1) : la prédiction est sensible à un exemple isolé ou mal étiqueté.
  • k trop grand : on consulte des exemples éloignés ; avec k égal au nombre de données, on prédit toujours la classe la plus fréquente.
  • Avec deux classes, un k impair évite les égalités de votes.
  • En pratique, on choisit k en testant l’algorithme sur des données dont on connaît déjà la classe et en mesurant le taux de bonnes réponses.

À retenir

  • kNN classe une cible à partir d’exemples étiquetés : distance, k plus proches, vote majoritaire.
  • Distance euclidienne : √((xA − xB)² + (yA − yB)²).
  • Le résultat peut changer avec k ; k impair évite les égalités pour deux classes.
  • On choisit k en testant sur des données de classe connue.
  • Limites : coût (toutes les distances), échelles des caractéristiques, qualité et biais des données.

Et maintenant, à toi !

Vérifie que tu as compris avec les exercices, puis révise avec la fiche.

À découvrir aussi

Première · Numérique et sciences informatiques (NSI)

Représenter les entiers : binaire, hexadécimal, complément à deux

Écrire un entier en base 2 et en base 16, passer d’une base à l’autre, coder les entiers relatifs en complément à deux : cours et exercices de NSI en Première.