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%).
W praktyce
- Przed strojeniem oszacuj szum metryki: bootstrap na walidacji (
sklearn.utils.resample) lub rozrzut między foldami wcross_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