Ensemble learning

Bayes optimal classifierEdit

De Bayes optimal classifier is een classificatietechniek. Het is een ensemble van alle hypothesen in de hypothesenruimte. Gemiddeld kan geen enkel ander ensemble het overtreffen. De naïeve Bayes optimal classifier is een versie hiervan die ervan uitgaat dat de gegevens voorwaardelijk onafhankelijk van de klasse en maakt de berekening meer haalbaar. Elke hypothese krijgt een stem die evenredig is aan de waarschijnlijkheid dat de trainingsdataset uit een systeem zou worden bemonsterd als die hypothese waar was. Om trainingsgegevens van eindige grootte te vergemakkelijken, wordt de stem van elke hypothese ook vermenigvuldigd met de eerdere waarschijnlijkheid van die hypothese. De Bayes optimale classifier kan worden uitgedrukt met de volgende vergelijking:

y = a r g m a x c j ∈ C ∑ h i ∈ H P c j | h i ) P ( T | h i ) P ( h i ) {\displaystyle y={\underset {c_{j}\in C}{\mathrm {argmax} }}\som _{h_{i}\in H}{P(c_{j}|h_{i})P(T|h_{i})P(h_{i})}}

waar y {\displaystyle y} is de voorspelde klasse, C {\displaystyle C} is de verzameling van alle mogelijke klassen, H {\displaystyle H} is de hypothese ruimte, P {\displaystyle P} verwijst naar een kans, en T {\displaystyle T} is de training data. Als ensemble vertegenwoordigt de Bayes optimal classifier een hypothese die niet noodzakelijkerwijs in H {\displaystyle H} staat. De hypothese vertegenwoordigd door de Bayes optimal classifier is echter de optimale hypothese in de ensembleruimte (de ruimte van alle mogelijke ensembles die alleen bestaan uit hypothesen in H {\displaystyle H} ).

deze formule kan worden aangepast met behulp van de stelling van Bayes, die zegt dat de posterior evenredig is met de waarschijnlijkheid keer de eerdere:

P ( h | T ) ∝ P ( T | h i ) P ( h i ) {\displaystyle P(h_{i}|T)\propto P(T|h_{i})P(h_{i})}

dus

y = a r g m a x c j ∈ C ∑ h i ∈ H P c j | h i ) P ( h | T ) {\displaystyle y={\underset {c_{j}\in C}{\mathrm {argmax} }}\som _{h_{i}\in H}{P(c_{j}|h_{i})P(h_{i}|T)}}

Bootstrap het aggregeren van (afzak)Bewerken

hoofdartikel: Bootstrap aggregeren

Bootstrap aggregeren, vaak afgekort als zakken, houdt in dat u elk model in het ensemble stemmen met gelijk gewicht. Om modelvariantie te bevorderen, traint bagging elk model in het ensemble met behulp van een willekeurig getrokken deelverzameling van de trainingsset. Het algoritme random forest combineert bijvoorbeeld willekeurige beslissingsbomen met bagging om een zeer hoge classificatienauwkeurigheid te bereiken.

bij het verpakken worden de monsters zodanig gegenereerd dat de monsters van elkaar verschillen, maar vervanging is toegestaan. Vervanging betekent dat een instantie kan optreden in meerdere monsters een meerdere keren of het kan niet verschijnen in sommige monsters op alle. Deze monsters worden dan gegeven aan meerdere leerlingen en vervolgens de resultaten van elke leerling worden gecombineerd in de vorm van stemmen.

BoostingEdit

Main article: Boosting (meta-algoritme)

Boosting omvat stapsgewijs bouwen van een ensemble door het trainen van elke nieuwe model instantie om de training instanties die eerdere modellen mis-classificeert benadrukken. In sommige gevallen is aangetoond dat boosting een betere nauwkeurigheid oplevert dan bagging, maar het heeft ook de neiging om de trainingsgegevens te veel aan te passen. Veruit, de meest voorkomende implementatie van boosting is Adaboost, hoewel sommige nieuwere algoritmen worden gemeld om betere resultaten te bereiken.

