Czy przerobiony model niekoniecznie jest bezużyteczny?

25

Załóżmy, że model ma 100% dokładności danych treningowych, ale 70% dokładności danych testowych. Czy następujący argument dotyczy tego modelu?

Oczywiste jest, że jest to model przebudowany. Dokładność testu można zwiększyć, zmniejszając nadmierne dopasowanie. Ale ten model może nadal być użytecznym modelem, ponieważ ma akceptowalną dokładność dla danych testowych.

Hossein
źródło
17
Jeśli 70% jest dopuszczalne w poszczególnych aplikacjach, zgadzam się z tobą.
Richard Hardy
6
Całkowicie zgodziłbym się z @RichardHardy. Weźmy na przykład losowy las: często z konstrukcji, wydajność przykładowa (nie wydajność po wyjęciu z torby) jest bliska 100%, więc rażąco się przerasta. Ale nadal niższa wydajność oceniana po wyjęciu z torby lub w zestawach testowych / walidacyjnych może być wystarczająco wysoka, aby uczynić ją użytecznym modelem.
Michael M,
1
@Metariat Dlaczego nie? Tę dokładność uzyskano na zestawie testów, który nie jest wykorzystywany w fazie szkolenia.
Hossein
3
@ Metariat, taki argument może zniszczyć większość praktyki statystycznej, np. Estymator OLS w normalnym modelu liniowym, test na równość średniej próbki z hipotetyczną wartością, a co nie. Co ciekawe, argument nie zależy od nadmiernego dopasowania modelu do próbki szkoleniowej. Dotyczy to również modeli underfit i każdego modelu w ogóle. Czy to nie jest poprawne? t
Richard Hardy
4
Nie nazwałbym tego modelu nadmiernie wyposażonym. Ustanowiono przeregulowany model porównujący wydajność sprawdzania poprawności z wydajnością testową. Nawet wtedy, tylko jeśli wydajność testu była znacznie niższa niż akceptowalna, być może katastrofalna. Wydajność treningu nic nie znaczy.
Firebug

Odpowiedzi:

32

Myślę, że argument jest poprawny. Jeśli 70% jest dopuszczalne w konkretnym zastosowaniu, model jest przydatny, nawet jeśli jest przebudowany (bardziej ogólnie, niezależnie od tego , czy jest przebudowany, czy nie).

Podczas gdy równoważenie nadmiernego dopasowania z niedostatecznym dotyczy optymalności (poszukiwanie optymalnego rozwiązania), zadowalająca wydajność jest wystarczająca (czy model działa wystarczająco dobrze do tego zadania?). Model może być wystarczająco dobry, nie będąc optymalnym.

Edycja: po komentarzach Firebuga i Matthew Drury'ego z OP dodam to, aby ocenić, czy model jest przepasowany, nie wiedząc, że wydajność sprawdzania poprawności może być problematyczna. Firebug sugeruje porównanie walidacji z wydajnością testową w celu zmierzenia ilości nadmiernego dopasowania. Niemniej jednak, gdy model zapewnia 100% dokładność na zestawie treningowym, ale nie zapewnia 100% dokładności na zestawie testowym, jest to wskaźnik możliwego przeregulowania (szczególnie w przypadku regresji, ale niekoniecznie w klasyfikacji).

Richard Hardy
źródło
Poprosiłeś o przykład: weź kod sieci neuronowej w zestawie danych tęczówki na stats.stackexchange.com/a/273930/2958, a następnie spróbuj set.seed(100)uzyskać ilustrację podobną do opisanego tutaj zjawiska i set.seed(15)odwrotnie. Być może lepiej powiedzieć „wskaźnik możliwego przeuczenia”
Henry
Czy kiedykolwiek jest możliwe, aby model osiągnął 100% dokładności zarówno w pociągu, jak i w teście i nie ma nadmiernej mocy?
Rika
1
@Breeze, myślę, że możesz zapytać o to w osobnym wątku (i link do tego w razie potrzeby kontekstu).
Richard Hardy,
Właśnie zrobiłem tutaj jest link
Rika
25

W moim poprzednim projekcie z wykrywaniem oszustw związanych z kartami kredytowymi celowo chcieliśmy przesadzić z danymi / zakodowanymi na stałe, aby zapamiętać przypadki oszustw. (Uwaga: nadmierne dopasowanie jednej klasy nie jest dokładnie ogólnym problemem, o którym mówiła OP). Taki system ma stosunkowo niskie wyniki fałszywie dodatnie i spełnia nasze potrzeby.

Powiedziałbym, że w niektórych przypadkach może być zastosowany model przebudowany.

