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.