Fundamentele AI
Ce este Gradient Boosting?
Un tip comun de model de ÃŪnvÄČare automatÄ, care s-a dovedit a fi extrem de util ÃŪn competiČiile de ČtiinČÄ a datelor, este un model de gradient boosting. Gradient boosting este, ÃŪn esenČÄ, procesul de conversie a modelelor de ÃŪnvÄČare slabe ÃŪn modele de ÃŪnvÄČare puternice. Dar cum se realizeazÄ exact acest lucru? SÄ aruncÄm o privire mai atentÄ asupra algoritmilor de gradient boosting Či sÄ ÃŪnČelegem mai bine cum un model de gradient boosting transformÄ ÃŪnvÄČÄtorii slabi ÃŪn ÃŪnvÄČÄtori puternici.
Definirea Gradient Boosting
Acest articol ÃŪČi propune sÄ vÄ ofere o bunÄ intuiČie despre ce este gradient boosting, fÄrÄ prea multe detalii despre matematica care stÄ la baza algoritmilor. OdatÄ ce veČi avea o apreciere pentru modul ÃŪn care funcČioneazÄ gradient boosting la nivel ÃŪnalt, vÄ ÃŪncurajÄm sÄ mergeČi mai departe Či sÄ exploraČi matematica care face posibilÄ aceastÄ tehnologie.
SÄ ÃŪncepem prin a defini ce ÃŪnseamnÄ âa ÃŪmbunÄtÄČiâ un ÃŪnvÄČÄtor. ÃnvÄČÄtorii slabi sunt transformaČi ÃŪn ÃŪnvÄČÄtori puternici prin ajustarea proprietÄČilor modelului de ÃŪnvÄČare. Dar care este algoritmul de ÃŪnvÄČare care este ÃŪmbunÄtÄČit?
Modelele de ÃŪmbunÄtÄČire funcČioneazÄ prin ÃŪmbunÄtÄČirea unui alt model de ÃŪnvÄČare automatÄ comun, un arbore de decizie.
Un model de arbore de decizie funcČioneazÄ prin ÃŪmpÄrČirea unui set de date ÃŪn porČiuni mai mici Či mai mici, Či odatÄ ce subseturile nu pot fi ÃŪmpÄrČite mai departe, rezultatul este un arbore cu noduri Či frunze. Nodurile dintr-un arbore de decizie sunt locurile ÃŪn care se iau decizii despre punctele de date utilizÃĒnd diferite criterii de filtrare. Frunzele dintr-un arbore de decizie sunt punctele de date care au fost clasificate. Algoritmii de arbori de decizie pot gestiona atÃĒt date numerice, cÃĒt Či categorice, Či ÃŪmpÄrČirile ÃŪn arbore se bazeazÄ pe variabile/caracteristici specifice.