Haitao Du
źródło
5
Ta odpowiedź jest dość interesująca, ponieważ przedstawia przypadek użycia. Myślę, że „zakodowane na stałe do zapamiętania” @ hxd1011 oznacza, że ​​model upewnił się, że każdy ze zgłoszonych przypadków oszustwa prowadzi do „flagi oszustwa” i że nie zostały one wygładzone ani interpolowane przez, powiedzmy, dopasowaną funkcję . Coś takiego, prawda?
IcannotFix Ten
@IcannotFix To tak. W rzeczywistości próbowaliśmy wielu innych sposobów kontrolowania wyników fałszywie dodatnich. Ale próba zastąpienia spraw o oszustwo, w szalony sposób, działała dobrze.
Haitao Du
3
ββ
3
To może być denerwujące, ale jest tysiące razy mniej irytujące niż zrujnowanie twojego finansowania, ponieważ ktoś nikczemny otrzymał informacje o twojej karcie.
Matthew Drury
12

Może: uważaj. Kiedy mówisz, że 70% dokładność (jakkolwiek to mierzysz) jest dla Ciebie wystarczająco dobra, masz wrażenie, że zakładasz, że błędy są losowe lub równomierne.

Ale jednym ze sposobów patrzenia na nadmierne dopasowanie jest to, że technika modelowa pozwala (a proces szkolenia zachęca) zbyt dużą uwagę na dziwactwa w zestawie treningowym. Osoby w populacji ogólnej, które podzielają te dziwactwa, mogą mieć wysoce niezrównoważone wyniki.

Być może więc masz model, który mówi, że wszystkie czerwone psy mają raka - z powodu tego szczególnego dziwactwa w twoich danych treningowych. Lub że małżonkowie w wieku od 24 do 26 lat mają prawie gwarancję złożenia fałszywych roszczeń ubezpieczeniowych. Twoja 70% dokładność pozostawia wiele miejsca na kieszenie obiektów, które mogą być w 100% błędne, ponieważ Twój model jest przeładowany.

(Brak nadmiernego dopasowania nie gwarantuje, że nie będziesz mieć kieszeni złych prognoz. W rzeczywistości niedopasowany model będzie miał wiele złych prognoz, ale w przypadku nadmiernego dopasowania wiesz, że zwiększasz efekt dziwactwa w danych treningowych .)

Wayne
źródło
Dzięki. Czy masz na myśli, że możliwe jest uzyskanie tej 70% dokładności w dziwactwach w danych treningowych, które są również dostępne w danych testowych? Czy nie możemy oceniać na podstawie dokładności danych testowych? Myślę, że dziwactwa danych treningowych, które są dostępne w danych testowych, powinny się nauczyć podczas szkolenia.
Hossein
1
Jeśli cię rozumiem, byłoby odwrotnie: nadmierne dopasowanie do dziwactw zapewniło ci wysoką dokładność treningu. Powodem, dla którego otrzymujesz niższą dokładność testowania, jest to, że te dziwactwa nie dotyczą twojego ogólnego zestawu danych. Ale oczywiście twoje zestawy treningowe i testowe - nawet jeśli przeprowadzasz walidację krzyżową, co pomaga - może być dziwaczne w stosunku do twojej populacji. W takim przypadku wyniki testów / sprawdzania poprawności nie będą w stanie dokładnie przewidzieć, jak naprawdę się zachowujesz.
Wayne
Masz rację, że zestaw testowy może być dziwaczny w stosunku do populacji, ale nie jest to specyficzne dla przerośniętych modeli. Wszystkie nasze oceny cierpią z tego powodu i nie mamy innego wyjścia, jak polegać na zestawie testów jako przybliżeniu dla prawdziwej populacji.
Hossein
To prawda, że ​​nie jest to wyjątkowe w przypadku modeli wyposażonych w zbyt duże ilości, ale jest wzmocnione w modelu typu overfit. Chcę powiedzieć z definicji, że model jest przeładowany, ponieważ wyraźnie cierpi z powodu nadmiernego podkreślania dziwactw.
Wayne
7

Nie, mogą być przydatne, ale zależy to od celu. Przypomina mi się kilka rzeczy:

  1. Fββ1

  2. Taki klasyfikator może być naprawdę przydatny w zespole . Moglibyśmy mieć jeden klasyfikator o normalnej wadze, jeden, który przeważa TPR, jeden, który przeważa FNR. Wtedy nawet proste głosowanie według zasady trzech lub uśrednianie da lepsze AUC niż jakikolwiek najlepszy klasyfikator. Jeśli każdy model używa różnych hiperparametrów (lub podpróbkowych zestawów szkoleniowych lub architektur modeli), to zyskuje pewną odporność zespołu na nadmierne dopasowanie.

  3. Podobnie, w przypadku antyspamowego, przeciwdziałającego oszustwom lub punktacji kredytowej w czasie rzeczywistym , dobrze jest użyć hierarchii klasyfikatorów. Klasyfikatory poziomu 1 powinny oceniać naprawdę szybko (ms) i dobrze jest mieć wysoki FPR ; wszelkie popełniane przez nich błędy zostaną wychwycone przez dokładniejszych, w pełni funkcjonalnych, wolniejszych klasyfikatorów wyższego poziomu lub ostatecznie przez ludzkich recenzentów. Oczywisty przykład: zapobiegaj fałszywym wiadomościom związanym z przejęciem kont na Twitterze, np. „Atak bombowy w Białym Domu w 2013 roku zabija trzy”, aby nie wpłynęły na miliardy dolarów handlu w ciągu kilku miesięcy od opublikowania. Klasyfikator poziomu 1 jest w porządku, aby oznaczyć go jako spam; pozwólmy, że zajmuje to trochę czasu (automatyczne) ustalenie prawdy / fałszu sensacyjnych, ale niezweryfikowanych wiadomości.

