ML Atlas

11 · Prawa i prawdy · 4 min czytania · Interaktywne · aktualizacja

Dlaczego wybór najlepszego modelu na szumnej metryce nie daje postępu?

W skrócie

Zysk z selekcji to pozorna przewaga wybranych pomnożona przez rzetelność pomiaru. Gdy miara to głównie szum, wybór najlepszych nagradza szczęście.

Co to jest

Prawo: rzeczywisty zysk z wyboru najlepszych kandydatów według pomiaru równa się ich pozornej przewadze w tym pomiarze pomnożonej przez rzetelność pomiaru, czyli odsetek jego zmienności, który odzwierciedla prawdziwe różnice. W genetyce ilościowej to „równanie hodowcy” R = h² · S, sformułowane przez Jaya L. Lusha w 1937 roku: odpowiedź na selekcję R to różnica selekcyjna S razy odziedziczalność h².

W uczeniu maszynowym kandydatami są modele, zestawy hiperparametrów, seedy albo osobniki w algorytmie ewolucyjnym, a pomiarem — trafność na walidacji, wynik z kilku epizodów lub publiczny leaderboard. Jeśli metryka zawiera więcej przypadku niż prawdy, kandydat wybrany jako najlepszy wygrał głównie dzięki korzystnemu szumowi, który nie powtórzy się w następnym pomiarze. Zamiast postępu jest dryf.

Mechanizm — dlaczego tak działa

Obserwowany wynik = prawdziwa jakość + szum. Jeśli oba składniki są niezależne, najlepsza prognoza prawdziwej jakości kandydata na podstawie jego wyniku to średnia plus rzetelność razy odchylenie wyniku od średniej, gdzie rzetelność = wariancja prawdziwej jakości / wariancja wyniku. To zwykła regresja do średniej. Uśredniając po wybranej grupie, dostajemy R = rzetelność × S. Przy rozkładach normalnych to tożsamość; przy innych — dobre przybliżenie, nie dogmat.

Ile wynosi szum? Trafność z n decyzji ma błąd standardowy √(p(1 − p)/n): dla n = 50 i p = 0,8 to prawie 6 punktów procentowych. Jeśli prawdziwe różnice między kandydatami są rzędu 2 punktów, rzetelność wynosi około 0,1 — dziewięć dziesiątych pozornej przewagi zwycięzców to szczęście.

W ewolucji skutek kumuluje się: potomstwo dziedziczy geny, nie szczęście, więc gdy rzetelność jest niska, średnia populacji nie rośnie, tylko błądzi — dryf zamiast doboru. Przy małej populacji dryf może nawet utrwalić gorsze rozwiązania.

Lekarstwo jest statystyczne: zwiększyć rzetelność (więcej przykładów lub epizodów na ocenę, walidacja krzyżowa, uśrednianie po seedach), wybierać tylko wtedy, gdy różnica przekracza szum, a zwycięzcę ocenić ponownie na świeżych danych, bo jego wynik selekcyjny jest zawyżony. Prawo nie zależy od algorytmu wyboru: obowiązuje w grid searchu, przy wyborze seeda i przy ręcznym poprawianiu wyniku na leaderboardzie.

Na przykładzie

Symulacja w NumPy (seed 0): 1000 modeli o prawdziwej trafności z rozkładu normalnego o średniej 80% i odchyleniu 2 punkty. Każdy oceniamy na walidacji z n przykładów (liczba trafień z rozkładu dwumianowego) i wybieramy najlepsze 10%.

Przy n = 50 szum ma odchylenie 5,8 punktu, a rzetelność wynosi 0,11. Wybrane modele miały na walidacji średnio 90,2%, a naprawdę 81,0% — zysk to 0,11 pozornej przewagi, zgodnie z prawem. Zwycięzca z wynikiem 94% miał prawdziwą trafność 78,9%, czyli poniżej przeciętnej. Przy n = 500 (rzetelność 0,54) wybrani mieli 84,2% na walidacji i 82,3% naprawdę; stosunek zysku do pozornej przewagi wyniósł 0,55. Przy n = 5000 (rzetelność 0,93) — 0,93, a zwycięzca pomiaru był naprawdę najlepszym modelem (86,1%).

Ta ilustracja działa w przeglądarce z włączonym JavaScriptem: spośród 100 000 kandydatów wybieramy najlepszych według wskaźnika m = q + szum; przy szumie normalnym prawdziwa jakość rośnie z ostrością selekcji (do 2,30), a przy szumie z grubymi ogonami top 0,1% ma średnią jakość tylko 0,04 mimo wskaźnika 42,5.

W praktyce

  • Przed strojeniem oszacuj szum metryki: bootstrap na walidacji (sklearn.utils.resample) lub rozrzut między foldami w cross_val_score; różnice mniejsze od niego ignoruj.
  • Kaggle: publiczny leaderboard to mała próbka — finałowe zgłoszenia wybieraj po lokalnej walidacji krzyżowej; „shake-up” po ujawnieniu wyników prywatnych to właśnie to prawo.
  • Ewolucja i PBT: oceniaj fitness na kilku seedach lub dłuższych epizodach; większa populacja zmniejsza dryf.
  • Porównuj modele na tych samych foldach (test parowany) — część szumu jest wspólna i się odejmuje.
  • Typowy błąd: 50 konfiguracji na walidacji z 200 wierszy i raportowanie najlepszej jako wyniku modelu.

Najczęstsze pytania

Czym to prawo różni się od klątwy zwycięzcy?
To dwie strony tego samego mechanizmu. Klątwa zwycięzcy mówi, że wynik wybranego kandydata jest zawyżony; prawo selekcji mówi, ile z pozornej przewagi zostanie naprawdę — dokładnie tyle, ile wynosi rzetelność pomiaru.
Dlaczego mój wynik na prywatnym leaderboardzie spadł?
Bo zgłoszenie wybrano po publicznym leaderboardzie, który jest małą próbką i zawyża wyniki zgłoszeń, które na nim „miały szczęście”. Część prywatna to świeże dane, na których ten szum się nie powtarza. Wybieraj po lokalnej walidacji krzyżowej.
Ile przykładów potrzeba, żeby porównać dwa modele?
Tyle, by błąd standardowy różnicy był wyraźnie mniejszy niż oczekiwana różnica. Przy trafności około 0,8 i różnicy 2 punktów to tysiące przykładów; w RL — zwykle co najmniej kilka do kilkunastu seedów. Bootstrap lub test parowany powie, czy różnica jest realna.

Źródła

  • Lush, J. L. (1937). Animal Breeding Plans. Collegiate Press, Ames, Iowa.
  • Falconer, D. S., Mackay, T. F. C. (1996). Introduction to Quantitative Genetics, 4th ed., Longman (rozdziały o odpowiedzi na selekcję i odziedziczalności).
  • Cawley, G., Talbot, N. (2010). "On over-fitting in model selection and subsequent selection bias in performance evaluation". JMLR 11, 2079–2107.
  • Henderson, P. i in. (2018). "Deep reinforcement learning that matters". AAAI. arXiv:1709.06560
  • Blum, A., Hardt, M. (2015). "The ladder: a reliable leaderboard for machine learning competitions". ICML. arXiv:1502.04585

Zobacz też