Kruisvalidatie

Inferentie, schatting en besluitvorming uit data

Je kunt een model niet beoordelen op zijn trainingsfout; het heeft die data al gezien, dus het kan vals spelen door te memoriseren. Je hebt zijn fout nodig op data die het nooit eerder heeft gezien. Maar het apart houden van een enkele testset verspilt data en geeft een ruizige schatting. Kruisvalidatie lost beide problemen op.

Bij k-voudige kruisvalidatie splits je de data in k gelijke vouwen. Train op k−1 ervan, valideer op de apart gehouden vouw, en roteer zo dat elke vouw precies één keer als validatieset dient. Middel de k validatiefouten voor een stabiele schatting van hoe het model generaliseert.

Kruisvalidatie is net alsof je verschillende proefexamens maakt om je score op het echte examen te voorspellen. Als je jezelf alleen zou beoordelen op vragen waarvan je de antwoorden al uit je hoofd had geleerd, zou je de boel enorm overschatten, dus je legt elke keer een nieuwe lichting vragen apart, beoordeelt jezelf daarop, en rouleert welke lichting wordt achtergehouden. Het middelen van je scores over alle proefzittingen geeft een veel stabielere voorspelling van hoe je het op de dag zelf zult doen dan welk individueel proefexamen dan ook zou doen.

Waar dit voorkomt in MLKruisvalidatie is hoe ML-beoefenaars modellen en hyperparameters selecteren zonder zichzelf voor de gek te houden. Het schat de generalisatiefout (de grootheid waar de bias–variantie-decompositie over gaat) en gebruikt daarbij alle data efficiënt. En het is de eerste verdedigingslinie tegen datalek: de stille bug waarbij informatie uit de testverdeling in de training sluipt en prachtige, volledig…
▶ Kruisvalidatie
← Bias-Variantie-DecompositieEvaluatiemetrieken →