Qu’est-ce que l’algorithme KNN ? L’algorithme KNN (K-Nearest Neighbors ou K plus proches voisins) est une méthode d’apprentissage machine supervisé utilisée pour la classification et la régression. Il attribue des étiquettes en fonction des « k » points de données les plus proches dans l’ensemble d’entraînement, et c’est l’un des principaux classificateurs pour l’apprentissage machine.  Démo IA
Ce qu’il faut savoir sur les données synthétiques
Que sont les vecteurs et la recherche vectorielle ? À quoi sert l’algorithme KNN ? Que sont les mesures de distance ? Comment la valeur de « k » doit-elle être définie ? Pourquoi l’algorithme KNN est-il important ? Quels sont ses avantages ? Quels sont ses inconvénients ? Comment fonctionne l’algorithme KNN ? Quelles sont les différentes manières de l’utiliser ? Utiliser l’algorithme KNN

Dans les domaines de l’apprentissage machine et de l’intelligence artificielle, la classification des données est fondamentale. L’objectif est d’attribuer des étiquettes aux points de données en fonction de leurs caractéristiques. Cela implique d’analyser des données connues (données d’entraînement), dans lesquelles chaque exemple est marqué avec une catégorie ou une valeur. Ces étiquettes permettent d’établir des schémas et des relations au sein des données, afin que le modèle fasse des prévisions précises sur les nouveaux points de données inconnus. Malheureusement, travailler avec des données étiquetées comporte un certain nombre de problèmes : les processus manuels impliqués dans l’étiquetage peuvent s’avérer longs et complexes, et l’investissement en ressources peut rendre cette option inenvisageable pour certaines entreprises. 

L’algorithme KNN offre une solution simple et efficace à ce problème. Au lieu de nécessiter des calculs complexes en amont, il stocke toutes les données, puis fait des prédictions pour de nouvelles données en fonction de leur similarité avec les données existantes. Cette approche permet d’obtenir des prévisions précises sans réglages approfondis, une approche particulièrement utile lorsque l’on travaille avec des ensembles de données plus petits et une puissance de calcul limitée.

Développer tout Réduire tout Que sont les vecteurs et la recherche vectorielle dans le contexte de l’algorithme KNN ?

Les vecteurs font partie intégrante de la fonctionnalité de l’algorithme KNN. Un vecteur est une séquence de nombres représentant un point dans un espace multidimensionnel. Les modèles d’apprentissage machine doivent pouvoir transformer des données brutes non structurées en représentations digitales, appelées « plongements ». Ces plongements capturent l’essence sémantique ou structurelle des données d’entrée, les relations entre les plongements étant représentées par leur proximité spatiale (à quelle distance ils se trouvent les un des autres) dans l’espace vectoriel.

L’algorithme KNN utilise cette disposition spatiale en identifiant les « voisins » d’un point de requête, c’est-à-dire les autres plongements positionnés à proximité dans l’espace multidimensionnel. Ces voisins reflètent des points de données avec des caractéristiques partagées ou des fonctions similaires.

Par exemple, deux documents avec des thèmes semblables auront des plongements plus proches les uns des autres, ce qui permettra à l’algorithme KNN de reconnaître les similitudes et les associations afin de classer de nouvelles données ou de prédire les résultats en fonction de ces relations.

Présentation de Now Intelligence Découvrez comment ServiceNow met l’IA et l’analyse en pratique pour transformer la façon dont les entreprises travaillent et accélérer la transformation digitale. Découvrir l’ebook
À quoi sert l’algorithme KNN ? 

L’algorithme KNN utilise des vecteurs pour identifier les « k » (points de données ou voisins les plus proches) d’un nouveau point de données, et fait des prédictions basées sur ces voisins. Par exemple, si l’objectif est de classer ou non des e-mails dans les spams, il examine les « k » e-mails les plus similaires et classe le nouvel e-mail en fonction de la classification majoritaire de ses voisins.

Imaginez une entreprise disposant de données sur différents clients, avec des caractéristiques telles que l’âge, les centres d’intérêt et l’historique des achats. L’algorithme KNN peut regrouper ces clients dans des catégories (par exemple, acheteurs fréquents, acheteurs occasionnels ou simples curieux), en comparant leurs caractéristiques. Si un nouveau client consulte le site web, l’algorithme KNN peut prédire son comportement d’achat en évaluant quel groupe lui ressemble le plus. 

