Eenheid 3 / 11

Modeltraining en -evaluatie: nauwkeurige statistieken, eerlijke benchmarking

Winst:

  • Mogelijkheid om de metriek te kiezen die geschikt is voor het probleemtype en de bedrijfscontext (PR-AUC/herinnering bij onevenwichtige gegevens, MAE/RMSE bij regressie) en over/onder-leren te herkennen
  • Mogelijkheid om elke metriek te interpreteren ten opzichte van een basislijn, de afwijking te meten en ruis van de voortgang te scheiden met kruisvalidatie
  • Mogelijkheid om niet-optimistische resultaten te rapporteren door hyperparameters af te stemmen met de validatieset en de testset pas aan het einde te gebruiken

Modeltraining (training: het proces van het leren van patronen uit data) is de meest zichtbare maar meest misleidende stap van ML-engineering. Het lijkt erop dat het een bevredigend getal oplevert, zoals "nauwkeurigheid 95%". Misleidend omdat dat getal vaak het juiste antwoord is op de verkeerde vraag. In deze unit worden onderwijs en evaluatie besproken met de discipline techniek; We gebruiken kunstmatige intelligentie als partner bij experimenteel ontwerp en baseren de beslissing op metingen.

Logica van de trainingscyclus

Een model leert het patroon in de gegevens kennen door een verliesfunctie te minimaliseren: een functie die de fout van het model numeriek meet. Het optimalisatie-algoritme (bijvoorbeeld gradiëntdaling) vermindert het verlies door de parameters stap voor stap aan te passen. Het doel is niet om de trainingsgegevens te onthouden, maar om deze te generaliseren naar ongekende gegevens.

Twee belangrijke gevaren:

  • Overfitting: het model onthoudt de trainingsgegevens en faalt bij nieuwe gegevens. Het trainingssucces is hoog, het verificatiesucces is laag.
  • Onderfitting: het model kan het patroon niet vastleggen; Zowel het trainings- als het validatiesucces zijn laag.

Het vinden van de balans is de kunst van het onderwijs. De validatieset is er om dit evenwicht te bewaken: als het validatiesucces begint af te nemen terwijl het trainingssucces toeneemt, is er sprake van overleren.

Tip: Breng bij elke stap het trainings- en validatieverlies samen in kaart. Het punt waarop de twee curven beginnen te divergeren, is waar het overleren begint en het juiste moment is om ‘vroeg te stoppen’.

Metriekselectie: de meest kritische beslissing

De verkeerde maatstaf zorgt ervoor dat een goed model er slecht uitziet en een slecht model er goed uitziet. Het probleem bepaalt de metriek:

  • Onevenwichtige classificatie (één klasse is zeer zeldzaam, bijvoorbeeld fraude): nauwkeurigheid is misleidend. Een model dat zegt "noem alles normaal" krijgt een nauwkeurigheid van 99%, maar zal geen enkele fraude ontdekken. In plaats daarvan worden precisie (hoeveel van wat ik heb gevangen daadwerkelijk positief is), herinnering (hoeveel van wat ik heb gevangen echt positief is) en hun balans F1 of PR-AUC gebruikt.
  • Evenwichtige classificatie: Nauwkeurigheid en ROC-AUC kunnen geschikt zijn.
  • Regressie (schatting van het aantal): MAE (gemiddelde absolute fout), RMSE (bestraft grote fouten), MAPE (percentage fout).
  • Ranking/aanbeveling: NDCG, MRR, Recall@K.

Of precisie of herinnering belangrijk is, hangt af van de zakelijke context. Het terugroepen (geen patiënten missen) is een prioriteit bij kankerscreening; Precisie in het spamfilter (geen belangrijke e-mails naar spam sturen) is belangrijk. Dit is een zakelijke beslissing, geen technische, en wordt samen door de ingenieur en de eigenaar genomen.

Zwakke prompt/sterke prompt

Zwakke prompt: "Evalueer de prestaties van mijn model, nauwkeurigheid 0,97."

Krachtige prompt: "Ik heb een model voor fraudedetectie; het positieve klassenpercentage is 1,5%. De nauwkeurigheid wordt gerapporteerd als 0,97. Leg uit waarom deze metriek misleidend zou kunnen zijn, vertel me welke metrieken (precisie, herinnering, PR-AUC) ik zou moeten verkiezen en waarom. Bereken ook hoe nauwkeurig een basismodel 'noem alles negatief' zou zijn op basis van deze gegevens, zodat ik de echte toegevoegde waarde kan zien."

