Nuances van testsets

Voltooid

Testsets worden beschouwd als best practice voor de meeste aspecten van machine learning, hoewel het veld nog relatief jong is, en dus precies hoe en wanneer vaak wordt besproken. Laten we een aantal dingen bekijken die u moet overwegen.

Testsets kunnen misleidend zijn

Hoewel testsets handig zijn om overtraining te identificeren, kunnen ze ons valse betrouwbaarheid geven. Testsets zijn met name alleen nuttig als ze gegevens weerspiegelen die we verwachten te zien in de echte wereld. Onze testset is bijvoorbeeld erg klein, dus deze is niet representatief voor de verscheidenheid aan gegevens die we in de praktijk waarschijnlijk zullen zien. Testgegevenssets zijn ook slechts zo goed als de bron. Als onze testgegevensset afkomstig is van een bevooroordeeerde bron, geven onze metrische gegevens niet aan hoe dingen zich in de echte wereld gedragen.

Stel dat we proberen de relatie te vinden tussen het aantal reddingsacties en de leeftijd die een hond heeft getraind. Als onze testset slechts drie honden was, is het mogelijk dat deze honden geen goede representatie zijn van de grote verscheidenheid aan werkhonden in de echte wereld. Stel ook dat we onze testset hebben verkregen van één fokker die niet weet hoe we met puppy's moeten werken. Ons model kan voorspellen dat oudere honden het beste kunnen worden getraind, en onze testgegevensset zou dit bevestigen, terwijl andere trainers in feite enorm succes kunnen hebben met jongere dieren.

Testsets zijn niet gratis

We hebben al gezien dat hoe meer trainingsgegevens we hebben, hoe minder waarschijnlijk het is dat ons model overfitt. Op dezelfde manier geldt dat hoe groter de testsets zijn, hoe meer we het gevoel hebben dat we onze testresultaten kunnen vertrouwen. We werken echter meestal met eindige hoeveelheden gegevens en een gegevenspunt kan zich niet in zowel de training als de testset bevinden. Dit betekent dat wanneer we grotere testsets krijgen, we kleinere trainingsgegevenssets krijgen en vice versa. Hoeveel gegevens er precies moeten worden opgeofferd om in de testgegevensset te worden weergegeven, is afhankelijk van de afzonderlijke omstandigheden, waarbij alles tussen de 10 en 50% relatief gebruikelijk is, afhankelijk van de hoeveelheid beschikbare gegevens.

Trainen en testen is niet de enige benadering

Het is de moeite waard om te onthouden dat trainen en testen gebruikelijk is, maar niet de enige veelgebruikte benadering. Twee van de meest voorkomende alternatieven zijn de hold-out-benadering en statistische benaderingsmethoden .

De hold-out-benadering

De hold-out-benadering is hetzelfde als trainen en testen, maar in plaats van een gegevensset in twee op te splitsen, wordt deze gesplitst in drie: training, test (ook wel validatie genoemd) en hold-out. De trainings- en testgegevenssets zijn zoals we eerder hebben beschreven. De hold-outgegevensset is een soort testset die slechts eenmaal wordt gebruikt, wanneer we klaar zijn om ons model te implementeren voor gebruik in de echte wereld. Met andere woorden, het wordt pas gebruikt als we klaar zijn met het experimenteren met verschillende soorten trainingsschema's, verschillende soorten modellen, enzovoort.

Deze benadering pakt het feit aan dat we meestal experimenteren met verschillende modellen en trainingsschema's. We passen bijvoorbeeld een model aan, vinden dat het niet goed werkt met de testgegevensset, wijzigen enkele aspecten van het model dat wordt getraind en proberen het opnieuw totdat we een goed resultaat krijgen. Dit betekent dat we ons model doelbewust aanpassen om te werken voor een bepaalde set gegevens, net zoals bij normale training met de trainingsgegevensset. Door dit te doen, kunnen we uiteindelijk een model hebben dat in wezen te overtraind is om aan onze testgegevensset te werken.

Het idee van een derde gegevensset is dat we ook hierop kunnen testen. Deze benadering betekent dat de gegevens op drie manieren moeten worden gesplitst, wat betekent dat we met nog minder trainingsgegevens beginnen. Als we niet veel gegevens hebben om mee te werken, kan deze aanpak ons vermogen om een goed model te verkrijgen verminderen.

Statistische benaderingen

Eenvoudigere modellen die afkomstig zijn uit statistieken, hebben vaak geen testgegevenssets nodig. In plaats daarvan kunnen we direct berekenen in welke mate het model overfit is als statistische significantie: een p-waarde.

Deze statistische methoden zijn krachtig, goed ingeburgerd en vormen de basis van de moderne wetenschap. Het voordeel is dat de trainingsset nooit hoeft te worden gesplitst en dat we een veel nauwkeuriger inzicht krijgen in hoe betrouwbaar we een model kunnen zijn. Een p-waarde van 0,01 betekent bijvoorbeeld dat er een zeer kleine kans is dat ons model een relatie heeft gevonden die niet echt bestaat in de echte wereld. Een p-waarde van 0,5 betekent daarentegen dat hoewel ons model er goed uitziet met onze trainingsgegevens, het niet beter is dan een munt om te draaien in de echte wereld.

Het nadeel van deze benaderingen is dat ze alleen eenvoudig kunnen worden toegepast op bepaalde modeltypen, zoals de lineaire regressiemodellen waarmee we hebben geoefend. Voor alle modellen behalve de eenvoudigste modellen kunnen deze berekeningen zeer complex zijn om correct uit te voeren en vallen ze dus buiten het bereik van de huidige cursus. Ze hebben ook last van dezelfde beperking met betrekking tot gegevensselectie; als onze trainingsgegevens bevooroordeeld zijn, zijn onze p-waarden misleidend.