Introducere n nv??area automat? (machine learning)
Introducere
De ce ar trebui s? nve??m despre nv??area automat? Click to read 
Statistica ?i înv??area automat? ofer? principalele instrumente pentru munca unui cercet?tor în domeniul datelor. În?elegerea diferitelor metode de înv??are automat? - cum func?ioneaz?, care sunt principalele lor avantaje ?i cum se evalueaz? performan?a lor - v? poate ajuta s? lua?i decizii mai bune referitoare la când s? le utiliza?i ?i ofer? versatilitate în analiza datelor.
IA, ML, DL ?i ?tiin?a datelor
Defini?ii Click to read 
?IA: Inteligen?a artificial?
?ML: Machine Learning (înv??area automat?)
?DL: Deep Learning (înv??area profund?)
?DS: Data Science (?tiin?a datelor)
IA: Inteligen?a artificial?
Un sistem informatic care poate îndeplini sarcini asociate în mod normal cu inteligen?a uman?
De exemplu: percep?ia vizual?, recunoa?terea vorbirii, luarea deciziilor, traducerea textelor
IA general? vs. IA restrâns?:
IA general? poate gestiona toate sarcinile, IA restrâns? doar un subset selectat de sarcini. În prezent, nu exist? un sistem de IA care s? poat? fi considerat IA general, iar dac? un astfel de sistem va putea exista în viitor este o chestiune intens dezb?tut?.
IA: Inteligen?a artificial?
Un sistem informatic care poate îndeplini sarcini asociate în mod normal cu inteligen?a uman?
de exemplu: percep?ia vizual?, recunoa?terea vorbirii, luarea deciziilor, traducerea între limbi
Dac? algoritmul...
... const? în instruc?iuni ce trebuie parcurse pas cu pas pentru a realiza activitatea
atunci este IA simbolic?
... detecteaz? un model bazat pe un volum mare de date/exemple ?i utilizeaz? acest model pentru a realiza activitatea
atunci este înv??area automat?
ML: Machine Learning (înv??are automat?)
În loc s? programeze fiecare pas, o ma?in? este programat? pentru a g?si modele ?i „înva??” pe baza exemplelor. Exist? o zon? mare de suprapunere cu Statistica.
?Salveaz? mii de linii de cod
?Flexibil?:
dac? datele se modific?,
|
programul se adapteaz?.
|
 |
 |
ML: Machine Learning
În loc s? programeze fiecare pas, o ma?in? este programat? pentru a g?si modele ?i „înva??” pe baza exemplelor. Exist? o zon? mare de suprapunere cu Statistica.
?AI: Inteligen?? artificial?
Un sistem informatic care poate îndeplini sarcini ce necesit? în mod normal inteligen?? uman?
?ML: Machine Learning
În loc s? programeze fiecare pas, o ma?in? este programat? pentru a g?si modele ?i „înva??” pe baza exemplelor. Exist? o zon? mare de suprapunere cu Statistica.
?DS: Data Science (?tiin?a datelor)
Folose?te metode din Machine Learning ?i Statistic? pentru a rezolva probleme ?i a lua decizii pe baza datelor.
?DL: Deep Learning (înv??area profund?)
În prezent, una dintre cele mai populare ?i de succes metode de înv??are automat?. Bazat pe algoritmi de re?ele neuronale cu mai multe straturi (vezi Unitatea 2, Sec?iunea 5).
? Salveaz? mii de linii de cod
? Flexibil: dac? datele se modific?, programul se adapteaz?.
? Rezolv? probleme pentru care nu avem o solu?ie pas cu pas: de ex. recunoa?terea imaginii ?i a sunetului
? Joac? jocuri ?i ne bate
Tipuri de machine learning (nv??are automat?) Click to read 
Algoritmii de înv??are automat? pot fi subdiviza?i în trei tipuri diferite.
?Înv??are supervizat? (supervised learning)
? Înv??are nesupervizat? (unsupervised learning)
? Înv??are prin recompens? (reinforcement learning)
? Înv??area supervizat? (supervised learning)
În înv??area supervizat?, un algoritm prime?te „date etichetate” ca intrare “date de antrenament”: datele etichetate sunt seturi de date în care fiecare instan?? (exemplu) const? din variabile independente ?i valoarea variabilei ?int? care ar trebui s? fie determinat? pe baza variabilelor independente. Cu alte cuvinte, aceasta este pur ?i simplu înv??are prin exemplu. Scopul algoritmului este de a detecta un model care îi va permite s? determine corect valoarea variabilei ?int?, atunci când variabilele independente sunt cunoscute.
Înv??area supravegheat? se nume?te clasificare, atunci când variabila ?int? este o categorie – de exemplu, stabilirea dac? un solicitant de împrumut prezint? sau nu un risc ridicat, pe baza istoricului demografic ?i anterior de creditare. Se nume?te regresie atunci când variabila ?int? este continu? – de exemplu, prezicerea cre?terii PIB-ului unei na?iuni pe baza factorilor economici actuali.
? Înv??are nesupervizat
Înv??area nesupervizat? este utilizat? pentru a detecta tipare în datele neetichetate. Clustering (încercarea de a determina grupuri similare în date, f?r? a ?ti a priori ce grupuri s? caute) sau metodele de reducere a dimensiunii (cum ar fi analiza componentelor principale sau LDA) sunt cele mai populare tipuri de înv??are nesupravegheat?.
?Înv??are prin recompens? (Reinforcement learning - RL)
Înv??area prin recompens? este utilizat? pentru a identifica o strategie optim? în situa?iile în care agentul algoritmic este obligat s? interac?ioneze cu un mediu dat ?i s? ia o serie de decizii, înainte ca rezultatul final s? fie cunoscut (adic? feedback-ul nu este imediat: succes vs e?ec, câ?tig vs pierde). Metodele RL sunt cel mai frecvent utilizate în jocuri sau în conducerea autonom? ?i pentru mi?carea robo?ilor.
Înainte de a trece la examinarea diferitelor tipuri de algoritmi de înv??are automat?, un cuvânt pentru în?elep?i
?înv??area automat? este un subiect empiric
?a priori, de obicei nu exist? „o metod? corect? de aplicat”
?va trebui s?:
?colecta?i cerin?ele pentru cazul particular de utilizare,
?încerca?i câteva metode diferite (Unitatea 2),
??i apoi s? le evalua?i în func?ie de valorile alese (Unitatea 3) ?i cerin?ele (de exemplu, poate c? acurate?ea nu este singurul factor important, ci ?i explicabilitatea),
?pentru a determina care metod? func?ioneaz? „cel mai bine”.
Algoritmi de nv??are automat?
Naive Bayes Click to read 
Naïve Bayes este un algoritm de clasificare simplu, care este adesea folosit ca referin?? în procesarea limbajului natural.
Naïve Bayes folose?te teorema lui Bayes pentru a transforma problema determin?rii probabilit??ii unei instan?e apar?inând clasei Y, având în vedere atributele sale xi, în problema evalu?rii frecven?ei atributului xi, având în vedere c? instan?a apar?ine clasei Y.
Poate oferi rezultate bune atunci când:
?toate atributele sunt la fel de importante în determinarea clasei ?int?,
?pentru o clas? ?int? anume, atributele sunt independente reciproc.
Naive Bayes are diferite variante:
?Gaussian NB: folosit atunci când variabilele atribut sunt numerice ?i se poate presupune c? urmeaz? o distribu?ie gaussian?
?Simplu NB: folosit când variabilele atribut sunt categoriale
?Multi-nomial NB: cel mai adesea folosit în contexte de procesare a limbajului natural, unde atributele sunt cuvinte dintr-un document.
Arbori de decizie Click to read 
Arborii de decizie reprezint? atât o modalitate de reprezentare a informa?iilor, cât ?i un algoritm pentru detectarea modelelor în date.
Aici ne concentr?m pe algoritmul de detectare a ?abloanelor, dar reprezent?m ?i informa?iile ob?inute în proces folosind un arbore de decizie.
?Arborele de decizie este compus din noduri ?i ramuri.
?Fiecare nod este un atribut ?i are ramuri în func?ie de valorile sale. De exemplu, dac? un atribut este „an în facultate” ?i valorile posibile ale atributului sunt (Boboc, Anul 2, Junior, Senior), atunci nodul corespunz?tor „an în facultate” ar avea 4 ramuri.
?Arborii de decizie sunt parcur?i de la nodul r?d?acin? în jos: la fiecare nod, trebuie luat? o decizie cu privire la ce ramur? trebuie urmat? în continuare, pe baza valorii (valorilor) unui anumit atribut (atribute).
Random forests Click to read 
Random forests reprezint? un tip de „înv??are de ansamblu” – o clas? de metode care combin? modele pentru a îmbun?t??i acurate?ea predictiv? prin diversitate.
?Random forests constau într-o serie de arbori de decizie ale?i aleatoriu ?i
?combin? previziunile lor
?Random forests variaz? în func?ie de num?rul de copaci ?i de adâncimea fiec?rui copac.
Re?ele neuronale Click to read 
O re?ea neuronal? const? dintr-o serie de unit??i interconectate (a?a-numi?ii „neuroni”), precum cea prezentat? în figura din dreapta.
Fiecare neuron preia mai multe intr?ri, atribuie fiec?rei intr?ri o pondere, apoi le combin? ?i le ruleaz? printr-o func?ie de activare, pentru a produce o singur? ie?ire.
|
 |
