Mam problem ze zrozumieniem przekleństwa wymiarowości. W szczególności natknąłem się na to podczas wykonywania scikit-learnsamouczka w Pythonie. Czy ktoś może wyjaśnić poniżej w prostszy sposób? Przepraszam, staram się zrozumieć od dłuższego czasu i nie mogę zrozumieć, w jaki sposób wymyślili obliczenia liczby przykładów szkoleń, aby uzyskać skuteczny estymator KNN?
Oto wyjaśnienie:
Aby estymator był skuteczny, odległość między sąsiednimi punktami musi być mniejsza niż pewna wartość d, co zależy od problemu. W jednym wymiarze wymaga to średnio n ~ 1 / d punktów. W kontekście powyższego przykładu KNN, jeśli dane są opisane tylko przez jedną cechę o wartościach od 0 do 1 i n obserwacjach treningowych, wówczas nowe dane nie będą dalej niż 1 / n. Dlatego reguła decyzji najbliższego sąsiada będzie skuteczna, gdy tylko 1 / n będzie mała w porównaniu ze skalą wariantów cech międzyklasowych.
Jeśli liczba funkcji wynosi p, teraz potrzebujesz n ~ 1 / d ^ p punktów. Powiedzmy, że potrzebujemy 10 punktów w jednym wymiarze: Teraz 10 ^ p punktów jest wymaganych w wymiarach p, aby ułożyć przestrzeń [0, 1]. Gdy p staje się duże, liczba punktów treningowych wymaganych dla dobrego estymatora rośnie wykładniczo.
EDYCJA: czy tylda ( ~) ma reprezentować przybliżenie w tym przykładzie? lub operator tylda python?