Dlaczego w nadzorowanym uczeniu się skorelowane cechy są złe?


35

Czytałem gdzieś, że jeśli mamy funkcje, które są zbyt skorelowane, musimy je usunąć, ponieważ może to pogorszyć model. Oczywiste jest, że skorelowane funkcje oznaczają, że przynoszą te same informacje, więc logiczne jest usunięcie jednej z nich. Ale nie rozumiem, dlaczego może to pogorszyć model.


3
Ta reguła ma mocniejsze zastosowanie w niektórych modelach i analizach niż w innych. Czy jest jakaś szansa na dodanie kontekstu do „Gdzieś czytam” - np. Czy był to związek ze szkoleniem konkretnego modelu?
Neil Slater,

3
Skorelowane funkcje niekoniecznie pogorszą model. Usunięcie skorelowanych elementów pomaga wnioskować o ich znaczeniu.
Hobbes,

Odpowiedzi:


31

Skorelowane cechy zasadniczo nie poprawiają modeli (chociaż zależy to od specyfiki problemu, takich jak liczba zmiennych i stopień korelacji), ale wpływają na określone modele na różne sposoby i w różnym stopniu:

  1. W przypadku modeli liniowych (np. Regresja liniowa lub regresja logistyczna) wielokolaryzacja może dawać rozwiązania, które są bardzo różne i prawdopodobnie niestabilne numerycznie .

  2. Losowe lasy mogą być dobre w wykrywaniu interakcji między różnymi obiektami, ale wysoce skorelowane cechy mogą maskować te interakcje.

Mówiąc bardziej ogólnie, można to uznać za specjalny przypadek brzytwy Ockhama . Preferowany jest prostszy model, aw pewnym sensie model z mniejszą liczbą funkcji jest prostszy. Koncepcja minimalnej długości opisu czyni to bardziej precyzyjnym.


4
Pomijając stabilność liczbową, na wielolinianowość nie powinna wpływać prognoza podana przez model OLS, ponieważ ogólny efekt zmiennych predykcyjnych nie jest zaburzony przez obecność wielokolonowości. Jest to interpretacja wpływu poszczególnych zmiennych predykcyjnych, które nie są wiarygodne, gdy występuje wielokolaryzacja.
Akavall,

11

(Zakładając, że mówisz o nadzorowanym uczeniu się)

Skorelowane funkcje nie zawsze pogorszą twój model, ale nie zawsze go poprawią.

Istnieją trzy główne powody, dla których należy usunąć skorelowane funkcje:

  • Przyspiesz algorytm uczenia się

Ze względu na przekleństwo wymiarowe, mniej funkcji zwykle oznacza dużą poprawę prędkości.

Jeśli prędkość nie stanowi problemu, być może nie usuwaj tych funkcji od razu (patrz następny punkt)

  • Zmniejsz szkodliwe nastawienie

Słowo kluczowe jest szkodliwe. Jeśli masz skorelowane cechy, ale są one również skorelowane z celem, chcesz je zachować. Możesz zobaczyć funkcje jako wskazówki, aby dobrze zgadnąć, jeśli masz dwie wskazówki, które są w zasadzie takie same, ale są to dobre wskazówki, warto je zachować.

Niektóre algorytmy, takie jak Naive Bayes, faktycznie korzystają bezpośrednio z „pozytywnych” skorelowanych funkcji. Inni, jak losowy las, mogą pośrednio z nich skorzystać.

Wyobraź sobie, że masz 3 cechy A, B i C. A i B są wysoce skorelowane z celem i ze sobą, a C wcale nie jest. Jeśli spróbujesz z 3 funkcji, masz 2/3 szansy na uzyskanie „dobrej” cechy, natomiast jeśli usuniesz na przykład B, szansa spada do 1/2

Oczywiście, jeśli skorelowane cechy nie są superinformacyjne, algorytm może nie ucierpieć.

Morał historii, usunięcie tych funkcji może być konieczne ze względu na szybkość, ale pamiętaj, że możesz pogorszyć algorytm. Ponadto niektóre algorytmy, takie jak drzewa decyzyjne, mają wbudowany wybór funkcji.

Dobrym sposobem na poradzenie sobie z tym jest użycie metody otoki do wyboru funkcji. Usunie zbędne funkcje tylko wtedy, gdy nie przyczynią się one bezpośrednio do wydajności. Jeśli będą przydatne, jak w naiwnych laurach, zostaną zachowane. (Pamiętaj jednak, że metody owijania są drogie i mogą prowadzić do przeregulowania)

  • Interpretowalność twojego modelu

Jeśli Twój model wymaga interpretacji, być może będziesz zmuszony go uprościć. Pamiętaj też, aby pamiętać o brzytwie Ockhama. Jeśli twój model nie jest „o wiele” gorszy przy mniejszej liczbie funkcji, prawdopodobnie powinieneś użyć mniejszej liczby funkcji.


2

