Czy potrafisz się dopasować, trenując algorytmy uczenia maszynowego za pomocą CV / Bootstrap?

34

To pytanie może być zbyt otwarte, aby uzyskać ostateczną odpowiedź, ale mam nadzieję, że nie.

Algorytmy uczenia maszynowego, takie jak SVM, GBM, Random Forest itp., Generalnie mają pewne wolne parametry, które poza pewną wskazówką praktyczną, muszą być dostosowane do każdego zestawu danych. Zazwyczaj odbywa się to za pomocą pewnego rodzaju techniki ponownego próbkowania (bootstrap, CV itp.) W celu dopasowania zestawu parametrów, które dają najlepszy błąd generalizacji.

Moje pytanie brzmi: czy możesz posunąć się za daleko? Ludzie mówią o przeszukiwaniu sieci jako takiej, ale dlaczego po prostu nie potraktować tego jako problemu optymalizacji i przejść do najlepszego możliwego zestawu parametrów? Zapytałem o pewną mechanikę tego pytania w tym pytaniu, ale nie spotkało się to z dużym zainteresowaniem. Może pytanie zostało źle zadane, ale może samo pytanie reprezentuje złe podejście, którego ludzie na ogół nie robią?

Niepokoi mnie brak regularyzacji. Mogę stwierdzić przez ponowne próbkowanie, że najlepsza liczba drzew rosnących w GBM dla tego zestawu danych to 647 przy głębokości interakcji wynoszącej 4, ale jak mogę być pewien, że tak będzie w przypadku nowych danych (przy założeniu nowej populacji jest identyczny z zestawem treningowym)? Bez rozsądnej wartości, aby „skurczyć się” (lub jeśli nie, bez wcześniejszych informacji), ponowne próbkowanie wydaje się najlepszym rozwiązaniem. Po prostu nie słyszę o tym żadnej rozmowy, więc zastanawiam się, czy czegoś brakuje.

Oczywiście wiąże się to z dużymi kosztami obliczeniowymi związanymi z wykonywaniem wielu wielu iteracji w celu wyciśnięcia każdej ostatniej mocy predykcyjnej z modelu, więc oczywiście jest to coś, co zrobiłbyś, gdybyś miał czas / chrząknięcie na optymalizację i za każdym razem poprawy wydajności jest cenna.

Bogdanovist
źródło
CV może być wykorzystane do różnych rzeczy. Żeby było jasne, kiedy mówisz „wyszukiwanie siatki” lub „strojenie hiperparametrów”, mówisz o wyborze modelu , a nie o wyborze funkcji , a nawet po prostu o oszacowaniu błędu klasyfikacji.
smci

Odpowiedzi:

30

Ostateczna odpowiedź na to pytanie brzmi: „tak, z pewnością możliwe jest zastąpienie kryterium wyboru modelu opartego na krzyżowej walidacji i uzyskanie modelu słabo uogólniającego! ”. Moim zdaniem wydaje się, że nie jest to powszechnie doceniane, ale stanowi poważną pułapkę w stosowaniu metod uczenia maszynowego i jest głównym przedmiotem moich obecnych badań; Do tej pory napisałem dwa artykuły na ten temat

GC Cawley i NLC Talbot, Nadmierne dopasowanie w wyborze modelu i późniejsze odchylenie wyboru w ocenie wydajności, Journal of Machine Learning Research, 2010. Research, vol. 11, s. 2079–2107, lipiec 2010 r. ( Www )

co pokazuje, że nadmierne dopasowanie w wyborze modelu jest poważnym problemem w uczeniu maszynowym (i można uzyskać bardzo tendencyjne oszacowania wydajności, jeśli zmniejszysz narożniki w wyborze modelu podczas oceny wydajności) i

GC Cawley i NLC Talbot, Zapobieganie nadmiernemu dopasowaniu w wyborze modelu poprzez bayesowską regularyzację hiperparametrów, Journal of Machine Learning Research, tom 8, strony 841-861, kwiecień 2007. ( www )

gdzie kryterium wyboru modelu opartego na weryfikacji krzyżowej jest regulowane, aby spróbować poprawić nadmierne dopasowanie w wyborze modelu (co jest kluczowym problemem, jeśli używasz jądra z wieloma hiperparametrami).

W tej chwili piszę artykuł na temat wyboru modelu opartego na wyszukiwaniu siatki, który pokazuje, że z pewnością możliwe jest użycie siatki, która jest zbyt dobra, gdy otrzymujesz model, który jest statystycznie gorszy od modelu wybranego przez wiele grubsza siatka (pytanie StackExchange zainspirowało mnie do szukania siatki).

Mam nadzieję że to pomoże.

