Ś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 !


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


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.


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
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.