W CrossValidated znajduje się wiele wątków na temat wyboru modelu i weryfikacji krzyżowej. Tu jest kilka:
- Walidacja wewnętrzna i zewnętrzna oraz wybór modelu
- @ DikranMarsupial w górę odpowiedzi do wyboru funkcji i walidacji krzyżowej
Jednak odpowiedzi na te wątki są dość ogólne i głównie podkreślają problemy ze szczególnym podejściem do weryfikacji krzyżowej i wyboru modelu.
Aby wszystko było jak najbardziej konkretne , powiedzmy na przykład, że pracujemy z maszyną SVM z jądrem RBF: oraz że mam zestaw danych funkcjiXi etykiety, i że chcę
- Znajdź najlepsze możliwe wartości mojego modelu ( i )
- Trenuj SVM z moim zestawem danych (do ostatecznego wdrożenia)
- Oszacuj błąd uogólnienia i niepewność (wariancję) wokół tego błędu
Aby to zrobić, osobiście przeszukałem siatkę, np. Wypróbowałem każdą możliwą kombinację i . Dla uproszczenia możemy przyjąć następujące zakresy:
Mówiąc dokładniej, korzystając z mojego pełnego zestawu danych, wykonuję następujące czynności:
- Dla każdej pary ( , γ ) wykonuję powtarzane iteracje (np. 100 losowych powtórzeń) K- krotnej walidacji krzyżowej (np. K = 10 ) w moim zbiorze danych, tj. Trenuję moją SVM na fałdach K - 1 i oceniam błąd na lewej zakładce, iterując wszystkie fałdy K. Ogólnie zbieram 100 x 10 = 1000 błędów testowych.
- Dla każdej takiej ( , γ ) pary, to obliczyć średnią i wariancję 1000-tych testowych Błędy jj, M , Ď M .
Teraz chcę wybrać najlepszy model (najlepsze parametry jądra), którego użyłbym do wyszkolenia mojej ostatecznej SVM na pełnym zbiorze danych. Rozumiem, że wybór modelu o najniższej średniej błędu i wariancji i σ M byłby właściwym wyborem, a μ M tego modelu to σ M, to moje najlepsze oszacowania błędu i wariancji błędu uogólnienia modelu podczas treningu z pełny zestaw danych.
ALE po przeczytaniu odpowiedzi w powyższych wątkach mam wrażenie, że ta metoda wyboru najlepszego SVM do wdrożenia i / lub oszacowania jego błędu (wydajności uogólnienia) jest wadliwa i istnieją lepsze sposoby wyboru najlepszy SVM i zgłaszanie jego błędu. Jeśli tak, jakie one są? Proszę o konkretną odpowiedź.
Trzymając się tego problemu, jak konkretnie mogę wybrać najlepszy model i właściwie oszacować jego błąd generalizacji ?