Scopri YOLO26: vision AI di prossima generazione.
Ultralytics
Torna al glossario Ultralytics

K-Nearest Neighbors (KNN)

Esplora i K-Nearest Neighbors (KNN). Impara come funziona questo algoritmo di apprendimento supervisionato per classificazione e regressione, il suo uso nella ricerca visiva e l'integrazione con Ultralytics YOLO26.

K-Nearest Neighbors (KNN) è un algoritmo robusto e intuitivo utilizzato nel campo dell'apprendimento supervisionato sia per compiti di classificazione che di regressione. Contraddistinto dalla sua semplicità, KNN è spesso classificato come un "lazy learner" (apprendista pigro) poiché non costruisce un modello o apprende parametri durante una fase di addestramento. Al contrario, memorizza l'intero set di dati di addestramento ed esegue i calcoli solo quando viene richiesta una previsione. Il principio cardine dell'algoritmo si basa sulla similarità delle caratteristiche: presuppone che i punti dati con attributi simili si trovino in stretta vicinanza l'uno all'altro all'interno di uno spazio delle caratteristiche multidimensionale.

Link to this sectionCome opera l'algoritmo#

Il meccanismo di K-Nearest Neighbors è guidato dai calcoli di distanza. Quando viene introdotto un nuovo punto di query, l'algoritmo cerca nel set di dati memorizzato per trovare il numero 'K' di campioni di addestramento più vicini al nuovo input.

  1. Misurazione della distanza: Il sistema calcola la distanza tra il punto di query e ogni altro punto nel database. La metrica più comune è la distanza euclidea, che misura la distanza in linea retta tra i punti. Altre metriche come la distanza di Manhattan (geometria del taxi) o la distanza di Minkowski possono essere utilizzate a seconda del tipo di dati.

  2. Selezione dei vicini: Dopo aver calcolato le distanze, l'algoritmo le ordina e identifica le prime 'K' voci più vicine.

  3. Processo decisionale: - Per la classificazione: L'algoritmo utilizza un sistema di "voto a maggioranza". L'etichetta di classe che appare più frequentemente tra i K vicini viene assegnata al punto di query. Questo è ampiamente utilizzato in compiti base di classificazione delle immagini. - Per la regressione: La previsione viene calcolata mediando i valori dei K vicini più prossimi per stimare una variabile continua.

Link to this sectionScegliere il 'K' giusto#

Selezionare il valore ottimale per 'K' è un passaggio critico nella regolazione degli iperparametri. La scelta di K influenza significativamente le prestazioni del modello e la sua capacità di generalizzare su nuovi dati.

  • Valore K basso: Un K piccolo (es. K=1) rende il modello altamente sensibile al rumore e ai valori anomali nei dati, il che può portare a overfitting.
  • Valore K alto: Un K grande livella i confini decisionali, riducendo l'effetto del rumore ma potenzialmente sfumando modelli distinti, il che porta a underfitting.

Link to this sectionApplicazioni nel mondo reale#

Nonostante la sua semplicità rispetto alle reti neurali profonde, KNN rimane altamente rilevante nell'IA moderna, in particolare se combinato con tecniche avanzate di estrazione delle caratteristiche.

  • Sistemi di raccomandazione: KNN facilita il filtro collaborativo nello streaming multimediale e nell'e-commerce. Identificando utenti con cronologie di visione o comportamenti di acquisto simili (vicini), le piattaforme possono suggerire prodotti che è probabile piacciano a un utente in base alle preferenze dei loro "vicini più prossimi".
  • Rilevamento delle anomalie: Nella sicurezza informatica e nella finanza, KNN viene utilizzato per il rilevamento delle anomalie. Le transazioni o le attività di rete vengono mappate in uno spazio delle caratteristiche; qualsiasi nuovo punto dati che cade lontano dai cluster densi di attività "normale" viene segnalato come potenziale frode o violazione della sicurezza.
  • Ricerca visiva: I moderni motori di ricerca vettoriale si affidano spesso ad algoritmi di Approximate Nearest Neighbor (ANN)—una variante ottimizzata di KNN—per recuperare rapidamente immagini simili basate su embeddings ad alta dimensione generati da modelli come YOLO26.

Link to this sectionSfide e considerazioni#

Sebbene efficace, KNN affronta la maledizione della dimensionalità. Man mano che aumenta il numero di caratteristiche (dimensioni), i punti dati diventano sparsi e le metriche di distanza perdono la loro efficacia. Inoltre, poiché memorizza tutti i dati di addestramento, KNN può essere intensivo in termini di memoria e soffrire di un'elevata latenza di inferenza su set di dati di grandi dimensioni. Per risolvere questo problema, gli esperti pre-elaborano spesso i dati utilizzando tecniche di riduzione della dimensionalità come la Principal Component Analysis (PCA) o utilizzano strutture dati specializzate come i KD-Tree per velocizzare la ricerca. Per il ridimensionamento su scala aziendale di set di dati e dell'addestramento dei modelli, l'utilizzo della Ultralytics Platform può aiutarti a gestire le risorse di calcolo necessarie per la pre-elaborazione di dati complessi.

Link to this sectionDistinguere KNN da K-Means#

È importante differenziare K-Nearest Neighbors dal K-Means clustering, poiché i loro nomi simili causano spesso confusione.

  • KNN è un algoritmo di apprendimento supervisionato che utilizza dati etichettati per effettuare previsioni.
  • K-Means è un algoritmo di apprendimento non supervisionato utilizzato per raggruppare dati non etichettati in cluster basati su similarità strutturali.

