Tehnica de învățare prin ansamblu vă poate sprijini în luarea unor decizii mai bune și în abordarea diverselor provocări din viața reală, prin combinarea rezultatelor obținute de multiple modele.
Învățarea automată (IA) continuă să se extindă în diverse sectoare și industrii, de la finanțe și medicină, până la dezvoltarea de aplicații și securitate.
Antrenarea corectă a modelelor de IA contribuie la succesul afacerii dumneavoastră sau la performanța în rolul profesional, existând diverse modalități de a obține acest rezultat.
În acest articol, vom discuta despre învățarea prin ansamblu, importanța sa, aplicațiile și tehnicile asociate.
Vă invităm să rămâneți alături de noi!
Ce reprezintă învățarea prin ansamblu?
În contextul învățării automate și al statisticii, termenul „ansamblu” se referă la metodele care generează ipoteze variate, utilizând un algoritm de bază comun.
Învățarea prin ansamblu reprezintă o abordare în IA, unde multiple modele (precum experți sau clasificatori) sunt create și combinate strategic, cu scopul de a rezolva o problemă de calcul sau de a realiza predicții mai precise.
Această metodă are ca obiectiv îmbunătățirea performanței unui model dat în ceea ce privește predicția, aproximarea funcțiilor, clasificarea etc. De asemenea, este utilă pentru a evita selectarea unui model inferior sau mai puțin performant dintr-un grup mai mare. Pentru a obține o performanță predictivă superioară, sunt utilizați algoritmi multipli de învățare.
De ce este importantă învățarea prin ansamblu în IA?
În modelele de învățare automată, există factori precum prejudecățile, varianța și zgomotul, care pot genera erori. Învățarea prin ansamblu poate contribui la reducerea acestor cauze de eroare și poate asigura stabilitatea și precizia algoritmilor de IA.
Iată câteva motive pentru care învățarea prin ansamblu este utilizată în diferite scenarii:
Selectarea clasificatorului optim
Învățarea prin ansamblu vă ajută să alegeți un model sau un clasificator mai eficient, diminuând riscul asociat unei selecții inadecvate a modelului.
Pentru diverse probleme se utilizează diferite tipuri de clasificatori, precum mașinile cu vectori suport (SVM), perceptronul multistrat (MLP), clasificatorii Bayes naivi, arborii de decizie etc. În plus, există diverse implementări ale algoritmilor de clasificare din care trebuie să alegeți. Performanța poate varia și în funcție de datele de antrenament folosite.
În loc să optați pentru un singur model, utilizarea unui ansamblu format din toate aceste modele și combinarea rezultatelor lor individuale vă permite să evitați selectarea unor modele mai puțin performante.
Volumul datelor
Multe metode și modele de IA nu sunt la fel de eficiente dacă sunt alimentate cu date insuficiente sau, dimpotrivă, cu un volum foarte mare de date.
Învățarea prin ansamblu, pe de altă parte, poate funcționa eficient în ambele scenarii, fie că volumul de date este prea mic, fie prea mare.
- Dacă datele sunt insuficiente, puteți utiliza tehnica bootstrapping pentru a antrena diferiți clasificatori folosind diverse eșantioane de date bootstrap.
- Dacă există un volum mare de date care face dificilă antrenarea unui singur clasificator, atunci puteți segmenta strategic datele în subseturi mai mici.
Complexitatea

Un singur clasificator nu poate rezolva întotdeauna probleme extrem de complexe. Liniile lor de delimitare care separă datele diverselor clase pot fi foarte sofisticate. Prin urmare, dacă aplicați un clasificator liniar la o frontieră complexă neliniară, acesta nu va putea să o învețe.
Însă, printr-o combinare corectă a unui ansamblu de clasificatori liniari adecvați, se poate realiza învățarea unei limite neliniare. Clasificatorul va segmenta datele în mai multe părți mai mici, mai ușor de învățat, și fiecare clasificator va învăța doar o segmentare simplificată. Apoi, diferiți clasificatori vor fi combinați pentru a obține o aproximare a frontierei decizionale.
Evaluarea încrederii
În învățarea prin ansamblu, un vot de încredere este alocat unei decizii luate de un sistem. Să presupunem că aveți un ansamblu de diferiți clasificatori antrenați pentru o anumită problemă. Dacă majoritatea clasificatorilor sunt de acord cu decizia luată, rezultatul acesteia poate fi considerat un ansamblu cu o decizie de mare încredere.
Pe de altă parte, dacă jumătate dintre clasificatori nu sunt de acord cu decizia luată, aceasta este considerată o decizie cu încredere scăzută.
Cu toate acestea, o încredere scăzută sau ridicată nu indică întotdeauna decizia corectă. Dar există șanse mari ca o decizie cu mare încredere să fie corectă dacă ansamblul a fost antrenat corespunzător.
Precizia prin fuziunea datelor
Datele colectate din multiple surse, atunci când sunt combinate strategic, pot spori precizia deciziilor de clasificare. Această precizie este superioară celei obținute folosind o singură sursă de date.
Cum funcționează învățarea prin ansamblu?