Verschil: krachtige prompt geeft klassenverhouding en zakelijke context; het vraagt ​​ook om een ​​vergelijking van het basismodel – dit is het belangrijkste anker voor de vraag of een metriek betekenisvol is.

Basislijn: statistiek zonder vergelijking is zinloos

Een metriek is op zichzelf niet goed of slecht; Het is goed of slecht volgens een basismodel. Het basismodel is de eenvoudigste oplossing die in je opkomt: "vertel altijd de meerderheidsklasse", "herhaal de waarde van vorige week", "raad het gemiddelde". Als uw model deze eenvoudige oplossing niet duidelijk kan doorstaan, is alle complexiteit voor niets geweest.

Let op: de zin "Mijn model is 85% nauwkeurig" zegt op zichzelf niets. Als het basismodel al 84% haalt, is je model vrijwel waardeloos; Als het basismodel 50% krijgt, is uw model perfect. Spreek altijd in termen van het basismodel.

Kruisvalidatie en vertrouwen

Een enkele splitsing tussen training en testen kan op toeval berusten. Kruisvalidatie: door de gegevens in k delen te verdelen en elk onderdeel opeenvolgend te testen, wordt aangetoond hoe stabiel de prestaties zijn. Bij 5-voudige kruisvalidatie krijg je vijf verschillende scores; Hun gemiddelde en standaarddeviatie zijn belangrijk. Als het gemiddelde 80% is, maar de afwijking ±12%, is uw model onstabiel; het kan zich heel anders gedragen in de volgende batch gegevens.

Dit is ook van cruciaal belang voor de "vergelijking van twee modellen". Als model A 81% krijgt en model B 82%, is B dan echt beter? Als de afwijking ±3% bedraagt, kan dit verschil ruis zijn. Overweeg of het verschil significant is voordat u een beslissing neemt.

Hyperparameter-afstemming: met validatie, niet met testen

Hyperparameters (instellingen die handmatig zijn bepaald vóór de training – leersnelheid, boomdiepte, enz.) worden ingesteld met de validatieset. De testset wordt slechts één keer aan het einde gebruikt. Als u hyperparameters selecteert door naar de testset te kijken, zal de testset vervuild zijn en zullen de prestaties die u rapporteert optimistisch zijn, wat in werkelijkheid niet het geval is.

Kunstmatige intelligentie is een goede hulp bij het ontwerpen van de hyperparameterzoekruimte en het schrijven van de zoekcode (rasterzoeken, willekeurig zoeken, Bayesiaanse optimalisatie). Maar u beslist nog steeds "welke statistiek zullen we optimaliseren?"

drie minikoffers

Geval 1 - Nauwkeurigheidsval. Een medisch team was trots op een model dat een zeldzame ziekte detecteerde: 98% nauwkeurigheid. Toen de basismodelvergelijking werd gemaakt, kwam de waarheid aan het licht: aangezien het ziektepercentage 2% bedroeg, ontving het model dat zei: 'noem iedereen gezond' ook 98%. De terugroepactie van het model bedroeg slechts 11%, waarbij de meeste patiënten werden gemist. Nadat de metriek was omgezet naar PR-AUC, werden de daadwerkelijke prestaties gemeten en werd het model opnieuw ontworpen.

Geval 2 – Het verwarren van lawaai met vooruitgang. Een team heeft maandenlang het model verbeterd van 86,2% naar 86,9%. Uit kruisvalidatie bleek dat de bias ±1,4% bedroeg – de “verbetering” van 0,7 punten was dus statistische ruis. Het team had drie weken verspild aan onwerkelijke inkomsten. Les: kondig geen overwinning aan zonder te verifiëren dat de verbetering groter is dan de afwijking.

Geval 3 - Verontreiniging van de testset. Een engineer keek herhaaldelijk naar de testset om de beste hyperparameters te kiezen. De gerapporteerde 91% daalde in productie naar 83%. Waarom: hij had het model onbewust dienovereenkomstig geselecteerd door steeds opnieuw naar de testset te kijken (overleren op de testset). Gerapporteerde en werkelijke prestaties overlapten elkaar wanneer een afzonderlijke validatieset werd gebruikt.

