TLDR:
Mój zestaw danych to dość małe (120) próbki. Czy podczas 10-krotnej weryfikacji krzyżowej powinienem:
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)?
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 !
źródło
Odpowiedzi:
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.
edycja: pierwotne pytanie dotyczyło także iteracji / powtarzania sprawdzania poprawności:
Prosiłeś o artykuły naukowe :
przedruk
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):
Jeśli twoje modele są stabilne, to
źródło
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.
źródło