Gdy czytam stronę, większość odpowiedzi sugeruje, że w algorytmach uczenia maszynowego należy przeprowadzić weryfikację krzyżową. Jednak czytając książkę „Zrozumienie uczenia maszynowego” zobaczyłem, że istnieje ćwiczenie, które czasami lepiej nie używać weryfikacji krzyżowej. Jestem bardzo zmieszany. Kiedy algorytm uczący dla całych danych jest lepszy niż walidacja krzyżowa? Czy zdarza się to w prawdziwych zestawach danych?
Niech be k klasy hipotez. Załóżmy, że podano m IID szkolenia przykłady i chcesz uczyć się klasy H = ∪ k i = 1 H í . Rozważ dwa alternatywne podejścia:
Naucz się na m przykładach przy użyciu reguły ERM
Podziel m przykłady na zestaw treningowy wielkości zestaw walidacyjny wielkości α m dla niektórych α ∈ ( 0 , 1 ) . Następnie zastosuj podejście wyboru modelu za pomocą walidacji. Oznacza to, że fi RST pociągu każdej klasy H I na ( 1 - α ) m przykładami treningu z wykorzystaniem reguły ERM względem H ı i pozwolić godzinie h 1 , ... , h kbyć wynikającymi z tego hipotezami. Po drugie, należy zastosować regułę ERM w odniesieniu do klasy fi nite { h 1 , ... , h k } na α m przykłady walidacji.
Opisz scenariusze, w których pierwsza metoda jest lepsza niż druga i odwrotnie.
Odpowiedzi:
Wiadomości z domu:
ćwiczenie powinno nauczyć cię, że czasem (w zależności od dziedziny: często lub nawet prawie zawsze) lepiej nie robić optymalizacji / strojenia / selekcji opartej na danych.
Istnieją również sytuacje, w których krzyżowa walidacja nie jest najlepszym wyborem spośród różnych opcji walidacji , ale te rozważania nie są istotne w kontekście twojego ćwiczenia tutaj.
Niestety cytowany tekst zmienia dwie rzeczy między podejściem 1 a 2:
IMHO, walidacja krzyżowa i optymalizacja oparta na danych to dwie całkowicie różne (i w dużej mierze niezależne) decyzje dotyczące konfiguracji strategii modelowania. Tylko połączenia jest to, że można użyć krzyżowych oszacowania walidacji jako cel funkcjonalną dla optymalizacji. Istnieją jednak inne funkcjonalne elementy docelowe gotowe do użycia i istnieją inne zastosowania szacunków krzyżowej weryfikacji (co ważne, możesz ich użyć do weryfikacji swojego modelu, zwanej także walidacją lub testowaniem)
Niestety terminologia uczenia maszynowego to obecnie IMHO bałagan, który sugeruje tutaj fałszywe połączenia / przyczyny / zależności.
Gdy spojrzysz na podejście 3 (weryfikacja krzyżowa nie w celu optymalizacji, ale w celu pomiaru wydajności modelu), przekonasz się, że walidacja krzyżowa „decyzji” w porównaniu do treningu całego zestawu danych jest fałszywą dychotomią w tym kontekście: W przypadku weryfikacji krzyżowej Aby zmierzyć wydajność klasyfikatora, wartość walidacji krzyżowej jest stosowana jako oszacowanie dla modelu wyuczonego na całym zestawie danych. Tj. Podejście 3 obejmuje podejście 1.
W rzeczywistości w mojej dziedzinie bardzo często mam do czynienia z zestawami danych, które są zdecydowanie zbyt małe, aby można było pomyśleć o optymalizacji opartej na danych. Więc co mam zrobić zamiast tego: Korzystam z mojej wiedzy na temat danych i procesów generowania danych, aby zdecydować, który model dobrze pasuje do fizycznego charakteru danych i aplikacji. I w tych przypadkach wciąż muszę ograniczać złożoność mojego modelu.
źródło