K-fold krydsvalidering er en teknik, der bruges til at vurdere en models ydeevne. Det er især nyttigt til at estimere hvor godt en model vil generalisere til nye, usete data. Processen involverer opdeling af datasættet i 'k' undersæt eller folder af omtrent samme størrelse. Her er en oversigt over trinene:
1. Datasætopdeling:
Datasættet er opdelt i 'k' lige store delmængder eller folder. For eksempel, hvis du har 1.000 prøver og vælger 'k' som 5, vil hver fold indeholde 200 prøver.
2. Iterativ træning og evaluering:
Modellen trænes 'k' gange. I hver iteration bruges en anden fold som valideringssæt, og de resterende folder bruges til træning. For eksempel:
-
Iteration 1: Fold 1 som validering, Folder 2 til k til træning
-
Iteration 2: Fold 2 som validering, fold 1 og 3 til k for træning
-
Iteration 3: Fold 3 som validering, fold 1 og 2, og 4 til k for træning
-
... og så videre, indtil alle folder er blevet brugt som et valideringssæt.
3. Præstationsevaluering:
Efter hver iteration evalueres modellens ydeevne ved hjælp af en valgt metrik (f.eks. nøjagtighed, præcision, tilbagekaldelse osv.) på valideringssættet. Ydeevnemålingerne fra hver iteration beregnes som gennemsnit eller kombineres for at give et overordnet estimat af modellens ydeevne.
4. Aggregation af metrics:
Ydeevnemålingerne (f.eks. nøjagtighedsscore) fra hver iteration beregnes som gennemsnit eller kombineres for at give en samlet vurdering af modellens ydeevne. Denne aggregerede metric repræsenterer modellens forventede ydeevne på usete data.
Fordele ved K-fold krydsvalidering i forhold til en simpel tog/test split
-
Bedre brug af data: K-fold krydsvalidering gør bedre brug af de tilgængelige data, da hver prøve bruges til både træning og validering.
-
Reduceret varians i præstationsestimat: Det giver et mere pålideligt estimat af modelydeevne ved at reducere variansen forbundet med et enkelt tog/testopdeling.
-
Generalisering: Det hjælper med at forstå, hvordan modellen klarer sig på forskellige delmængder af dataene, og dermed vurdere dens generaliseringsevne.
Valg af værdien af 'k'
-
Højere 'k'-værdier: Brug af en højere 'k'-værdi (f.eks. 10 eller mere) resulterer i mindre valideringssæt, hvilket kan føre til lavere bias i ydeevneestimatet, men højere beregningsomkostninger.
-
Lavere 'k'-værdier: Brug af en lavere 'k'-værdi (f.eks. 3 eller 5) reducerer beregningsomkostninger, men kan føre til en højere bias i ydeevneestimatet på grund af mindre validering sæt.
I praktiske scenarier
-
For store datasæt kan højere 'k'-værdier være beregningsmæssigt dyre.
-
Når datasættet er lille, giver et højere 'k' muligvis ikke nok data i hver fold til robust modeltræning.
-
Generelt er værdier som 5 eller 10 almindeligt anvendt, da de skaber en balance mellem beregningseffektivitet og pålidelig præstationsestimat.