Archiwa tagu: generalizacja

Od eksperymentu do teorii: Jak poprawnie mierzyć jakość modeli ML?

W typowym eksperymencie uczenia maszynowego dysponujemy danymi, które (w najprostszym wariancie) dzielimy na trzy rozłączne zbiory: treningowy, walidacyjny i testowy. Zbiór treningowy służy do estymacji parametrów modelu (np. wag sieci neuronowej, współczynników regresji, parametrów rozkładów w Naive Bayes itp.) poprzez minimalizację wybranej funkcji straty lub maksymalizację wiarygodności. Celem uczenia nie jest idealne odwzorowanie danych treningowych samo w sobie, lecz uzyskanie dobrej generalizacji, tzn. niskiego błędu na nowych, niewidzianych przykładach (przy założeniu, że pochodzą z tego samego rozkładu co dane uczące).

W praktyce podczas treningu model może zacząć przeuczać się: błąd na zbiorze treningowym nadal maleje, ale jakość na danych niewidzianych przestaje się poprawiać lub się pogarsza. Dlatego wprowadzamy zbiór walidacyjny, który nie jest używany do dopasowywania parametrów w danym przebiegu treningu, lecz do wyboru wariantu modelu i ustawień procesu uczenia (hiperparametrów), a także do procedur takich jak early stopping (zatrzymanie treningu w momencie, gdy strata/metryka na walidacji przestaje się poprawiać).

Wybór „najlepszego” modelu odbywa się zwykle przez minimalizację straty lub maksymalizację wybranej metryki (accuracy, F1, AUC itd.) na walidacji. Trzeba jednak pamiętać, że intensywne strojenie (wiele prób architektur, hiperparametrów, ziaren losowości, augmentacji, decyzji preprocessingowych) może prowadzić do „przeuczenia do walidacji” i zbyt optymistycznej oceny – jest to forma selection bias w procesie doboru modelu (model selection).

Zbiór testowy powinien być trzymany „na końcu” i użyty dopiero po zakończeniu całego procesu projektowania (wyboru modelu i hiperparametrów). Wynik na teście stanowi estymację błędu generalizacji dla przyjętego protokołu, ale jest to nadal estymacja obarczona niepewnością (zależną m.in. od rozmiaru testu i wariancji problemu).

Gdy danych jest mało lub chcemy stabilniejszej oceny, stosuje się procedury resamplingu. Klasycznie używa się k-fold cross-validation (w tym leave-one-out jako przypadek skrajny) oraz metod bootstrapowych do estymacji błędu predykcji; bootstrap (np. wariant .632+) bywa traktowany jako „wygładzona” alternatywa dla CV, charakteryzująca się innym kompromisem obciążenia i wariancji (bias–variance trade-off). Jeżeli cross-validation służy jednocześnie do strojenia hiperparametrów i do oceny jakości, to dla uniknięcia optymistycznego obciążenia niezbędna jest procedura zagnieżdżona (nested CV), w której pętla wewnętrzna stroi hiperparametry, a pętla zewnętrzna szacuje błąd uogólnienia.

Badania empiryczne polegają na projektowaniu modeli i procedur uczenia oraz ich porównywaniu w kontrolowanym protokole. Nurt teoretyczny jest komplementarny: dostarcza formalnych ram, w których (przy określonych założeniach) można uzyskać gwarancje typu „z wysokim prawdopodobieństwem prawdziwe ryzyko nie przekroczy pewnej wartości”, zależnej od ryzyka empirycznego i miary złożoności rozwiązania. W szczególności teoria PAC-Bayes dostarcza probabilistycznych górnych ograniczeń na błąd uogólnienia (często dla klasyfikatorów stochastycznych) w funkcji błędu empirycznego oraz członu złożoności wyrażanego m.in. przez dywergencję Kullbacka-Leiblera ($D_{KL}$) między rozkładem a posteriori i prior. Nie implikuje to prostej zależności $E_{val} \leq E_{test}$; relacja walidacja–test zależy od protokołu selekcji i może być obciążona przez proces wyboru modelu.