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.
model
accuracy
overfitting
Hossein
źródło
źródło
Odpowiedzi:
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).
źródło
set.seed(100)
uzyskać ilustrację podobną do opisanego tutaj zjawiska iset.seed(15)
odwrotnie. Być może lepiej powiedzieć „wskaźnik możliwego przeuczenia”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.
źródło
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 .)
źródło
Nie, mogą być przydatne, ale zależy to od celu. Przypomina mi się kilka rzeczy:
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.
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.
źródło
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.
źródło