Connect with us

IA 101

Ce este învățarea ensemble?

mm

Una dintre cele mai puternice tehnici de învățare automată este învățarea ensemble. Ensemble learning este utilizarea mai multor modele de învățare automată pentru a îmbunătăți fiabilitatea și acuratețea predicțiilor. Dar cum duce utilizarea mai multor modele de învățare automată la predicții mai precise? Ce fel de tehnici sunt utilizate pentru a crea modele de învățare ensemble? Vom explora răspunsul la aceste întrebări, examinând rațiunea din spatele utilizării modelelor ensemble și principalele moduri de creare a modelelor ensemble.

Ce este învățarea ensemble?

Pentru a fi simplu, învățarea ensemble este procesul de antrenare a mai multor modele de învățare automată și combinarea ieșirilor lor. Modelele diferite sunt utilizate ca bază pentru a crea un model predictiv optim. Combinarea unui ansamblu divers de modele individuale de învățare automată poate îmbunătăți stabilitatea modelului general, conducând la predicții mai precise. Modelele de învățare ensemble sunt adesea mai fiabile decât modelele individuale, și, ca urmare, ele ocupă adesea primul loc în multe concursuri de învățare automată.

Există diferite tehnici pe care un inginer le poate utiliza pentru a crea un model de învățare ensemble. Tehnicile simple de învățare ensemble includ lucruri precum medierea ieșirilor diferitelor modele, în timp ce există și metode mai complexe și algoritmi dezvoltați special pentru a combina predicțiile mai multor modele de bază.

De ce să se utilizeze metode de antrenare ensemble?

Modelele de învățare automată pot fi diferite unele de altele din diverse motive. Diferite modele de învățare automată pot opera pe diferite mostre de date ale populației, pot fi utilizate tehnici de modelare diferite, și poate fi utilizat un ipoteză diferit.

Imaginați-vă că jucați un joc de trivia cu un grup mare de oameni. Dacă sunteți singur în echipă, există cu siguranță subiecte despre care aveți cunoștințe și multe subiecte despre care nu aveți cunoștințe. Acum presupuneți că jucați într-o echipă cu alți oameni. La fel ca și voi, ei vor avea cunoștințe cu privire la specialitățile lor și nu vor avea cunoștințe despre alte subiecte. Cu toate acestea, atunci când cunoștințele voastre sunt combinate, aveți presupuneri mai precise pentru mai multe domenii, și numărul de subiecte despre care echipa voastră nu are cunoștințe scade. Acesta este același principiu care stă la baza învățării ensemble, combinând predicțiile diferiților membri ai echipei (modele individuale) pentru a îmbunătăți acuratețea și a minimiza erorile.

Statisticianii au demonstrat că atunci când un grup de oameni este întrebat să ghicească răspunsul corect pentru o întrebare dată cu un interval de răspunsuri posibile, toate răspunsurile lor formează o distribuție de probabilitate. Oamenii care cunosc cu adevărat răspunsul corect vor alege răspunsul corect cu încredere, în timp ce oamenii care aleg răspunsuri greșite vor distribui ghicirile lor pe intervalul de răspunsuri posibile incorecte. Revenind la exemplul jocului de trivia, dacă voi și cei doi prieteni ai voștri știți că răspunsul corect este A, toți trei veți vota A, în timp ce ceilalți trei oameni din echipa voastră care nu știu răspunsul vor ghici probabil incorect B, C, D sau E. Rezultatul este că A are trei voturi și celelalte răspunsuri vor avea probabil doar unul sau două voturi maxim.

Toate modelele au o anumită cantitate de eroare. Erorile pentru un model vor fi diferite de erorile produse de alt model, deoarece modelele însele sunt diferite din motivele descrise mai sus. Atunci când toate erorile sunt examinate, ele nu vor fi grupate în jurul unui răspuns sau altul, ci vor fi răspândite. Ghicirile incorecte sunt, în esență, răspândite pe toate răspunsurile posibile incorecte, anulându-se una pe alta. În timp ce ghicirile corecte de la diferitele modele vor fi grupate în jurul răspunsului corect. Atunci când se utilizează metode de antrenare ensemble, răspunsul corect poate fi găsit cu o fiabilitate mai mare.

Metode simple de antrenare ensemble

Metodele simple de antrenare ensemble implică, de obicei, doar aplicarea tehnicilor de rezumare statistică, cum ar fi determinarea modului, mediei sau mediei ponderate a unui set de predicții.

Modul se referă la elementul care apare cel mai frecvent într-un set de numere. Pentru a obține modul, modelele individuale de învățare returnează predicțiile lor și aceste predicții sunt considerate voturi către predicția finală. Determinarea mediei predicțiilor se face pur și simplu prin calcularea mediei aritmetice a predicțiilor, rotunjită la cel mai apropiat număr întreg. În cele din urmă, o medie ponderată poate fi calculată prin atribuirea de ponderi diferite modelului utilizat pentru a crea predicții, cu ponderile reprezentând importanța percepută a acelui model. Reprezentarea numerică a predicției clasei este multiplicată alături de o pondere de la 0 la 1,0, predicțiile individuale ponderate sunt apoi însumate și rezultatul este rotunjit la cel mai apropiat număr întreg.