smci
źródło
2

Nie przeczę, że przerobiony model może być nadal przydatny. Pamiętaj jednak, że te 70% może być mylącą informacją. Aby ocenić, czy model jest przydatny, czy nie, to błąd poza próbą , a nie błąd testowy ( błąd poza próbą nie jest znany, więc musimy go oszacować za pomocą zaślepionego zestawu testowego ), a 70% to zaledwie dobre przybliżenie.

Aby upewnić się, że jesteśmy na tej samej stronie terminologii po komentarzu @RichardHardy, zdefiniujmy błąd testowania jako błąd uzyskany podczas stosowania modelu na ślepym zestawie testowym. A błąd poza próbą jest błędem przy stosowaniu modelu do całej populacji.

Przybliżenie błędu braku próby zależy od dwóch rzeczy: samego modelu i danych.

  • „Optymalny” model daje (testową) dokładność, która prawie nie zależy od danych, w tym przypadku byłoby to dobre przybliżenie. „Bez względu na dane” błąd prognozy byłby stabilny.

  • Ale dokładność przebudowanego modelu jest wysoce zależna od danych (jak wspomniałeś 100% na zestawie treningowym i 70% na drugim zestawie). Może się więc zdarzyć, że przy zastosowaniu do innego zestawu danych dokładność może być gdzieś niższa niż 70% (lub wyższa) i możemy mieć złe niespodzianki. Innymi słowy, 70% mówi ci, co według ciebie jest, ale tak nie jest.

Metariat
źródło
1
Ponieważ zastosowany zestaw testowy, który osiąga 70% dokładności, nie jest widoczny na etapie szkolenia, czyż nie jest to dobre oszacowanie błędu braku próby? Myślę, że różnica między błędem treningu (100%) a błędem testu (70%) nie jest dobrym wskaźnikiem różnicy między błędem poza próbą a błędem testu. Możliwe, że przebudowany model wykonuje 70% dokładności w świecie rzeczywistym, podczas gdy jest w 100% dokładny dla danych treningowych. Oczekuję, że błąd szkolenia będzie niższy niż błąd testu, ponieważ dane szkolenia są używane do generowania modelu, ale dane testu nie są widoczne podczas treningu.
Hossein
5
Myślę, że mogłeś pomylić zestaw sprawdzania poprawności i zestaw testowy oraz odpowiadające im błędy. Test błędu jest out-of-sample błąd. Podczas gdy błąd sprawdzania poprawności jest optymistyczną miarą wybranego modelu, błąd testu nie jest. Test błędu jest obiektywne oszacowanie jaki model będzie wykonywać na nowej próbce z tej samej populacji. Możemy oszacować wariancję błędu testu, więc czujemy się dobrze, znając tylko błąd testu, o ile zestaw testowy nie jest zbyt mały. @Hossein
Richard Hardy
3
Czy potrafisz wyjaśnić różnicę między błędem poza próbą a błędem testowania? Z mojego zrozumienia, oba są błędem znalezionym podczas stosowania modelu do próbek nieużywanych do trenowania modelu. Jedyną możliwą różnicą, jaką widzę, jest użycie danych szeregów czasowych, dane pozapróbowe powinny pochodzić z późniejszych punktów czasowych, ale w tych pytaniach nie ma o tym wzmianki.
Nuclear Wang
1
Z mojej perspektywy błąd testowania jest błędem uzyskanym przy zastosowaniu modelu do zaślepionego zestawu, jest przybliżeniem błędu poza próbą, który jest błędem uzyskanym przy zastosowaniu modelu do całej populacji. I to nie to samo, cenną informacją jest błąd poza próbą. A kiedy model jest przebudowany, błąd testowania nie jest stabilny, a na innych zestawach danych mogą się zdarzyć złe niespodzianki.
Metariat
4
@ Metariat, masz rację, że błąd testowy jest wartością szacunkową i może różnić się w zależności od zestawu testów. Jednak, jak wspomniałem wcześniej, nie ma powodu, aby oczekiwać, że błąd testowy nie docenia prawdziwego błędu (średnio tego nie robi). Pobierając wystarczająco dużą próbkę testową, możemy związać błąd testowy z pożądanym poziomem ufności w pożądanym zakresie. Teraz, bardziej praktycznie, być może powinieneś zdefiniować błąd testowy, edytując odpowiedź, aby upewnić się, że nie ma nieporozumień co masz na myśli, porównując błąd testowy z błędem poza próbą.
Richard Hardy