L’adaptabilité de l’algorithme est encore plus grande lorsqu’il est utilisé avec des ensembles de données multimodales. Ici, les informations sont combinées à partir de plusieurs sources à la fois, telles que du texte, des images ou du son. L’algorithme KNN peut analyser ces plongements dans un espace vectoriel partagé, en identifiant les similitudes entre différentes modalités. Son application aux données multimodales permet de trouver le voisin le plus similaire, quels que soient les types de données. Cela en fait donc un algorithme polyvalent qui permet de gérer des scénarios de données de plus en plus complexes et variés.

  • Reconnaissance de schémas

L’algorithme KNN est largement utilisé dans les tâches de reconnaissance de schémas, telles que la reconnaissance d’image et d’écriture manuscrite. En comparant de nouvelles images ou de nouveaux échantillons à un ensemble de données étiquetées, il peut classer avec précision des objets, des caractères ou des visages en fonction de leurs similitudes avec des schémas connus. 

  • Traitement de données 

L’algorithme KNN est efficace pour le prétraitement des données, comme l’entrée des valeurs manquantes ou la détection des valeurs aberrantes. En analysant les voisins les plus proches, il peut estimer quelles sont les valeurs manquantes en fonction des points de données les plus similaires, améliorant ainsi la qualité et la cohérence des données. 

  • Moteurs de recommandations 

L’algorithme KNN aide à créer des systèmes de recommandations en analysant le comportement et les préférences des utilisateurs. En trouvant des personnes ayant des intérêts similaires, il peut suggérer des produits, des films ou du contenu que d’autres utilisateurs au profil semblable ont appréciés, améliorant ainsi l’expérience et l’engagement des clients. 

  • Transformation d’image en texte 

L’algorithme KNN est de plus en plus utilisé dans les tâches de transformation d’image en texte au sein des systèmes multimodaux. En comparant les plongements d’images à ceux des descriptions textuelles, il permet aux systèmes d’IA d’effectuer des tâches complexes telles que le sous-titrage automatisé, où les correspondances les plus proches fournissent un texte adapté au contexte pour une image donnée. 

Quelles mesures de distance sont utilisées dans le cadre de l’algorithme KNN ?

Dans chaque approche répertoriée ci-dessus, la précision des prédictions de l’algorithme KNN repose fortement sur les mesures de distance utilisées pour évaluer la similitude entre les points des données. C’est essentiel pour effectuer des prévisions précises. Ces mesures déterminent la façon dont l’algorithme calcule la « proximité » des points de données pour classer ou prévoir efficacement les nouveaux points de données.

Distance euclidienne 

La distance euclidienne est la mesure la plus courante utilisée dans l’algorithme KNN. Elle calcule la distance en ligne droite entre deux points dans l’espace euclidien. Imaginez une carte et une règle pour mesurer le chemin le plus court entre deux emplacements. Plus la distance est courte, plus les points sont considérés comme similaires. Par exemple, lors de la comparaison de la taille et du poids de différents individus, la distance euclidienne permet de savoir quelles personnes sont les plus similaires en déterminant les deux caractéristiques séparées par la distance euclidienne la plus courte. 

 

Distance de Manhattan 

La distance de Manhattan mesure les différences absolues entre les points le long de chaque dimension, un peu comme lorsqu’on navigue dans une grille des rues de la ville. Imaginez une grille urbaine où vous ne pouvez vous déplacer que le long des rues (et non en diagonale à travers les bâtiments). Cette mesure est utile lorsque les points de données sont structurés sous forme de grille, par exemple pour des itinéraires de livraison ou des scénarios d’aménagement urbain.

Distance de Minkowski  

La distance de Minkowski est une généralisation des distances euclidienne et Manhattan. En ajustant un paramètre « p », elle peut se comporter comme ces deux mesures. Considérez la distance de Minkowski comme un outil flexible, capable de s’adapter à différents scénarios en fonction des besoins spécifiques de l’analyse des données. Par exemple, si on devait comparer des propriétés avec des dimensions différentes (comme le prix, la surface et le nombre de chambres), ajuster la valeur « p » permettrait de mettre l’accent sur certaines dimensions par rapport à d’autres, ce qui en ferait une mesure polyvalente pour différents types de comparaisons de données. 

Comment la valeur de « k » doit-elle être définie ? 

Si l’on ne définit pas la bonne valeur pour « k », l’algorithme KNN ne fonctionnera pas comme prévu. Choisir une valeur trop petite pour « k » peut rendre les prédictions trop sensibles au bruit dans les données, ce qui entraîne une forte variance et des prévisions moins stables. D’un autre côté, une valeur trop élevée peut lisser les prévisions, mais rendre le modèle trop général, si bien qu’il risque de passer à côté de schémas spécifiques.

