🛒 Winkelwagen-verlaatvoorspeller — Live Boosted Stumps
Bekijk hoe een echt AdaBoost-ensemble van decision stumps live traint op gesimuleerde winkelsessiekenmerken, waarbij elke zwakke leerling de verkeerd geclassificeerde sessies van de vorige ronde corrigeert.
Over deze simulatie
Deze trainer draait een echt AdaBoost-ensemble op een synthetische e-commercedataset. Elke winkelsessie draagt vijf reëelwaardige kenmerken — sessieduur, aantal items in de winkelwagen, winkelwagenwaarde, aantal paginaweergaven en een terugkerende-bezoeker-vlag — en een label (verlaten of geconverteerd) getrokken uit een onderliggende niet-lineaire regel plus ruis. Elke boostingronde voert een uitputtende gewogen zoektocht uit naar de decision stump met één kenmerk en één drempel met de laagste gewogen classificatiefout, geeft die een stemgewicht op basis van dat foutpercentage, en herweegt exponentieel de voorbeelden die verkeerd werden geclassificeerd, zodat de volgende stump gedwongen wordt zich te specialiseren op de moeilijke gevallen.
🔬 Wat het toont
Sessies worden uitgezet als punten in een draaibare 3D-kenmerkprojectie (duur, winkelwagenwaarde, paginaweergaven); puntgrootte schaalt met het huidige AdaBoost-gewicht van het voorbeeld, zodat sessies die telkens verkeerd worden geclassificeerd zichtbaar groeien ronde na ronde. De beslissingsgrens van de stump van de actieve ronde wordt live getekend wanneer het splitsingskenmerk op een uitgezette as ligt, en een lopende grafiek volgt zowel de gewogen stumpfout van de ronde als de werkelijke 0/1-trainingsfout van het ensemble terwijl ze dalen.
🎮 Hoe te gebruiken
Stel het aantal uit te voeren rondes en de zoekgranulariteit van de stump in (hoeveel kandidaatdrempels per kenmerk worden gescand), en gebruik dan Stap om één ronde per keer te doorlopen of Alles uitvoeren om continu door te lopen. Regenereren trekt een verse synthetische trainings- en achtergehouden testset uit dezelfde onderliggende regel. De leersnelheid-schuifregelaar past echte AdaBoost-shrinkage toe op het stemgewicht van elke stump. Livestatistieken rapporteren de huidige ronde, de gewogen trainingsfout van deze ronde en de nauwkeurigheid van het ensemble op ongeziene testsessies.
💡 Wist je dat?
Geen enkele decision stump kan deze dataset goed scheiden omdat de werkelijke verlaatregel twee verschillende kenmerken combineert (een snelle bounce met lage betrokkenheid OF een winkelwagen met hoge waarde van een eerste bezoeker). Dat is precies waarom AdaBoost is uitgevonden: een reeks eenvoudige, individueel zwakke as-uitgelijnde splitsingen, gecombineerd via het exponentiële herweegschema, kan een beslissingsgrens uitsnijden die geen enkele afzonderlijke stump ooit zou kunnen tekenen.
Veelgestelde vragen
Wat is AdaBoost en waarom decision stumps gebruiken als zwakke leerlingen?
AdaBoost (Adaptive Boosting) bouwt een sterke classifier door veel zwakke leerlingen te combineren tot een gewogen-meerderheidsstem. Een decision stump — een splitsing met één kenmerk en één drempel — is de klassieke zwakke leerling omdat die alleen iets beter dan willekeurig raden hoeft te presteren. De kracht van AdaBoost komt van het herweegschema: na elke ronde krijgen voorbeelden die het huidige ensemble verkeerd classificeert een verhoogd gewicht, waardoor de volgende stump gedwongen wordt zich te richten op de moeilijke gevallen. Gecombineerd over genoeg rondes kan een reeks zeer eenvoudige stumps een beslissingsgrens benaderen die veel complexer is dan wat een enkele stump zou kunnen weergeven.
Hoe wordt de beste stump van elke ronde eigenlijk gekozen?
Voor elk kandidaatkenmerk (sessieduur, items in winkelwagen, winkelwagenwaarde, paginaweergaven, terugkerende-bezoeker-vlag) scant het algoritme kandidaatdrempels tussen gesorteerde trainingswaarden en berekent voor beide polariteiten van de splitsing de gewogen classificatiefout met de huidige per-voorbeeld-gewichten. De stump met de laagste gewogen fout over elk kenmerk, elke drempel en polariteit wordt geselecteerd — dit is een uitputtende, echte zoektocht, geen heuristische kortere weg, dus de fout van de ronde is een echt minimum over de kandidatenset bij de gekozen zoekgranulariteit.
Hoe worden voorbeeldgewichten en stumpgewichten (alpha) bijgewerkt?
Gegeven de gewogen fout ε van de winnende stump, is het stemgewicht alpha = 0,5·ln((1−ε)/ε), geschaald door de leersnelheid (shrinkage) instelling. Het gewicht van elk trainingsvoorbeeld wordt dan vermenigvuldigd met exp(−alpha·y·h(x)) — het gewicht van correct geclassificeerde voorbeelden krimpt en dat van verkeerd geclassificeerde voorbeelden groeit exponentieel — voordat de hele gewichtsvector wordt genormaliseerd tot een som van één. Dit is de exacte AdaBoost.M1-updateregel, en daarom groeien herhaaldelijk verkeerd geclassificeerde sessies zichtbaar tot grotere punten ronde na ronde.
Waarom stijgt de trainingsfout soms licht tussen rondes?
De grafiek volgt de werkelijke 0/1-trainingsfout van het groeiende gewogen-meerderheidsstem-ensemble, niet alleen de gewogen fout van de nieuwste stump. Omdat elke nieuwe stump wordt gekozen om de voorbeelden te herstellen die het ensemble momenteel verkeerd classificeert, kan het toevoegen ervan af en toe een paar eerder correcte voorbeelden met laag gewicht omdraaien. De algemene trend blijft een echte, verifieerbare afname van de trainingsfout van het ensemble naarmate rondes zich opstapelen, wat het kenmerk is van boosting-convergentie.
Wat bepaalt of een sessie wordt verlaten in de gesimuleerde data?
Elke synthetische sessie krijgt vijf kenmerken en een label gegenereerd uit een echte, niet-lineaire onderliggende regel: een sessie wordt gemarkeerd als verlaten als die eruitziet als een snelle bounce met lage betrokkenheid (korte duur en weinig paginaweergaven) OF een winkelwagen met hoge waarde van een eerste bezoeker die aarzelt vóór het afrekenen — met ongeveer 8% willekeurige labelruis erbovenop. Omdat deze regel twee verschillende kenmerken combineert, kan geen enkele decision stump het perfect scheiden, precies waarom een ensemble van meerdere stumps nodig is en waarom de trainingsfout blijft verbeteren over rondes.
Een echte AdaBoost.M1-lus: uitputtende gewogen decision-stump-zoektocht over vijf kenmerken, exponentiële updates van voorbeeldgewichten, shrinkage-geschaalde alpha-stemming, en een gewogen-meerderheidsstem-ensemble geëvalueerd op een achtergehouden synthetische testset bij elke ronde.
3D · Three.js / WebGL renderer · 60 FPS target · runs fully client-side, no install