Średnia (wyniki) vs wynik (konkatenacja) w walidacji krzyżowej

15

TLDR:

Mój zestaw danych to dość małe (120) próbki. Czy podczas 10-krotnej weryfikacji krzyżowej powinienem:

  1. Zbierać wyniki z każdego testu, połączyć je w wektor, a następnie obliczyć błąd na tym pełnym wektorze prognoz (120 próbek)?

  2. Czy powinienem zamiast tego obliczyć błąd na wyjściach, które otrzymuję przy każdej fałdzie (z 12 próbkami na krotnie), a następnie uzyskać ostateczną ocenę błędu jako średnią z 10-krotności szacunków błędu?

Czy są jakieś prace naukowe, które dowodzą różnic między tymi technikami?


Tło: Potencjalny związek z wynikami makro / mikro w klasyfikacji wielu marek:

Myślę, że to pytanie może być związane z różnicą między średnimi mikro i makro, które są często używane w zadaniu klasyfikacji wielu marek (np. 5 etykiet).

W ustawieniach z wieloma etykietami, wyniki mikro-średnich oblicza się, tworząc zagregowaną tabelę zdarzeń z wartościami prawdziwie dodatnimi, fałszywie dodatnimi, prawdziwie ujemnymi, fałszywie ujemnymi dla wszystkich 5 prognoz klasyfikatora na 120 próbkach. Tę tabelę zdarzeń stosuje się następnie do obliczenia mikro-precyzji, mikro-przywołania i mikro-miary. Kiedy więc mamy 120 próbek i pięć klasyfikatorów, mikro miary są obliczane na podstawie 600 prognoz (120 próbek * 5 etykiet).

Korzystając z wariantu Makro , oblicza się miary (precyzja, przywołanie itp.) Niezależnie dla każdej etykiety, a na koniec pomiary te są uśredniane.

Pomysł na różnicę między szacunkami mikro a makro może zostać rozszerzony na to, co można zrobić w ustawieniu K-fold w problemie klasyfikacji binarnej. Dla 10-krotności możemy albo uśrednić ponad 10 wartości ( Miara makro ), albo połączyć 10 eksperymentów i obliczyć mikro miary.

Tło - przykład rozszerzony:

Poniższy przykład ilustruje pytanie. Powiedzmy, że mamy 12 próbek testowych i mamy 10 fałd:

  • Krotnie 1 : TP = 4, FP = 0, TN = 8 Precyzja = 1,0
  • Fold 2 : TP = 4, FP = 0, TN = 8 Precyzja = 1,0
  • Krotnie 3 : TP = 4, FP = 0, TN = 8 Precyzja = 1,0
  • Krotnie 4 : TP = 0, FP = 12, Precyzja = 0
  • Fold 5 .. Fold 10 : Wszystkie mają ten sam TP = 0, FP = 12 i Precyzja = 0

gdzie użyłem następującej notacji:

TP = liczba prawdziwie pozytywnych, FP = # fałszywie pozytywnych, TN = liczba prawdziwie negatywnych

Wyniki są następujące:

  • Średnia precyzja przy 10 fałdach = 3/10 = 0,3
  • Precyzja konkatenacji prognoz 10-krotnych = TP / TP + FP = 12/12 + 84 = 0,125

Pamiętaj, że wartości 0,3 i 0,125 są bardzo różne !

użytkownik13420
źródło
CV nie jest tak naprawdę świetną miarą przewidywania przyszłych wyników. Wariancja jest po prostu za mała. Lepiej iść z bootstrap do sprawdzania poprawności modelu.
user765195,
2
@ user765195: czy mógłbyś utworzyć kopię zapasową swojego roszczenia za pomocą niektórych cytatów?
Zach.
Szukałem, ale nie znalazłem żadnej literatury dotyczącej zagregowanej metody CV. Wydaje się, że jest to bardziej odpowiedni sposób obliczenia miary, ponieważ ma mniejszą wariancję.
user13420,
1
@ Zach, tutaj jest trochę dyskusji, w książce Harrella: tinyurl.com/92fsmuv (spójrz na ostatni akapit na stronie 93 i pierwszy akapit na stronie 94.) Spróbuję zapamiętać inne odniesienia, które są bardziej wyraźne.
user765195,
1
k

Odpowiedzi:

3

Opisana różnica jest fałszywa IMHO.

Zauważysz to tylko wtedy, gdy rozkład naprawdę pozytywnych przypadków (tj. Metoda referencyjna mówi, że jest to przypadek dodatni) jest bardzo nierówna między fałdami (jak w przykładzie) i liczbą odpowiednich przypadków testowych (mianownik miary wydajności mówimy, tutaj naprawdę pozytywne) nie jest brane pod uwagę przy uśrednianiu średnich krotnie.

412=13)


edycja: pierwotne pytanie dotyczyło także iteracji / powtarzania sprawdzania poprawności:

k

  • Jak bardzo zmieniają się prognozy, jeśli dane treningowe są zaburzone przez wymianę kilku próbek treningowych?
  • To znaczy, jak bardzo różnią się przewidywania różnych modeli „zastępczych” dla tej samej próbki testowej?

Prosiłeś o artykuły naukowe :

