Kruisvalidatie is een cruciale techniek die wordt gebruikt om te evalueren hoe goed een model zal presteren op nieuwe gegevens. Het primaire doel is om de prestaties van een model te beoordelen op een manier die problemen minimaliseert zoals overfitting ( waarbij het model te veel leert van de trainingsgegevens en slecht presteert op ongeziene gegevens) en underfitting ( waarbij het model te simplistisch is om de patronen in de gegevens te vangen).
Het concept bestaat uit het opsplitsen van de beschikbare gegevens in meerdere subsets, meestal twee grote delen: de trainingsset en de validatieset ( die soms ook de testset) wordt genoemd.
Een veelgebruikte techniek is k-voudige kruisvalidatie:
-
De dataset wordt verdeeld in 'k' subsets (of folds) van ongeveer gelijke grootte.
-
Het model wordt 'k' keer getraind, waarbij telkens een andere vouw als validatieset wordt gebruikt en de resterende vouwen als trainingsset.
-
Bij 5-voudige kruisvalidatie worden de gegevens bijvoorbeeld verdeeld in vijf subsets. Het model wordt vijf keer getraind, waarbij elke keer een andere van de vijf subsets als validatieset wordt gebruikt en de andere vier als trainingsset.
-
De prestatiecijfers ( zoals nauwkeurigheid, precisie, recall, enz.) worden gemiddeld over deze 'k' iteraties om een definitieve schatting van de prestaties te krijgen.
Andere veelgebruikte technieken zijn
Eenmalige kruisvalidatie (LOOCV)
-
Elk gegevenspunt dient als validatieset en het model wordt getraind op de rest van de gegevens.
-
Deze methode is rekenkundig duur voor grote datasets, maar kan behoorlijk nauwkeurig zijn omdat bijna alle gegevens worden gebruikt voor training.
Gestratificeerde kruisvalidatie
- Zorgt ervoor dat elke vouw representatief is voor de hele dataset. Het behoudt de klassenverdeling in elke vouw, wat nuttig is voor onevenwichtige datasets.
Kruisvalidatie is cruciaal omdat het een betrouwbaardere schatting geeft van de prestaties van een model op ongeziene gegevens in vergelijking met een enkele train-test opsplitsing. Het helpt bij het identificeren van problemen zoals over- of underfitting door een robuustere schatting te maken van hoe het model zal generaliseren op nieuwe gegevens.
Door kruisvalidatie te gebruiken, kunnen beoefenaars van machinaal leren betere beslissingen nemen over modelselectie, het afstemmen van hyperparameters en het beoordelen van de generalisatieprestaties van een model op ongeziene gegevens.