Obliczanie stosunku przykładowych danych wykorzystywanych do dopasowania / szkolenia modelu i walidacji


9

Podano wielkość próby „N”, której planuję użyć do prognozowania danych. Jakie są niektóre sposoby podziału danych, aby wykorzystać niektóre z nich do ustanowienia modelu, a pozostałe dane do zweryfikowania modelu?

Wiem, że nie ma czarno-białej odpowiedzi na to pytanie, ale byłoby interesujące znać pewne „ogólne zasady” lub zwykle używane proporcje. Wiem na uniwersytecie, jeden z naszych profesorów zwykł mawiać model na 60% i zatwierdzać na 40%.

Odpowiedzi:


7

Cóż, jak powiedziałeś, nie ma czarno-białej odpowiedzi. Zasadniczo nie dzielę danych na 2 części, ale zamiast tego używam metod takich jak walidacja krzyżowa k-fold.

W krzyżowej weryfikacji k-fold dzielisz dane losowo na części k, dopasowujesz model do części k-1 i testujesz błędy w lewej części. Powtórz ten proces k razy, pozostawiając każdą część pasującą jedna po drugiej. Średni błąd z każdej z iteracji można wziąć za wskaźnik błędu modelu. Działa to naprawdę dobrze, jeśli chcesz porównać moc predykcyjną różnych modeli.

Jedną skrajną formą k-krotnej walidacji krzyżowej jest uogólniona walidacja krzyżowa, w której wystarczy pominąć jeden punkt danych do testowania i dopasować model do wszystkich pozostałych punktów. Następnie powtórz ten proces n razy, pomijając każdy punkt danych jeden po drugim. Ogólnie wolę k-krotną walidację krzyżową niż uogólnioną walidację krzyżową ... po prostu osobisty wybór


2
CV przy użyciu pełnego zestawu do wyboru modelu, co? Jest to częsty błąd (wciąż wspomina o nim Wikipedia), ponieważ jest to ukryty strój. Musisz zrobić CV na wyższym poziomie lub zostawić test, aby zrobić to dobrze.

5

To naprawdę zależy od ilości danych, które masz, konkretnego kosztu metod i tego, jak dokładnie chcesz osiągnąć swój wynik.

Kilka przykładów:

Jeśli masz mało danych, prawdopodobnie zechcesz skorzystać z weryfikacji krzyżowej (k-fold, out-one-out itp.) Twój model prawdopodobnie nie będzie wymagał dużych zasobów do trenowania i testowania. To dobry sposób na maksymalne wykorzystanie danych

Masz dużo danych: prawdopodobnie chcesz wziąć dość duży zestaw testowy, upewniając się, że będzie mało prawdopodobne, że niektóre dziwne próbki spowodują dużą zmienność wyników. Ile danych powinieneś wziąć? Zależy to całkowicie od twoich danych i modelu. Na przykład w rozpoznawaniu mowy, jeśli weźmiesz za dużo danych (powiedzmy 3000 zdań), twoje eksperymenty potrwają kilka dni, ponieważ współczynnik 7-10 w czasie rzeczywistym jest powszechny. Jeśli weźmiesz za mało, zależy to zbytnio od wybranych przez ciebie głośników (które nie są dozwolone w zestawie treningowym).

Pamiętaj również, że w wielu przypadkach dobrze jest mieć również zestaw sprawdzania poprawności / programowania!


5

Test 1:10: stosunek pociągów jest popularny, ponieważ wygląda na okrągły, 1: 9 jest popularny z powodu 10-krotnego CV, 1: 2 jest popularny, ponieważ jest również okrągły i ponownie składa pasek startowy. Czasami ktoś dostaje test na podstawie kryteriów specyficznych dla danych, na przykład w zeszłym roku na testy, lata wcześniej na szkolenie.

Ogólna zasada jest taka: pociąg musi być wystarczająco duży, aby dokładność nie spadła znacznie, a test musi być wystarczająco duży, aby wyciszyć przypadkowe fluktuacje.

Nadal wolę CV, ponieważ daje również rozkład błędów.


4

Jako rozszerzenie odpowiedzi typu k-fold, „zwykły” wybór k wynosi 5 lub 10. Metoda pomijania ma tendencję do tworzenia modeli, które są zbyt konserwatywne. Do Twojej wiadomości, oto odniesienie do tego faktu:

Shao, J. (1993), Linear Model Selection by Cross-Validation, Journal of American Statistics Association, t. 88, nr 422, s. 486–494


Czy w ogóle przeczytałeś ten artykuł? Niemniej jednak działa tylko w przypadku modeli liniowych (nawet tytuł to pokazuje!) Dotyczy zachowania asymptotycznego dla nieskończonej liczby obiektów. 100 to zdecydowanie za mało.

1
I życzę powodzenia w 10-krotnej walidacji krzyżowej na zestawie z 9 obiektami.

@mbq: Mówię „zwykły” wybór. Nie oznacza to żadnego wyboru
Albort

@mbq: Przeczytałem gazetę; Shao donosi o badaniu symulacyjnym z jedynie 40 obserwacjami i pokazuje, że LOOCV jest gorszy od CV Monte-Carlo, z wyjątkiem przypadku, gdy nie jest odpowiedni wybór podrzędny (pełny zestaw funkcji jest optymalny). 100 to więcej niż wystarcza, przynajmniej do wyboru podzbioru w modelach liniowych.
shabbychef

@shabbychef Masz mnie tutaj; drugi argument w moim pierwszym komentarzu to oczywiście śmieć, miałem na myśli inne prace i przerobiłem je na generalne. Niemniej jednak nadal będę argumentować, że artykuł Shao nie jest dobrym odniesieniem do ogólnego „LOO nie działa dla dużych N”, ponieważ jego zakres jest ograniczony do modeli liniowych.
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.