Link to this sectionEsempio di Implementazione#

Il seguente frammento di codice dimostra un semplice flusso di lavoro di classificazione KNN utilizzando la popolare libreria Scikit-learn. In un contesto di visione artificiale, le "caratteristiche" di input verrebbero solitamente estratte da un modello di deep learning come YOLO26 prima di essere passate al classificatore KNN.

from sklearn.neighbors import KNeighborsClassifier

# Simulated feature vectors (e.g., extracted from YOLO26) and labels
# Features: [Size, Redness], Labels: 0=Apple, 1=Orange
features = [[0.8, 0.9], [0.9, 0.8], [0.2, 0.3], [0.3, 0.2]]
labels = [0, 0, 1, 1]

# Initialize KNN with 3 neighbors
knn = KNeighborsClassifier(n_neighbors=3)
knn.fit(features, labels)

# Predict the class of a new object [Size=0.85, Redness=0.85]
prediction = knn.predict([[0.85, 0.85]])
print(f"Predicted Class: {prediction[0]} (0=Apple, 1=Orange)")

Explore solutions

Real-time AI that works with your team

AI nella Robotica

Potenzia macchine più intelligenti con i modelli Ultralytics YOLO. La Vision AI nella robotica guida la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Real-time AI that works with your team

IA nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. La Vision AI abilita l'ispezione dei pacchi, lo smistamento, il tracciamento dei veicoli e il monitoraggio della sicurezza in magazzino in tempo reale.
Scopri di più
Real-time AI that works with your team

AI nel settore Retail

Reimmagina il retail con i modelli Ultralytics YOLO. La Vision AI alimenta il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e insight più intelligenti sui clienti.
Scopri di più
Real-time AI that works with your team

IA nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La vision AI nella sanità potenzia l'imaging medico più rapido, diagnosi più intelligenti e il monitoraggio dei pazienti.
Scopri di più
Real-time AI that works with your team

IA nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI guida il controllo qualità, il rilevamento dei difetti, la conformità ai DPI e l'automazione della linea di assemblaggio.
Scopri di più
Real-time AI that works with your operation

AI nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La vision AI migliora la sicurezza stradale, l'assistenza alla guida e l'automazione dei veicoli per strade più intelligenti.
Scopri di più
Real-time AI tailored to your operation

AI in Agricoltura

Porta la vision AI nell'agricoltura intelligente con i modelli Ultralytics YOLO. Potenzia il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per rese più elevate e intelligenti.
Scopri di più
Real-time AI that works with your team

AI nella Robotica

Potenzia macchine più intelligenti con i modelli Ultralytics YOLO. La Vision AI nella robotica guida la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Real-time AI that works with your team

IA nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. La Vision AI abilita l'ispezione dei pacchi, lo smistamento, il tracciamento dei veicoli e il monitoraggio della sicurezza in magazzino in tempo reale.
Scopri di più
Real-time AI that works with your team

AI nel settore Retail

Reimmagina il retail con i modelli Ultralytics YOLO. La Vision AI alimenta il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e insight più intelligenti sui clienti.
Scopri di più
Real-time AI that works with your team

IA nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La vision AI nella sanità potenzia l'imaging medico più rapido, diagnosi più intelligenti e il monitoraggio dei pazienti.
Scopri di più
Real-time AI that works with your team

IA nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI guida il controllo qualità, il rilevamento dei difetti, la conformità ai DPI e l'automazione della linea di assemblaggio.
Scopri di più
Real-time AI that works with your operation

AI nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La vision AI migliora la sicurezza stradale, l'assistenza alla guida e l'automazione dei veicoli per strade più intelligenti.
Scopri di più
Real-time AI tailored to your operation

AI in Agricoltura

Porta la vision AI nell'agricoltura intelligente con i modelli Ultralytics YOLO. Potenzia il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per rese più elevate e intelligenti.
Scopri di più
Real-time AI that works with your team

AI nella Robotica

Potenzia macchine più intelligenti con i modelli Ultralytics YOLO. La Vision AI nella robotica guida la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Real-time AI that works with your team

IA nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. La Vision AI abilita l'ispezione dei pacchi, lo smistamento, il tracciamento dei veicoli e il monitoraggio della sicurezza in magazzino in tempo reale.
Scopri di più
Real-time AI that works with your team

AI nel settore Retail

Reimmagina il retail con i modelli Ultralytics YOLO. La Vision AI alimenta il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e insight più intelligenti sui clienti.
Scopri di più
Real-time AI that works with your team

IA nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La vision AI nella sanità potenzia l'imaging medico più rapido, diagnosi più intelligenti e il monitoraggio dei pazienti.
Scopri di più
Real-time AI that works with your team

IA nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI guida il controllo qualità, il rilevamento dei difetti, la conformità ai DPI e l'automazione della linea di assemblaggio.
Scopri di più
Real-time AI that works with your operation

AI nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La vision AI migliora la sicurezza stradale, l'assistenza alla guida e l'automazione dei veicoli per strade più intelligenti.
Scopri di più
Real-time AI tailored to your operation

AI in Agricoltura

Porta la vision AI nell'agricoltura intelligente con i modelli Ultralytics YOLO. Potenzia il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per rese più elevate e intelligenti.
Scopri di più

Costruiamo insieme il futuro dell'AI!

Inizia il tuo viaggio con il futuro del machine learning