K-voudige kruisvalidatie in machine learning

Bijgewerkt op June 22, 2024 3 Minuten lezen

K-voudige kruisvalidatie in machine learning cover image

K-voudige kruisvalidatie is een techniek die wordt gebruikt om de prestaties van een model te beoordelen. Het is met name handig voor het inschatten van hoe goed een model zal generaliseren naar nieuwe, onzichtbare gegevens. Het proces omvat het verdelen van de dataset in ‘k’-subsets of vouwen van ongeveer gelijke grootte. Hier volgt een overzicht van de stappen:

1. Dataset splitsen:

De dataset is verdeeld in ‘k’ subsets of vouwen van gelijke grootte. Als u bijvoorbeeld 1000 monsters heeft en ‘k’ kiest als 5, bevat elke vouw 200 monsters.

2. Iteratieve training en evaluatie:

Het model wordt ‘k’ keer getraind. In elke iteratie wordt een andere vouw gebruikt als validatieset en worden de overige vouwen gebruikt voor training. Bijvoorbeeld:

  • Iteratie 1: Vouw 1 als validatie, vouw 2 tot k voor training

  • Iteratie 2: Vouw 2 als validatie, vouw 1 en 3 tot k voor training

  • Iteratie 3: Vouw 3 als validatie, Vouw 1 en 2, en 4 tot k voor training

  • … enzovoort totdat alle vouwen als validatieset zijn gebruikt.

3. Prestatie-evaluatie:

Na elke iteratie worden de prestaties van het model geëvalueerd met behulp van een gekozen metriek (bijvoorbeeld nauwkeurigheid, precisie, terugroepen, enz.) op de validatieset. De prestatiestatistieken van elke iteratie worden gemiddeld of gecombineerd om een ​​algemene schatting van de prestaties van het model te geven.

4. Aggregatie van statistieken:

De prestatiestatistieken (bijvoorbeeld nauwkeurigheidsscores) van elke iteratie worden gemiddeld of gecombineerd om een ​​algemene beoordeling van de prestaties van het model te geven. Deze geaggregeerde statistiek vertegenwoordigt de verwachte prestaties van het model op ongeziene gegevens.

Voordelen van K-voudige kruisvalidatie ten opzichte van een eenvoudige trein/test-splitsing

  • Beter gebruik van gegevens: K-voudige kruisvalidatie maakt beter gebruik van de beschikbare gegevens, aangezien elk monster wordt gebruikt voor zowel training als validatie.

  • Verminderde variantie in prestatieschatting: het biedt een betrouwbaardere schatting van de modelprestaties door de variantie te verminderen die gepaard gaat met een enkele trein-/testsplitsing.

  • Generalisatie: het helpt bij het begrijpen hoe het model presteert op verschillende subsets van de gegevens, waardoor het generalisatievermogen ervan kan worden beoordeeld.

De waarde van ‘k’ kiezen

  • Hogere ‘k’-waarden: het gebruik van een hogere ‘k’-waarde (bijvoorbeeld 10 of meer) resulteert in kleinere validatiesets, wat kan leiden tot lagere bias in de prestatieschatting, maar hogere rekenkosten.

  • Lagere ‘k’-waarden: het gebruik van een lagere ‘k’-waarde (bijvoorbeeld 3 of 5) verlaagt de rekenkosten maar kan leiden tot een grotere vertekening in de prestatieschatting vanwege kleinere validatie sets.

In praktische scenario’s

  • Voor grote datasets kunnen hogere ‘k’-waarden rekentechnisch duur zijn.

  • Wanneer de dataset klein is, levert een hogere ‘k’ mogelijk niet voldoende gegevens in elke vouw op voor robuuste modeltraining.

  • Over het algemeen worden waarden als 5 of 10 vaak gebruikt, omdat ze een evenwicht bieden tussen rekenefficiëntie en betrouwbare prestatieschatting.