PS Bezstronna ocena wydajności i rzetelny wybór modelu mogą być rzeczywiście drogie obliczeniowo, ale z mojego doświadczenia wynika, że ​​warto. Zagnieżdżona walidacja krzyżowa, w której zewnętrzna walidacja krzyżowa jest używana do oceny wydajności, a wewnętrzna walidacja krzyżowa do wyboru modelu jest dobrym podstawowym podejściem.

Dikran Torbacz
źródło
Doskonały! Wygląda na to, że te papiery są dokładnie tym, czego szukałem. Dziękuję za to.
Bogdanovist
Daj mi znać, jeśli masz jakieś pytania dotyczące referatów (pocztą elektroniczną - jestem pierwszym autorem, a mój adres e-mail znajduje się na papierze).
Dikran Torbacz
@DikranMarsupial Jak odróżnić nadmierne dopasowanie ze względu na wybór modelu i to z powodu niedopasowania próbkowania między zestawem testowym a zestawem testowym?
image_doctor
1
Zasadniczo, przy użyciu syntetycznego zestawu danych, w którym dostępna jest podstawowa prawda, jest ona prosta, ponieważ wówczas nie ma niezgodności próbkowania; zestaw szkoleniowy jest tylko losową próbką z rozkładu podstawowego i można oszacować błąd na podstawie samego rozkładu, a nie próbki skończonej. Jednak w przypadku zestawów danych zawierających rzeczywiste słowa AFAICS najlepiej jest zarządzać za pomocą ponownego próbkowania i określić skutki nadmiernego dopasowania kryterium wyboru modelu w przypadku wielu losowych podziałów testu / szkolenia.
Dikran Torbacz
2
Niestety został odrzucony, ale poprawię go, aby uwzględnić komentarze recenzentów (bardzo przydatne) i ponownie przesłać go do innego czasopisma.
Dikran Torbacz
7

Wykazano, że walidacja krzyżowa i bootstrap dają oszacowania poziomu błędu, które są prawie bezstronne, aw niektórych przypadkach dokładniejsze dzięki bootstrapowi w porównaniu z walidacją krzyżową. Problem z innymi metodami, takimi jak ponowne podstawianie, polega na tym, że oszacowanie błędu w tym samym zbiorze danych, który pasuje do klasyfikatora, może rażąco nie docenić poziomu błędu i może prowadzić do algorytmów, które zawierają zbyt wiele parametrów i nie będą przewidywać przyszłych wartości tak dokładnie, jak algorytm pasujący do małego zestawu parametrów. Kluczem do korzystania z metod statystycznych jest to, że dane, które przechodzisz do klasyfikatora, są typowe dla danych, które zobaczysz w przyszłości, w których brakuje klas i muszą zostać przewidziane przez klasyfikatora. Jeśli uważasz, że przyszłe dane mogą być bardzo różne, to metody statystyczne nie mogą pomóc, a ja nie

Michael R. Chernick
źródło
Dziękuję za odpowiedź. Zredagowałem pytanie, aby wyjaśnić, że nie pytam o zmiany w populacji między zestawami pociągów i testów. Zdaję sobie sprawę, że to zupełnie inne pytanie, które mnie nie interesuje.
Bogdanovist
1
+1 W tym przypadku brak sympatii jest w zasadzie nieistotny. Rozbieżność szacunków weryfikacji krzyżowej może stanowić znacznie większy problem. W przypadku kryterium wyboru modelu konieczne jest, aby minimum kryterium było niezawodnie zbliżone do minimum błędu uogólnienia (w zależności od hiperparametrów). Nie ma sensu, jeśli średnio znajduje się we właściwym miejscu, ale rozkład minimów dla różnych skończonych próbek danych jest wszędzie.
Dikran Torbacz
1
Oczywiście dokładność jest kombinacją uprzedzeń i wariancji, a obiektywne oszacowanie z dużą wariancją nie jest tak dobre, jak lekko tendencyjny estymator z małą wariancją. Nowe oszacowanie poziomu błędu jest przywrócone do stanu początkowego i ma duże odchylenie. Bootstrap 632 i 632+ działają tak dobrze, ponieważ wykonują dobrą pracę, dostosowując się do odchylenia bez większego wzrostu wariancji. Dlatego w przypadku liniowych funkcji dyskryminujących i kwadratowych funkcji dyskryminujących działają one znacznie lepiej niż pozostawiona jedna do drugiej wersja walidacji krzyżowej.
Michael R. Chernick
W przypadku zestawów drzew klasyfikacyjnych nie wykazano, że bootstrap działa lepiej.
Michael R. Chernick
1
Być może jedną z trudności jest to, że nadmierne dopasowanie często oznacza różne rzeczy w uczeniu maszynowym i statystyce. Wydaje mi się, że statystycy czasami używają nadmiernego dopasowania, aby oznaczać, że używany jest model z większą liczbą parametrów niż jest to konieczne, a nie zbyt dopasowany do obserwacji (mierzonej przez kryterium szkolenia). Zwykle użyłbym w tej sytuacji „nad parametryzacji”, a „nadpasowanie” oznaczałoby, że model został zbyt ściśle dopasowany do obserwacji kosztem wydajności uogólnienia. Być może właśnie tutaj możemy rozmawiać na różne sposoby?
Dikran Torbacz
4

