Uwaga: przypadek to n >> p
Czytam Elementy uczenia statystycznego i jest wiele wzmianek o „właściwym” sposobie przeprowadzania walidacji krzyżowej (np. Strona 60, strona 245). W szczególności moje pytanie brzmi: jak ocenić ostateczny model (bez osobnego zestawu testowego) za pomocą k-fold CV lub bootstrapowania, gdy przeprowadzono wyszukiwanie modelu? Wydaje się, że w większości przypadków (algorytmy ML bez wbudowanego wyboru funkcji) będzie
- Krok wyboru funkcji
- Etap wyboru parametru meta (np. Parametr kosztu w SVM).
Moje pytania:
- Widziałem, że krok wyboru funkcji można wykonać tam, gdzie wybór funkcji odbywa się na całym zestawie treningowym i jest odłożony na bok. Następnie, stosując k-fold CV, algorytm wyboru cech jest stosowany przy każdym zakładaniu (uzyskiwanie różnych cech możliwych za każdym razem) i błąd jest uśredniany. Następnie użyłbyś wybranych funkcji przy użyciu wszystkich danych (które zostały odłożone) do trenowania trybu końcowego, ale wykorzystałeś błąd z weryfikacji krzyżowej jako oszacowanie przyszłej wydajności modelu. CZY TO JEST POPRAWNE?
- Kiedy używasz weryfikacji krzyżowej do wyboru parametrów modelu, to jak potem oszacować wydajność modelu? CZY JEST TO TEN SAM PROCES, JAK POWYŻEJ POWYŻEJ, CZY POWINIENEŚ WYKORZYSTAĆ NESTED CV, JAK PODANE NA STRONIE 54 ( pdf ) CZY INNE?
- Kiedy wykonujesz oba kroki (ustawienie funkcji i parametrów) ..... to co robisz? złożone zagnieżdżone pętle?
- Jeśli masz oddzielną próbkę wstrzymania, czy problem zniknie i możesz użyć weryfikacji krzyżowej, aby wybrać funkcje i parametry (bez obaw, ponieważ szacunki wydajności będą pochodzić z zestawu wstrzymań)?
Odpowiedzi:
Kluczową rzeczą do zapamiętania jest to, że aby walidacja krzyżowa dawała (prawie) bezstronną ocenę wydajności, każdy krok związany z dopasowaniem modelu musi być również wykonywany niezależnie w każdym folderze procedury walidacji krzyżowej. Najlepiej jest zobaczyć wybór funkcji, ustawienie meta / hiperparametrów i optymalizację parametrów jako integralne części dopasowania modelu i nigdy nie wykonywać żadnego z tych kroków bez wykonania pozostałych dwóch.
Optymistyczne nastawienie, które można wprowadzić, odchodząc od tego przepisu, może być zaskakująco duże, jak wykazali Cawley i Talbot , gdzie uprzedzenie wprowadzone przez pozornie łagodne odejście było większe niż różnica w wydajności między konkurującymi klasyfikatorami. Co gorsza, nadal tendencyjne protokoły najsilniej faworyzują złe modele, ponieważ są one bardziej wrażliwe na dostrajanie hiperparametrów, a zatem są bardziej podatne na przesadzanie z kryterium wyboru modelu!
Odpowiedzi na konkretne pytania:
Procedura z kroku 1 jest prawidłowa, ponieważ wybór funkcji jest wykonywany osobno dla każdej zakładki, więc to, co sprawdzasz krzyżowo, to cała procedura stosowana do ostatecznego modelu. Oszacowanie wzajemnej walidacji będzie miało nieco pesymistyczne nastawienie, ponieważ zestaw danych dla każdego złożenia jest nieco mniejszy niż cały zestaw danych użyty w ostatecznym modelu.
W przypadku 2, ponieważ do wyboru parametrów modelu używana jest walidacja krzyżowa, należy powtórzyć tę procedurę niezależnie dla każdego krotności walidacji krzyżowej wykorzystywanej do szacowania wydajności, w efekcie uzyskuje się zagnieżdżoną walidację krzyżową.
W przypadku 3, w zasadzie tak, musisz przeprowadzić zagnieżdżoną weryfikację krzyżową. Zasadniczo musisz powtórzyć w każdym folderze najbardziej zewnętrznej weryfikacji krzyżowej (wykorzystywanej do oceny wydajności) wszystko, co zamierzasz zrobić, aby dopasować do ostatecznego modelu.
Dla 4 - tak, jeśli masz oddzielny zestaw blokujący, to da bezstronną ocenę wydajności bez potrzeby dodatkowej weryfikacji krzyżowej.
źródło
Przeprowadziłem rozległą analizę walidacji krzyżowej dla zestawu danych, którego pozyskanie kosztowało miliony, i nie jest dostępny żaden zewnętrzny zestaw walidacji. W tym przypadku przeprowadziłem szeroko zakrojone sprawdzanie poprawności zagnieżdżenia, aby zapewnić poprawność. Wybrałem cechy i zoptymalizowane parametry tylko z odpowiednich zestawów treningowych. Jest to drogie obliczeniowo w przypadku dużych zestawów danych, ale to właśnie musiałem zrobić, aby zachować ważność. Jednak wiążą się z tym komplikacje ... na przykład różne funkcje są wybierane w każdym zestawie treningowym.
Więc moja odpowiedź jest taka, że w przypadkach, gdy nie masz realnego dostępu do zewnętrznego zestawu danych, jest to rozsądna droga. Gdy masz zewnętrzny zestaw danych, możesz prawie udać się do miasta, jak chcesz na głównym zestawie danych, a następnie raz przetestować na zewnętrznym zestawie danych.
źródło