/ / Jakie parametry zoptymalizować w KNN? - optymalizacja, uczenie maszynowe, knn

Jakie parametry optymalizować w KNN? - optymalizacja, uczenie maszynowe, knn

Chcę zoptymalizować KNN. Jest wiele rzeczy na temat SVM, RF i XGboost; ale bardzo mało dla KNN.

O ile wiem liczba sąsiadów jest jednym z parametrów, który należy dostroić.

Ale jakie inne parametry do przetestowania? Czy jest jakiś dobry artykuł?

Dziękuję Ci

Odpowiedzi:

3 dla odpowiedzi № 1

KNN jest tak prostą metodą, że nie ma prawie nic do dostrojenia oprócz K. Cała metoda jest dosłownie:

for a given test sample x:
- find K most similar samples from training set, according to similarity measure s
- return the majority vote of the class from the above set

W związku z tym jedyną rzeczą używaną do zdefiniowania KNNpoza tym K jest miarą podobieństwa i to wszystko. W tym algorytmie nie ma dosłownie nic innego (ponieważ ma on 3 wiersze pseudokodu). Z drugiej strony znalezienie „najlepszej miary podobieństwa” jest równie trudnym problemem jak nauka sam klasyfikator, dlatego nie ma prawdziwej metody, a ludzie zwykle używają prostych rzeczy (odległość euklidesowa) lub wykorzystują swoją wiedzę domenową, aby dostosować się do problemu.


1 dla odpowiedzi nr 2

Lejlot, właściwie to wszystko podsumował. K-NN jest tak prosty, że jest nieparametrycznym algorytmem opartym na instancjach, dzięki czemu jest tak piękny i działa naprawdę dobrze w przypadku niektórych konkretnych przykładów. Większość badań nad K-NN nie dotyczy samego K-NN, ale związanych z nim obliczeń i sprzętu. Jeśli chcesz jakieś odczyty na temat K-NN i algorytmów uczenia maszynowego Charles Bishop - Rozpoznawanie wzorców i uczenie maszynowe. Ostrzeżenie: matematyka jest ciężka, ale uczenie maszynowe i prawdziwa informatyka to matematyka.


1 dla odpowiedzi nr 3

Optymalizując, czy koncentrujesz się również naskrócenie czasu przewidywania (powinieneś), istnieją inne aspekty, które możesz wdrożyć, aby algorytm był bardziej wydajny (ale nie są to strojenie parametrów). Główną wadą KNN jest to, że wraz ze wzrostem liczby przykładów treningowych czas przewidywania również się wydłuża, przez co wydajność spada.

Aby zoptymalizować, możesz sprawdzić KNN za pomocąDrzewa KD, KNN z odwróconymi listami (indeks) i KNN z mieszaniem zależnym od lokalizacji (KNN z LSH). Zmniejszą one przestrzeń wyszukiwania w czasie przewidywania, optymalizując w ten sposób algorytm.