Kopieerbare sjablonen

Help me de juiste metriek te kiezen voor dit classificatieprobleem. Probleem: [wat wordt voorspeld] Klassenverdeling: [positief percentage

Evalueer de vergelijking van de volgende twee modellen. Kruisvalidatie model A: [lijst met scores] Kruisvalidatie model B: [lijst met scores] Bereken het gemiddelde en de standaardafwijking. Is het verschil statistisch significant of is het slechts ruis binnen de afwijking? Welke zouden jullie mij aanraden om te kiezen en waarom?

Controleer deze trainingscode op het volgende: 1) Zijn de hyperparameters geselecteerd met de testset of validatieset? 2) Wordt vroegtijdig stoppen gemonitord met de juiste set? 3) Zijn er tekenen van overleren (verschil training/validatieverlies)? Code: [code]

Welke van de MAE, RMSE en MAPE moet ik rapporteren voor dit regressieprobleem? Schaal van de doelvariabele: [bereik]Zijn grote fouten onevenredig slecht (RMSE), of zijn ze allemaal gelijk (MAE)? Zijn er waarden dichtbij nul (vertekenen ze MAPE)? Stel voor met een korte motivering.

Metrische selectietabel

Probleemtype

Passende maatstaf

Te vermijden

Waarom

Onevenwichtige classificatie

PR-AUC, F1, terugroepen

Nauwkeurigheid

De meerderheidsklasse blaast de maatstaf op

Evenwichtige classificatie

Nauwkeurigheid, ROC-AUC

Betrouwbaar in gebalanceerde data

Regressie (significante uitbijter)

RMSE

MAPE (indien nul)

Bestraft grote fouten

Regressie (gelijk gewicht)

MAE

Gemakkelijk te interpreteren

Rangschikking/aanbeveling

NDCG, Recall@K

Nauwkeurigheid

Volgorde is belangrijk

Veel voorkomende fouten

  • Nauwkeurigheid gebruiken voor onevenwichtige gegevens. De meest voorkomende metrische fout.
  • Geen basismodelvergelijkingen maken. Het zorgt ervoor dat de metriek zijn betekenis verliest.
  • Kijkend naar de testset voor hyperparameters. Optimistisch, onrealistisch resultaat.
  • Vertrouwend op één compartiment. Zonder kruisvalidatie zul je de bias niet zien.
  • Lawaai verwarren met vooruitgang. Kleine "verbeteringen" als gevolg van afwijkingen zijn meestal geluk.
  • Het negeren van de zakelijke context. Het precisie-/herinneringsevenwicht is een zakelijke beslissing.

Samengevat

De echte vaardigheid bij modeltraining is niet het produceren van een hoog getal, maar het weten wat dat getal betekent. Het probleem en de bedrijfscontext bepalen de juiste maatstaf; interpreteer elke metriek volgens een basismodel; meet vooroordelen met kruisvalidatie en verwar ruis niet met vooruitgang; Gebruik de testset slechts één keer op het einde. AI is uw partner bij het ontwerpen van experimenten, maar de beslissing ‘goed genoeg’ is aan u en de uwe.

Applicatie taak

Voor een classificatiemodel: (1) schrijf de klassenverdeling, (2) bouw een geschikt basismodel en meet de score ervan, (3) evalueer uw model met vijfvoudige kruisvalidatie en rapporteer het gemiddelde en de standaarddeviatie, (4) bereken de metriek die geschikt is voor het probleem (bijv. PR-AUC) in plaats van nauwkeurigheid. Schrijf op of uw model het basismodel zonder vooroordelen met een ruime marge verslaat.

controlelijst

  • [ ] Ik heb de metriek gekozen op basis van het probleemtype en de bedrijfscontext.
  • [ ] Ik heb een basismodel gebouwd en daarmee vergeleken.
  • [ ] Ik rapporteerde het gemiddelde en de afwijking met kruisvalidatie.
  • [ ] Ik heb bevestigd dat de verbetering groter is dan de afwijking.
  • [ ] Ik heb de hyperparameters geselecteerd met de validatieset.
  • [ ] Ik heb de testset maar één keer gebruikt, helemaal op het einde.