bij het stimuleren wordt een gelijk gewicht (uniforme kansverdeling) gegeven aan de trainingsgegevens van de steekproef (zeg D1) aan het begin van de Ronde. Deze gegevens (D1) worden dan gegeven aan een basisleerder (zeg L1). De verkeerd geclassificeerde instanties door L1 krijgen een gewicht dat hoger is dan de correct geclassificeerde instanties, maar rekening houdend met het feit dat de totale kansverdeling gelijk is aan 1. Deze verhoogde gegevens (zeg D2) wordt dan gegeven aan tweede basis leerling (zeg L2) en ga zo maar door. De resultaten worden vervolgens gecombineerd in de vorm van stemming.

Bayesiaans model averagingEdit

Bayesiaans model averaging (BMA) maakt voorspellingen met behulp van een gemiddelde over meerdere modellen met gewichten gegeven door de posterieure waarschijnlijkheid van elk model gegeven de gegevens. Het is bekend dat BMA over het algemeen betere antwoorden geeft dan een enkel model, verkregen, bijvoorbeeld door stapsgewijze regressie, vooral wanneer zeer verschillende modellen bijna identieke prestaties hebben in de trainingsset, maar anders heel anders kunnen presteren.

de meest voor de hand liggende vraag bij elke techniek die gebruik maakt van de stelling van Bayes is de prior, d.w.z. een specificatie van de waarschijnlijkheid (subjectief, misschien) dat elk model het beste is om te gebruiken voor een bepaald doel. Conceptueel, BMA kan worden gebruikt met elke eerdere. De ensembleBMA-en BMA-pakketten voor R gebruiken de prior die wordt geïmpliceerd door het Bayesian information criterion (BIC), volgend op Raftery (1995). Het bas-pakket voor R ondersteunt het gebruik van de priors geïmpliceerd door Akaike information criterion (AIC) en andere criteria over de alternatieve modellen, evenals priors over de coëfficiënten.

het verschil tussen BIC en AIC is de sterkte van de voorkeur voor spaarzaamheid. De straf voor modelcomplexiteit is ln ⁡ ( n ) k {\displaystyle \ln(N)k} voor de BIC en 2 k {\displaystyle 2k} voor de AIC. Grote steekproef asymptotische theorie heeft vastgesteld dat als er een beste model dan met toenemende steekproefgrootte, Bic is sterk consistent, dat wil zeggen, zal bijna zeker het vinden, terwijl AIC kan niet, omdat AIC kan doorgaan met het plaatsen van bovenmatige posterieure waarschijnlijkheid op modellen die ingewikkelder zijn dan zij moeten zijn. Als aan de andere kant zijn we meer bezig met efficiëntie, d.w.z., minimale gemiddelde vierkante voorspelling fout, dan asymptotisch, AIC en AICc zijn “efficiënt” terwijl BIC is niet.

Burnham and Anderson (1998, 2002) hebben in belangrijke mate bijgedragen aan de introductie van een breder publiek in de basisideeën van Bayesiaans modelgemiddelde en popularisering van de methodologie. De beschikbaarheid van software, inclusief andere gratis open-source pakketten voor R buiten de hierboven genoemde, hielp de methoden toegankelijk te maken voor een breder publiek.

Haussler et al. (1994) toonde aan dat wanneer BMA wordt gebruikt voor classificatie, de verwachte fout is ten hoogste tweemaal de verwachte fout van de Bayes optimal classifier.

Bayesian model combinationEdit

Bayesian model combination (BMC) is een algoritmische correctie voor Bayesian model averaging (BMA). In plaats van elk model in het ensemble afzonderlijk te bemonsteren, neemt het monsters uit de ruimte van mogelijke ensembles (met modelgewichten willekeurig getrokken uit een Dirichlet-verdeling met uniforme parameters). Deze wijziging overwint de neiging van BMA om te convergeren in de richting van het geven van al het gewicht aan een enkel model. Hoewel BMC iets meer rekenkundig duurder is dan BMA, heeft het de neiging om dramatisch betere resultaten op te leveren. De resultaten van BMC zijn gemiddeld beter (met statistische significantie) dan BMA en bagging.

het gebruik van Bayes’ wet om modelgewichten te berekenen vereist het berekenen van de waarschijnlijkheid van de gegevens gegeven elk model. Typisch, geen van de modellen in het ensemble zijn precies de verdeling van waaruit de trainingsgegevens werden gegenereerd, dus ze allemaal correct ontvangen een waarde dicht bij nul voor deze term. Dit zou goed werken als het ensemble groot genoeg was om de gehele modelruimte te proeven, maar dat is zelden mogelijk. Bijgevolg zal elk patroon in de trainingsgegevens ervoor zorgen dat het gewicht van het ensemble verschuift naar het model in het ensemble dat het dichtst bij de verspreiding van de trainingsgegevens ligt. Het reduceert zich in wezen tot een onnodig complexe methode voor het doen van modelselectie.