O re?ea neuronal? se formeaz? prin organizarea a?a-numi?ilor neuroni în straturi.
Antrenarea unei re?ele neuronale reprezint? încercarea de a stabili valorile pentru ponderile re?elei care minimizeaz? eroarea de predic?ie a datelor de antrenament (m?surat? de o func?ie de pierdere dat?).
|
 |
Evaluarea performan?ei
Acurate?ea ?i alte metrici Click to read 
Exist? diverse metrici care pot fi utilizate pentru m?surarea performan?ei unui model antrenat. Selectarea metricii depinde de tipul modelului (înv??are supervizat?, nesupervizat? sau prin recompens?; clasificare vs regresie) ?i de contextul de utilizare. Ne vom concentra pe înv??area supervizat?.
?Cea mai frecvent utilizat? m?sur? de performan?? pentru modelele de regresie este MSE.
?Cea mai des folosit? m?sur? de performan?? pentru modelele de clasificare este acurate?ea.
?Cu toate acestea, acestea nu sunt întotdeauna cele mai bune metrici de utilizat.
Clasificatorii binari sunt sisteme de clasificare în care exist? doar dou? clase ?int? posibile: POZITIV si NEGATIV.
Vom examina diferite valori de performan?? pentru acestea ?i de ce, în anumite circumstan?e, sunt preferabile acurate?ei.
S? începem cu un instrument utilizat în mod obi?nuit pentru a ajuta la în?elegerea performan?ei unui clasificator binar: matricea de confuzie (vezi slide-ul urm?tor).
Când este indicat s? fie utilizat? o alt? metric? decât acurate?ea?
?Când clasele ?int? sunt sever dezechilibrate: de exemplu, dac? 95% sunt valori POZITIVE, ?i doar 5% sunt NEGATIVE, atunci un clasificator care pur ?i simplu a clasificat totul ca fiind POZITIV ar avea o precizie uimitoare de 95%. Dar, la ce ar folosi?
?Este mai important s? se identifice corect toate valorile POZITIVE (de exemplu, într-un diagnostic medical, vrem s? ne asigur?m c? surprindem prezen?a unei boli, pentru a putea începe tratamentul)? Sau este mai important s? evit?m estim?rile fals POZITIVE?
S? lu?m în considerare un exemplu „real”: detectarea automat? a discursului instigator la ur? pe re?elele sociale.
Conform datelor ob?inute în cadrul proiectului „Barometro dell‘Odio” al Amnesty International Italia (a se vedea prezentarea data4good), discursul instigator la ur? reprezint? aproximativ 1% din con?inutul politic online. În acest caz, chiar ?i pentru un sistem de detectare a discursului instigator la ur? cu 99% TPR ?i 1% FPR:
For every 100 comments that it labels as hate speech, we can expect ___ of them to actually be neutral comments.
Lets consider a „real-life“ example: automated hate speech detection on social media.
According to data obtained in Amnesty International Italy‘s „Barometro dell‘Odio“ project (see the data4good slides), hate speech makes up about 1% of online political content. In that case, even for a stellar hate speech detection system with 99% TPR and 1% FPR:
Pentru fiecare 100 de comentarii pe care le eticheteaz? drept discurs instigator la ur?, ne putem a?tepta ca ___ dintre ele s? fie de fapt comentarii neutre.
Nu m? crede pe cuvânt
Urm?torul slide are o foaie Excel încorporat? - v? pute?i juca cu numerele.

