Enhet 3 / 11

Modellopplæring og evaluering: Nøyaktige beregninger, ærlig benchmarking

Gevinster:

  • Evne til å velge metrikken som passer til problemtypen og forretningskonteksten (PR-AUC/gjenkalling i ubalanserte data, MAE/RMSE i regresjon) og gjenkjenne over/underlæring
  • Evne til å tolke hver beregning mot en grunnlinje og måle avvik og skille støy fra fremgang med kryssvalidering
  • Evne til å rapportere ikke-optimistiske resultater ved å justere hyperparametere med valideringssettet og bruke testsettet kun på slutten

Modelltrening (trening: prosessen med å lære mønstre fra data) er det mest synlige, men mest misvisende trinnet i ML engineering. Det vises fordi det gir et tilfredsstillende tall som "nøyaktighet 95%". Villedende fordi det tallet ofte er det riktige svaret på feil spørsmål. I denne enheten diskuteres utdanning og evaluering med ingeniørfaget; Vi bruker kunstig intelligens som partner i eksperimentell design og baserer beslutningen på måling.

Logikken i treningssyklusen

En modell lærer mønsteret i dataene ved å minimere en tapsfunksjon: en funksjon som numerisk måler modellens feil. Optimaliseringsalgoritmen (f.eks. gradientnedstigning) reduserer tapet ved å justere parametrene trinn for trinn. Målet er ikke å huske treningsdataene, men å generalisere dem til enestående data.

To hovedfarer:

  • Overfitting: Modellen husker treningsdataene og feiler på nye data. Treningssuksessen er høy, verifiseringssuksessen er lav.
  • Undermontering: Modellen kan ikke fange mønsteret; Både trenings- og valideringssuksessen er lav.

Å finne balansen er dannelsens kunst. Valideringssettet er der for å overvåke denne balansen: hvis valideringssuksessen begynner å avta mens treningssuksessen øker, har overlæring begynt.

Tips: Plott trenings- og valideringstapet sammen på hvert trinn. Punktet der de to kurvene begynner å divergere er der overlæring begynner og er det rette øyeblikket for å "stoppe tidlig".

Metrisk valg: den mest kritiske avgjørelsen

Feil beregning gjør at en god modell ser dårlig ut og en dårlig modell ser bra ut. Problemet bestemmer beregningen:

  • Ubalansert klassifisering (én klasse er svært sjelden, f.eks. svindel): Nøyaktighet er misvisende. En modell som sier "ring alt normalt" vil få 99 % nøyaktighet, men vil ikke fange en eneste svindel. I stedet brukes presisjon (hvor mye av det jeg fanget faktisk er positivt), gjenkalling (hvor mye av det jeg fanget er sant positivt) og deres balanse F1 eller PR-AUC.
  • Balansert klassifisering: Nøyaktighet og ROC-AUC kan være passende.
  • Regresjon (tall estimering): MAE (gjennomsnittlig absolutt feil), RMSE (straffer store feil), MAPE (prosent feil).
  • Rangering/anbefaling: NDCG, MRR, Recall@K.

Hvorvidt presisjon eller tilbakekalling er viktig avhenger av forretningskonteksten. Tilbakekalling (ikke mangler noen pasienter) er en prioritet i kreftscreening; Presisjon i spamfilter (ikke å sende viktige e-poster til spam) er viktig. Dette er en forretningsbeslutning, ikke en teknisk, og tas sammen av ingeniøren og eieren.

Svak forespørsel / Sterk forespørsel

Svak melding: "Vurder modellens ytelse, nøyaktighet 0,97."

Kraftig melding: "Jeg har en svindeldeteksjonsmodell; positiv klasserate er 1,5%. Nøyaktighet rapporteres som 0,97. Forklar hvorfor denne beregningen kan være misvisende, fortell meg hvilke beregninger (presisjon, tilbakekalling, PR-AUC) jeg bør foretrekke og hvorfor. Beregn også hvor nøyaktig en "ring alt negativt" grunnlinjemodell vil få på disse dataene, slik at jeg kan få merverdi på disse dataene."

