Magia învăţării ansamblului

Hei Habr! Invităm inginerii de date și specialiștii în învățare automată la o lecție demonstrativă gratuită „Ieșirea modelelor ML într-un mediu industrial folosind exemplul de recomandări online”. Publicăm și articolul Luca Monno - Head of Financial Analytics la CDP SpA.

Una dintre cele mai utile și simple metode de învățare automată este învățarea prin ansamblu. Ensemble Learning este metoda din spatele XGBoost, Bagging, Random Forest și multor alți algoritmi.

Există o mulțime de articole grozave despre Towards Data Science, dar am ales două povești (în primul rând и în al doilea rând) care mi-a plăcut cel mai mult. Deci de ce să mai scriu un articol despre EL? Pentru că vreau să-ți arăt cum funcționează cu un exemplu simplu, ceea ce m-a făcut să înțeleg că aici nu există magie.

Când am văzut prima dată EL în acțiune (lucrând cu niște modele de regresie foarte simple) nu mi-a venit să cred ochilor și încă îmi amintesc de profesorul care m-a învățat această metodă.

Am avut două modele diferite (două algoritmi slabi de antrenament) cu metrici în afara eșantionului R² egal cu 0,90 și, respectiv, 0,93. Înainte de a vedea rezultatul, m-am gândit că voi obține un R² undeva între cele două valori originale. Cu alte cuvinte, am crezut că EL ar putea fi folosit pentru a face un model să nu aibă rezultate la fel de slabe precum cel mai prost model, dar nu la fel de bine pe cât ar putea performa cel mai bun model.

Spre marea mea surpriză, simpla medie a predicțiilor a dat un R² de 0,95. 

La început am început să caut eroarea, dar apoi m-am gândit că s-ar putea să se ascundă ceva magie aici!

Ce este învățarea ansamblului

Cu EL, puteți combina predicțiile a două sau mai multe modele pentru a produce un model mai robust și mai performant. Există multe metodologii de lucru cu ansambluri de modele. Aici voi atinge cele două cele mai utile pentru a oferi o privire de ansamblu.

Cu regresie este posibilă media performanței modelelor disponibile.

Cu clasificare Puteți oferi modelelor posibilitatea de a alege etichete. Eticheta care a fost aleasă cel mai des este cea care va fi aleasă de noul model.

De ce EL funcționează mai bine

Principalul motiv pentru care EL are performanțe mai bune este că fiecare predicție are o eroare (știm acest lucru din teoria probabilității), combinarea a două predicții poate ajuta la reducerea erorii și, prin urmare, la îmbunătățirea măsurătorilor de performanță (RMSE, R², etc.). d.).

Următoarea diagramă arată cum funcționează doi algoritmi slabi pe un set de date. Primul algoritm are o pantă mai mare decât este necesar, în timp ce al doilea are aproape zero (posibil din cauza supraregularizării). Dar ansamblu arata rezultate mult mai bune. 

Dacă vă uitați la indicatorul R², atunci pentru primul și al doilea algoritm de antrenament va fi egal cu -0.01¹, respectiv 0.22, în timp ce pentru ansamblu va fi egal cu 0.73.

Magia învăţării ansamblului

Există multe motive pentru care un algoritm poate fi un model prost chiar și pe un exemplu de bază ca acesta: poate ați decis să utilizați regularizarea pentru a evita supraadaptarea sau ați decis să nu excludeți unele anomalii sau poate ați folosit regresia polinomială și ați greșit. grad (de exemplu, am folosit un polinom de gradul doi, iar datele testului arată o asimetrie clară pentru care gradul al treilea ar fi mai potrivit).

Când EL funcționează mai bine

Să ne uităm la doi algoritmi de învățare care lucrează cu aceleași date.

Magia învăţării ansamblului

Aici puteți vedea că combinarea celor două modele nu a îmbunătățit prea mult performanța. Inițial, pentru cei doi algoritmi de antrenament, indicatorii R² au fost egali cu -0,37 și, respectiv, 0,22, iar pentru ansamblu s-a dovedit a fi -0,04. Adică, modelul EL a primit valoarea medie a indicatorilor.

Cu toate acestea, există o mare diferență între aceste două exemple: în primul exemplu, erorile de model au fost corelate negativ, iar în al doilea, au fost corelate pozitiv (coeficienții celor trei modele nu au fost estimați, ci au fost pur și simplu aleși de către autor ca exemplu.)

Prin urmare, învățarea ansamblului poate fi folosită pentru a îmbunătăți echilibrul părtinire/varianță în orice caz, dar când Erorile de model nu sunt corelate pozitiv, utilizarea EL poate duce la o performanță îmbunătățită.

Modele omogene și eterogene

Foarte des EL este folosit pe modele omogene (ca în acest exemplu sau pădure aleatoare), dar de fapt puteți combina diferite modele (regresie liniară + rețea neuronală + XGBoost) cu diferite seturi de variabile explicative. Acest lucru va duce probabil la erori necorelate și la îmbunătățirea performanței.

Comparație cu diversificarea portofoliului

EL funcționează similar cu diversificarea în teoria portofoliului, dar cu atât mai bine pentru noi. 

Când vă diversificați, încercați să reduceți variația performanței dvs. investind în acțiuni necorelate. Un portofoliu bine diversificat de acțiuni va avea performanțe mai bune decât cele mai proaste acțiuni individuale, dar niciodată mai bune decât cele mai bune.

Ca să-l citez pe Warren Buffett: 

„Diversificarea este o apărare împotriva ignoranței; pentru cineva care nu știe ce face, [diversificarea] are foarte puțin sens.”

În învățarea automată, EL ajută la reducerea variației modelului dvs., dar poate avea ca rezultat un model cu performanțe generale mai bune decât cel mai bun model original.

Însumați

Combinarea mai multor modele într-unul singur este o tehnică relativ simplă care poate duce la rezolvarea problemei părtinirii varianței și la îmbunătățirea performanței.

Dacă ai două sau mai multe modele care funcționează bine, nu alege între ele: folosește-le pe toate (dar cu prudență)!

Te interesează să te dezvolți în această direcție? Înscrieți-vă pentru o lecție Demo gratuită „Ieșirea modelelor ML într-un mediu industrial folosind exemplul de recomandări online” si participa la întâlnire online cu Andrey Kuznetsov — Machine Learning Engineer la Mail.ru Group.

Sursa: www.habr.com

Adauga un comentariu