Podejrzewam, że jedną z odpowiedzi jest to, że w kontekście optymalizacji próbujesz znaleźć globalne minimum noisyfunkcji kosztu. Masz więc wszystkie wyzwania związane z wielowymiarową globalną optymalizacją plus element stochastyczny dodany do funkcji kosztów.

Wiele podejść do radzenia sobie z wyzwaniami lokalnych minimów i samych drogich przestrzeni poszukiwań ma parametry, które mogą wymagać dostrajania, takie jak metody symulowanego wyżarzania lub metody Monte Carlo.

Podejrzewam, że w idealnym wszechświecie bez ograniczeń obliczeniowych można spróbować znaleźć globalne minimum przestrzeni parametrów z odpowiednio ścisłymi ograniczeniami odchylenia i wariancji oszacowania funkcji błędu. Czy ten scenariusz nie będzie problemem, ponieważ można ponownie próbkować ad infinitum.

Podejrzewam, że w prawdziwym świecie łatwo znajdziesz się w lokalnym minimum.

Jak wspomniałeś, jest to osobny problem, ale wciąż pozostaje to otwarte na nadmierne dopasowanie z powodu problemów z próbkowaniem związanych z dostępnymi danymi i ma związek z rzeczywistym leżącym u podstaw rozkładem przestrzeni próbki.

image_doctor
źródło
4

Zależy to ściśle od algorytmu, ale na pewno możesz - choć w większości przypadków będzie to tylko łagodny marnowanie wysiłku.

Istotą tego problemu jest to, że nie jest to ścisła optymalizacja - nie masz zdefiniowanego w jakiejś domenie, która ma ekstremum dla co najmniej jednej wartości , powiedz , a wszystko, co musisz zrobić, to go znaleźć. Zamiast tego masz , gdzie ma trochę zwariowaną dystrybucję, jest często stochastyczny i zależy nie tylko od , ale także twoich danych treningowych i szczegółów CV / bootstrap. W ten sposób jedyną rozsądną rzeczą, którą możesz wyszukać, jest podprzestrzeń domeny s, powiedzmy , na której wszystkie wartościf(x)xxoptf(x)+ϵϵxfXoptxoptf+ϵ różnią się nieznacznie (statystycznie, jeśli chcesz).

Teraz, chociaż nie możesz znaleźć , w praktyce wystarczy dowolna wartość z - i zwykle jest to tylko punkt siatki wyszukiwania od wybrany losowo, aby zminimalizować obciążenie obliczeniowe, aby zmaksymalizować trochę sub miary wydajności, to nazwę.xoptXoptXoptf

Poważne przeregulowanie może się zdarzyć, jeśli krajobraz ma ostrą ekstrema - jednak to „nie powinno się zdarzyć”, tj. Jest to cecha bardzo źle dobranej pary algorytm / dane i złego prognozowania mocy generalizacyjnej.f

Zatem, cóż, (w oparciu o praktyki obecne w dobrych czasopismach) pełna, zewnętrzna walidacja wyboru parametrów nie jest czymś, co rygorystycznie musisz zrobić (w przeciwieństwie do walidacji wyboru funkcji), ale tylko wtedy, gdy optymalizacja jest pobieżna, a klasyfikator jest raczej niewrażliwy na Parametry.


źródło
4

Tak, parametry można „dopasować” do zestawu treningowego i testowego podczas walidacji krzyżowej lub ładowania początkowego. Istnieją jednak pewne metody, aby temu zapobiec. Pierwsza prosta metoda polega na podzieleniu zestawu danych na 3 partycje, jedną do testowania (~ 20%), drugą do testowania zoptymalizowanych parametrów (~ 20%) i jedną do dopasowania klasyfikatora do ustawionych parametrów. Jest to możliwe tylko wtedy, gdy masz dość duży zestaw danych. W innych przypadkach sugerowana jest podwójna walidacja krzyżowa.

Romain François i Florent Langrognet, „Double Cross Validation for Class Based Classification”, 2006

spinus
źródło