Een inleiding tot het inpakken in machine learning
Wanneer de relatie tussen een reeks voorspellende variabelen en een responsvariabele lineair is, kunnen we methoden zoals meervoudige lineaire regressie gebruiken om de relatie tussen de variabelen te modelleren.
Wanneer de relatie echter complexer is, moeten we vaak onze toevlucht nemen tot niet-lineaire methoden.
Eén van die methoden zijn classificatie- en regressiebomen (vaak afgekort CART), die een reeks voorspellende variabelen gebruiken om beslissingsbomen te creëren die de waarde van een responsvariabele voorspellen.
Het nadeel van CART-modellen is echter dat ze vaak last hebben van een hoge variantie . Dat wil zeggen: als we een dataset in twee helften splitsen en op beide helften een beslisboom toepassen, kunnen de resultaten heel verschillend zijn.
Eén methode die we kunnen gebruiken om de variantie van CART-modellen te verminderen, staat bekend als bagging , ook wel bootstrap-aggregatie genoemd.
Wat is inzakken?
Wanneer we één beslissingsboom maken, gebruiken we slechts één set trainingsgegevens om het model te bouwen.
Bij het verpakken wordt echter de volgende methode gebruikt:
1. Neem b- bootstrapped samples uit de originele dataset.
- Bedenk dat een bootstrapped steekproef een steekproef is uit de oorspronkelijke dataset waarin waarnemingen worden gedaan met vervanging.
2. Maak een beslissingsboom voor elk bootstrap-voorbeeld.
3. Gemiddelde van de voorspellingen van elke boom om een definitief model te verkrijgen.
- Voor regressiebomen nemen we het gemiddelde van de voorspelling van de B- bomen.
- Voor classificatiebomen nemen we de meest gebruikelijke voorspelling van B -bomen.
Bagging kan worden gebruikt met elk machine learning-algoritme, maar is vooral nuttig voor beslissingsbomen omdat deze inherent een hoge variantie hebben en bagging de variantie aanzienlijk kan verminderen, wat resulteert in minder testfouten.
Om beslisbomen op zakken toe te passen, kweken we individuele bomen op diepte zonder ze te snoeien. Dit resulteert in individuele bomen met een hoge variantie, maar een lage bias. Als we vervolgens de gemiddelde voorspellingen van deze bomen nemen, kunnen we de variantie verkleinen.
In de praktijk worden optimale prestaties doorgaans bereikt met 50 tot 500 bomen, maar het is mogelijk om duizenden bomen te passen om een definitief model te produceren.
Houd er rekening mee dat het plaatsen van meer bomen meer rekenkracht vereist, wat al dan niet een probleem kan zijn, afhankelijk van de grootte van de dataset.
Schatting van out-of-bag-fouten
Het blijkt dat we de testfout van een in zakken verpakt model kunnen berekenen zonder te vertrouwen op k-voudige kruisvalidatie .
De reden is dat kan worden aangetoond dat elk bootstrap-monster ongeveer 2/3 van de waarnemingen uit de oorspronkelijke dataset bevat. Het resterende derde deel van de waarnemingen die niet in de zakboom passen, worden out-of-bag (OOB) waarnemingen genoemd.
We kunnen de waarde van de i-de waarneming in de oorspronkelijke dataset voorspellen door de gemiddelde voorspelling te nemen van elk van de bomen waarin die waarneming OOB was.
We kunnen deze aanpak gebruiken om een voorspelling te doen voor alle n waarnemingen in de originele dataset en zo een foutenpercentage te berekenen, wat een geldige schatting is van de testfout.
Het voordeel van het gebruik van deze aanpak om de testfout te schatten is dat deze veel sneller is dan k-voudige kruisvalidatie, vooral als de dataset groot is.
Het belang van voorspellers begrijpen
Bedenk dat een van de voordelen van beslisbomen is dat ze gemakkelijk te interpreteren en te visualiseren zijn.
Wanneer we in plaats daarvan ‚bagging‘ gebruiken, zijn we niet langer in staat een individuele boom te interpreteren of te visualiseren, omdat het uiteindelijke ‚bagged‘-model het resultaat is van het middelen van veel verschillende bomen. We winnen aan voorspellingsnauwkeurigheid ten koste van de interpreteerbaarheid.
We kunnen echter nog steeds het belang van elke voorspellende variabele begrijpen door de totale reductie in RSS (resterende som van kwadraten) als gevolg van de verdeling over een bepaalde voorspellende variabele te berekenen, gemiddeld over alle B- bomen. Hoe groter de waarde, hoe belangrijker de voorspeller.
Op dezelfde manier kunnen we voor classificatiemodellen de totale reductie van de Gini-index berekenen als gevolg van de verdeling over een bepaalde voorspeller, gemiddeld over alle B -bomen. Hoe groter de waarde, hoe belangrijker de voorspeller.
Dus hoewel we een uiteindelijk algemeen model niet precies kunnen interpreteren, kunnen we toch een idee krijgen van hoe belangrijk elke voorspellende variabele is bij het voorspellen van de respons.
Ga verder dan inpakken
Het voordeel van bagging is dat het over het algemeen een verbetering van het testfoutenpercentage oplevert in vergelijking met een enkele beslissingsboom.
Het nadeel is dat voorspellingen uit het verzamelen van bomen in zakken sterk gecorreleerd kunnen zijn als er een zeer sterke voorspeller in de dataset zit.
In dit geval zullen de meeste of alle bomen in zakken deze voorspeller gebruiken voor de eerste splitsing, wat resulteert in bomen die op elkaar lijken en sterk gecorreleerde voorspellingen hebben.
Eén manier om dit probleem te omzeilen is het gebruik van willekeurige bossen, die een vergelijkbare methode gebruiken als het in zakken doen van zakken, maar die wel versierde bomen kunnen produceren, wat vaak leidt tot lagere testfoutenpercentages.
Je kunt hier een eenvoudige inleiding tot willekeurige bossen lezen.
Aanvullende bronnen
Een inleiding tot classificatie- en regressiebomen
Opzakken uitvoeren in R (stap voor stap)