Nadmierne dopasowanie za pomocą klasyfikatorów liniowych

10

Dzisiaj nasz profesor stwierdził w klasie, że „nadmierne dopasowanie do klasyfikatorów liniowych nie jest możliwe”. Uważam, że jest to błędne, ponieważ nawet klasyfikatory liniowe mogą być wrażliwe na wartości odstające w zestawie szkoleniowym - na przykład twardy margines Maszyna wsparcia wektorowego: Jeden pojedynczy hałaśliwy punkt danych może zmienić, która hiperpłaszczyzna będzie używana do oddzielania zestawów danych. A może się mylę? Oczywiście, liniowość prawdopodobnie raczej zapobiegnie nadmiernemu dopasowaniu z powodu mniejszej złożoności modelu, wciąż nie rozumiem, dlaczego nadmierne dopasowanie powinno być niemożliwe. Dodatkową kwestią jest to, że kiedy próbowałem pomyśleć o tym problemie, zdałem sobie sprawę, że „nadmierne dopasowanie” nie wydaje się być formalnie zdefiniowane. Dlaczego? Czy jakiś pomiar odległości między treningiem a wydajnością zestawu testowego nie pozwoliłby na taką formalizację? Dzięki

Pugl
źródło
4
Dlaczego mówisz o klasyfikatorze liniowym? Większość modeli liniowych służy do przewidywania, a nie klasyfikacji. I masz rację - modele liniowe mogą być bardzo podatne na nadmierne dopasowanie. Problemem mogą być nie tyle metody uczenia maszynowego, co wciąż nadmierne dopasowanie.
Frank Harrell,
5
Bardzo łatwo jest zastąpić klasyfikator liniowy. Po prostu dopasuj model do jakiegoś zestawu danych (głośny, rzeczywisty) i nie używaj żadnej regularyzacji.
Vladislavs Dovgalecs
2
Uważaj na klasyfikację - zwykle nie musisz tak nisko ustawiać celownika.
Frank Harrell,
2
@FrankHarrell ... i dlaczego?
Pugl,
1
YY

Odpowiedzi:

12

Regresja / klasyfikator liniowy może być absolutnie przełożony, jeżeli jest stosowany bez odpowiedniej opieki.

5000

set.seed(154)
N <- 5000
y <- rbinom(N, 1, .5)

5000500

N.classes <- 500
rand.class <- factor(sample(1:N.classes, N, replace=TRUE))

Nie powinno być żadnego związku między naszymi flipami ya naszymi losowymi klasami rand.class, zostały one ustalone całkowicie niezależnie.

Jeśli jednak spróbujemy przewidzieć losowe odwrócenie za pomocą losowej klasy za pomocą regresji logistycznej (klasyfikator liniowy), to na pewno myśli, że istnieje związek

M <- glm(y ~ rand.class, family="binomial")
hist(coef(M), breaks=50)

wprowadź opis zdjęcia tutaj

Prawdziwa wartość każdego z tych współczynników wynosi zero. Ale jak widać, mamy spory zasięg. Ten liniowy klasyfikator jest na pewno overfit.

1515y == 1y == 015

„nadmierne dopasowanie” nie wydaje się być formalnie zdefiniowane. Dlaczego?

Przeregulowanie można najlepiej zrozumieć w kontekście klasy modeli, które mają pewien parametr złożoności. W takim przypadku można powiedzieć, że model jest nadmiernie dopasowany, gdy nieznaczne zmniejszenie złożoności skutkuje lepszym oczekiwaniem na podstawie wyników próby.

Bardzo trudno byłoby precyzyjnie zdefiniować pojęcie w sposób niezależny od modelu. Pojedynczy model jest po prostu odpowiedni, potrzebujesz czegoś, aby go porównać, aby był zbyt lub niedopasowany. W moim przykładzie powyżej to porównanie było z prawdą, ale zwykle nie znasz prawdy, stąd model!

Czy jakiś pomiar odległości między treningiem a wydajnością zestawu testowego nie pozwoliłby na taką formalizację?

Istnieje taka koncepcja, zwana optymizmem. Jest zdefiniowany przez:

ω=EtestEtrain

E

Nie do końca jednak chodzi o istotę przeregulowania, ponieważ wydajność na zestawie testowym może być nieco gorsza niż w pociągu, nawet jeśli model o wyższej złożoności zmniejsza oba te elementy .