Niedocenianie wariancji Ostatecznie twój zestaw danych ma skończony (n = 120) rozmiar próbki, niezależnie od tego, ile wykonujesz iteracji bootstrapu lub weryfikacji krzyżowej.

  • Masz (co najmniej) 2 źródła wariancji w wynikach ponownej próbkowania (walidacja krzyżowa i poza bootstrap):

    • wariancja ze względu na skończoną liczbę (testowej) próbki
    • wariancja wynikająca z niestabilności prognoz modeli zastępczych
  • Jeśli twoje modele są stabilne, to

    • k
    • Jednak oszacowanie wydajności nadal podlega zmienności ze względu na skończoną liczbę próbek testowych.
    • Jeśli twoja struktura danych jest „prosta” (tj. Jeden pojedynczy wektor pomiaru dla każdego statystycznie niezależnego przypadku), możesz założyć, że wyniki testu są wynikami procesu Bernoulliego (rzucanie monetą) i obliczyć wariancję skończonego zestawu testów.
  • nk

cbeleites obsługuje Monikę
źródło
Robię też klasyfikację wielu marek z czterema klasyfikatorami. Chcę więc przyjrzeć się miernikom F mikro i makro w ramach 4 zadania. Zakładam, że „łączona” walidacja krzyżowa byłaby nawet konieczna w tym przypadku? Nie jestem też pewien, czy pasek startowy jest taki sam jak „kombinowana” metoda CV, o której wspomniałem powyżej. Odbyła się
user13420,
@ user13420: ja też nie jestem pewien, co masz na myśli z połączonym CV ... Oto odpowiedź, w której zapisałem, co oznacza dla mnie brak
cbeleites obsługuje Monica,
@ user13420: Terminologia jest bardzo różna w różnych dziedzinach. Czy potrafisz zaktualizować swoją odpowiedź informując, czym są miary F i mikro? Jednak krzyżowa walidacja jest bardzo ogólną techniką: jest schematem obliczania wyników testów modelu. Można obliczyć każdą miarę wydajności, która wymaga wprowadzenia wartości referencyjnej dla każdego przypadku i przewidywanej wartości dla każdego przypadku.
cbeleites obsługuje Monikę
połączone CV oznacza, że ​​zbierasz prognozy dla każdej blokady i obliczasz miarę po wszystkich 10 blokach. Tak więc, jeśli zmierzę precyzję, przywołanie dla zadania klasyfikacji, będzie miało pojedynczą precyzję, przywołanie w przeciwieństwie do 10 wartości i średnią (jak ma to miejsce w zwykłym CV)
użytkownik13420
2
Dzięki cbeleites - dodałem te wyjaśnienia, ponieważ uznałem, że brzmienie pierwotnego pytania jest nieco mylące. Mam nadzieję, że moje zmiany były na lepsze - starałem się lepiej uwidocznić dylemat - ale proszę dać mi znać inaczej. To powiedziawszy, kiedy wspomniałeś, że znajdziesz fałszywą różnicę - chciałbym zauważyć, że @ user13420 uzyskuje dwa zasadniczo różne wyniki na dole swojego OP, gdy podąża za podejściem 1 lub 2 . Sam stawiłem czoła temu dylematowi. Uważam, że drugie podejście jest bardziej powszechne, ale byłoby wspaniale się z tym pogodzić.
Josh
1

Powinieneś zrobić wynik (konkatenacja). Jest to powszechne nieporozumienie w tej dziedzinie, które oznacza, że ​​(wyniki) są najlepszym sposobem. Może wprowadzić więcej uprzedzeń do twojego oszacowania, szczególnie w rzadkich klasach, jak w twoim przypadku. Oto dokument potwierdzający to:

http://www.kdd.org/exploration_files/v12-1-p49-forman-sigkdd.pdf

W artykule używają „Favg” zamiast „średniej (wyników)” i „Ftp, fp” zamiast „oceny (konkatenacji)”

Przykład zabawki:

Wyobraź sobie, że masz 10-krotną walidację krzyżową i klasę, która pojawia się 10 razy, a tak się składa, że ​​pojawia się raz w każdej krotnie. Również klasa jest zawsze przewidywana poprawnie, ale w danych występuje jeden wynik fałszywie dodatni. Test fałd zawierający fałszywie dodatni będzie miał 50% dokładności, podczas gdy wszystkie inne fałdy będą miały 100%. Tak więc średnia (wyniki) = 95%. Z drugiej strony wynik (konkatenacja) wynosi 10/11, około 91%.

Jeśli założymy, że ta prawdziwa populacja jest dobrze reprezentowana przez dane i że 10 klasyfikatorów walidacji krzyżowej dobrze reprezentuje ostateczny klasyfikator, to dokładność w świecie rzeczywistym wyniosłaby 91%, a średnia wartość (wyników) 95% jest zdecydowanie tendencyjna .

W praktyce nie będziesz chciał przyjmować tych założeń. Zamiast tego można użyć statystyk dystrybucji do oszacowania zaufania, losowo permutując dane i ponownie obliczając wynik (konkatenację) wiele razy, a także uruchamiając ładowanie.

użytkownik2255970
źródło
To świetny papier! Myślę, że wynikiem w języku pierwotnego pytania (nieużywanym w pracy) jest to, że przy obliczaniu wyniku F stosuj podejście „mikro uśredniania”; w szczególności zsumuj TP, TN, FP, FN ze wszystkich fałd, aby uzyskać pojedynczą macierz pomieszania, a następnie oblicz wynik F (lub inne pożądane miary).
travelingbones