Ilustrarea modului ÃŪn care se antreneazÄ modelele de ÃŪmbunÄtÄČire.
Foto: SeattleDataBuy via Wikimedia Commons, CC 4.0 (https://commons.wikimedia.org/wiki/File:Boosting.png)
Un tip de algoritm de ÃŪmbunÄtÄČire este algoritmul AdaBoost. Algoritmii AdaBoost ÃŪncep prin antrenarea unui model de arbore de decizie Či atribuirea unui punctaj egal pentru fiecare observaČie. DupÄ ce primul arbore a fost evaluat pentru acurateČe, punctajele pentru diferitele observaČii sunt ajustate. ObservaČiile care au fost uČor de clasificat au punctajele lor reduse, ÃŪn timp ce observaČiile care au fost greu de clasificat au punctajele lor crescute. Un al doilea arbore este creat utilizÃĒnd aceste punctaje ajustate, cu scopul de a face ca predicČiile celui de-al doilea arbore sÄ fie mai precise decÃĒt cele ale primului arbore.
Modelul acum constÄ din predicČiile pentru arborele original Či noul arbore (sau Arborele 1 + Arborele 2). AcurateČea clasificÄrii este evaluatÄ din nou pe baza noului model. Un al treilea arbore este creat pe baza erorii calculate pentru model, Či punctajele sunt ajustate din nou. Acest proces continuÄ pentru un numÄr dat de iteraČii, Či modelul final este un model de ansamblu care utilizeazÄ suma ponderatÄ a predicČiilor fÄcute de toČi arborii construiČi anterior.
Procesul descris mai sus utilizeazÄ arbori de decizie Či predictorii de bazÄ, dar o abordare de ÃŪmbunÄtÄČire poate fi realizatÄ cu o gamÄ largÄ de modele, cum ar fi multe modele standard de clasificare Či regresie. Conceptele cheie de ÃŪnČeles sunt cÄ predictorii ulterioari ÃŪnvaČÄ din greČelile fÄcute de cei anteriori Či cÄ predictorii sunt creaČi secvenČial.
Principalul avantaj al algoritmilor de ÃŪmbunÄtÄČire este cÄ acestea necesitÄ mai puČin timp pentru a gÄsi predicČiile actuale ÃŪn comparaČie cu alte modele de ÃŪnvÄČare automatÄ. Cu toate acestea, trebuie sÄ se acorde atenČie atunci cÃĒnd se utilizeazÄ algoritmii de ÃŪmbunÄtÄČire, deoarece acestea sunt predispuse la suprainvÄČare.
Gradient Boosting
Acum vom examina unul dintre cele mai comune algoritme de ÃŪmbunÄtÄČire. Modelele de Gradient Boosting (GBM) sunt cunoscute pentru acurateČea lor ridicatÄ Či extind principiile generale utilizate ÃŪn AdaBoost.
Principala diferenČÄ ÃŪntre un model de Gradient Boosting Či AdaBoost este cÄ GBM utilizeazÄ o metodÄ diferitÄ de calculare a ÃŪnvÄČÄtorilor care identificÄ greČit punctele de date. AdaBoost calculeazÄ unde un model este subperformant prin examinarea punctelor de date care au un punctaj ridicat. Ãn timp ce GBM utilizeazÄ gradientul pentru a determina acurateČea ÃŪnvÄČÄtorilor, aplicÃĒnd o funcČie de pierdere la un model. FuncČiile de pierdere sunt o modalitate de a mÄsura acurateČea unei ajustÄri a modelului la setul de date, calculÃĒnd o eroare Či optimizÃĒnd modelul pentru a reduce acea eroare. GBM permite utilizatorului sÄ optimizeze o funcČie de pierdere specificatÄ ÃŪn funcČie de obiectivul dorit.
LuÃĒnd ca exemplu cea mai comunÄ funcČie de pierdere â Eroarea Medie PÄtraticÄ (MSE) â coborÃĒrea gradientului este utilizatÄ pentru a actualiza predicČiile pe baza unei rate de ÃŪnvÄČare predefinite, scopul fiind de a gÄsi valorile ÃŪn care pierderea este minimÄ.
Pentru a fi mai clar:
Noile predicČii ale modelului = variabile de ieČire â vechile predicČii imperfecte.
Ãntr-un sens mai statistic, GBM ÃŪČi propun sÄ gÄseascÄ modele relevante ÃŪn reziduurile unui model, ajustÃĒnd modelul pentru a se potrivi modelului Či a aduce reziduurile cÃĒt mai aproape de zero posibil. DacÄ aČi efectua o regresie pe predicČiile modelului, reziduurile ar fi distribuite ÃŪn jurul valorii 0 (potrivire perfectÄ), Či GBM gÄsesc modele ÃŪn reziduuri Či actualizeazÄ modelul ÃŪn jurul acestor modele.
Ãn alte cuvinte, predicČiile sunt actualizate astfel ÃŪncÃĒt suma tuturor reziduurilor sÄ fie cÃĒt mai aproape de 0 posibil, ceea ce ÃŪnseamnÄ cÄ valorile prezise vor fi foarte aproape de valorile reale.
NotaČi cÄ o varietate largÄ de alte funcČii de pierdere (cum ar fi pierderea logaritmicÄ) pot fi utilizate de un GBM. MSE a fost selectat mai sus pentru scopul de a simplifica explicaČia.
Variante ale Modelelor de Gradient Boosting
Modelele de Gradient Boosting sunt algoritmi lacomi care sunt predispuse la suprainvÄČare pe un set de date. Acest lucru poate fi prevenit cu mai multe metode diferite care pot ÃŪmbunÄtÄČi performanČa unui GBM.
GBM pot fi reglementate cu patru metode diferite: Shrinkage, ConstrÃĒngeri de Arbore, Gradient Boosting Stochastic Či ÃnvÄČare PenalizatÄ.
Shrinkage
DupÄ cum s-a menČionat anterior, ÃŪn GBM, predicČiile sunt adunate ÃŪmpreunÄ ÃŪn mod secvenČial. Ãn âShrinkageâ, adÄugÄrile fiecÄrui arbore la suma generalÄ sunt ajustate. Se aplicÄ greutÄČi care ÃŪncetinesc rata de ÃŪnvÄČare a algoritmului, necesitÃĒnd ca mai multe arbori sÄ fie adÄugaČi la model, ceea ce de obicei ÃŪmbunÄtÄČeČte robusteČea Či performanČa modelului. Compromisul este cÄ modelul necesitÄ mai mult timp pentru a fi antrenat.
ConstrÃĒngeri de Arbore
ConstrÃĒngerea arborelui cu diverse ajustÄri, cum ar fi adÄugarea de adÃĒncime la arbore sau creČterea numÄrului de noduri sau frunze din arbore, poate face ca modelul sÄ fie mai greu de suprainvÄČat. Impunerea unei constrÃĒngeri asupra numÄrului minim de observaČii pe divizare are un efect similar. Din nou, compromisul este cÄ modelul necesitÄ mai mult timp pentru a fi antrenat.
Exemplu Aleator
ÃnvÄČÄtorii individuali pot fi creaČi printr-un proces stocastic, pe baza unor sub-Čantioane aleatorii ale setului de date de antrenare. Acest lucru are efectul de a reduce corelaČiile dintre arbori, ceea ce protejeazÄ ÃŪmpotriva suprainvÄČÄrii. Setul de date poate fi sub-Čantionat ÃŪnainte de a crea arborii sau ÃŪnainte de a considera o divizare ÃŪn arbore.
ÃnvÄČare PenalizatÄ
Beyond constrÃĒngerea modelului prin limitarea structurii arborelui, este posibil sÄ se utilizeze un arbore de regresie. Arborii de regresie au valori numerice ataČate de fiecare frunzÄ, Či acestea funcČioneazÄ ca greutÄČi Či pot fi ajustate cu funcČii de regularizare comune, cum ar fi L1 Či L2 regularizare.












