K-Nearest Neighbors (k-NN)
K-Nearest Neighbors (k-NN) to prosta, nieparametryczna metoda uczenia maszynowego oparta na podobieństwie obserwacji, używana głównie do klasyfikacji i regresji. Polega na tym, że dla nowego przypadku wyszukuje się *k* najbardziej podobnych przykładów w danych uczących, a następnie wyznacza wynik na podstawie ich etykiet (klasy) lub wartości liczbowych.
Metoda k-NN działa w logice „podobne przypadki mają podobne wyniki”. W klasyfikacji nowy obiekt otrzymuje klasę najczęściej występującą wśród *k* najbliższych sąsiadów (głosowanie większościowe), a w regresji wynik jest zwykle średnią (lub medianą) wartości sąsiadów, czasem ważoną odległością. „Najbliżsi” są definiowani przez miarę odległości w przestrzeni cech, np. euklidesową (dla cech liczbowych), Manhattan, kosinusową (często w analizie tekstu) lub inne miary dopasowane do charakteru danych.
W praktyce k-NN nie buduje jawnego modelu w postaci wzoru czy zestawu parametrów; zamiast tego „przechowuje” dane uczące i wykonuje obliczenia dopiero w momencie predykcji. Z tego powodu bywa nazywany algorytmem „leniwego uczenia” (lazy learning). Jego skuteczność silnie zależy od doboru cech, skali zmiennych oraz jakości miary podobieństwa: jeśli jedna cecha ma znacznie większą skalę (np. przychód w milionach) niż inne (np. wskaźniki w ułamkach), może zdominować obliczanie odległości i zniekształcić pojęcie „bliskości”.
W zastosowaniach ekonomicznych i biznesowych k-NN bywa używany m.in. do segmentacji klientów (przypisanie nowego klienta do segmentu na podstawie podobnych profili), wstępnej oceny ryzyka (np. klasyfikacja transakcji jako potencjalnie fraudowej na podstawie podobnych transakcji), prognozowania wartości (np. przybliżona wycena nieruchomości na podstawie podobnych ofert) czy analizy porównawczej spółek (znajdowanie „najbardziej podobnych” firm według zestawu wskaźników finansowych). Przykład: jeśli chcemy oszacować cenę mieszkania, możemy znaleźć *k* najbardziej podobnych mieszkań (metraż, lokalizacja, standard, piętro) i uśrednić ich ceny, ewentualnie nadając większą wagę tym najbardziej zbliżonym.
- Kluczowe właściwości
- Nieparametryczność: k-NN nie zakłada konkretnej postaci zależności (np. liniowej) między cechami a wynikiem; dopasowanie wynika z lokalnego sąsiedztwa w danych.
- Wrażliwość na skalę i dobór cech: normalizacja/standaryzacja cech często jest konieczna, aby odległość miała sens ekonomiczny i statystyczny.
- Koszt predykcji: obliczeniowo predykcja może być kosztowna przy dużych zbiorach (trzeba znaleźć najbliższych sąsiadów), choć istnieją techniki przyspieszające wyszukiwanie.
- Lokalność decyzji: wynik zależy od najbliższego otoczenia w danych; metoda dobrze oddaje lokalne wzorce, ale może być niestabilna przy szumie.
- Interpretowalność przez analogię: decyzję można uzasadnić wskazaniem podobnych przypadków („bo podobne obserwacje miały taki wynik”), choć globalne reguły nie są wprost dostępne.
- Typowe konteksty użycia
- Klasyfikacja: np. przypisanie klienta do kategorii „wysokie/średnie/niskie ryzyko” na podstawie podobnych profili (dochód, historia płatności, zadłużenie, branża).
- Regresja (estymacja wartości): np. przybliżenie ceny produktu lub nieruchomości na podstawie podobnych transakcji; w finansach także jako element metod porównawczych.
- Wykrywanie anomalii (pośrednio): obserwacje „dalekie” od innych (duże odległości do sąsiadów) mogą sygnalizować nietypowe transakcje lub błędy danych.
- Rekomendacje oparte na podobieństwie: np. „podobni klienci kupowali…” (choć w praktyce często stosuje się wyspecjalizowane warianty metod sąsiedztwa).
- Szybkie prototypowanie modeli: jako punkt odniesienia (baseline) do porównania z bardziej złożonymi algorytmami.
- Częste nieporozumienia
- „k-NN zawsze jest prosty i zawsze działa dobrze”: prostota implementacji nie oznacza odporności na złe cechy, szum, brak normalizacji czy wysoką wymiarowość.
- „Większe k jest zawsze lepsze”: zbyt małe *k* może prowadzić do nadmiernej wrażliwości na przypadkowe fluktuacje (przeuczenie lokalne), a zbyt duże *k* do nadmiernego uśredniania (utrata lokalnych zależności).
- „Odległość euklidesowa jest uniwersalna”: dobór miary odległości powinien wynikać z typu danych i sensu ekonomicznego; dla danych mieszanych (liczbowe + kategoryczne) potrzebne są inne podejścia.
- „k-NN tworzy model przy treningu”: w klasycznym ujęciu „trening” to głównie zapamiętanie danych; ciężar obliczeń przesuwa się na etap predykcji.
- „Wysoka liczba cech zawsze pomaga”: w wielu problemach rośnie ryzyko tzw. klątwy wymiarowości, gdzie odległości stają się mniej rozróżnialne, a pojęcie „najbliższego” traci praktyczne znaczenie.
