Liczba cech a liczba obserwacji

26

Czy są jakieś prace / książki / pomysły na temat związku między liczbą cech a liczbą obserwacji, które należy przeprowadzić, aby wyszkolić „solidnego” klasyfikatora?

Załóżmy na przykład, że mam 1000 cech i 10 obserwacji z dwóch klas jako zestaw treningowy i 10 innych obserwacji jako zestaw testowy. Trenuję jakiś klasyfikator X, który daje mi 90% czułości i 90% swoistości na zestawie testowym. Powiedzmy, że jestem zadowolony z tej dokładności i na tej podstawie mogę powiedzieć, że jest to dobry klasyfikator. Z drugiej strony aproksymowałem funkcję 1000 zmiennych przy użyciu tylko 10 punktów, co może wydawać się mało ... solidne?

Lew
źródło

Odpowiedzi:

20

To, co tu trafiłeś, to przekleństwo wymiarowości lub problem p >> n (gdzie p to predyktory, a n to obserwacje). Przez lata opracowano wiele technik rozwiązania tego problemu. Za pomocą AIC lub BIC można karać modele za pomocą większej liczby predyktorów. Możesz wybierać losowe zestawy zmiennych i oceniać ich znaczenie za pomocą walidacji krzyżowej . Możesz użyć regresji grzbietu , lassa lub elastycznej siatki do regulacji . Możesz też wybrać technikę, taką jak maszyna wektora pomocniczego lub losowy las, który dobrze radzi sobie z dużą liczbą predyktorów.

Szczerze mówiąc, rozwiązanie zależy od specyfiki problemu, który próbujesz rozwiązać.

Zach
źródło
9

+1-10,000001jaja, żadna ilość danych treningowych nie będzie użytecznym klasyfikatorem. Na koniec dnia ilość próbek potrzebnych do danej liczby funkcji zależy od sposobu dystrybucji danych. Ogólnie, im więcej masz funkcji, tym więcej danych będzie potrzebnych do odpowiedniego opisu dystrybucji danych (wykładniczy w liczbie cech, jeśli masz pecha - zobacz przekleństwo wymiarowości wspomniane przez Zacha).

Jeśli użyjesz regularyzacji, to zasadniczo (górna granica) błąd generalizacji jest niezależny od liczby funkcji (patrz praca Vapnika na maszynie wektorów wsparcia). Pozostawia to jednak problem znalezienia dobrej wartości parametru regularyzacji (przydatna jest walidacja krzyżowa).

Dikran Torbacz
źródło
9

Prawdopodobnie masz ponad wrażenia z klasycznego modelowania, które jest podatne na problemy podobne do paradoksu Runge , a zatem wymaga pewnego strojenia w późniejszym przetwarzaniu.
Jednak w przypadku uczenia maszynowego pomysł włączenia odporności jako celu optymalizacji modelu jest tylko rdzeniem całej domeny (często wyrażonym jako dokładność w przypadku niewidzialnych danych). Tak więc, o ile wiesz, że Twój model działa dobrze (na przykład z CV), prawdopodobnie nie ma sensu się przejmować.

Prawdziwy problem z pnw przypadku ML nieistotne są atrybuty - głównie dlatego, że niektóre z nich mogą stać się bardziej przydatne do regeneracji decyzji niż te naprawdę istotne ze względu na pewne losowe fluktuacje. Oczywiście kwestia ta nie ma nic wspólnego z oszczędnością, ale, podobnie jak w przypadku klasycznym, kończy się straszną utratą mocy generalizacyjnej. Jak to rozwiązać, to inna historia, zwana wyborem funkcji - ale ogólną ideą jest wstępne przetwarzanie danych w celu wyrzucenia szumu, zamiast nakładania ograniczeń na model.


źródło
1

Jedną z moich absolutnie najcenniejszych książek na przestrzeni lat był Tinsley and Brown's Handbook . Jest wiele miejsc w książce, w których ten temat jest omawiany przez różnych autorów.

rolando2
źródło