Out-of-bag-fel
Del av en serie om |
maskininlärning och datautvinning |
---|
Out-of-bag ( OOB ) -fel , även kallat out-of-bag-estimat , är en metod för att mäta prediktionsfelet för slumpmässiga skogar , förstärkta beslutsträd och andra maskininlärningsmodeller som använder bootstrap-aggregering (bagging). Bagging använder delsampling med ersättning för att skapa träningsprover som modellen kan lära sig av. OOB-fel är det genomsnittliga förutsägelsefelet för varje träningsprov x i , med endast de träd som inte hade x i i sitt bootstrap-prov.
Bootstrap-aggregering gör att man kan definiera en out-of-bag-uppskattning av förbättringen av prediktionsprestanda genom att utvärdera förutsägelser på de observationer som inte användes för att bygga nästa basinlärare.
Out-of-bag dataset
När bootstrap-aggregation utförs skapas två oberoende uppsättningar. En uppsättning, bootstrap-provet, är den data som valts att vara "i-påsen" genom sampling med ersättning. Out-of-bag set är all data som inte har valts i provtagningsprocessen.
När denna process upprepas, till exempel när du bygger en slumpmässig skog , skapas många bootstrap-prover och OOB-uppsättningar. OOB-uppsättningarna kan aggregeras till en datauppsättning, men varje prov anses endast vara out-of-bag för de träd som inte inkluderar det i deras bootstrap-prov. Bilden nedan visar att för varje provtagen påse är uppgifterna uppdelade i två grupper.
Detta exempel visar hur påsar kan användas i samband med att diagnostisera sjukdom. En uppsättning patienter är den ursprungliga datamängden, men varje modell tränas endast av patienterna i sin väska. Patienterna i varje out-of-bag set kan användas för att testa sina respektive modeller. Testet skulle överväga om modellen exakt kan avgöra om patienten har sjukdomen.
Beräkning av out-of-bag-fel
Eftersom varje out-of-bag set inte används för att träna modellen är det ett bra test för modellens prestanda. Den specifika beräkningen av OOB-fel beror på implementeringen av modellen, men en generell beräkning är följande.
- Hitta alla modeller (eller träd, i fallet med en slumpmässig skog ) som inte tränas av OOB-instansen.
- Ta majoriteten av dessa modellers resultat för OOB-instansen, jämfört med det verkliga värdet av OOB-instansen.
- Kompilera OOB-felet för alla instanser i OOB-datauppsättningen.
Bagageprocessen kan anpassas för att passa en modells behov . För att säkerställa en korrekt modell bör provstorleken för bootstrap-träning vara nära den för originalsetet. Dessutom bör antalet iterationer (träd) av modellen (skogen) beaktas för att hitta det sanna OOB-felet. OOB-felet kommer att stabiliseras över många iterationer så att börja med ett stort antal iterationer är en bra idé.
Visat i exemplet till höger kan OOB-felet hittas med metoden ovan när skogen väl är uppställd.
Jämförelse med korsvalidering
Out-of-bag-fel och korsvalidering (CV) är olika metoder för att mäta feluppskattningen för en maskininlärningsmodell . Över många iterationer bör de två metoderna ge en mycket liknande feluppskattning. Det vill säga, när OOB-felet stabiliseras, kommer det att konvergera till korsvalideringsfelet (särskilt utelämna-en-ut-korsvalidering). Fördelen med OOB-metoden är att den kräver mindre beräkning och gör att man kan testa modellen medan den tränas.
Noggrannhet och konsekvens
Out-of-bag-fel används ofta för feluppskattning inom slumpmässiga skogar , men med slutsatsen av en studie gjord av Silke Janitza och Roman Hornung har out-of-bag-fel visat sig överskatta i inställningar som inkluderar lika många observationer från alla svarsklasser (balanserade urval), små urvalsstorlekar, ett stort antal prediktorvariabler, liten korrelation mellan prediktorer och svaga effekter.