Walidacja krzyżowa K-krotnie może być wykorzystana do oszacowania możliwości generalizacji danego klasyfikatora. Czy mogę (lub powinienem) również obliczyć wariancję zbiorczą ze wszystkich przebiegów sprawdzania poprawności, aby uzyskać lepsze oszacowanie jej wariancji?
Jeśli nie to dlaczego?
Znalazłem artykuły, które wykorzystują połączone odchylenie standardowe w wielu testach krzyżowych . Znalazłem także artykuły wyraźnie stwierdzające, że nie ma uniwersalnego estymatora dla wariancji walidacji . Znalazłem jednak także artykuły pokazujące estymatory wariancji dla błędu uogólnienia (wciąż czytam i próbuję to zrozumieć). Co ludzie naprawdę robią (lub zgłaszają) w praktyce?
EDYCJA: Kiedy CV jest używane do pomiaru surowego błędu klasyfikacji (tj. Albo próbka została poprawnie oznaczona, albo nie ma; np. Prawda lub fałsz), może nie mieć sensu mówić o zbiorczej wariancji. Mówię jednak o przypadku, w którym szacowana statystyka ma zdefiniowaną wariancję. Tak więc dla danego foldu możemy uzyskać zarówno wartość statystyki, jak i oszacowanie wariancji. Odrzucenie tych informacji i rozważenie jedynie średniej statystyki wydaje się niewłaściwe. I chociaż jestem świadomy, że mogę zbudować oszacowanie wariancji za pomocą metod ładowania początkowego, (jeśli się nie mylę), zrobienie tego nadal zignorowałoby wariancje składania i wziąłoby pod uwagę tylko szacunki statystyczne (plus wymagając znacznie większej mocy obliczeniowej).
Odpowiedzi:
Bardzo interesujące pytanie, będę musiał przeczytać papiery, które dajesz ... Ale może to zacznie nas w kierunku odpowiedzi:
Zazwyczaj rozwiązuję ten problem w bardzo pragmatyczny sposób: iteruję k-krotnie walidację krzyżową z nowymi losowymi podziałami i obliczam wydajność tak jak zwykle dla każdej iteracji. Ogólne próbki testowe są wtedy takie same dla każdej iteracji, a różnice pochodzą z różnych podziałów danych.
Zgłaszam to np. Jako 5–95 percentyl zaobserwowanej wydajności wrt. wymiana do próbki dla nowych próbek i omów to jako miarę niestabilności modelu.nk−1
Uwaga dodatkowa: I tak nie mogę używać formuł wymagających wielkości próbki. Ponieważ moje dane mają strukturę skupioną lub hierarchiczną (wiele podobnych, ale nie powtarzanych pomiarów tego samego przypadku, zwykle kilka [sto] różnych lokalizacji tej samej próbki), nie znam efektywnej wielkości próby.
porównanie do ładowania początkowego:
iteracje używają nowych losowych podziałów.
główna różnica polega na ponownym próbkowaniu z (bootstrap) lub bez (cv) zastępowania.
bootstrap ma przewagę nad cv pod względem niektórych właściwości statystycznych (asymptotycznie poprawne, być może potrzebujesz mniej iteracji, aby uzyskać dobre oszacowanie)
jednak z cv masz tę przewagę, że masz to zagwarantowane
niektóre metody klasyfikacji odrzucają powtarzające się próbki, więc ładowanie nie ma sensu
Wariancja wykonania
krótka odpowiedź: tak, sensowne jest mówienie o wariancji w sytuacji, gdy istnieją tylko {0,1} wyniki.
Spójrz na rozkład dwumianowy (k = sukcesy, n = testy, p = prawdziwe prawdopodobieństwo sukcesu = średnia k / n):
Oznacza to, że niepewność pomiaru wydajności klasyfikatora zależy tylko od rzeczywistej wydajności p testowanego modelu i liczby próbek testowych.
W ramach weryfikacji krzyżowej zakładasz
że modele k „zastępcze” mają taką samą prawdziwą wydajność jak „prawdziwy” model, który zwykle buduje się ze wszystkich próbek. (Załamaniem tego założenia jest dobrze znane nastawienie pesymistyczne).
że modele k „zastępcze” mają taką samą rzeczywistą wydajność (są równoważne, mają stabilne predykcje), więc można łączyć wyniki testów k.
Oczywiście wówczas można połączyć nie tylko modele „zastępcze” jednej iteracji cv, ale także modele ki iteracji k-fold cv.
Dlaczego iterować?
Najważniejsze, co mówią ci iteracje, to niestabilność modelu (przewidywania), tj. Wariancja prognoz różnych modeli dla tej samej próbki.
Tak, to ważna informacja.
Jeśli zaobserwujesz niestabilność modelu, średnia pula jest lepszym oszacowaniem prawdziwej wydajności. Różnica między iteracjami jest ważną informacją i można ją porównać z oczekiwaną minimalną wariancją dla zestawu testowego o rozmiarze n z prawdziwą średnią wydajnością wydajności we wszystkich iteracjach.
źródło
Pamiętaj, że CV jest jedynie wartością szacunkową i nigdy nie może reprezentować „prawdziwego” błędu uogólnienia. W zależności od wielkości próby (która wpłynie na liczbę fałd lub rozmiar fałd) możesz być poważnie ograniczony w możliwości obliczania szacunkowych parametrów rozkładu błędu uogólnienia. Moim zdaniem (i widziałem to rzekomo w różnych podręcznikach, „Discovery Knowledge with Support Vector Machines” - Lutz Hamel), możesz zrobić jakiś wariant ładowania CV w celu oszacowania rozkładu błędu uogólnienia, ale standardowy 10- 1 (na przykład) po wyłączeniu CV nie da ci wystarczającej liczby punktów danych, aby wyciągać wnioski na temat prawdziwego błędu genowego. Bootstrapping wymaga pobrania wielu próbek z wymianą ze szkolenia / testu / val, skutecznie wykonując wiele (powiedzmy około 1000) 10-1 (lub cokolwiek) testów CV. Następnie bierzesz próbny rozkład średnich dla każdego testu CV jako oszacowanie rozkładu próbkowania średniej dla populacji błędów CV i na tej podstawie możesz oszacować parametry dystrybucji, tj. Średnią, medianę, std min maks Q1 Q3 itd. To trochę pracy i moim zdaniem jest to naprawdę wymagane tylko wtedy, gdy twoja aplikacja jest wystarczająco ważna / ryzykowna, aby uzasadnić dodatkową pracę. tzn. być może w środowisku marketingowym, w którym firma jest po prostu szczęśliwa, że jest lepsza niż przypadkowa, a może nie jest wymagana. ALE jeśli próbujesz ocenić reakcje pacjentów na leki wysokiego ryzyka lub przewidzieć oczekiwania dotyczące dochodów w przypadku dużych inwestycji, możesz rozsądnie je przeprowadzić.
źródło