Învățarea prin ansamblu preia multiple funcții de mapare învățate de diverși clasificatori și le combină pentru a crea o singură funcție de mapare.
Iată un exemplu care ilustrează modul de funcționare al învățării prin ansamblu.
Exemplu: să presupunem că creați o aplicație de livrare de produse alimentare pentru utilizatorii finali. Pentru a oferi o experiență de înaltă calitate utilizatorilor, doriți să colectați feedback de la ei cu privire la problemele întâmpinate, lacune importante, erori, bug-uri etc.
În acest scop, puteți solicita opinia familiei, prietenilor, colegilor și altor persoane cu care comunicați frecvent, cu privire la preferințele lor alimentare și experiența de comandă online. De asemenea, puteți lansa aplicația în versiune beta pentru a colecta feedback în timp real, fără prejudecăți sau zgomot.
Astfel, ceea ce faceți de fapt aici este să luați în considerare idei și opinii multiple de la diverse persoane, pentru a îmbunătăți experiența utilizatorului.
Învățarea prin ansamblu și modelele sale funcționează într-un mod similar. Utilizează un set de modele și le combină pentru a produce un rezultat final care îmbunătățește acuratețea și performanța predicțiilor.
Tehnici de bază ale învățării prin ansamblu

#1. Modul
Un „mod” este o valoare care apare cel mai frecvent într-un set de date. În învățarea prin ansamblu, specialiștii în IA utilizează mai multe modele pentru a genera predicții despre fiecare punct de date. Aceste predicții sunt considerate voturi individuale, iar predicția realizată de majoritatea modelelor este considerată predicția finală. Această tehnică este utilizată mai ales în problemele de clasificare.
Exemplu: Dacă patru persoane au evaluat aplicația dumneavoastră cu 4, iar una dintre ele a evaluat-o cu 3, modul ar fi 4, deoarece majoritatea a votat 4.
#2. Media/Mediana
Prin această tehnică, specialiștii iau în considerare toate predicțiile modelului și calculează media lor pentru a obține o predicție finală. Aceasta este utilizată mai ales pentru a face predicții pentru probleme de regresie, pentru a calcula probabilități în probleme de clasificare și multe altele.
Exemplu: În exemplul de mai sus, unde patru persoane au evaluat aplicația cu 4, iar o persoană a evaluat-o cu 3, media ar fi (4+4+4+4+3)/5=3,8
#3. Media ponderată
În această metodă de învățare prin ansamblu, specialiștii alocă ponderi diferite diferitelor modele pentru a face o predicție. Aici, ponderea alocată descrie relevanța fiecărui model.
Exemplu: Să presupunem că 5 persoane au oferit feedback cu privire la aplicația dumneavoastră. Dintre acestea, 3 sunt dezvoltatori de aplicații, în timp ce 2 nu au experiență în acest domeniu. Astfel, feedback-ul celor 3 persoane va avea o pondere mai mare decât feedback-ul celorlalte 2.
Tehnici avansate de învățare prin ansamblu
#1. Bagging
Bagging (Bootstrap AGGregatING) este o tehnică de învățare prin ansamblu simplă, intuitivă și eficientă. După cum sugerează și numele, ea este realizată prin combinarea a doi termeni: „Bootstrap” și „agregare”.
Bootstrapping este o metodă de eșantionare în care sunt create subseturi cu mai multe observații luate dintr-un set de date original, cu înlocuire. În acest caz, dimensiunea subsetului va fi identică cu cea a setului de date original.
Sursa: programator Buggy
Prin urmare, în bagging, subseturile sau „sacii” sunt folosiți pentru a înțelege distribuția setului complet. Cu toate acestea, subseturile ar putea fi mai mici decât setul de date original în bagging. Această metodă utilizează un singur algoritm de IA. Scopul combinării rezultatelor diferitelor modele este obținerea unui rezultat generalizat.
Iată cum funcționează bagging:
- Din setul original, sunt generate mai multe subseturi, iar observațiile sunt selectate cu înlocuiri. Subseturile sunt utilizate în antrenarea modelelor sau arborilor de decizie.
- Se creează un model slab sau de bază pentru fiecare subset. Modelele vor fi independente unele de altele și vor rula în paralel.
- Predicția finală va fi realizată prin combinarea fiecărei predicții din fiecare model, folosind statistici precum media, votul etc.
Algoritmii populari utilizați în această tehnică de ansamblu sunt:
- Pădure aleatoare
- Arbori de decizie împovărați
Avantajul acestei metode este că ajută la menținerea erorilor de varianță la un nivel minim în arborii de decizie.
#2. Stivuirea
Sursa imagine: OpenGenus IQ
În stivuire, sau generalizarea stivuită, predicțiile generate de diferite modele, precum un arbore de decizie, sunt folosite pentru a crea un model nou care va realiza predicții pe acest set de testare.
Stivuirea presupune crearea de subseturi de date bootstrapped pentru modelele de antrenament, similar cu bagging-ul. Dar, în acest caz, rezultatele modelelor sunt folosite ca intrare pentru un alt clasificator, denumit meta-clasificator, care va face predicția finală a eșantioanelor.
Utilizarea a două straturi de clasificare are rolul de a stabili dacă seturile de date de antrenament sunt învățate corect. Deși abordarea în două straturi este comună, pot fi utilizate și mai multe straturi.
De exemplu, puteți folosi 3-5 modele în primul strat sau nivelul 1 și un singur model în stratul 2 sau nivelul 2. Ultimul model va combina predicțiile obținute la nivelul 1 pentru a face predicția finală.
În plus, puteți utiliza orice model de învățare automată pentru agregarea predicțiilor; un model liniar precum regresia liniară sau regresia logistică este frecvent utilizat.
Algoritmii de IA populari utilizați în stivuire sunt:
- Amestecare
- Super ansamblu
- Modele stivuite
Notă: Amestecarea folosește un set de validare sau de așteptare din setul de date de antrenament pentru a face predicții. Spre deosebire de stivuire, amestecarea presupune că predicțiile trebuie să fie generate doar din holdout.
#3. Amplificarea
Amplificarea (boosting) este o metodă iterativă de învățare prin ansamblu care ajustează ponderea unei anumite observații, în funcție de clasificarea sa anterioară. Asta înseamnă că fiecare model ulterior încearcă să corecteze erorile identificate în modelul anterior.
Dacă observația nu este clasificată corect, amplificarea crește ponderea observației.
În boosting, specialiștii antrenează primul algoritm pe un set de date complet. Apoi, construiesc următorii algoritmi de IA, folosind reziduurile extrase din algoritmul de amplificare anterior. Astfel, se acordă o pondere mai mare observațiilor incorect prezise de modelul anterior.
Iată cum funcționează pas cu pas:
- Un subset va fi generat din setul de date original. Fiecare punct de date va avea inițial aceeași pondere.
- Se creează un model de bază pe subset.
- Predicția se va face pe setul complet de date.
- Utilizând valorile reale și prezise, se vor calcula erorile.
- Observațiile prezise incorect vor primi o pondere mai mare.
- Va fi creat un nou model și se va realiza predicția finală pe acest set de date, în timp ce modelul încearcă să corecteze erorile comise anterior. Mai multe modele vor fi create într-un mod similar, fiecare corectând erorile anterioare.
- Predicția finală se va face cu ajutorul modelului final, care este media ponderată a tuturor modelelor.
Algoritmii populari de amplificare sunt:
- CatBoost
- Light GBM
- AdaBoost
Avantajul boosting-ului este că generează predicții superioare și reduce erorile cauzate de prejudecăți.
Alte tehnici de ansamblu