de mogelijke wegingen voor een ensemble kunnen worden gevisualiseerd als liggend op een simplex. Op elk hoekpunt van de simplex wordt al het gewicht gegeven aan een enkel model in het ensemble. BMA convergeert naar de top die het dichtst bij de verspreiding van de trainingsgegevens staat. BMC convergeert daarentegen naar het punt waar deze distributie projecteert op de simplex. Met andere woorden, in plaats van het ene model te selecteren dat het dichtst bij de genererende distributie staat, zoekt het de combinatie van modellen die het dichtst bij de genererende distributie staat.

de resultaten van BMA kunnen vaak worden benaderd door kruisvalidatie te gebruiken om het beste model uit een emmer modellen te selecteren. Ook kunnen de resultaten van BMC worden benaderd door middel van kruisvalidatie om de beste ensemblecombinatie te selecteren uit een willekeurige steekproef van mogelijke wegingen.

emmer met modellenedit

een “emmer met modellen” is een ensembletechniek waarbij een modelselectie-algoritme wordt gebruikt om het beste model voor elk probleem te kiezen. Wanneer getest met slechts één probleem, kan een emmer met modellen geen betere resultaten opleveren dan het beste model in de set, maar wanneer geëvalueerd over veel problemen, zal het meestal veel betere resultaten opleveren, gemiddeld, dan elk model in de set.

de meest gebruikte methode voor modelselectie is kruisvalidatieselectie (soms een “bake-off wedstrijd”genoemd). Het wordt beschreven met de volgende pseudo-code:

For each model m in the bucket: Do c times: (where 'c' is some constant) Randomly divide the training dataset into two datasets: A, and B. Train m with A Test m with BSelect the model that obtains the highest average score

Cross-Validation selectie kan worden samengevat als:”probeer ze allemaal met de trainingsset, en kies degene die het beste werkt”.

Gating is een generalisatie van Kruisvalidatieselectie. Het gaat om het trainen van een ander leermodel om te beslissen welke van de modellen in de emmer het meest geschikt is om het probleem op te lossen. Vaak wordt een perceptron gebruikt voor het gating model. Het kan worden gebruikt om het “beste” model te kiezen, of het kan worden gebruikt om een lineair gewicht te geven aan de voorspellingen van elk model in de emmer.

wanneer een emmer met modellen wordt gebruikt met een grote reeks problemen, kan het wenselijk zijn sommige modellen die veel tijd nodig hebben om te trainen, niet te trainen. Landmark learning is een meta-learning benadering die probeert om dit probleem op te lossen. Het gaat om het trainen van alleen de snelle (maar onnauwkeurige) algoritmen in de emmer, en vervolgens met behulp van de prestaties van deze algoritmen om te helpen bepalen welk langzaam (maar accuraat) algoritme is het meest waarschijnlijk het beste te doen.

StackingEdit

Stacking (ook wel stacked generalization genoemd) omvat het trainen van een leeralgoritme om de voorspellingen van verschillende andere leeralgoritmen te combineren. Eerst worden alle andere algoritmen getraind met behulp van de beschikbare gegevens, vervolgens wordt een combiner-algoritme getraind om een definitieve voorspelling te maken met behulp van alle voorspellingen van de andere algoritmen als extra input. Als een willekeurig combineralgoritme wordt gebruikt, kan stapelen theoretisch een van de in dit artikel beschreven ensembletechnieken vertegenwoordigen, hoewel in de praktijk vaak een logistisch regressiemodel als combiner wordt gebruikt.

stapelen levert doorgaans betere prestaties op dan elk afzonderlijk van de getrainde modellen. Het is met succes gebruikt voor zowel begeleide leertaken (regressie, classificatie en afstandsonderwijs )als voor ongecontroleerd leren (dichtheidsschatting). Het is ook gebruikt om het foutenpercentage van bagging te schatten. Het is gemeld dat het Bayesiaans model-middeling overtreft.De twee top-performers in de Netflix competitie gebruikt mengen, die kan worden beschouwd als een vorm van stapelen.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *