Video: Metafoor touwtrekken met een monster (Vermijding vs Acceptatie) 2024
De validatieaanpak van machine learning is een onderzoek naar een mogelijke remedie tegen bias in de steekproef. In de sampling-vertekening kan uw data gebeuren voordat machine-learning in actie wordt gebracht en veroorzaakt een grote variatie van de volgende schattingen. Daarnaast moet u letten op lekkage-vallen die kunnen optreden wanneer bepaalde informatie uit het out-of-sample wordt doorgegeven aan in-sample-gegevens. Dit probleem kan optreden wanneer u de gegevens voorbereidt of nadat uw machine-leermodel gereed is en werkt.
De remedie, die ensembling van predictoren wordt genoemd, werkt perfect wanneer je trainingsmonster niet volledig is vervormd en de verdeling ervan verschilt van de out-of-sample, maar niet op een onherstelbare manier, zoals zoals wanneer al uw klassen aanwezig zijn, maar niet in de juiste verhouding (als voorbeeld). In dergelijke gevallen worden uw resultaten beïnvloed door een zekere variantie van de schattingen die u mogelijk op een van de volgende manieren kunt stabiliseren: door opnieuw te samplen, zoals bij bootstrappen; door subsampling (het nemen van een monster van het monster); of door kleinere monsters te gebruiken (wat de bias verhoogt).
Om te begrijpen hoe ensembling zo effectief werkt, visualiseer je het beeld van een schot in de roos. Als uw steekproef de voorspellingen beïnvloedt, zullen sommige voorspellingen exact zijn en zullen anderen op een willekeurige manier fout zitten. Als u uw voorbeeld wijzigt, blijven de juiste voorspellingen gelijk, maar de verkeerde varianten worden variaties tussen verschillende waarden. Sommige waarden zijn de exacte voorspelling die u zoekt; anderen zullen gewoon rond de juiste oscilleren.
Door de resultaten te vergelijken, kunt u raden dat wat terugkeert het juiste antwoord is. Je kunt ook een gemiddelde van de antwoorden nemen en raden dat het juiste antwoord in het midden van de waarden zou moeten staan. Met het schot in de roos kunt u foto's van verschillende games over elkaar heen plaatsen: als het probleem variantie betreft, zult u uiteindelijk raden dat het doelwit zich in het gebied met de meeste klappen bevindt of in elk geval in het midden van alle opnamen.
In de meeste gevallen blijkt een dergelijke aanpak correct te zijn en worden uw voorspellingen voor machinaal leren veel verbeterd. Wanneer uw probleem vertekening is en geen variantie, veroorzaakt het gebruik van ensemble echt geen schade tenzij u te weinig monsters samplet. Een goede vuistregel voor subsampling is om een monster te nemen van 70 tot 90 procent in vergelijking met de originele in-sample data. Als u ensembling-werk wilt maken, moet u het volgende doen:
- Itereer een groot aantal keren via uw gegevens en modellen (van slechts een minimum van drie iteraties tot idealiter honderden keren).
- Telkens als u itereert, subsample (of anders bootstrap) uw in-sample gegevens.
- Gebruik machine learning voor het model op de opnieuw bemonsterde gegevens en voorspel de out-of-sample resultaten. Bewaar deze resultaten voor later gebruik.
- Aan het einde van de iteraties neemt u voor alle buiten de steekproef opgenomen casussen die u wilt voorspellen alle voorspellingen op en waardeert u deze als u een regressie uitvoert. Neem de meest voorkomende klas als je een classificatie aan het doen bent.
Lekkage vallen kunnen u verrassen omdat ze een onbekende en onontdekte bron van problemen met uw machine leerprocessen kunnen blijken te zijn. Het probleem is snooping of anderszins te veel observeren van de out-of-sample data en het te vaak aanpassen. Kortom, snooping is een soort van overfittering - en niet alleen op de trainingsgegevens, maar ook op de testgegevens, waardoor het overfitting-probleem zelf moeilijker te detecteren is totdat je nieuwe gegevens krijgt.
Meestal besef je dat het probleem snuffelen is wanneer je het algoritme voor machinaal leren al hebt toegepast op je bedrijf of op een service voor het publiek, waardoor het probleem een probleem is dat iedereen kan zien.
Je kunt voorkomen dat er op twee manieren wordt geknuffeld. Ten eerste, zorg er bij het gebruik van de gegevens voor dat de training-, validatie- en testgegevens netjes worden gescheiden. Neem bij het verwerken nooit enige informatie uit de validatie of test, zelfs de meest eenvoudige en onschuldig ogende voorbeelden. Erger nog is om een complexe transformatie toe te passen met behulp van alle gegevens.
In de financiële wereld is het bijvoorbeeld algemeen bekend dat het berekenen van het gemiddelde en de standaarddeviatie (die u eigenlijk veel over de marktomstandigheden en het risico kan vertellen) van alle trainings- en testgegevens kostbare informatie over uw modellen kan lekken. Wanneer er lekkage optreedt, voeren algoritmen voor het leren van de machine voorspellingen uit op de testset in plaats van de out-of-sample-gegevens van de markten, wat betekent dat ze helemaal niet werkten, waardoor er geld verloren ging.
Controleer de prestaties van uw out-of-sample voorbeelden. In feite kunt u wat informatie van uw rondneuzen in de testresultaten terughalen om u te helpen vaststellen dat bepaalde parameters beter zijn dan andere, of u ertoe brengen om een algoritme voor machine-learning te kiezen in plaats van een ander. Pas voor elk model of elke parameter uw keuze toe op basis van cross-validatieresultaten of van de validatie-steekproef. Val nooit voor het krijgen van afhaalrestaurants van uw out-of-sample data of u zult er later spijt van krijgen.