Un amestec de experți: este utilizat pentru a antrena mai mulți clasificatori, iar rezultatele acestora sunt asamblate conform unei reguli liniare generale. În acest caz, ponderile acordate combinațiilor sunt determinate de un model antrenabil.
Votul majoritar: presupune alegerea unui număr impar de clasificatori, iar predicțiile sunt calculate pentru fiecare eșantion. Clasa care primește votul maxim dintr-un grup de clasificatori va fi clasa prezisă a ansamblului. Această tehnică este folosită pentru a rezolva probleme precum clasificarea binară.
Regula maximă: utilizează distribuțiile de probabilitate ale fiecărui clasificator și folosește încrederea în a face predicții. Este utilizată pentru probleme de clasificare cu mai multe clase.
Aplicații practice ale învățării prin ansamblu
#1. Detectarea feței și a emoțiilor
Învățarea prin ansamblu utilizează tehnici precum analiza independentă a componentelor (ICA) pentru a realiza detectarea feței.
De asemenea, învățarea prin ansamblu este utilizată pentru detectarea emoțiilor unei persoane prin analizarea vorbirii. În plus, capacitățile sale ajută utilizatorii să realizeze detectarea emoțiilor faciale.
#2. Securitate
Detectarea fraudelor: Învățarea prin ansamblu contribuie la sporirea capacității de modelare a comportamentului normal. Acesta este motivul pentru care este considerată eficientă în detectarea activităților frauduloase, de exemplu, în sistemele de carduri de credit și bancare, fraude în telecomunicații, spălarea de bani etc.

