Out-of-bag-fel

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.

Visualisera påsningsprocessen. Provtagning av 4 patienter från originalsetet med utbyte och visa out-of-bag seten. Endast patienter i bootstrap-provet skulle användas för att träna modellen för den väskan.

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.

  1. Hitta alla modeller (eller träd, i fallet med en slumpmässig skog ) som inte tränas av OOB-instansen.
  2. Ta majoriteten av dessa modellers resultat för OOB-instansen, jämfört med det verkliga värdet av OOB-instansen.
  3. Kompilera OOB-felet för alla instanser i OOB-datauppsättningen.
En illustration av OOB-fel

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.

Se även