Forskjell: kraftig forespørsel gir klasseforhold og forretningskontekst; den ber også om en grunnlinjemodellsammenligning – dette er det viktigste ankeret for om en beregning er meningsfull.

Grunnlinje: metrikk uten sammenligning er meningsløst

En beregning er ikke god eller dårlig i seg selv; Det er bra eller dårlig i henhold til en grunnleggende modell. Grunnmodellen er den enkleste løsningen som kommer til tankene: "fortell alltid majoritetsklassen", "gjenta forrige ukes verdi", "gjett gjennomsnittet". Hvis modellen din ikke klart klarer denne enkle løsningen, er all kompleksiteten for ingenting.

Forsiktig: Setningen "Min modell er 85% nøyaktig" i seg selv sier ingenting. Hvis basismodellen allerede får 84 %, er modellen din nesten verdiløs; Hvis basismodellen får 50 %, er modellen din perfekt. Snakk alltid i form av grunnmodellen.

Kryssvalidering og tillit

En enkelt trenings-/testdeling kan skyldes tilfeldigheter. Kryssvalidering: å dele inn data i k deler og teste hver del sekvensielt viser hvor stabil ytelsen er. I 5-fold kryssvalidering får du fem forskjellige poengsummer; Deres gjennomsnitt og standardavvik er viktige. Hvis gjennomsnittet er 80 %, men avviket er ±12 %, er modellen din ustabil – den kan oppføre seg veldig annerledes i neste batch med data.

Dette er også kritisk for "tomodellsammenligningen". Hvis modell A fikk 81 % og modell B fikk 82 %, er B virkelig bedre? Hvis avviket er ±3 %, kan denne forskjellen være støy. Vurder om forskjellen er betydelig før du bestemmer deg.

Hyperparameterinnstilling: med validering, ikke testing

Hyperparametere (innstillinger som bestemmes manuelt før trening – læringshastighet, tredybde osv.) settes med valideringssettet. Testsettet brukes bare på slutten, én gang. Hvis du velger hyperparametere ved å se på testsettet, vil testsettet bli kontaminert og ytelsen du rapporterer vil være optimistisk, noe som ikke er tilfelle i virkeligheten.

Kunstig intelligens er en god hjelper til å designe hyperparametersøkerommet og skrive søkekoden (rutenettsøk, tilfeldig søk, Bayesiansk optimalisering). Men du bestemmer fortsatt "hvilken beregning skal vi optimalisere?"

tre minisaker

Tilfelle 1 - Nøyaktighetsfelle. Et medisinsk team var stolte av en modell som oppdaget en sjelden sykdom: 98 % nøyaktighet. Da den grunnleggende modellsammenlikningen ble gjort, kom sannheten frem: siden sykdomsraten var 2 %, fikk modellen som sa «kall alle friske» også 98 %. Modellens tilbakekalling var bare 11 % - savnet de fleste pasientene. Når metrikken ble konvertert til PR-AUC, ble den faktiske ytelsen målt og modellen ble redesignet.

Tilfelle 2 - feilaktig støy for fremgang. Et team brukte måneder på å forbedre modellen fra 86,2 % til 86,9 %. Kryssvalidering viste at skjevheten var ±1,4 % - så 0,7 poengs "forbedringen" var statistisk støy. Teamet hadde kastet bort tre uker på uvirkelige inntekter. Leksjon: ikke erklær seier uten å bekrefte at forbedringen er større enn avviket.

Tilfelle 3 - Forurensning av testsettet. En ingeniør så gjentatte ganger på testsettet for å velge de beste hyperparametrene. De 91% den rapporterte falt til 83% i produksjonen. Hvorfor: han hadde uvitende valgt modellen deretter ved å se på testsettet om og om igjen (overlæring på testsettet). Rapportert og faktisk ytelse overlappet når et separat valideringssett ble brukt.

