De ce să folosiți învățarea în ansamblu?

Tweet Share Share Share

Care sunt beneficiile metodelor de învățare în ansamblu pentru învățarea automată?

Ensamblurile sunt modele predictive care combină predicțiile de la alte două sau mai multe modele.

Metodele de învățare în ansamblu sunt populare și reprezintă tehnica de bază atunci când cea mai bună performanță într-un proiect de modelare predictivă este cel mai important rezultat.

Cu toate acestea, ele nu sunt întotdeauna cea mai potrivită tehnică de utilizat, iar începătorii din domeniul învățării automate aplicate au pretenția ca ansamblurile sau o anumită metodă de ansamblu să fie întotdeauna cea mai bună metodă de utilizat.

Ensamblurile oferă două beneficii specifice pe un proiect de modelare predictivă și este important să știți care sunt aceste beneficii și cum să le măsurați pentru a vă asigura că utilizarea unui ansamblu este decizia corectă în proiectul dumneavoastră.

In this tutorial, you will discover the benefits of using ensemble methods for machine learning.

After reading this tutorial, you will know:

  • A minimum benefit of using ensembles is to reduce the spread in the average skill of a predictive model.
  • A key benefit of using ensembles is to improve the average prediction performance over any contributing member in the ensemble.
  • The mechanism for improved performance with ensembles is often the reduction in the variance component of prediction errors made by the contributing models.

Let’s get started.

Why Use Ensemble Learning
Photo by Juan Antonio Segal, some rights reseved.

Tutorial Overview

This tutorial is divided into four parts; they are:

  1. Ensemble Learning
  2. Utilizați ansambluri pentru a îmbunătăți robustețea
  3. Bias, Variance, and Ensembles
  4. Utilizați ansambluri pentru a îmbunătăți performanța

Ensemble Learning

Un ansamblu este un model de învățare automată care combină predicțiile de la două sau mai multe modele.

Modelurile care contribuie la ansamblu, denumite membri ai ansamblului, pot fi de același tip sau de tipuri diferite și pot fi sau nu instruite pe aceleași date de instruire.

Predicțiile făcute de membrii ansamblului pot fi combinate folosind statistici, cum ar fi modul sau media, sau prin metode mai sofisticate care învață cât de multă încredere trebuie să aibă fiecare membru și în ce condiții.

Studiul metodelor de ansamblu a luat cu adevărat amploare în anii 1990, iar în acel deceniu au fost publicate lucrări despre metodele cele mai populare și utilizate pe scară largă, cum ar fi metodele core bagging, boosting și stacking.

La sfârșitul anilor 2000, adoptarea ansamblurilor a luat amploare datorită, în parte, succesului uriaș al acestora în competițiile de învățare automată, cum ar fi premiul Netflix și competițiile ulterioare de pe Kaggle.

În ultimele două decenii, sistemele de clasificatoare multiple, numite și sisteme de ansamblu, s-au bucurat de o atenție crescândă în cadrul comunității de inteligență computațională și de învățare automată.

– Page 1, Ensemble Machine Learning, 2012.

Metodele de ansamblu cresc foarte mult costul și complexitatea computațională. Această creștere provine din expertiza și timpul necesar pentru a antrena și a menține mai multe modele în loc de un singur model. Acest lucru forțează întrebarea:

  • De ce ar trebui să luăm în considerare utilizarea unui ansamblu?

Există două motive principale pentru a utiliza un ansamblu în locul unui singur model, iar acestea sunt legate între ele; ele sunt:

  1. Performanță: Un ansamblu poate face predicții mai bune și poate obține performanțe mai bune decât orice model unic care contribuie.
  2. Robustețe: Un ansamblu reduce răspândirea sau dispersia predicțiilor și a performanțelor modelului.

Ensamblurile sunt utilizate pentru a obține performanțe predictive mai bune într-o problemă de modelare predictivă decât un singur model predictiv. Modul în care se obține acest lucru poate fi înțeles ca modelul reducând componenta de varianță a erorii de predicție prin adăugarea de bias (adică în contextul compromisului bias-varianță).

Dezvoltat inițial pentru a reduce varianța – îmbunătățind astfel acuratețea – a unui sistem automatizat de luare a deciziilor …

– Pagina 1, Ensemble Machine Learning, 2012.

Există un alt beneficiu important și mai puțin discutat al metodelor de ansamblu este îmbunătățirea robusteții sau a fiabilității în ceea ce privește performanța medie a unui model.

Acestea sunt ambele preocupări importante în cadrul unui proiect de învățare automată și, uneori, putem prefera una sau ambele proprietăți de la un model.

Să aruncăm o privire mai atentă asupra acestor două proprietăți pentru a înțelege mai bine beneficiile utilizării învățării de ansamblu într-un proiect.

Utilizați ansambluri pentru a îmbunătăți robustețea

În cadrul unui proiect de modelare predictivă, evaluăm adesea mai multe modele sau conducte de modelare și alegem unul care se comportă bine sau cel mai bine ca model final.

Agoritmul sau pipeline-ul este apoi ajustat pe toate datele disponibile și utilizat pentru a face predicții pe date noi.

Avem o idee despre cât de bine va funcționa modelul în medie din harnașamentul nostru de testare, estimat de obicei folosind validarea încrucișată k-fold repetată ca un standard de aur. Problema este că performanța medie ar putea să nu fie suficientă.

O acuratețe sau o eroare medie a unui model este un rezumat al performanței așteptate, când, de fapt, unele modele au avut performanțe mai bune și unele modele au avut performanțe mai slabe pe diferite subseturi de date.

Deviația standard este diferența medie dintre o observație și medie și rezumă dispersia sau răspândirea datelor. Pentru o măsură a acurateței sau a erorii unui model, vă poate da o idee despre răspândirea comportamentului modelului.

Urmărind scorurile minime și maxime ale performanței modelului vă va da o idee despre cea mai proastă și cea mai bună performanță la care v-ați putea aștepta de la model, iar acest lucru ar putea să nu fie acceptabil pentru aplicația dumneavoastră.

Cel mai simplu ansamblu este de a ajusta modelul de mai multe ori pe seturile de date de instruire și de a combina predicțiile folosind o statistică de sinteză, cum ar fi media pentru regresie sau modul pentru clasificare. Este important faptul că fiecare model trebuie să fie ușor diferit din cauza algoritmului de învățare stocastică, a diferenței în compoziția setului de date de instruire sau a diferențelor în modelul însuși.

Aceasta va reduce răspândirea predicțiilor făcute de model. Performanța medie va fi probabil aproximativ aceeași, deși performanța în cel mai rău și în cel mai bun caz va fi adusă mai aproape de performanța medie.

De fapt, aceasta netezește performanța așteptată a modelului.

Ne putem referi la aceasta ca fiind „robustețea” în performanța așteptată a modelului și este un beneficiu minim al utilizării unei metode de ansamblu.

Un ansamblu poate sau nu să îmbunătățească performanța de modelare față de orice membru care contribuie singur, discutată mai departe, dar, cel puțin, ar trebui să reducă dispersia în performanța medie a modelului.

Pentru mai multe informații despre acest subiect, consultați tutorialul:

  • Cum se reduce varianța într-un model final de învățare automată

Bias, varianță și ansambluri

Modelurile de învățare automată pentru clasificare și regresie învață o funcție de cartografiere de la intrări la ieșiri.

Această cartografiere este învățată din exemple din domeniul problemei, setul de date de instruire, și este evaluată pe date care nu au fost utilizate în timpul instruirii, setul de date de testare.

Erorile comise de un model de învățare automată sunt adesea descrise în termeni de două proprietăți: prejudecata și varianța.

Principiul este o măsură a cât de aproape poate modelul să capteze funcția de cartografiere între intrări și ieșiri. Aceasta surprinde rigiditatea modelului: puterea presupunerii pe care o are modelul cu privire la forma funcțională a corespondenței dintre intrări și ieșiri.

Varianța modelului este valoarea modificării performanței modelului atunci când acesta este adaptat la diferite date de instruire. Ea surprinde impactul pe care specificul datelor îl are asupra modelului.

Varianța se referă la valoarea cu care s-ar schimba dacă l-am estima folosind un set diferit de date de instruire.

– Pagina 34, An Introduction to Statistical Learning with Applications in R, 2014.

Principiul și varianța performanței unui model sunt conectate.

În mod ideal, am prefera un model cu un bias scăzut și o varianță scăzută, deși în practică, acest lucru este foarte dificil. De fapt, acest lucru ar putea fi descris ca fiind obiectivul învățării automate aplicate pentru o anumită problemă de modelare predictivă.

Reducerea bias-ului poate fi adesea obținută cu ușurință prin creșterea varianței. Invers, reducerea varianței poate fi obținută cu ușurință prin creșterea bias-ului.

Acesta este denumit un compromis, deoarece este ușor să se obțină o metodă cu bias extrem de scăzut, dar cu varianță ridicată sau o metodă cu varianță foarte scăzută, dar cu bias ridicat …

– Pagina 36, An Introduction to Statistical Learning with Applications in R, 2014.

Câteva modele au în mod natural o prejudecată mare sau o varianță mare, care pot fi adesea relaxate sau mărite cu ajutorul hiperparametrilor care modifică comportamentul de învățare al algoritmului.

Ensamblurile oferă o modalitate de a reduce varianța predicțiilor; aceasta este cantitatea de eroare din predicțiile efectuate care poate fi atribuită „varianței.”

Nu este întotdeauna cazul, dar atunci când este, această reducere a varianței, la rândul său, duce la îmbunătățirea performanței predictive.

Evidențele empirice și teoretice arată că unele tehnici de ansamblu (cum ar fi bagging) acționează ca un mecanism de reducere a varianței, adică, acestea reduc componenta de varianță a erorii. Mai mult decât atât, rezultatele empirice sugerează că alte tehnici de ansamblu (cum ar fi AdaBoost) reduc atât partea de polarizare, cât și partea de varianță a erorii.

– Pagina 39, Pattern Classification Using Ensemble Methods, 2010.

Utilizarea ansamblurilor pentru a reduce proprietățile de varianță ale erorilor de predicție conduce la beneficiul cheie al utilizării ansamblurilor în primul rând: îmbunătățirea performanței de predicție.

Utilizarea ansamblurilor pentru a îmbunătăți performanța

Reducerea elementului de varianță al erorii de predicție îmbunătățește performanța de predicție.

Utilizăm în mod explicit învățarea prin ansambluri pentru a căuta o performanță de predicție mai bună, cum ar fi o eroare mai mică la regresie sau o acuratețe ridicată pentru clasificare.

… există o modalitate de a îmbunătăți acuratețea modelului care este mai ușoară și mai puternică decât selecția judicioasă a algoritmilor: se pot aduna modelele în ansambluri.

– Pagina 2, Ensemble Methods in Data Mining, 2010.

Aceasta este principala utilizare a metodelor de învățare în ansamblu și beneficiul demonstrat prin utilizarea ansamblurilor de către majoritatea câștigătorilor competițiilor de învățare automată, cum ar fi premiul Netflix și competițiile de pe Kaggle.

În cadrul premiului Netflix, s-a desfășurat timp de doi ani un concurs în care prima echipă care a prezentat un model care să îmbunătățească cu 10% sistemul intern de recomandări al Netflix ar fi câștigat 1.000.000 de dolari. marginea finală a fost obținută prin cântărirea contribuțiilor din modelele a până la 30 de concurenți.

– Pagina 8, Ensemble Methods in Data Mining, 2010.

Acest beneficiu a fost demonstrat și în cazul competițiilor academice, cum ar fi soluțiile de top pentru celebrul set de date ImageNet în domeniul vederii computerizate.

Un ansamblu al acestor rețele reziduale obține o eroare de 3,57% pe setul de testare ImageNet. Acest rezultat a câștigat locul 1 în cadrul sarcinii de clasificare ILSVRC 2015.

– Deep Residual Learning for Image Recognition, 2015.

Când este utilizat în acest mod, un ansamblu ar trebui să fie adoptat numai dacă are performanțe mai bune în medie decât orice membru contribuitor al ansamblului. Dacă nu este cazul, atunci ar trebui să se utilizeze în schimb membrul contribuitor care are o performanță mai bună.

Considerați distribuția scorurilor așteptate calculate de un model pe o harnașament de testare, cum ar fi validarea încrucișată repetată k-fold, așa cum am făcut mai sus atunci când am luat în considerare „robustețea” oferită de un ansamblu. Un ansamblu care reduce varianța erorilor, de fapt, va deplasa distribuția, mai degrabă decât să micșoreze pur și simplu răspândirea distribuției.

Acest lucru poate duce la o performanță medie mai bună în comparație cu orice model individual.

Acest lucru nu este întotdeauna cazul, iar a avea această așteptare este o greșeală frecventă făcută de începători.

Este posibil, și chiar comun, ca performanța unui ansamblu să nu fie mai bună decât cea a celui mai performant membru al ansamblului. Acest lucru se poate întâmpla în cazul în care ansamblul are un model cu cea mai bună performanță, iar ceilalți membri nu oferă niciun beneficiu sau ansamblul nu este capabil să valorifice contribuția lor în mod eficient.

Este, de asemenea, posibil ca un ansamblu să aibă o performanță mai slabă decât cea a celui mai performant membru al ansamblului. Și acest lucru este comun orice implică, de obicei, un model cu performanțe de top ale cărui predicții sunt înrăutățite de unul sau mai multe alte modele cu performanțe slabe, iar ansamblul nu este capabil să valorifice contribuțiile lor în mod eficient.

Ca atare, este important să testăm o suită de metode de ansamblu și să le reglăm comportamentul, la fel cum facem pentru orice model individual de învățare automată.

Lecturi suplimentare

Această secțiune oferă mai multe resurse pe această temă, dacă doriți să aprofundați.

Related Tutorials

  • How to Reduce Variance in a Final Machine Learning Model
  • How to Develop a Horizontal Voting Deep Learning Ensemble to Reduce Variance

Books

  • Pattern Classification Using Ensemble Methods, 2010.
  • Ensemble Methods, 2012.
  • Ensemble Machine Learning, 2012.
  • Ensemble Methods in Data Mining, 2010.

Articles

  • Ensemble learning, Wikipedia.
  • Ensemble learning, Scholarpedia.

Summary

In this post, you discovered the benefits of using ensemble methods for machine learning.

În mod specific, ați învățat:

  • Un beneficiu minim al utilizării ansamblurilor este reducerea răspândirii abilității medii a unui model de predicție.
  • Un beneficiu cheie al utilizării ansamblurilor este îmbunătățirea performanței medii de predicție asupra oricărui membru care contribuie în ansamblu.
  • Mecanismul de îmbunătățire a performanței cu ansambluri este adesea reducerea componentei de varianță a erorilor de predicție făcute de modelele care contribuie.

.

Lasă un răspuns

Adresa ta de email nu va fi publicată.