Hvorfor bruker forskere 10 ganger kryssvalidering i stedet for å teste på et valideringssett?
On november 30, 2020 by adminJeg har lest mange forskningsartikler om sentimentklassifisering og relaterte emner.
De fleste av dem bruker 10 ganger kryssvalidering for å trene og teste klassifiserere. Det betyr at ingen separat testing / validering er gjort. Hvorfor det?
Hva er fordelene / ulempene med denne tilnærmingen, spesielt for de som forsker?
Kommentarer
- Er du sikker på at nei separat testing ble gjort?
- +1. Jeg har lagt merke til det samme. Mange ganger er den ti ganger korsvalidering det endelige resultatet rapportert.
Svar
Dette er ikke et problem hvis CV-en er nestet , dvs. alle optimaliseringer, funksjonsvalg og modellvalg, enten de selv bruker CV eller ikke, er pakket inn i en stor CV.
Hvordan sammenlignes dette med å ha et ekstra valideringssett? Mens valideringssettet vanligvis bare er en mer eller mindre tilfeldig valgt del av hele dataene, tilsvarer det ganske enkelt en iterasjon av CV. For dette formål er det faktisk en verre metode fordi den lett kan være forutinntatt av (forhåpentligvis) heldigvis / uheldig valgt eller kirsebærplukket valideringssett.
Det eneste unntaket til dette er tidsserier og andre data der objektordren har betydning; men de krever spesiell behandling uansett vei.
Svar
Hovedårsaken er at k-fold kryssvalideringsestimator har en lavere varians enn en enkelt hold-out-estimator, noe som kan være veldig viktig hvis mengden data er tilgjengelig. Hvis du har et enkelt hold ut-sett, der 90% av dataene brukes til trening og 10% brukes til testing, er testsettet veldig lite, så det vil være mye variasjon i ytelsesestimatet for forskjellige dataeksempler, eller for forskjellige partisjoner av dataene for å danne opplæring og testsett. validering av k-kutt reduserer denne avviket ved å gjennomsnittlig over k forskjellige partisjoner, slik at ytelsesestimatet er mindre følsomt for partisjonering av dataene. Du kan gå enda lenger ved gjentatt k-korsvalidering, der kryssvalidering utføres ved å bruke forskjellige partisjoner av dataene for å danne k-undersett, og deretter ta gjennomsnittet også over det.
Merk imidlertid at alle trinnene i modelltilpasningsprosedyren (modellvalg, funksjonsvalg osv.) Må utføres uavhengig i hver fold av kryssvalideringsprosedyren, ellers vil det resulterende ytelsesestimatet være optimistisk forspent.
Svar
[REDIGERT i lys av kommentaren]
Jeg tror det er et problem hvis du bruker CV-resultater til å velge blant flere modeller.
CV lar deg bruke hele datasettet til å trene og teste en modell / metode, samtidig som du kan ha en rimelig ide om hvor godt det vil generalisere. Men hvis du sammenligner flere modeller, er mitt instinkt at modellsammenligningen bruker det ekstra nivået av togtestisolasjon som CV gir deg, så det endelige resultatet vil ikke være et rimelig estimat av den valgte modellens nøyaktighet.
Så jeg antar at hvis du lager flere modeller og velger en basert på CV-en, er du altfor optimistisk med hensyn til hva du har funnet. Et annet valideringssett ville være nødvendig for å se hvor godt vinneren generaliserer.
Kommentarer
- Takk. Det er riktig. Men spørsmålet mitt handlet spesielt om hvorfor reseach paper mangler en endelig validering? Er det en riktig grunn? Er det i ferd med å få mindre data, eller fordi CV-en fungerer bra, og en egen validering ikke er ‘ t nødvendig?
- Tilnærmingen til datadeling er svært Inntil både trening og testsett er enorme, er den gjennomsnittlige kvadratiske feilen for et estimat av sannsynlig fremtidig ytelse for en prediktiv modell mindre med bootstrapping eller wit h 100 gjentakelser av 10 ganger kryssvalidering, forutsatt at prøvetakingsprosedyrene hadde tilgang til alle modelleringstrinn som involverte $ Y $. Bruk datadeling når du også trenger å validere måleprosessen, undersøkelsesinstrumentet eller andre prosedyrer relatert til betydningen av dataene. En god bruk av datadeling er når instrumentering varierer fra land til land.
Svar
-
Etter min erfaring er hovedårsaken vanligvis at du ikke har nok prøver.
I mitt felt (klassifisering av biologiske / medisinske prøver) holdes noen ganger et testsett skilt, men ofte består det bare få tilfeller. at tilfeldighetssikkerhetsintervaller vanligvis er for brede til å være til nytte. -
En annen fordel med gjentatt / iterert kryssvalidering eller validering utenfor bootstrap er at du bygger en haug med «surrogat» -modeller. Disse antas å være like. Hvis de ikke er det, er modusene ustabile.Du kan faktisk måle denne ustabiliteten (med hensyn til å utveksle noen få opplæringssaker) ved å sammenligne enten surrogatmodellene eller spådommene forskjellige surrogatmodeller gir for samme sak.
-
Denne artikkelen av Esbensen & Geladi gir en fin diskusjon om noen begrensninger i kryssvalidering.
Du kan ta vare av de fleste av dem, men et viktig poeng som ikke kan løses ved å samplere validering er drift, som er relatert til mbq «s punkt:Det eneste unntaket til dette er tidsserier og andre data der objektrekkefølgen betyr noe
Drift betyr at f.eks. et instruments respons / ekte kalibrering endres sakte over tid. Så generaliseringsfeilen for ukjente tilfeller er kanskje ikke den samme som for ukjente fremtidige tilfeller. Du kommer til instruksjoner som «gjør om kalibrering daglig / ukentlig / …» hvis du finner drift under validering, men dette trenger testsett systematisk anskaffet senere enn treningsdataene.
(Du kan gjøre «spesielle» splitt som tar i bruk kontoinnsamlingstid, hvis eksperimentet ditt er planlagt i samsvar med, men vanligvis vil det ikke dekke så mye tid som du vil teste for drivdeteksjon)
Svar
Hvorfor skal vi gjøre kryssvalidering i stedet for å bruke et eget valideringssett?
Aurélien Géron snakker om dette i boka hans
For å unngå å «kaste bort» for mye treningsdata i valideringssett, er en vanlig teknikk å bruke kryssvalidering.
I stedet for andre k-verdier, hvorfor foretrekker vi kanskje å bruke k = 10 i kryssvalidering?
For å svare på vil først takke Jason Brownlee, PhD for hans flotte opplæring på k-fold kryssvalidering. Jeg siterer en av hans siterte bok.
Kuhn & Johnson snakket om valget av k-verdi i sin bok .
Valget av k er vanligvis 5 eller 10, men det er ingen formell regel. Etter hvert som k blir større, blir forskjellen i størrelse mellom treningssettet og undersamplingsdelsettene mindre. Når denne forskjellen minker, blir forspenningen i teknikken mindre (dvs. forspenningen er mindre for k = 10 enn k = 5 ). I denne sammenheng er skjevheten forskjellen mellom de estimerte og sanne ytelsesverdiene
Så kan man si at hvorfor vi ikke bruker leave-one -out kryssvalidering (LOOCV) som k-verdi er maksimum der, og dermed vil skjevhet være minst der. I den boka har de også snakket om hvorfor vi kan foretrekke 10 ganger CV i stedet for å foretrekke LOOCV.
Fra et praktisk synspunkt er større verdier av k mer beregningsmessig belastende. I ytterste konsekvens er LOOCV mest beregningspliktig fordi det krever like mange modelltilpasninger som datapunkter, og hver modelltilpasning bruker et delsett som er nesten like stort som treningssettet. Molinaro (2005) fant at leave-one-out og k = 10 ganger kryssvalidering ga lignende resultater, indikerer at k = 10 er mer attraktivt fra perspektivet beregningseffektivitet. Også små verdier av k, si 2 eller 3, har høy forspenning, men er veldig beregningseffektive.
Jeg har lest mange forskningsartikler om sentimentklassifisering og relaterte emner. De fleste av dem bruker 10 ganger kryssvalidering for å trene og teste klassifiserere. Det betyr at ingen separat testing / validering er gjort. Hvorfor er det?
Hvis vi ikke bruker kryssvalidering (CV) til å velge en av flere modeller (eller vi ikke bruker CV for å stille inn hyperparametrene) , vi trenger ikke å gjøre en separat test. Årsaken er at formålet med å gjøre en separat test oppnås her i CV (av en av k-foldene i hver iterasjon). Ulike SE-tråder har snakket mye om dette. Du kan sjekke.
På slutten kan du gjerne spørre meg om noe jeg har skrevet ikke er klart for deg.
Legg igjen en kommentar