Kopierbare maler

Hjelp meg å velge riktig beregning for dette klassifiseringsproblemet. Problem: [hva er spådd] Klassefordeling: [positiv rate

Vurder sammenligningen av følgende to modeller.Model A kryssvalidering: [liste over skårer]Model B kryssvalidering: [liste over skårer]Beregn gjennomsnittet og standardavviket. Er forskjellen statistisk signifikant eller er det bare støy innenfor avviket? Hvilken vil du anbefale meg å velge og hvorfor?

Sjekk denne treningskoden for følgende:1) Er hyperparametrene valgt med testsettet eller valideringssettet?2) Blir tidlig stopp overvåket med riktig sett?3) Er det noen tegn på overlæring (differanse for trening/valideringstap)?Kode: [kode]

Hvilken av MAE, RMSE og MAPE skal jeg rapportere for dette regresjonsproblemet?Skala til målvariabelen: [range]Er store feil uforholdsmessig dårlige (RMSE), eller er de alle like (MAE)?Finnes det verdier nær null (forvrenger de MAPE)?Foreslå med kort begrunnelse.

Metrisk utvalgstabell

Problemtype

Passende metrikk

Å unngås

Hvorfor

Ubalansert klassifisering

PR-AUC, F1, tilbakekalling

Nøyaktighet

Majoritetsklassen blåser opp metrikken

Balansert klassifisering

Nøyaktighet, ROC-AUC

Pålitelig i balanserte data

Regresjon (signifikant avviker)

RMSE

MAPE (hvis null)

Straffer store feil

Regresjon (lik vekt)

MAE

Lett å tolke

Rangering/anbefaling

NDCG, Recall@K

Nøyaktighet

Orden er viktig

Vanlige feil

  • Bruker nøyaktighet på ubalanserte data. Den vanligste metriske feilen.
  • Foretar ikke sammenligning av basismodeller. Det får metrikken til å miste sin betydning.
  • Ser på testsettet for hyperparametre. Optimistisk, urealistisk resultat.
  • Stoler på ett enkelt rom. Uten kryssvalidering vil du ikke se skjevheten.
  • Ta feil av støy for fremgang. Små "forbedringer" fra avvik er stort sett flaks.
  • Ignorerer forretningskonteksten. Presisjons-/gjenkallingsbalansen er en forretningsbeslutning.

Oppsummert

Den virkelige ferdigheten i modelltrening er ikke å produsere et høyt tall, men å vite hva det tallet betyr. Problemet og forretningskonteksten bestemmer den rette metrikken; tolke hver beregning i henhold til en grunnlinjemodell; mål skjevhet med kryssvalidering og ikke forveksle støy med fremgang; Bruk testsettet kun på slutten, én gang. AI er din partner i eksperimentdesign, men beslutningen om "god nok" er opp til deg og dine.

Søknadsoppgave

For en klassifiseringsmodell: (1) skriv klassefordelingen, (2) bygg en passende grunnmodell og mål poengsummen, (3) evaluer modellen din med 5-dobbel kryssvalidering og rapporter gjennomsnittet og standardavviket, (4) beregn metrikken som passer til problemet (f.eks. PR-AUC) i stedet for nøyaktighet. Skriv ned om modellen din slår grunnlinjemodellen med stor margin uten skjevhet.

sjekkliste

  • [ ] Jeg valgte beregningen basert på problemtype og forretningskontekst.
  • [ ] Jeg bygde en grunnmodell og sammenlignet med den.
  • [ ] Jeg rapporterte gjennomsnitt og avvik med kryssvalidering.
  • [ ] Jeg bekreftet at forbedringen er større enn avviket.
  • [ ] Jeg valgte hyperparametrene med valideringssettet.
  • [ ] Jeg brukte bare testsettet én gang, helt på slutten.