IA 101
Modele de învățare automată generative vs. discriminative

Unele modele de învățare automată aparțin categoriilor “generative” sau “discriminative”. Dar ce este diferența dintre aceste două categorii de modele? Ce înseamnă ca un model să fie discriminativ sau generativ?
Răspunsul scurt este că modelele generative sunt cele care includ distribuția setului de date, returnând o probabilitate pentru un anumit exemplu. Modelele generative sunt adesea utilizate pentru a prezice ce se întâmplă în continuare într-o secvență. Între timp, modelele discriminative sunt utilizate pentru clasificare sau regresie și returnează o predicție bazată pe probabilitatea condiționată. Să explorăm diferențele dintre modelele generative și discriminative în mai multe detalii, astfel încât să putem înțelege cu adevărat ce separă cele două tipuri de modele și când ar trebui să fie utilizate fiecare.
Modele generative vs. discriminative
Există o varietate de moduri de a categorisi un model de învățare automată. Un model poate fi clasificat ca aparținând unor categorii precum: modele generative, modele discriminative, modele parametrice, modele non-parametrice, modele bazate pe arbori, modele non-arbori.
Acest articol se va axa pe diferențele dintre modelele generative și discriminative. Vom începe prin a defini atât modelele generative, cât și cele discriminative, și apoi vom explora câteva exemple de fiecare tip de model.
Modele generative
Modelele generative sunt cele care se concentrează pe distribuția claselor din setul de date. Algoritmii de învățare automată modelează de obicei distribuția punctelor de date. Modelele generative se bazează pe găsirea probabilității conjuncte. Crearea de puncte în care o anumită intrare și o ieșire dorită/etichetă există concomitent.
Modelele generative sunt de obicei utilizate pentru a estima probabilități și probabilități, modelând punctele de date și discriminând între clase pe baza acestor probabilități. Deoarece modelul învață o distribuție de probabilitate pentru setul de date, poate face referire la această distribuție de probabilitate pentru a genera noi instanțe de date. Modelele generative se bazează adesea pe teorema lui Bayes pentru a găsi probabilitatea conjunctă, găsind p(x,y). În esență, modelele generative modelează modul în care a fost generat setul de date, răspunzând la întrebarea:
“Care este probabilitatea ca această clasă sau o altă clasă să fi generat această instanță de date?”
Exemple de modele de învățare automată generative includ Analiza Discriminantă Lineară (LDA), Modelele Markov Ascunse și rețelele bayesiene, cum ar fi Naive Bayes.
Modele discriminative
În timp ce modelele generative învață despre distribuția setului de date, modelele discriminative învață despre granița de decizie dintre clasele din setul de date. Cu modelele discriminative, scopul este de a identifica granița de decizie dintre clase pentru a aplica etichete de clasă fiabile instanțelor de date. Modelele discriminative separă clasele din setul de date utilizând probabilitatea condiționată, fără a face nicio presupunere despre punctele de date individuale.
Modelele discriminative își propun să răspundă la întrebarea:
“Pe ce parte a graniței de decizie se află această instanță?”
Exemple de modele discriminative în învățarea automată includ mașinile de susținere a vectorilor, regresia logistică, arborii de decizie și pădurile aleatorii.
Diferențe între modelele generative și discriminative
Iată o prezentare rapidă a principalelor diferențe dintre modelele generative și discriminative.
Modele generative:
- Modelele generative își propun să capteze distribuția reală a claselor din setul de date.
- Modelele generative prevăd distribuția de probabilitate conjunctă – p(x,y) – utilizând teorema lui Bayes.
- Modelele generative sunt computațional scumpe în comparație cu modelele discriminative.
- Modelele generative sunt utile pentru sarcinile de învățare automată nesupervizate.
- Modelele generative sunt afectate de prezența valorilor anormale mai mult decât modelele discriminative.
Modele discriminative:
- Modelele discriminative modelează granița de decizie pentru clasele din setul de date.
- Modelele discriminative învață probabilitatea condiționată – p(y|x).
- Modelele discriminative sunt computațional ieftine în comparație cu modelele generative.
- Modelele discriminative sunt utile pentru sarcinile de învățare automată supravegheate.
- Modelele discriminative au avantajul de a fi mai robuste la valorile anormale, spre deosebire de modelele generative.
- Modelele discriminative sunt mai robuste la valorile anormale în comparație cu modelele generative.
Vom explora acum câteva exemple de modele generative și discriminative.
Exemple de modele generative
Analiza Discriminantă Lineară (LDA)
Modelele LDA funcționează prin estimarea varianței și a mediei datelor pentru fiecare clasă din setul de date. După ce s-au calculat medii și varianțe pentru fiecare clasă, pot fi făcute predicții prin estimarea probabilității ca un anumit set de intrări să aparțină unei anumite clase.
Modele Markov Ascunse
Modelele Markov pot fi considerate grafuri cu probabilități care indică cât de probabil este să trecem de la un punct din lanț, un “stat”, la alt stat. Lanțurile Markov sunt utilizate pentru a determina probabilitatea de a trece de la statul j la statul i, care poate fi notat cu p(i,j). Acesta este doar probabilitatea conjunctă menționată anterior. Un model Markov ascuns este acela în care se utilizează un lanț Markov invizibil, neobservabil. Intrările de date sunt furnizate modelului și se utilizează probabilitățile pentru starea curentă și starea imediat precedentă pentru a calcula rezultatul cel mai probabil.
Rețele bayesiene
Rețelele bayesiene sunt un tip de model grafic probabilistic. Ele reprezintă dependențele condiționale între variabile, așa cum sunt reprezentate de un grafic aciclic orientat. Într-o rețea bayesiană, fiecare margine a grafului reprezintă o dependență condiționată, iar fiecare nod corespunde unei variabile unice. Dependenta condiționată pentru relațiile unice din graf poate fi utilizată pentru a determina distribuția conjunctă a variabilelor și a calcula probabilitatea conjunctă. Cu alte cuvinte, o rețea bayesiană captează un subset de relații independente dintr-o anumită distribuție de probabilitate conjunctă.
Odată ce o rețea bayesiană a fost creată și definită corespunzător, cu variabile aleatoare, relații condiționale și distribuții de probabilitate cunoscute, poate fi utilizată pentru a estima probabilitatea evenimentelor sau a rezultatelor.
Unul dintre cele mai utilizate tipuri de rețele bayesiene este modelul Naive Bayes. Un model Naive Bayes abordează provocarea de a calcula probabilitatea pentru seturi de date cu multe parametri/variabile prin tratarea tuturor caracteristicilor ca fiind independente unele de altele.
Exemple de modele discriminative
Mașini de susținere a vectorilor
Mașinile de susținere a vectorilor funcționează prin desenarea unei granițe de decizie între punctele de date, găsind granița de decizie care separă cel mai bine clasele din setul de date. Algoritmul SVM desenează linii sau hipersuprafețe care separă punctele, pentru spații bidimensionale și tridimensionale, respectiv. SVM încearcă să găsească linia/hipersuprafața care separă cel mai bine clasele, încercând să maximizeze marginea, sau distanța dintre linie/hipersuprafață și punctele cele mai apropiate. Modelele SVM pot fi utilizate și pe seturi de date care nu sunt separabile liniar prin utilizarea “trucului kernel” pentru a identifica granițe de decizie neliniare.
Regresia logistică
Regresia logistică este un algoritm care utilizează o funcție logit (log-șanse) pentru a determina probabilitatea ca o intrare să aparțină uneia dintre două stări. O funcție sigmoidală este utilizată pentru a “strânge” probabilitatea spre 0 sau 1, adevărat sau fals. Probabilitățile mai mari de 0,50 sunt presupuse a fi clasa 1, în timp ce probabilitățile de 0,49 sau mai mici sunt presupuse a fi 0. Din acest motiv, regresia logistică este de obicei utilizată în probleme de clasificare binară. Cu toate acestea, regresia logistică poate fi aplicată și problemelor de clasificare multi-clasă prin utilizarea unei abordări “unu împotriva tuturor”, creând un model de clasificare binară pentru fiecare clasă și determinând probabilitatea ca un exemplu să fie o clasă țintă sau o altă clasă din setul de date.
Arbore de decizie
Un arbore de decizie funcționează prin împărțirea setului de date în porțiuni din ce în ce mai mici, iar odată ce subseturile nu pot fi împărțite în continuare, 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, iar împărțirile din arbore se bazează pe variabile/specifice.
Păduri aleatorii
Un model de pădure aleatoare este, în esență, o colecție de arbori de decizie în care predicțiile arborilor individuali sunt mediate pentru a ajunge la o decizie finală. Algoritmul de pădure aleatoare selectează aleatoriu observații și caracteristici, construind arborii individuali pe baza acestor selecții.
Acest articol tutorial va explora cum să creați un grafic de cutie în Matplotlib. Graficele de cutie sunt utilizate pentru a vizualiza statistici rezumative ale unui set de date, afișând atribute ale distribuției, cum ar fi intervalul și distribuția datelor.












