Wprowadzenie
K-Nearest Neighbors (KNN) to jeden z najprostszych i najbardziej intuicyjnych algorytmów uczenia nadzorowanego (supervised learning). Stosowany zarówno do zadań klasyfikacji, jak i regresji. Należy do grupy algorytmów leniwych (lazy learning) – nie buduje modelu w fazie treningu, a obliczenia wykonuje dopiero w momencie predykcji.
Jak działa algorytm KNN?
Algorytm działa według następujących kroków:
- Obliczenie odległości między nowym punktem a wszystkimi punktami w zbiorze treningowym
- Wybranie K najbliższych sąsiadów (najmniejsza odległość)
- W przypadku klasyfikacji – głosowanie większościowe (najczęstsza klasa)
- W przypadku regresji – obliczenie średniej wartości sąsiadów
Popularne metryki odległości
- Odległość euklidesowa (najczęściej używana)
- Odległość Manhattan (L1)
- Odległość Minkowski
- Odległość cosinusowa (dla danych tekstowych)
Zastosowania KNN
- Klasyfikacja obrazów i rozpoznawanie wzorców
- Systemy rekomendacyjne
- Wykrywanie spamu i anomalii
- Medycyna (diagnozowanie na podstawie objawów)
- Finanse (ocena ryzyka kredytowego)
- Przetwarzanie języka naturalnego (NLP)
Zalety i wady algorytmu
- Zalety: prostota, intuicyjność, brak założeń co do rozkładu danych, działa dobrze na małych i średnich zbiorach
- Wady: wolny przy dużych zbiorach danych, wrażliwy na skalę cech, wymaga dobrania odpowiedniego K, przekleństwo wymiarowości
Najlepsze praktyki (2026)
- Standaryzacja lub normalizacja cech przed użyciem
- Używanie walidacji krzyżowej do wyboru optymalnego K
- Techniki redukcji wymiarowości (PCA, t-SNE)
- Optymalizacja za pomocą KD-Tree lub Ball Tree
- Weighted KNN (ważenie sąsiadów odległością)
Powiązane pojęcia
Supervised LearningClassification→RegressionDistance MetricsK-Means→Support Vector Machines (SVM)Random Forest→Cross Validation→