Luka między błędami „pociąg a test” i jej związek z nadmiernym wyposażeniem: pogodzenie sprzecznych porad


14

Wydaje się, że istnieją sprzeczne porady na temat tego, jak radzić sobie z porównywaniem błędu pociągu z błędem testu, szczególnie gdy istnieje między nimi różnica. Wydaje mi się, że istnieją dwie szkoły myślenia, które wydają mi się sprzeczne. Chcę zrozumieć, jak pogodzić te dwie rzeczy (lub zrozumieć, czego tu brakuje).

Myśl nr 1: Różnica między samą wydajnością pociągu i zestawu testowego nie wskazuje na przeregulowanie

Po pierwsze (omówione tutaj również: w jaki sposób porównania błędów treningu i testowania mogą wskazywać na przeregulowanie? ), Idea, że ​​różnica między samym zestawem a zestawem testów nie może wskazywać na przeregulowanie. Jest to zgodne z moim praktycznym doświadczeniem z, na przykład, metodami drzewa zespolonego, w których nawet po strojeniu hiperparametrowym opartym na weryfikacji krzyżowej, różnica między błędem pociągu a błędem testu może pozostać nieco duża. Ale (niezależnie od typu modelu), dopóki błąd sprawdzania poprawności nie będzie się powtarzał, jesteś dobry. Przynajmniej takie jest myślenie.

Myśl 2: Kiedy widzisz lukę między wydajnością pociągu a testem: Rób rzeczy, które walczą z nadmiernym dopasowaniem

Są jednak porady, które widzisz z bardzo dobrych źródeł, które sugerują, że przerwa między błędem pociągu a błędem testu wskazuje na przeregulowanie. Oto przykład: przemówienie Andrew Ng „Nuts and Bolts of Deep Learning” (fantastyczny wykład) https://www.youtube.com/watch?v=F1ka6a13S9I, gdzie około godziny 48:00 rysuje schemat blokowy oznacza to, że „jeśli błąd zestawu pociągów jest niski, a błąd zestawu pociągów jest wysoki, należy dodać regularyzację, uzyskać więcej danych lub zmienić architekturę modelu” ... które są wszystkimi czynnościami, które możesz podjąć, aby zwalczyć nadmierne dopasowanie.

Co prowadzi mnie do ... : Czy coś tu brakuje? Czy jest to reguła praktyczna dla konkretnego modelu (generalnie prostsze modele wydają się mieć mniejszą przerwę między pociągiem a testem)? Czy są po prostu dwie różne szkoły myślenia?

Odpowiedzi:


4

Nie sądzę, że jest to sprzeczna rada. To, co naprawdę nas interesuje, to dobra wydajność poza próbą, a nie zmniejszanie luki między treningiem a wydajnością zestawu testowego. Jeśli wydajność zestawu testowego jest reprezentatywna dla wydajności poza próbą (tj. Zestaw testowy jest wystarczająco duży, niezanieczyszczony i jest reprezentatywną próbką danych, do których zostanie zastosowany nasz model), o ile uzyskamy dobrą wydajność na zestaw testowy nie przepełniamy się, niezależnie od luki.

Często jednak, jeśli istnieje duża luka, może to oznaczać, że możemy uzyskać lepszą wydajność zestawu testowego z większą regularyzacją / wprowadzeniem większej odchylenia do modelu. Ale to nie znaczy, że mniejsza luka oznacza lepszy model; po prostu jeśli mamy niewielką lub żadną lukę między treningiem a wydajnością zestawu testowego, wiemy, że zdecydowanie nie przepełniamy się, więc dodanie regularyzacji / wprowadzenie większego błędu do modelu nie pomoże.


Ciekawy punkt Podsumowując, „brak przerwy między pociągiem a testem” oznacza zdecydowanie brak przeregulowania, ale „pewna przerwa między pociągiem a testem” może, ale nie musi, oznaczać przeregulowania. Jeśli pójdziemy tą logiką, schemat blokowy w rozmowie Andrew zNg wydaje się nieco mylące: to nie jest tak slam dunk jak sugeruje czyli zjeżdżalnia jeśli masz luki, to mógłby spróbować uregulowania lub coraz więcej danych, ale nie może pomóc. Zgodziłbyś się?
ednaMode

1
Z mojego doświadczenia tak, zgodziłbym się.
rinspy

„Podsumowując, brak odstępu między pociągiem a testem oznacza zdecydowanie, że nadmierne przeróbki” niekoniecznie muszą się utrzymywać. Gdy masz nieskończoną ilość danych, zyskasz zerową przerwę między pociągiem a testem, nawet jeśli model się pokryje. Myślę więc, że to stwierdzenie jest ważne, potrzebujesz więcej założeń.
LKS

@ LKS Nie jestem pewien, co masz na myśli mówiąc o nadmiernym dopasowaniu. Wydajność poza próbą zawsze będzie mniejsza lub równa wydajności w próbie, przy założeniu, że rozkład danych pozostaje stały. Zerowa przerwa to nasz najlepszy scenariusz. Jak może być przeregulowanie przy zerowej przerwie?
rinspy

@rinspy, jeśli przepełnianie zdefiniujesz jako liczbową lukę między danymi szkoleniowymi a testowymi, wtedy twoje stwierdzenie jest poprawne. Chciałbym jednak dowiedzieć się więcej o tym, co robi model. Na przykład mamy funkcję wielomianową stopnia 3, a wynik będzie obejmować niewielki szum Gaussa. Jeśli mamy skończone próbki i dopasowujemy wielomian stopnia 5, istnieje duża wydajność między próbką (prognozą). Ale jeśli możemy narysować prawie nieskończone próbki, model, który wyłącznie zapamiętuje, będzie miał zerowy błąd wejścia / wyjścia próbki.
LKS
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.