IA 101

Ce este învățarea ansamblului?

mm

Una dintre cele mai puternice tehnici de învățare automată este învățarea ansamblului. Ensemble learning este utilizarea mai multor modele de învățare automată pentru a îmbunătăți fiabilitatea și precizia predicțiilor. Însă 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 ansamblului? Vom explora răspunsul la aceste întrebări, examinând rațiunea din spatele utilizării modelelor ansamblului și principalele moduri de creare a modelelor ansamblului.

Ce este învățarea ansamblului?

Pentru a fi simplu, învățarea ansamblului 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 set divers de modele individuale de învățare automată poate îmbunătăți stabilitatea modelului general, ducând la predicții mai precise. Modelele de învățare ansamblului 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 ansamblului. Tehnicile simple de învățare ansamblului 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 ansamblului?

Modelele de învățare automată pot fi diferite unele de altele din diverse motive. Diferite modele de învățare automată pot opera pe mostre diferite 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 într-o echipă singur, sunt destule 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. Însă atunci când cunoștințele voastre sunt combinate, aveți presupuneri mai precise pentru mai multe domenii, și numărul subiectelor despre care echipa voastră nu are cunoștințe scade. Acesta este același principiu care stă la baza învățării ansamblului, combinând predicțiile diferiților membri ai echipei (modele individuale) pentru a îmbunătăți precizia și a minimiza erorile.

Statisticienii au demonstrat că atunci când o mulțime de oameni este întrebată să ghicească răspunsul corect pentru o întrebare dată cu un anumit răspuns, 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 în întreaga gamă de răspunsuri posibile greșite. 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 cei trei oameni de pe echipa voastră care nu știu răspunsul vor ghici greșit B, C, D sau E. Rezultatul este că A are trei voturi și celelalte răspunsuri vor avea cel mult un sau două voturi.

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. Când toate erorile sunt examinate, ele nu vor fi grupate în jurul unui răspuns sau altul, ci vor fi răspândite în jur. Ghicirile greșite sunt, în esență, răspândite în toate răspunsurile posibile greșite, anulându-se unele pe altele. În timp ce ghicirile corecte de la diferitele modele vor fi grupate în jurul răspunsului corect. Când se utilizează metode de antrenare ansamblului, răspunsul corect poate fi găsit cu o fiabilitate mai mare.

Metode simple de antrenare ansamblului

Metodele simple de antrenare ansamblului implică, de obicei, doar aplicarea tehnicilor de rezumat 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 pentru 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 final, o medie ponderată poate fi calculată prin atribuirea de greutăți diferite modelelor utilizate pentru a crea predicții, greutățile reprezentând importanța percepută a acelui model. Reprezentarea numerică a predicției clasei este multiplicată alături de o greutate 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 ansamblului

Există trei tehnici principale avansate de antrenare ansamblului, fiecare dintre ele fiind proiectată 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 final, “stacking” este utilizat pentru a îmbunătăți predicțiile în general.

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

Metodele secvențiale de ansamblu 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 greutățile ajustate, în timp ce exemplele etichetate corect mențin aceleași greutăți. Fiecare dată când un nou învățător este generat, greutățile sunt modificate și precizia (sperăm) se îmbunătățește.

În contrast cu modelele de ansamblu secvențiale, metodele paralele de ansamblu generează modelele de bază în paralel. Când se efectuează învățarea ansamblului 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 ansamblului pot fi omogene sau eterogene. Cele mai multe metode de învățare ansamblului 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ă precizia este cât mai mare posibil.

Exemple de algoritmi de învățare ansamblului

Vizualizarea îmbunătățirii ansamblului. Foto: Sirakorn via Wikimedia Commons, CC BY SA 4.0, (https://commons.wikimedia.org/wiki/File:Ensemble_Boosting.svg)

Exemple de metode secvențiale de ansamblu 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ă puțin mai bine decât ghicirile aleatorii. Pe măsură ce antrenamentul continuă, greutățile sunt aplicate datelor și ajustate. Instanțele care au fost clasificate greșit de învățătorii din rundele anterioare de antrenament primesc o greutate mai mare. După ce acest proces este repetat pentru numărul dorit de runde de antrenament, predicțiile sunt combinate prin intermediul unei sume ponderate (pentru sarcini de regresie) și un 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 paralel de ansamblu este un clasificator Random Forest, și Random Forests este, de asemenea, un exemplu de tehnică de bagging. Termenul de “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 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, ele sunt mediate împreună. Random Forests utilizează copaci individuali de decizie ca modele de bază, și fiecare copac din ansamblu este construit utilizând o mostră 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 foarte randomizați, care sunt combinați pentru a oferi predicții fiabile.

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

Blogger și programator cu specializări în Machine Learning și Deep Learning subiecte. Daniel speră să ajute pe alții să folosească puterea inteligenței artificiale pentru binele social.