• Post author:

Mówi się, że uczenie maszynowe od statystyki różni się tym, że w tym pierwszym wydziela się zbiór testowy. Jest to oczywiście dość prześmiewcze uproszczenie, ale pociągnijmy ten temat — a dojdziemy do ciekawego związku między ML i statystyką, o którym być może nie każdy pomyślał.

p-wartość zbiór testowy walidacja krzyżowa


Zbiór testowy wydzielamy, bo modele, których używamy, bez problemu mogą zapamiętać całe dane treningowe. Niestety, ale mogą to zrobić bezrozumnie — przez co nie poradzą sobie na egzaminie, jeśli tylko pojawią się nowe zadania. Mówimy wtedy o nadmiernym dopasowaniu (overfitting).

Chcemy zatem zawczasu sprawdzić nasz model na tych nowych zadaniach, żeby zweryfikować jego wiedzę. Mamy do dyspozycji różne metody: walidacja krzyżowa, bootstrap, pojedynczy zbiór testowy (zwykle najgorsze rozwiązanie).

Warto w tym miejscu powiedzieć, że samo zjawisko nadmiernego dopasowania niekoniecznie jest problemem. Model, który tak się dopasował, w dalszym ciągu może być najlepszy. Np. las losowy praktycznie zawsze to robi, przynajmniej używając domyślnych hiperparametrów. Z tego względu nawet nie ma sensu sprawdzać, jak działa na zbiorze treningowym. (Choć to zależy od tego, co dokładnie rozumiemy przez nadmierne dopasowanie). Potrzebujemy zbioru testowego nie po to, żeby „nie zrobić overfittingu”, ale żeby dać modelowi taką ocenę, na jaką rzeczywiście zasługuje. Innymi słowy, uzyskać wiarygodne szacunki MSE, AUC itd.

Statystyka

Dobrze, to teraz wróćmy do klasycznej statystyki. Czemu tam nie wpadliśmy na to, żeby wydzielać zbiór testowy? Czyżby nie zależało nam, by nasze modele generalizowały się na nowe dane? Przeciwnie. Natomiast robi się to rzadziej, bo po pierwsze, mamy zasady, które przed tym nadmiernym dopasowaniem chronią. Używamy dość prostych modeli (o niewielkiej liczbie parametrów), robimy korekty na wielokrotne testowanie itp.

Po drugie — i tu uwaga, punkt kulminacyjny — pewnym odpowiednikiem zbioru testowego jest stara dobra p-wartość (jak również błąd standardowy, przedział ufności itp.) To jest właśnie narzędzie, dzięki któremu próbujemy odpowiedzieć na pytanie, czy wyniki z próby generalizują się na inne dane (populację).

(Oczywiście to nie jest to samo, chodzi mi tu o ideę i pewien aspekt problemu).

I zauważmy od razu zalety takiego klasycznego podejścia. Przy liczeniu p-wartości wykorzystujemy całe dane (a nie tylko podzbiór), oraz dodatkowe dane: naszą wiedzę, która konkretyzuje się w przyjętych założeniach (np. rozkład normalny). Stosując bardziej elastyczne metody (uczenie maszynowe), model musi wyczytać wszystko z danych. Koszt tego jest taki, że potrzebujemy dodatkowego zbioru.

Na koniec dodam, że w statystyce również wydziela się zbiory testowe, a przynajmniej powinno. Niestety, nierzadko dzieje się tak, że na jednym zbiorze wykonuje się zarówno eksplorację (korelacja wszystkiego ze wszystkim, wybór zmiennych do modelu itp.), jak i walidację (liczenie p-wartości). Jak widać, kiepscy statystycy robili overfitting, zanim to było modne!