DDoS: Atacurile de tip denial of service (DDoS) reprezintă o amenințare serioasă pentru un furnizor de servicii de internet (ISP). Clasificatoarele de ansamblu pot reduce erorile de detecție și pot diferenția atacurile de traficul legitim.
Detectarea intruziunilor: Învățarea prin ansamblu poate fi folosită în sistemele de monitorizare, precum instrumentele de detectare a intruziunilor, pentru a identifica coduri de intruziune prin monitorizarea rețelelor sau a sistemelor, detectarea anomaliilor și așa mai departe.
Detectarea programelor malware: Învățarea prin ansamblu este eficientă în detectarea și clasificarea codului malware, precum virușii și viermii de calculator, ransomware, caii troieni, spyware etc., utilizând tehnici de învățare automată.
#3. Învățare incrementală
În învățarea incrementală, un algoritm de IA învață dintr-un nou set de date, păstrând în același timp învățarea anterioară, fără a accesa datele precedente pe care le-a analizat. Sistemele de ansamblu sunt utilizate în învățarea incrementală, permițând adăugarea unui nou clasificator pentru fiecare set de date nou disponibil.
#4. Medicină

Clasificatoarele de ansamblu sunt utile în domeniul diagnosticelor medicale, de exemplu, în detectarea tulburărilor neurocognitive (precum Alzheimer). Ele realizează detectarea, analizând seturi de date RMN ca intrări și clasificând citologia cervicală. În plus, sunt folosite în proteomică (studiul proteinelor), neuroștiințe și alte domenii.
#5. Teledetecție
Detectarea modificărilor: clasificatoarele de ansamblu sunt utilizate pentru a detecta schimbările prin metode precum media bayesiană și votul majoritar.
Cartografierea acoperirii terenului: Metodele de învățare prin ansamblu, precum amplificarea, arborii de decizie, analiza componentelor principale (KPCA), etc., sunt folosite pentru a detecta și a cartografia eficient acoperirea terenului.
#6. Finanțe
Precizia este un aspect esențial în finanțe, fie că este vorba de calcule sau predicții. Ea influențează considerabil rezultatul deciziilor luate. Tehnologiile de ansamblu pot analiza schimbările în datele pieței de valori, pot detecta manipularea prețurilor acțiunilor și multe altele.
Resurse suplimentare pentru învățare

#1. Metode de ansamblu pentru învățare automată
Această carte vă va ajuta să înțelegeți și să implementați metode importante de învățare prin ansamblu de la zero.
#2. Metode de ansamblu: Fundamente și algoritmi
Această carte prezintă noțiunile de bază ale învățării prin ansamblu și algoritmii săi. De asemenea, explică modul în care este utilizată în practică.
#3. Învățare prin ansamblu
Oferă o introducere într-o metodă de ansamblu unificată, provocări, aplicații etc.
#4. Învățare automată prin ansamblu: metode și aplicații:
Oferă o acoperire extinsă a tehnicilor avansate de învățare prin ansamblu.
Concluzie
Sperăm că acum aveți o înțelegere mai clară despre învățarea prin ansamblu, metodele sale, aplicațiile și motivele pentru care utilizarea ei poate fi benefică pentru cazul dumneavoastră. Are potențialul de a rezolva numeroase provocări din viața reală, de la domeniul securității și al dezvoltării de aplicații, până la finanțe, medicină și multe altele. Utilizările sale se extind, așa că sunt posibile numeroase îmbunătățiri în acest concept în viitorul apropiat.
De asemenea, puteți explora câteva instrumente pentru generarea de date sintetice, necesare pentru antrenarea modelelor de învățare automată.