Pour trouver la valeur optimale pour « k », les professionnels utilisent généralement la validation croisée (technique dans laquelle l’ensemble de données est divisé en ensembles d’entraînement et de validation plusieurs fois, pour tester différentes valeurs « k »). Cela permet d’identifier un « k » qui réduit les erreurs de prédiction tout en maintenant la capacité de généralisation de l’algorithme.

Ce processus est fait d’essais et d’erreurs. Trouver le bon « k » implique de tester différentes valeurs pour s’assurer que le modèle fonctionne bien sur des données connues et inconnues, afin d’obtenir l’équilibre optimal entre stabilité et spécificité.

Pourquoi l’algorithme KNN est-il important ? 
L’algorithme KNN est un précieux outil dans divers scénarios où les relations entre les points de données ne sont pas immédiatement évidentes, car il exploite la similitude entre les points de données pour effectuer des prévisions précises sans entraînement approfondi du modèle. Cela est particulièrement utile dans les domaines tels que la reconnaissance d’images, où les similitudes visuelles peuvent être essentielles pour identifier des objets, ou dans la segmentation des clients, où les schémas de comportement aident à classer les utilisateurs en groupes significatifs. 
Quels sont les avantages de l’algorithme KNN ? 

L’établissement de connexions, de similitudes et de relations entre les points de données est l’objectif global de l’algorithme KNN. Ce qui fait de ce modèle un choix si populaire auprès des entreprises, ce sont les avantages qu’il apporte, à savoir :

Mise en œuvre facile 

L’algorithme KNN est facile à mettre en œuvre et à comprendre, même pour les débutants en apprentissage machine. Il ne nécessite pas de phase d’entraînement complexe. Il mémorise l’ensemble de données d’entraînement et l’utilise directement pour faire des prédictions.

Adaptabilité 

Qu’il soit utilisé pour les tâches de classification ou de régression, l’algorithme KNN peut gérer les différentes structures de données et relations nécessaires pour regrouper les points de données. Cette flexibilité permet de l’appliquer à plusieurs domaines : finance, santé, e-commerce, etc.

Complexité réduite

L’algorithme KNN ne nécessite que quelques hyperparamètres, principalement la valeur « k » et la mesure de distance. Cela réduit la complexité liée au réglage du modèle par rapport à d’autres algorithmes qui requièrent parfois une optimisation approfondie des paramètres. Par conséquent, il simplifie le processus global de développement de modèle et offre plus facilement des performances supérieures avec un minimum de réglages.

Quels sont les inconvénients de l’utilisation de l’algorithme KNN ? 

Bien que l’algorithme KNN offre plusieurs avantages, il présente également certains points faibles notables, à savoir : 

Problèmes avec la haute dimensionnalité 

La haute dimensionnalité fait référence à l’augmentation exponentielle des données requises pour maintenir le même niveau de performances à mesure que les caractéristiques (ou dimensions) s’accroissent. Dans les espaces à haute dimensionnalité, la distance entre les points de données est moins significative. L’algorithme KNN a alors des difficultés à identifier les voisins vraiment « plus proches ». Ce problème peut réduire considérablement sa précision et son efficacité dans les ensembles de données comportant de nombreuses caractéristiques. 

Sensibilité au surajustement 

L’algorithme KNN peut être influencé par le bruit et les valeurs aberrantes dans l’ensemble de données, en particulier lorsque la valeur de « k » est faible. Cette sensibilité peut entraîner un ajustement excessif, où l’algorithme capture le bruit et les anomalies comme s’il s’agissait de véritables schémas. Cela entraîne une mauvaise généralisation des nouvelles données invisibles, ce qui réduit les performances prédictives du modèle. 

Manque de capacité de montée en charge

La complexité du calcul augmente avec la taille de l’ensemble de données. L’algorithme KNN est donc inefficace pour les ensembles trop volumineux. Chaque prédiction nécessite de calculer la distance entre le nouveau point de données et tous les points existants de l’ensemble d’entraînement, ce qui cause une utilisation élevée de la mémoire et des temps de calcul longs. Cette limite entrave l’application de l’algorithme KNN à des scénarios impliquant de grands volumes de données. 

Comment fonctionne l’algorithme KNN ? 

Comme indiqué précédemment, l’algorithme KNN classe les points de données en fonction de leur proximité avec d’autres points de l’ensemble de données. Pour ce faire, l’algorithme doit suivre des étapes spécifiques :

1. Choisir le nombre de voisins (k) 