Bootstrapping ?i validare ncruci?at? Click to read 
Bootstrapping:
Bootstrapping-ul se bazeaz? pe efectuarea unei e?antion?ri aleatorii cu înlocuire (adic? se ia vaza cu bile colorate, atât de frecvente în textele cu probabilit??i, încât se trage aleatoriu o minge, se noteaz? culoarea ?i se arunc? mingea înapoi în vaz?) pe datele de antrenament. Aceasta înseamn? c? aceea?i observa?ie poate fi tras? de mai multe ori, în timp ce alte observa?ii pot s? nu fie trase deloc.
Acest procedeu statistic este exploatat: e?antioanele sunt extrase din datele de antrenament de câte ori este necesar, pân? când se ob?ine un nou set de date de antrenament de aceea?i dimensiune. Acele observa?ii care nu au fost niciodat? trase în aceast? procedur? sunt introduse în setul de date de validare. Rezultatele valid?rii sunt folosite pentru a compara diferi?i algoritmi.
Validare încruci?at?:
Exist? diferite moduri de a efectua validarea încruci?at?, dar ne concentr?m pe validarea încruci?at? de n ori ?i set?m n = 5 pentru simplitate.
Setul de date de antrenament este împ?r?it, prin e?antionare aleatorie, în 5 subgrupuri de dimensiuni aproximativ egale.
?La prima trecere, se folose?te grupul de date 1 ca date de validare ?i datele r?mase (grupurile 2,3,4,5) sunt date de antrenament.
?La a doua trecere, al doilea grup de date este pus deoparte pentru validare, iar algoritmul se antreneaz? pe celelalte grupuri de date (1,3,4,5).
?Se continu? în acest fel pân? când toate cele 5 grupuri de date au servit drept date de validare o singur? dat?.
?Se folosesc apoi 5 metrici de validare (de exemplu, rata de eroare pentru clasificare, MSE pentru regresie) care pot fi folosite pentru a compara diferi?i algoritmi.
?Odat? ce validarea este finalizat? ?i a fost selectat „cel mai bun” model, acesta poate fi reantrenat pe întregul set de date.
Considera?ii suplimentare Click to read 
Privind doar acurate?ea modelului uneori nu este suficient?.
Lua?i în considerare urm?torul exemplu.
Multe sisteme AI sunt folosite pentru clasificare. Aici, de exemplu, pentru clasificarea imaginilor.
Dup? multe exemple, algoritmul a „înv??at”...

Dup? multe exemple, algoritmul a înv??at...
It does not detect wolf vs. dog – it detects snow vs. no snow!

Privind doar acurate?ea modelului uneori nu este suficient.
Pentru multe aplica?ii, este, de asemenea, necesar s? în?elegem ce ?abloane a detectat algoritmul ?i ce variabile au condus la rezultatul modelului. Transparen?a ?i explicabilitatea pot fi caracteristici importante de „calitate”, iar acest lucru poate duce ?i la alegerea modelului care func?ioneaz? „cel mai bine”.
În plus, în fi?ierul data4good, sunt prezentate alte criterii, cum ar fi corectitudinea ?i nediscriminarea, care pot fi caracteristici importante atunci când se evalueaz? performan?a unui model.
|