Dlaczego wybór funkcji jest ważny dla zadań klasyfikacji?

11

Uczę się o wyborze funkcji. Rozumiem, dlaczego byłoby to ważne i przydatne do budowania modeli. Ale skupmy się na nadzorowanych zadaniach uczenia się (klasyfikacji). Dlaczego wybór funkcji jest ważny dla zadań klasyfikacji?

Widzę dużo literatury na temat wyboru funkcji i jej zastosowania do nadzorowanego uczenia się, ale to mnie zastanawia. Wybór funkcji polega na określeniu, które funkcje należy wyrzucić. Intuicyjnie odrzucenie niektórych funkcji wydaje się samobójcze: odrzuca informacje. Wygląda na to, że przekazywanie informacji nie powinno pomóc.

I nawet jeśli usunięcie niektórych funkcji pomaga, jeśli wyrzucamy niektóre funkcje, a następnie wprowadzamy resztę do nadzorowanego algorytmu uczenia się, dlaczego musimy to zrobić sami, zamiast pozwolić algorytmowi nadzorowanego uczenia się sobie z tym poradzić? Jeśli jakaś funkcja nie jest pomocna, czyż żaden przyzwoity algorytm uczenia nadzorowanego nie powinien domyślnie tego odkryć i nauczyć się modelu, który nie korzysta z tej funkcji?

Tak intuicyjnie spodziewałbym się, że wybór funkcji byłby bezcelowym ćwiczeniem, które nigdy nie pomaga, a czasem może zranić. Ale fakt, że jest tak szeroko stosowany i opisywany, powoduje, że podejrzewam, że moja intuicja jest wadliwa. Czy ktoś może podać jakąkolwiek intuicję, dlaczego wybór funkcji jest przydatny i ważny podczas uczenia nadzorowanego? Dlaczego poprawia wydajność uczenia maszynowego? Czy to zależy od używanego klasyfikatora?

DW
źródło

Odpowiedzi:

10

Twoja intuicja jest całkiem poprawna. W większości sytuacji wybór funkcji oznacza potrzebę prostego wyjaśnienia, które wynika z trzech nieporozumień:

  1. Analityk nie zdaje sobie sprawy z tego, że zestaw „wybranych” cech jest dość niestabilny, tj. Nietrwały, i że proces selekcji przeprowadzany w innym zbiorze danych spowoduje zupełnie inny zestaw cech. Dane często nie zawierają treści informacyjnych potrzebnych do wybrania „właściwych” funkcji. Problem ten nasila się, jeśli występują współliniowości.
  2. Ścieżki, mechanizmy i procesy są złożone w niekontrolowanych eksperymentach; ludzkie zachowanie i natura są złożone i nie są łagodne.
  3. Dokładność predykcyjna jest naruszona przez poproszenie danych, aby poinformowały zarówno o najważniejszych cechach, jak i relacjach z dla „ważnych”. Lepiej „użyć trochę każdej zmiennej” niż użyć wszystkich niektórych zmiennych, a nie innych dla innych (tj. Użyć skurczu / penalizacji).Y

Niektóre sposoby na naukę tego:

  1. Wykonaj więcej porównań dokładności predykcyjnej między lasso , elastyczną siatką i standardową karą kwadratową (regresja kalenicy)
  2. Mierzy zmienne znaczenie Bootstrap z losowego lasu i sprawdza ich stabilność
  3. Oblicz przedziały ufności bootstrap w szeregach potencjalnych cech, na przykład w szeregach częściowego testy stowarzyszenia (lub rzeczy jak jednowymiarowej Spearmana lub Somers' ) i zobaczyć, że te przedziały ufności są bardzo szerokie , bezpośrednio informując cię o trudności zadania. Moje notatki z kursu, do których link znajduje się na stronie http://biostat.mc.vanderbilt.edu/rms , zawierają przykład kolejności ładowań predyktorów za pomocą OLS.χ2ρDxy

Wszystko to dotyczy zarówno klasyfikacji, jak i bardziej ogólnej i użytecznej koncepcji prognozowania.

Frank Harrell
źródło