Définissez la valeur de « k » à prendre en compte lors de la classification ou de la régression. Cette valeur influence la manière dont l’algorithme évalue la similitude entre les points de données.

2. Calculer la distance 

Pour chaque point de données de l’ensemble d’entraînement, calculez la distance entre celui-ci et le nouveau point de données à l’aide d’une des mesures de distance standard (distance euclidienne, de Manhattan ou de Minkowski). Cette mesure de distance permet d’identifier ce qui doit être considéré comme les voisins les plus proches du nouveau point de données.

3. Identifier les voisins les plus proches 

Triez les distances calculées à l’étape 2 et déterminez les « k » voisins les plus proches. Il s’agit des points de données les plus proches du nouveau point de données en fonction de la mesure de distance choisie. 

4. Faire une prédiction 

Pour les tâches de classification, attribuez le nouveau point de données à la classe la plus commune parmi ses « k » voisins les plus proches. Pour les tâches de régression, calculez la valeur moyenne ou médiane des « k » voisins les plus proches et utilisez cette valeur comme prédiction pour le nouveau point de données.

5. Évaluer le modèle

Évaluez l’exactitude et les performances du modèle KNN à l’aide de techniques de validation croisée. Ajustez la valeur de « k » et la mesure de distance selon les besoins, pour optimiser les prévisions du modèle. 

Quelles sont les différentes façons d’utiliser l’algorithme KNN ? 

Il existe plusieurs méthodes pour exécuter l’algorithme KNN, chacune ayant ses avantages et ses applications adaptées. Les méthodes suivantes permettent d’optimiser le processus de recherche des voisins les plus proches, ce qui fait de l’algorithme KNN une option efficace pour différents types d’ensembles de données.  

  • Force brute 

La méthode de force brute calcule la distance entre le point de requête et tous les autres points de l’ensemble de données. Elle est simple, mais coûteuse en termes de calcul, et convient donc mieux aux petits ensembles de données. 

  • Arbre k-dimensionnel (arbre k-d)

L’arbre k-dimensionnel organise les points dans un espace k-d en divisant celui-ci en hyperrectangles de manière récursive. Il réduit les calculs de distance et accélère les recherches de l’algorithme KNN pour les données à dimensionnalité modérément forte. 

  • Arbre à billes

Un arbre à billes partitionne l’espace en hypersphères imbriquées, ce qui permet de rechercher efficacement les voisins les plus proches en éliminant les parties non pertinentes de l’ensemble de données. Il est particulièrement performant pour les données à forte dimensionnalité et obtient souvent de meilleurs résultats que les arbres k-d dans ces scénarios. 

Tarifs ServiceNow ServiceNow propose des packages de produits compétitifs qui s’adaptent à vos besoins et à la croissance de votre entreprise. Obtenir un devis
Utiliser l’algorithme KNN avec ServiceNow 

L’algorithme KNN est précieux pour sa capacité à classer les points de données et à quantifier les relations pour les systèmes d’IA. ServiceNow, leader dans le domaine des solutions IT d’entreprise, intègre l’IA avancée et l’algorithme KNN, fournissant ainsi des outils puissants pour la transformation digitale. La Now Platform® primée de ServiceNow exploite l’IA et l’apprentissage machine pour automatiser, optimiser et moderniser les workflows sur toutes les fonctions métiers, offrant ainsi une optimisation intelligente et globale. 

En intégrant l’algorithme KNN et d’autres algorithmes avancés, ServiceNow permet aux entreprises de tirer parti de l’IA pour améliorer la prise de décision, réduire les délais d’exécution et adopter une approche plus efficace des activités. Découvrez la puissance de transformation de l’IA et de la Now Platform. Essayez ServiceNow dès aujourd’hui !

Alt
Découvrez les workflows d’IA Découvrez comment la plateforme ServiceNow permet à toute votre entreprise de bénéficier d’une IA exploitable. Découvrir la GenAI Nous contacter
Ressources Articles Qu’est-ce que l’IA ? Qu’est-ce que la GenAI ? Rapports d’analyste InfoBrief IDC : Maximiser la valeur de l’IA avec une plateforme digitale L’IA générative dans les opérations IT Mettre en œuvre l’IA générative (GenAI) dans le secteur des télécommunications Fiches techniques Recherche IA Anticiper et empêcher les pannes avec ServiceNow® AiOps prédictive Gestion des ressources Ebooks Moderniser les services et opérations IT avec l’aide de l’IA La GenAI est-elle vraiment si importante ? Libérer la productivité de votre entreprise avec la GenAI Livres blancs Indice de maturité IA des entreprises La GenAI pour les télécommunications