Matthew Drury
źródło
wow, co za dobra odpowiedź, wielkie dzięki. jedno pytanie: czy liniowe maszyny SVM są mniej podatne na nadmierne dopasowanie niż np. log. regresja, o której wspominałeś (ze względu na różne sposoby optymalizacji pod kątem liniowej granicy decyzji)?
Pugl,
1
Muszę przyznać, że nie jestem ekspertem od SVM i brakuje mi praktycznego doświadczenia w ich stosowaniu. Naprawdę nie chcę ryzykować odpowiedzi i ryzykować, że się bardzo mylę. Jeśli potrafisz to dokładnie sformułować, prawdopodobnie warto zadać sobie pytanie.
Matthew Drury,
SVM są regularyzowane, a zatem mniej podatne na przebijanie. Aby zdać sobie sprawę, że wystarczy spojrzeć na funkcję, którą minimalizujesz: obejmuje ona zarówno normę l1, jak i normę l2 wag, zmniejszając je w optymalizacji i dlatego preferując modele „proste” niż modele „złożone”. Parametrem kontrolującym to jest parametr hiper C. W przypadku ograniczającym (C = nieskończoność) SVM pasuje „idealnie” do zestawu treningowego, a zatem prawdopodobnie jest on przełożony (zauważ, że powiedziałem, że prawdopodobnie potrzebujesz zestawu testowego!). Zauważ też, że użyłem wielu cytatów, ale można to poprawnie zdefiniować.
skd
2

W latach 70-tych eksperymenty z algorytmami rozpoznawania wzorców na dużych zestawach danych ujawniły, że dodanie dodatkowych funkcji w niektórych przypadkach zwiększyło poziom błędów zestawu testów. Jest to sprzeczne z intuicją, ponieważ można oczekiwać, że dodanie dodatkowej funkcji zawsze zwiększa wydajność klasyfikatora, aw przypadku, gdy dodaną funkcją jest „biały szum”, jej dodanie w ogóle nie wpływa na wydajność klasyfikatora. Efekt dodania jeszcze większej liczby dodatkowych funkcji do klasyfikatora, ostatecznie prowadzący do spadku wydajności zestawu testowego, stał się znany jako zjawisko szczytowe [1].

Szczyt funkcji jest spowodowany nadmierną generalizacją podczas uczenia się. Dodatkowe funkcje powodują włączenie tak wielu dodatkowych parametrów, że klasyfikator zaczyna przewyższać dane. Dlatego punkt kulminacyjny został przekroczony.

Ogólnie rzecz biorąc, podczas szkolenia klasyfikatorów mamy do czynienia z kompromisem wariancji uprzedzeń. Im więcej zmiennych funkcji używamy, tym lepiej ( nieznany ) leżący u podstaw mechanizm klasyfikatora może być modelowany przez nasz klasyfikator. W związku z tym systematyczne odchylenie między dopasowanym modelem a „prawdą” zmniejszy się, tj. Wyniki mniejszych odchyleń. Z drugiej strony zwiększenie przestrzeni cech klasyfikatora koniecznie oznacza dodanie parametrów (tych, które pasują do dodanych cech). Zatem wzrasta również wariancja dopasowanego klasyfikatora.

Tak więc klasyfikator przekraczający punkt szczytowy jest tylko jedną stochastyczną realizacją problemu klasyfikacji wielowymiarowej, a nowe dopasowanie spowoduje zupełnie inny wektor parametrów. Fakt ten odzwierciedla zwiększoną wariancję.

[1. GV Trunk, „Problem wymiaru: prosty przykład” w Transakcji IEEE dotyczących analizy wzorców i inteligencji maszyn, vol. PAMI-1, nr 3, s. 306–307, lipiec 1979 r.]

Match Maker EE
źródło
1

Myślę, że nadmierne dopasowanie odnosi się raczej do złożoności modelu niż do możliwości uogólnienia. Rozumiem cytat „klasyfikator liniowy nie może być przerośnięty”, ponieważ jego złożoność jest niewielka i nie ma innego prostszego klasyfikatora zapewniającego lepszą wydajność.

Przykład związany jest ze zdolnością generalizacji klasyfikatorów liniowych (i złożonych). Nawet w tej drugiej części klasyfikatory liniowe zwykle zapewniają mniejszą wariancję niż złożone, w związku z czym wartość „nadmiernego dopasowania” klasyfikatorów liniowych, zgodnie z tą koncepcją, jest również mniejsza (chociaż ryzyko empiryczne ich może być tak duże). atb

Pepe Catro
źródło
0

Jak powiedział @ match-maker-ee, klasyfikatory liniowe mogą się nadmiernie dopasowywać w zależności od funkcji wejściowych.

Poniższy model f ma parametry liniowe a , b i c , ale można go dopasować do krzywej kwadratowej w przestrzeni cech x :

f(x)=ax2+bx+c

SVM może również nadmiernie się dopasowywać, na przykład, gdy używa sztuczki jądra, mimo że jest zasadniczo modelem liniowym w rozszerzonej przestrzeni cech.

mdły
źródło