Gradient boosting machines xgboost lightgbm

Het principe van gradient boosting

Gradient boosting is een ensemble-techniek die sequentieel modellen toevoegt, waarbij elk nieuw model de fouten van de vorige probeert te corrigeren. Anders dan Random Forest, dat bomen parallel bouwt, werkt gradient boosting iteratief. Het begint met een eenvoudig model, vaak een enkele voorspelling zoals het gemiddelde. Vervolgens worden de residuen (de fouten) berekend en wordt een nieuwe boom getraind om deze residuen te voorspellen. De voorspellingen van de nieuwe boom worden met een leersnelheid (learning rate) bij het model opgeteld. Dit proces herhaalt zich tot een stopcriterium is bereikt. De naam 'gradient' verwijst naar het feit dat de residuen de negatieve gradiënt van de verliesfunctie benaderen. Gradient boosting kan worden gebruikt voor regressie en classificatie, met verschillende verliesfuncties. Het is zeer krachtig en wint vaak competities op Kaggle. De nadelen zijn de gevoeligheid voor overfitting bij te veel iteraties en de noodzaak tot zorgvuldige hyperparameter-tuning. Regularisatie, zoals shrinkage en subsampling, is essentieel. XGBoost en LightGBM zijn geoptimaliseerde implementaties die rekening houden met snelheid en geheugengebruik.

XGBoost versus LightGBM

XGBoost (Extreme Gradient Boosting) is een van de meest populaire implementaties van gradient boosting. Het introduceert regularization in de objectieve functie, wat overfitting tegengaat. Het gebruikt een tweede-orde benadering van de verliesfunctie en ondersteunt parallelle verwerking, wat de training versnelt. XGBoost gaat goed om met missing values en heeft ingebouwde cross-validatie. LightGBM (Light Gradient Boosting Machine) is ontwikkeld door Microsoft en richt zich op efficiëntie. Het gebruikt histogram-gebaseerde splitsing, waardoor het sneller traint en minder geheugen verbruikt dan XGBoost, vooral bij grote datasets. LightGBM past leaf-wise boomgroei toe in plaats van level-wise, wat tot diepere bomen leidt. Dit kan nauwkeuriger zijn, maar ook gevoeliger voor overfitting. Beide implementaties ondersteunen CPU en GPU, en hebben uitgebreide hyperparameters zoals learning rate, max depth, subsample en colsample. De keuze tussen XGBoost en LightGBM hangt af van de dataset en de beschikbare middelen. Voor grote, hoogdimensionale data is LightGBM vaak sneller; voor kleinere datasets met veel ruis kan XGBoost robuuster zijn. Beide behoren tot de top van machine learning-algoritmen voor gestructureerde data.

Dit toepassen in
jouw bedrijf?

We vertalen het naar jouw processen en laten binnen een week een werkend prototype zien.