Metode avansate de antrenare ensemble

Există trei tehnici avansate de antrenare ensemble, fiecare dintre ele fiind concepută pentru a face față unui anumit tip de problemă de învățare automată. Tehnicile de „bagging” sunt utilizate pentru a reduce varianța predicțiilor unui model, varianța referindu-se la cât de mult diferă rezultatul predicțiilor atunci când se bazează pe aceeași observație. Tehnicile de „boosting” sunt utilizate pentru a combate bias-ul modelelor. În cele din urmă, „stacking” este utilizat pentru a îmbunătăți predicțiile în general.

Metodele de învățare ensemble pot fi, în general, împărțite în două grupuri diferite: metode secvențiale și metode paralele ensemble.

Metodele secvențiale ensemble primesc numele de „secvențiale” deoarece modelele de bază sunt generate secvențial. În cazul metodelor secvențiale, ideea esențială este că dependența dintre modelele de bază este exploatată pentru a obține predicții mai precise. Exemplele etichetate greșit au ponderile ajustate, în timp ce exemplele etichetate corect mențin aceleași ponderi. Fiecare dată când este generat un nou învățător, ponderile sunt modificate și acuratețea (sperăm) se îmbunătățește.

În contrast cu modelele ensemble secvențiale, metodele paralele ensemble generează modelele de bază în paralel. Atunci când se efectuează o învățare ensemble paralelă, ideea este de a exploata faptul că modelele de bază au independență, deoarece rata generală de eroare poate fi redusă prin medierea predicțiilor învățătorilor individuali.

Metodele de antrenare ensemble pot fi fie omogene, fie eterogene. Cele mai multe metode de învățare ensemble sunt omogene, ceea ce înseamnă că ele utilizează un singur tip de model de învățare de bază/algoritm. În contrast, ansamblurile eterogene utilizează algoritmi de învățare diferiți, diversificând și variind învățătorii pentru a asigura că acuratețea este cât mai ridicată posibil.

Exemple de algoritmi de învățare ensemble

Vizualizarea ensemble-ului de boosting. Foto: Sirakorn via Wikimedia Commons, CC BY SA 4.0, (https://commons.wikimedia.org/wiki/File:Ensemble_Boosting.svg)

Exemple de metode secvențiale ensemble includ AdaBoost, XGBoost și Gradient tree boosting. Acestea sunt toate modele de boosting. Pentru aceste modele de boosting, scopul este de a converti învățătorii slabi, subperformanți în învățători mai puternici. Modele precum AdaBoost și XGBoost încep cu mulți învățători slabi care performează doar puțin mai bine decât ghicirile aleatorii. Pe măsură ce continuă antrenamentul, se aplică ponderi datelor și se ajustează. Instanțele care au fost clasificate incorect de învățătorii din rundurile anterioare de antrenament primesc o pondere mai mare. După ce acest proces este repetat pentru numărul dorit de runde de antrenament, predicțiile sunt unite prin sumă ponderată (pentru sarcini de regresie) și vot ponderat (pentru sarcini de clasificare).

Procesul de învățare bagging. Foto: SeattleDataGuy via Wikimedia Commons, CC BY SA 4.0 (https://commons.wikimedia.org/wiki/File:Bagging.png)

Un exemplu de model ensemble paralel este un clasificator Random Forest, și pădurile aleatorii sunt, de asemenea, un exemplu de tehnică de bagging. Termenul „bagging” provine de la „bootstrap aggregation”. Mostrele sunt luate din setul total de date utilizând o tehnică de eșantionare numită „eșantionare bootstrap”, care sunt utilizate de către modelele de bază pentru a face predicții. Pentru sarcini de clasificare, ieșirile modelelor de bază sunt agregate utilizând votul, în timp ce pentru sarcini de regresie sunt mediate împreună. Pădurile aleatorii utilizează copaci individuali de decizie ca modele de bază, și fiecare copac din ansamblu este construit utilizând un eșantion diferit din setul de date. Un subset aleator de caracteristici este, de asemenea, utilizat pentru a genera copacul. Acest lucru duce la copaci de decizie individuali puternic randomizați, care sunt combinați împreună pentru a oferi predicții fiabile.

Vizualizarea stivuirii ensemble. Foto: Supun Setunga via Wikimedia Commons, CC BY S.A 4.0 (https://commons.wikimedia.org/wiki/File:Stacking.png)

Blogger and programmer with specialties in Machine Learning and Deep Learning topics. Daniel hopes to help others use the power of AI for social good.