W przypadku wielu projektów uczenia maszynowego, które wykonujemy, zaczynamy od k klasyfikatora Nearest Neighbor. Jest to idealny klasyfikator początkowy, ponieważ zwykle mamy wystarczająco dużo czasu na obliczenie wszystkich odległości, a liczba parametrów jest ograniczona (k, metryka odległości i waga)
Jednak często powoduje to, że trzymamy się klasyfikatora KNN, ponieważ w dalszej części projektu nie ma miejsca na przejście na inny klasyfikator. Jaki byłby dobry powód, aby wypróbować nowy klasyfikator. Oczywiste są ograniczenia pamięci i czasu, ale czy istnieją przypadki, w których inny klasyfikator może faktycznie poprawić dokładność?
Odpowiedzi:
k-NN uogólnia się w bardzo restrykcyjnym sensie. Po prostu używa priorytetów gładkości (lub założenia ciągłości). To założenie sugeruje, że wzorce znajdujące się blisko w przestrzeni cech najprawdopodobniej należą do tej samej klasy. K-NN nie może odzyskać funkcjonalnej regularności w rozkładzie wzorców.
Dlatego wymaga reprezentatywnych próbek treningowych, które mogą być bardzo duże, szczególnie w przypadku wysoce wymiarowych przestrzeni cech. Co gorsza, próbki te mogą być niedostępne. W związku z tym nie może nauczyć się niezmienników. Jeśli wzorce można poddać pewnym przekształceniom bez zmiany ich etykiet, a próbka szkoleniowa nie zawiera wzorców przekształconych we wszystkie dopuszczalne sposoby, k-NN nigdy nie rozpoznaje przekształconych wzorców, które nie były prezentowane podczas szkolenia. Dotyczy to np. Przesuniętych lub obróconych obrazów, jeśli nie są one reprezentowane w jakiejś niezmiennej formie przed uruchomieniem k-NN. k-NN nie może nawet oderwać się od nieistotnych funkcji.
Kolejny nieco sztuczny przykład jest następujący. Wyobraź sobie, że wzorzec należący do różnych klas rozmieszczonych okresowo (np. Zgodnie z sinusem - jeśli jest mniejszy niż 0, to wzorce należą do jednej klasy, i jest większy, wtedy wzorce należą do innej klasy). Zestaw treningowy jest skończony. Będzie więc znajdować się w skończonym regionie. Poza tym błędem rozpoznania regionu będzie 50%. Można sobie wyobrazić regresję logistyczną z okresowymi funkcjami podstawowymi, które w tym przypadku będą działać znacznie lepiej. Inne metody będą mogły nauczyć się innych prawidłowości w rozkładach wzorców i dobrze ekstrapolować.
Jeśli więc podejrzewa się, że dostępny zestaw danych nie jest reprezentatywny i należy osiągnąć niezmienność niektórych przekształceń wzorców, to w takim przypadku należy wyjść poza k-NN.
źródło
Jeśli ograniczałaby Cię złożoność obliczeniowa, drzewa decyzyjne (Quinal, 1986) są trudne do pokonania (szczególnie gdy framework oferuje bezpośrednią konwersję modelu DT na kilka
if
instrukcji - takich jak Accord.NET ).W przypadku danych wielowymiarowych pojęcie odległości, na której opiera się k-NN, staje się bezwartościowe (Kriegel, Kröger, Zimek, 2009) (także: artykuł w Wikipedii ). Tak więc inne klasyfikatory, takie jak SVM (Corter, Vapnik, 1995) lub Random Forests (Breiman, 2001) , mogą działać lepiej.
Bibliografia:
Kriegel, Hans-Peter; Kröger, Peer; Zimek, Arthur (2009), „Grupowanie danych wielowymiarowych: ankieta na temat klastrowania podprzestrzeni, klastrowania opartego na wzorcach i klastrowania korelacji”, Transakcje ACM dotyczące odkrywania wiedzy z Data (New York, NY: ACM) 3 (1): 1–58
Cortes, Corinna; i Vapnik, Vladimir N .; „Support-Vector Networks”, Machine Learning, 20, 1995
Leo Breiman. 2001. Losowe lasy. Mach. Uczyć się. 45, 1 (październik 2001), 5-32.
JR Quinlan. 1986. Indukcja drzew decyzyjnych. Mach. Uczyć się. 1, 1 (marzec 1986), 81-106.
źródło
kNN jest przydatny w przypadku dużych próbek danych
Jednak jego wadami są:
Zwykle jest skuteczny tylko wtedy, gdy dane treningowe są duże, a trening bardzo szybki.
źródło