Czasami skorelowane cechy - i powielanie dostarczanych informacji - nie szkodzą systemowi predykcyjnemu. Rozważ zespół drzew decyzyjnych, z których każde uwzględnia próbkę wierszy i próbkę kolumn. Jeśli dwie kolumny są wysoce skorelowane, istnieje szansa, że ​​jedna z nich nie zostanie wybrana w próbce kolumny określonego drzewa, a drzewo będzie zależeć od pozostałej kolumny. Skorelowane funkcje oznaczają, że możesz ograniczyć przeregulowanie (poprzez próbkowanie kolumnowe) bez rezygnacji ze zbyt dużej jakości predykcyjnej.


2

Podejmowanie decyzji powinno odbywać się na podstawie minimalnych niezbędnych zmiennych. Jest to, jak wspomniano powyżej, formalizacja brzytwy Occama z minimalną długością opisu powyżej. Lubie ten.

Chciałbym scharakteryzować to zjawisko w czymś takim jak HDDT, co oznacza najbardziej wydajne drzewo, które nie podejmuje fałszywych decyzji w oparciu o dostępne dane, i unikając wszystkich przypadków decyzji, które mogłyby zostać podjęte na wielu punktach danych bez zrozumienia, że ​​były one skorelowane .


W odniesieniu do datascience.stackexchange.com/users/38887/valentin-calomme komentarz: „Skorelowane funkcje nie zawsze pogorszą Twój model, ale nie zawsze go poprawią”. Nie widzę lub nie mogę wymyślić, gdzie wysoka korelacja między zmiennymi nie pogorszy twojego modelu. Przynajmniej w tym sensie, że biorąc pod uwagę wybór: wolę trenować sieć z mniej skorelowanymi funkcjami. Wszystko inne jest funkcjonalnie i możliwe do udowodnienia gorsze. Czy zdarzają się przypadki, gdy nie jest to prawdą?
tjborromeo,

1

W perspektywie przechowywania danych w bazach danych przechowywanie skorelowanych funkcji jest w pewien sposób podobne do przechowywania zbędnych informacji, które mogą powodować marnowanie pamięci, a także mogą powodować niespójne dane po aktualizacji lub edycji krotek.

Jeśli dodamy do modelu tyle skorelowanych cech, możemy spowodować, że model weźmie pod uwagę niepotrzebne cechy i możemy mieć klątwę dotyczącą problemu wysokiej wymiarowości , to chyba powód pogorszenia skonstruowanego modelu.

W kontekście uczenia maszynowego zwykle używamy PCAdo zmniejszenia wymiaru wzorców wejściowych. To podejście rozważa usunięcie skorelowanych funkcji w jakiś sposób (przy użyciu SVD) i jest podejściem bez nadzoru. Odbywa się to w celu osiągnięcia następujących celów:

Chociaż może to nie wydawać się w porządku, ale widziałem ludzi, którzy używają usuwania skorelowanych funkcji, aby uniknąć nadmiernego dopasowania, ale nie sądzę, że to dobra praktyka. Aby uzyskać więcej informacji, gorąco polecam do obejrzenia tutaj .

Innym powodem jest to, że w modelach dogłębnego uczenia się, na przykład MLPspo dodaniu skorelowanych funkcji, dodaje się niepotrzebne informacje, które dodają więcej obliczeń i parametrów do modelu.


0

Odpowiedź na to pytanie zależy w dużej mierze od celu modelu. Wnioskując, wysoce skorelowane cechy są dobrze znanym problemem. Na przykład dwie cechy wysoce skorelowane ze sobą oraz z y, mogą okazać się nieistotne w modelu wnioskowania, potencjalnie brakując ważnego sygnału wyjaśniającego. Dlatego wnioskowanie jest ogólnie zalecane, aby je rozrzedzić.

Jeśli twoje nadzorowane uczenie się ma na celu przewidywanie, odpowiedź - w przeciwieństwie do konwencjonalnej mądrości - jest zwykle odwrotna. Jedynym powodem do usunięcia wysoce skorelowanych funkcji są problemy z pamięcią masową i prędkością. Poza tym ważne jest, czy funkcje mają wpływ na przewidywanie i czy ich jakość danych jest wystarczająca.

Cechy zdominowane przez hałas będą zwykle mniej skorelowane z innymi cechami niż cechy skorelowane zy. Dlatego, jak wspomniano powyżej w przykładzie Valentina, przerzedzenie tego drugiego zwiększy proporcję tego pierwszego.

W szczególności metody takie jak losowe lasy i KNN traktują wszystkie cechy jednakowo, więc przerzedzenie skorelowanych cech bezpośrednio zmniejsza ich stosunek sygnału do szumu.

Metody, które automatycznie wybierają funkcje, takie jak pojedyncze drzewa, „czyste” lasso lub sieci neuronowe, mogą być mniej dotknięte. Ale nawet wtedy, poza dłuższym czasem obliczeniowym, rzadko pozostaje nic do stracenia pod względem prognozowania z powodu zachowania skorelowanych cech w miksie.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.