Sunteți pe pagina 1din 237

Invatare automata

Universitatea Politehnica Bucuresti


Anul universitar 2019-2020

Adina Magda Florea


Continut curs
 Introducere
 Arbori de decizie
 Regresie
 Support Vectors (SVM)
 Retele neurale
 Invatare prin recompensa
 Algoritmi genetici
 Teoria invatarii computationale

2
Cerinte
Notare
 Activitate laborator - 20%

 3 Teme de casa - 30% (10% fiecare tema)

 Lucrare 1 - 20%

 Lucrare 2 - 30%

Cerintele minimale pentru promovare:


 Minim 7 prezente la laborator (in lipsa a 7 prezente, cursul si
laboratorul se refac in anul universitar urmator)
 50% din punctajul Activitate laborator + Teme de casa +
Lucrare 1
 50% din punctajul lucrarii 2

3
Platforme ML - WEKA
Weka 3 - Data Mining Software in Java
 Weka contine implementarea unei multimi de
algoritmi de invatare automata pentru “data
mining”
 Weka contine instrumente pentru preprocesare,
clasificare, regresie, clusterizare, reguli de
asociere si vizualizare
 http://www.cs.waikato.ac.nz/ml/weka/
 Machine Learning Group at the University of Waikato

4
Platforme ML - SCIKIT Learn
Scikit Learn - algoritmi de ML in Python
 Data mining si analiza datelor

 Open source

 Contine algoritmi de clasificare, regresie,


clustering etc.
 http://scikit-learn.org/stable

5
Platforme ML
TensorFlow – ML si deep learning
 Utilizeaza grafuri de flux de date (data flow
graphs).
 Nodurile din graf reprezintă operații matematice,
arcele reprezintă vectori (tensors)
multidimensionali comunicați între operații
https://www.tensorflow.org/
PyTorch – bibliotecă in Python
 Tensor computation

 Deep Learning platform

http://pytorch.org/
6
Platforme ML
Core ML – biblioteca care permite integrarea ML în
aplicații Apple
(Apple)
 Aplicatii de vision, NLP si arbori de decizie

 https://developer.apple.com/machine-learning/

Michelangelo learning platform


 internal ML-as-a-service platform

 Manage data, Train models, Evaluate models,

Deploy models, Make predictions, Monitor


predictions
 https://eng.uber.com/michelangelo/ (Uber)
7
ONNX
 ONNX – Open Neural network Exchange
 open format pentru reprezentarea modelelor de

deep learning
 Permite portarea modelelor de deep learning între

diferite platforme
https://onnx.ai/

Facebook & Microsoft

8
Curs nr. 1
 Definitii
 Tipuri de invatare
 Metrici
 Arbori de decizie (Decision trees)
 Paduri aleatoare (Random forests)

9
1. Definiții
 Învățarea este procesul prin care un sistem isi
imbunatateste performantele (Herbert Simon).
 Învățarea este achizitia cunostintelor explicite;
 Învățarea este achizitia deprinderilor de
rezolvare a problemelor
 Învățarea este formare teoriilor, formarea
ipotezelor si inferența inductivă
 ML –observa date și caută șabloane petru
predicție

10
Sistem de invatare
Element de Feed-back
invatare

Rezultate invatare
Date
Rezolvare
BC
Motor de inferenta
Mediu
Strategie

Rezultate
Profesor
Feed-back Evaluare
performante

11
Invatare automata
De ce sa invete?
 Taskuri definite prin exemple

 Relatii / corelatii in cantitati mari de date

 Mediu in schimbare

 Date diferite, cu zgomot

 Cantitate de cunostinte prea mare pentru a fi


reprezentate explicit

12
InvA – Exemple de aplicatii
 clasificarea proteinelor corespunzator functiei lor
 prezice daca pacientul raspunde bine unui
tratament/medicament
 categorizarea textelor (e.g., filtrare spam)
 detectia fraudelor
 OCR
 detectia fetelor umane in imagini
 intelegerea limbajului vorbit
 segmentarea pietii (e.g., daca un client raspunde unei
promotii)
 descoperirea regulilor de bune practici (tipar)
 predictia consumului de electricitate
 sinteza ontologiilor
 toate aplicatiile de data mining
13
Denumiri utilizate
 Instanță
 Concept
 Concept vizat (target concept)
 Clasă de ipoteze
 Mulțimea de învățare (Training set)
 Mulțimea de test (Test set)

14
Denumiri utilizate
 T – vector de intrare, vector sablon, vector de
caracteristici, esantioane, exemple, instanțe
 xi- caracteristici, atribute, variabile de intrare,
componente
 xi - valori reale, valori numerice intregi, valori
simbolice, valori booleene
 f(Xi)
 valori reale: h – functie de esantionare

 valori simbolice: h – clasificator

 boolene: 1 – instanta pozitiva, 0 – instanta


negativa

15
2. Tipuri de invatare
 Învățare supervizată – determinarea ipotezei de
invatare pe baza unor date etichetate
 Simbolica sau subsimbolica

 Învățarea prin recompensa


 Învățare nesupervizată - determinarea ipotezei
de invatare / a unei structuri pe baza unor date
neetichetate
 Simbolica sau subsimbolica

16
Model simplu
T = {X1, X2, …, Xm} – multime de invatare

x1 f(X) = ?
Xi = x2
h h(Xi)
.
.
h∈H
xn
 Invatare supervizata – se cunosc f(X1), …, f(Xm)
Gasim h a.i. h(Xi) = f(Xi), i=1,m → h(Xi) = f(Xi), ∀i

Clasificare – f - valori discrete – grupeaza exemple


Regresie – f – valori continue, estimeaza sau prezice valori

17
Metode de invatare supervizata
Clasificare
 Arbori de decizie

 Clasificare probabilistica (Naïve Bayes)

 Nearest neighbours (k-NN pt clasificare)

 SVM

 Retele neurale

 Invățare mulțime (ensemble learning): paduri

aleatoare, ADA boost

18
Metode de invatare supervizata
Regresie
 Regresie liniara

 SVR

 Arbori de regresie

 Nearest neighbours (k-NN pt regresie)

19
Clasificare vs regresie

Clasificare
 Caine / Pisica

 Dan 10.000 lei credit de 30.000 lei


 George 3.000 lei credit de 10.000 lei
 Vlad 15.000 lei credit de 50.000 lei
 Maria 5.000 lei cat credit? Regresie
20
Clasificare vs regresie
 Reprezentam ipotezele de invatare sub o
forma care sa permita ca iesirea
algoritmului sa fie o eticheta (clasa): arbori,
retele neurale, etc. Clasificare

 Reprezentam ipoteza de invatare ca o functie


liniara
h(x)=a0+a1x
 Cat este valoarea y
x
Regresie
pt punctul rosu?
21
Model simplu
T = {X1, X2, …, Xm} – multime de invatare

x1 f(X) = ?
Xi = x2
h h(Xi)
.
.
h∈H
xn
 Invatare ne-supervizata – NU se cunosc f(X1), …, f(Xm)
Imparte T in submultimi – clase
Se poate vedea tot ca invatarea unei functii – val f = numele
submultimii careia ii apartine Xi
 Invatare prin recompensa – Se cunosc recompensele
pentru valorile h(X1), …, h(Xm), Nu se cunosc valorile lui f

22
Metode de invatare nesupervizata
 Clustering
 k-means clustering (grupare), k-means

ierarhic (grupare ierarhica)


 Retele neurale
 Retele neurale cu auto-organizare

 Autoencoders

 Deep belief networks

23
Metode de invatare nesupervizata
 Expectation maximization (EM)
 HMM – algoritmul Baum-Welch

 Retele Bayesiene – estimarea parametrilor

in cazul datelor incomplete


 Soft clustering – clasele se pot suprapune

 Principal Component Analysis (PCA)

24
Caracteristici importante
 Regimuri de invatare:
 Batch

 Incremental

 Zgomot:
 zgomot intrari (de ex valorile atributelor)

 zgomot iesiri (alterare iesiri)

 Favorizare inductiva (Inductive bias)


 Favorizare restrictiva (Restrictive bias) – restrange

setul de ipoteze
 Favorizare preferentiala (Preference bias) – anumite

ipoteze sunt preferate


25
Occam Razor
Principiul lamei lui Occam (lex parsimoniae )
 prefera explicatiile simple celor complexe
 selecteaza ipoteza care implica cele mai putine
presupuneri, intre ipoteze similare/egal probabile
 Wiliam of Occam, 1285 – 1347
 filozof englez

"non sunt multiplicanda entia praeter


necessitatem"

26
Conditii pentru o invatare "corecta"
Problema: identifica personaje de film
"bune" sau "rele" dupa modul in care arata

27
Conditii pentru o invatare "corecta"
Atribute / Sex Masca Pelerina Cravata Urechi Lupta Clasa
Instante
Set de invatare

Batman Masc Da Da Nu Da Nu Bun


Robin Masc Da Da Nu Nu Nu Bun
Alfred Masc Nu Nu Da Nu Nu Bun
Pinguin Masc Nu Nu Da Nu Da Rau
Catwoman Fem Da Nu Nu Da Nu Rau

Joker Masc Nu Nu Nu Nu Nu Rau


Date de test

Batgirl Fem Da Da Nu Da Nu ??
Fred Masc Da Nu Nu Nu Nu ??
28
Conditii pentru o invatare "corecta"

Clasifica datele corect

Cravata

Nu Da

Pelerina Lupta

Nu Da Nu Da

Rau Bun Bun Rau

29
Conditii pentru o invatare "corecta"

Masca
Nu Da

Lupta Pelerina Da
Nu Da Nu
Urechi Rau Sex Urechi
Nu Da
Da Fem Masc Nu
Cravata Pelerina Bun Rau Lupta Bun
Nu Da
Da Nu Nu Da
Rau Bun Rau Bun Bun Rau

Clasifica datele corect dar complexitate prea mare (intuitiv)

30
Conditii pentru o invatare "corecta"

Prea simplu, nu clasifica corect

Sex

Masc Fem

Bun Rau

Aleg prima varianta (cf. lamei lui Occam)

31
Conditii pentru o invatare "corecta"
 Clasificatoarele trebuie sa fie suficient de
"expresive" pentru a fi in concordanta cu
setul de invatare
 Dar clasificatoarele care au o complexitate
prea mare pot duce la fenomenul de
"overfit" (overfitting)

32
Caracteristici importante
 Overfitting = modelul include zgomot sau
sabloane de date nerelevante
 Nu mai poate generaliza
 Validare încrucișată
 Regularizare

33
Caracteristici importante
 Underfitting = modelul nu se potriveste
nici datelor de învățare și nici nu poate
generaliza la date noi

34
Caracteristici importante
 Regularization
 Evită overfitting
 Se poate aplica oricărui model ML
 Simplifică modelele cu complexitate prea
mare prin adăugarea de termeni d
epenalizare funcției obiectiv

35
Caracteristici importante

Cross-validation
 Antrenarea se face pe subseturi de date de
învățare și evaluare pe restul
 Metode:

 Hold out

 K-fold

 Leave-P-out

36
3. Metrici de performanță
Regresie
 Mean Absolute Error (MAE) = media
diferenței absolute între valori corecte și
valori prezise
 Root Mean Square Error (RMSE) =
rădăcina pătrată a mediei diferențelor
pătratelor între valori corecte și valori
prezise

37
Metrici de performanță pt clasificare
Clasificare
 Confusion matrix – corectitudinea și
acuratețea modelului

38
Metrici de performanță pt clasificare
 Accuracy– utilă dacă clasele sunt
distribuite uniform

39
Metrici de performanță pt clasificare
 Precision (hit)

40
Metrici de performanță pt clasificare
 Recall sau Sensitivity (misses)

41
4 Arbori de decizie
 ID3 – in jur de 1960s
 C4.5 (Quinlan):
 Permite atribute numerice
 Trateaza cazurile valorilor lipsa
 Trateaza cazul valorilor cu zgomot
 C4.5 – unul din cei mai cunoscuti algoritmi de
invatare
 Ultima versiune de cercetare: C4.8, implementata
in Weka
 Versiunea comerciala: C5.0

42
Invatarea inductiva prin AD
 Vede invatarea ca achizitia cunostintelor structurate
 Reprezentarea cunostintelor = arbori de decizie (AD)
 Problema de invatare = clasificare
 Invatare supervizata
 Strategie = invatare batch (ne-incrementala)
 AD se construieste pornind de la radacina spre frunze
= Top Down Induction of Decision Tree

43
ID3 (Quinlan)
 Univers de obiecte U descrise in termenii unei colectii de
atribute {A}
 Fiecare atribut masoara o caracteristica importanta a unui
obiect o∈U
 Domeniul de valori atribute DA= discret, simbolic (ulterior
extins)
 Fiecare obiect apartine unui clase dintr-o multime de clase
mutual exclusive {Cl}
 Se da setul de invatare (SI)
 Problema = obtinerea unor reguli de clasificare /
construirea unui AD care clasifica corect nu numai ∀o∈SI
dar si ∀o∈U
44
ID3 (Quinlan)
 Structura iterativa – fereastra din SI
 S-au gasit AD corecti in cateva iteratii pt 30 000
obiecte cu 50 atribute
 Empiric s-a aratat ca iterativ se obtin arbori mai
buni decat daca s-ar construi din tot SI

 Utilizare AD
 Reguli de decizie

45
ID3 (Quinlan)
Metoda de constructie
 C = multmea de obiecte / ex inv. din SI
 Ak – atribut test cu valori Ak1, .. Akn
 "divide-and-conquer"
 Impartirea/expandarea AD se opreste cand toate
obiectele din C apartin unei aceleiasi clase
 Se termina intotdeauna (in cazul cel mai
nefavorabil, cate un obiect in fiecare clasa)

46
ID3 – Exemplu
No. Atribute Clasa
Vreme Temperatura Umiditate Vant

1 soare cald mare fals N


2 soare cald mare adev N
3 nori cald mare fals P
4 ploaie placut mare fals P
5 ploaie racoare normal fals P
6 ploaie racoare normal adev N
7 nori racoare normal adev P
8 soare placut mare fals N
9 soare racoare normal fals P
10 ploaie placut normal fals P
11 soare placut normal adev P
12 nori placut mare adev P
13 nori cald normal fals P
14 ploaie placut mare adev N
47
ID3 – Exemplu

Vreme Cploaie = {4P,5P,6N,10P,14N}

soare ploaie
Csoare = {1N,2N,8N,9P,11P} nori

Umiditate P Vant

mare normal adev fals

N P N P

Cnori = {3P,7P,12P,13P}

48
ID3 – Arbore minim
 Din acelasi SI se pot contrui diferiti AD
 Cum se poate obtine cel mai mic arbore
(lama lui Occam) ?
 = Cum selectez atributul din radacina unui
arbore?

49
ID3 – Cum selectez A?
 C cu un numar de ex pozitive p∈P si exemple negative
n∈N
Se presupune ca:
 (1) Orice AD corect va clasifica obiectele proportional cu
reprezentarea lor in C
Un obiect arbitrar o∈C va fi clasificat:
 ∈P cu probabilitatea p/(p+n)
 ∈N cu probabilitatea n/(p+n)
 (2) Cand un AD este utilizat pentru a clasifica obiecte,
acesta intoarce o clasa ⇒
AD poate fi vazut ca o sursa a unui mesaj 'P' sau 'N' avand
informatia necesara pentru a genera acest mesaj

50
Teoria informatiei ofera criteriul
 Pentru un univers de mesaje
M = {m1, m2, ..., mn }
si o probabilitate p(mi) de aparitie a fiecarui
mesaj, continutul informational I(M) al
mesajelor din M se defineste astfel:

n
I(M) = ∑ − p( mi ) log2(p(mi))
i =1

51
Selectia testului (atributului)
 Fie multimea de obiecte C cu p∈P si n∈N
 Continutul de informatie I(ADp,n) este

p p n n
I ( AD p ,n ) = − log 2 − log 2
p+n p+n p+n p+n
 Selecteaza A in radacina; A ∈{A1,…,Av}
 Fie Ci cu pi∈P si ni∈N, i=1,v
 Continutul de informatie pentru fiecare Ci este
I(ADpi,ni), i=1,v

52
Selectia testului (atributului)
 Dupa selectarea lui A in radacina, cantitatea de
informatie necesara pentru a termina
constructia arborelui este suma ponderata a
continutului de informatie din toti subarborii
v
p i + ni
E ( A) = ∑ I ( AD pi ,ni )
i =1 p+n
 unde ponderea ramurii i este fractiunea de obiecte
din C care apartin lui Ci ;
 v este numarul de valori ale lui A

53
Selectia testului (atributului)
 Castigul informational al unui atribut A
obtinut prin selectia acestuia ca radacina a
arborelui de decizie este:
G(A) = I(ADp,n) – E(A)
 Se selecteaza A cu castig informational
maxim
 Recursiv pentru a forma AD corespunzatori
multimilor C1 … Cv

54
Calcul G(A) pt Ex
 14 exemple, 9∈P, 5∈N
I(ADp,n) = 0.940 bits 9 9 5 5
 − log 2 − log 2
14 14 14 14
 vreme
 soare - 2∈P, 3∈N ⇒ I(ADp1,n1) = 0.971

 nori - 4∈P, 0∈N ⇒ I(ADp2,n2) = ? 0


 ploaie - 3∈P, 2∈N ⇒ I(ADp3,n3) = ? 0.971

5 4 5
I ( AD p1,n1 ) + I ( AD p 2,n 2 ) + I ( AD p 3,n 3 )
 E(vreme) = 0.694 bits 14 14 14

 G(vreme) = 0.940-0.694= 0.246 bits


 G(temperatura) = 0.029 bits Csoare = {1N,2N,8N,9P,11P}
 G(umiditate) = 0.151 Cnori = {3P,7P,12P,13P}
 G(vant) = 0.048 bits Cploaie = {4P,5P,6N,10P,14N}
55
Generalizare la mai multe clase
 Continutul de informatie
v
I ( Arb) = ∑ − p(Cl = Ci ) * log 2 p(Cl = Ci )
i =1

 Cantitatea de informatie necesara


pentru a termina constructia arborelui
v
| Ci |
E ( A) = ∑ I (Ci )
i =1 | C |

 Castigul informational
G(A) = I(Arb) – E(A)

56
Algoritm ID3
functie ind-arbore (set-invatare, atribute, default)
1. daca set-invatare = vid atunci intoarce frunza etichetata cu default sau
"Failure" Caz 1 – ex inv lipsa
2. daca toate exemplele din set-invatare sunt in aceeasi clasa
atunci intoarce o frunza etichetata cu acea clasa Bine = recunoaste
3. daca atribute este vida
atunci intoarce o frunza etichetata cu disjunctia tuturor claselor din
set-invatare Caz 2 – atr inadecvate

4. selecteaza un atribut A, creaza nod pt A si eticheteaza nodul cu A


5. sterge A din atribute –> atribute1
6. m = cea mai frecventa clasa (set-invatare)
7. pentru fiecare valoare V a lui A repeta
- fie partitieV multimea exemplelor din
set-invatare, cu valorea V pentru A
- creaza nodV = ind-arbore (partitieV, atribute1, m)
- creaza legatura nod A – nodV etichetata cu V

sfarsit

57
Complexitate
 In fiecare nod cu exceptia frunzelor trebuie aflat
G (castig informational) pt fiecare atribut A
 G depinde de valorile pi si ni pentru fiecare
valoare Ai a lui A ⇒ fiecare obiect din C trebuie
investigat (clasa, valoare A) ⇒
 O(|C| * |A|) , |A| - nr atribute
 Pentru fiecare iteratie, complexitatea ID3
 O(|C| * |A| * |AD|) , unde |AD| - numar de noduri
interne AD

58
Cazuri speciale
Caz 1. Nu exista obiecte o∈ C pentru care A=Aj
 ID3 eticheteaza frunzele cu "null" sau "Failure" –
deci nu clasifica in aceste noduri
 Solutie
 Generalizeaza si se atribuie frunzei clasa cu cea
mai mare frecventa de aparitie in C (cea mai
frecventa)

59
Cazuri speciale: Zgomot
Caz 2. Informatia din SI este afectata de zgomot
 Zgomot
 valori de atribute ale obiectelor din C afectate
de zgomot
 clasificare incorecta a obiectelor din C
 Erorile din C (zgomotele) pot duce la 2
probleme:
 AD cu complexitate mai mare decat este
necesar (a)
 atribute inadecvate (b)
60
Cazuri speciale: Zgomot
Modificari necesare ID3 pt a trata zgomotul
 (a) Trebuie sa decida daca testarea unor atribute
suplimentare va creste sau nu acuratetea predictiva a AD
 (b) Trebuie sa poata lucra cu atribute inadecvate
Cum se realizeaza (a)
Solutia 1
 G(A) > prag α absolut sau relativ
 α suficient de mare pt a elimina atribute
nerelevante - dar elimina si atribute relevante pt
cazul fara zgomot
61
Cazuri speciale: Zgomot clase
Solutia 2
 Testul ℵ 2
pt independenta stohastica
 Ci cu pi ∈P si ni ∈N
 Daca valoarea Ai a lui A este irelevanta
pt clasa unui obiect din C, valoarea pi + ni
estimata pi' a lui pi este: pi = p
'

p+n
 Daca pi' si ni' nu sunt foarte mici atunci
se poate utiliza o expresie ce
aproximeaza testul ℵ2 pentru a determina
increderea in relevanta lui A v
( p − pi' ) 2 (n − ni' ) 2
χ= ∑ pi'
+
ni'
 Se elimina atributele pentru care i =1

increderea in relevanta nu este foarte


mare.
62
Cazuri speciale: Zgomot atribute
Cum se realizeaza (b – atribute inadecvate)
 Trebuie produsa o eticheta pt Ci dar obiectele nu
sunt in aceeasi clasa
Solutia 1
 Se utilizeaza notiunea de apartenenta la o clasa cu o
anumita probabilitate, de ex. pi/(pi+ni)
Solutia 2
 Eticheteaza cu clasa cea mai numeroasa: P daca
pi>ni, N daca pi<ni, oricare (P sau N) daca pi=ni

63
Cazuri speciale: Extinderi C4.5
Caz 3. Valori necunoscute de atribute
3.1 Valori de atribute lipsa in SI
Solutia 1
 Atribuie valoarea cu cea mai mare frecventa

Solutia 2
 Foloseste probabilitati pt a determia distributia de
probabilitate a valorilor lui A in C in functie de
apartenenta la o clasa
prob( A = Ai ∧ clasa = P)
prob( A = Ai | clasa = P) =
prob(clasa = P)

si alege valoarea cu cea mai mare probabilitate


64
Cazuri speciale: atribute lipsa SI
Solutia 3
 Construieste un AD pt a invata valorile atributelor
lipsa
 C'⊂C, C' cu valori pt A
 In C' clasa este privita ca un atribut cu valori P sau
N
 Valorile lui A – clasele de invatat
 Obtine AD' utilizat apoi pentru a clasifica obiectele
din C-C' ⇒ determin valoarea atributului A
 Solutia 3 > Solutia 2 > Solutia 1
65
Cazuri speciale: atribute lipsa SI
Solutia 4
 La evaluarea castigului informational, obiectelor
cu valori necunoscute li se atribuie valori
distribuite peste valorile lui A proportional cu
frecventa relativa a acestor valori in C
 G(A) este calculat ca si cum valoarea lui pi ar fi
data de:
pi + ni
 pi+pi * Ri Ri =
∑j ( p j + n j )
 ni+ni * Ri
 Valorile necunoscute nu pot decat sa scada
castigul informational
66
Cazuri speciale: Extinderi C4.5
Caz 4. Atribute cu multe valori
 A1 .. An - f multe valori simbolice sau valori
numerice / continue, sau chiar valori aleatoare
 Castig mare → arbore cu 1 nivel

Solutia 1 (valori numerice)


 Partitionez in intervale (Ai+Ai+1)/2, fiecare
interval o valoare

67
Cazuri speciale: A cu multe valori
Exemplificare Solutia 1 (valori numerice)
 Partitionez in intervale (Ai+Ai+1)/2, fiecare interval
o valoare

 Ordonez valorile atributului din SI

64 65 68 69 70 71 72 72 75 75 80 81 83 85
da nu da da da nu nu da da da nu da da nu
64.5 66.5 70.5 72 73.5 77.5 80.5 84

68
Cazuri speciale: Extinderi C4.5
Solutia 2 (valori numerice)
Pt fiecare Ai, i=1,m imparte obiectele in (-∞, Ai] si
(Ai, + ∞) ⇒ partitie Pi
 Pentru fiecare Pi calculeaza castigul
informational si selecteaza partitia cu castig
informational maxim

69
Cazuri speciale: A cu multe valori
Solutia 3 (valori simbolice)
 Utilizeaza Informatia de separare = cantitatea de
informatie necesara pentru a determina valoarea unui
atribut A intr-un set de invatare C
 Fie PA,C distributia de probabilitate a valorilor lui A
| A1 | |A |
PAC = ( ,..., v )
|C | |C |
 Informatia de separare
v
pi + ni pi + ni
ISep( A) = −∑ log 2
i =1 p+n p+n

70
Cazuri speciale: A cu multe valori
G ( A) sa fie cat mai mare
GR( A) =
ISep( A)

 Dar GR poate sa nu fie intotdeauna definita (ISep=0)


sau sa tinda sa favorizeze ISep mici
 Selecteaza dintre atributele cu G(A) mare (peste medie)
acelea cu GR(A) cel mai bun
 G(vreme) = 0.246 bits
 G(temperatura) = 0.029 bits
 G(umiditate) = 0.151 bits
 G(vant) = 0.048 bits
 ISep(vreme) = 1.578, ISep(umiditate) = 1 bit
 GR(vreme) = 0.246/1.578=0.156
 GR(umiditate) = 0.151/1.0 = 0.151
71
Cazuri speciale: A cu multe valori
 Utilizeaza diverse metode de invatare pentru a
forma clase din aceste valori sau a grupa aceste
valori in grupuri (clustere), clase care sa devina
valori discrete (sau sa produca mai putine
valori) pentru atribut

72
5. Random forests
 Ipoteza metodei: combina mai multe modele de
invatare a conceptului pentru a creste acurateta
invatarii
 Bagging – obtine o medie a unor modele de
invatare (fiecare poate fi afectat de zgomot sau de
impartire favorizanta - biased)
 Idee - Selectam aleator din multimea de invatare
o submultime de exemple si tot aleator selectam o
submultime de atribute, apoi construim, pentru
fiecare selectie cate un arbore (random selection
of attributes and random seletion of examples)
 Obtinem o padure de arbori
73
Random forests
 N – numarul de exemple de invatare, M numarul
de atribute
 Se vor selecta in fiecare arbore m atribute (m<M)
si n (n<N) exemple, aleator, din setul de invatare
(bootstrap sample)
 Restul exemplelor se folosesc pentru evaluare
 Fiecare arbore este complet construit

74
Random forests
Create decision tree
from each bootstrap sample

M features
N examples

....…
....…

75
M features
N examples

Take the
majority
vote

....…
....…
Random forests
 Pentru o padure de arbori, si o instanta
necunoscuta se clasifica instanta cu fiecare
arbore
 Fiecare arbore aduce un vot, se considera
clasificarea data de votul majoritar
Avantajele metodei
 Acuratete mare de invatare
 Reduce influenta unui model favorizant (biased)
 Mai putin sensibil la zgomote
 Totusi are tendinta la overfitting pentru anumite
seturi de date
77
Invatare automata

Universitatea Politehnica Bucuresti


Anul universitar 2019-2020

Adina Magda Florea


Curs nr. 2
 Regresie liniara
 Regresie liniara cu atribute multiple
 Arbori de regresie

2
Model simplu
T = {X1, X2, …, Xm} – multime de invatare

x1 f(X) = ?
Xi = x2
h h(Xi)
.
.
h∈H
xn
 Invatare supervizata – se cunosc f(X1), …, f(Xm)
Gasim h a.i. h(Xi) = f(Xi), i=1,m → h(Xi) = f(Xi), ∀i

Clasificare – f - valori discrete – grupeaza exemple


Regresie – f – valori continue, estimeaza sau prezice valori

3
1 Regresie liniara
 Algoritm de invatare supervizata
 Invata valori continue pe baza exemlelor de
invatare
Regresie liniara
 Cum se reprezinta h?
 In acest exemplu - regresie liniara cu 1 variabila (1
atribut)
hθ(x) = θ0 + θ1x

y=hθ(x)

x
Functie de cost
 n – numar exemple de invatare
 x – vaiaribal de intrare / atribut
 y – variabila de iesire / estimare
 Cum alegem parametrii θ0 si θ1 pentru a gasi
modelul?
 Trebuie sa minimizam o functie de cost
Functie de cost
Alegem parametrii astfel incat
hθ(x) sa fie cat mai aproape de pct (x,y)
Functie de cost

min
θ0 si θ1

Functie de cost – eroare patratica


J(θ0,θ1)
Cam cum arata o astfel de functie de cost?
Presupunem intai numai drepte cu θ0=0
hθ(x) = θ0 + θ1x
θ1=1, θ0=0
y, h J(θ1)
3 3

2 2

1 1 J(1)=0

x 0
θ
0 1 2 3 0.5 1 1.5 2 2.5 3

hθ(x) = θ1x
J(θ1) =
θ1=0.5, θ0=0
y, h J(θ1)
3 3

2 2

1 1 J(0.5)=0.58..

x θ
0 0
1 2 3 0.5 1 1.5 2 2.5 3

hθ(x) = θ1x
J(θ1) =
θ1=0, θ0=0
y, h J(θ1)
3 3

2 2

1 1 J(0)=2.3

x 0
θ
0 1 2 3 0.5 1 1.5 2 2.5 3

hθ(x) = θ1x
J(θ1) =
θ1=1,0.5, 0, … θ0=0

y, h J(θ1)
3 3

2 2

1 1

x 0
θ
0 1 2 3 0.5 1 1.5 2 2.5 3

hθ(x) = θ1x
J(θ1) =

Pr fiecare valoare θ1 avem o valoare diferita a J(θ1)


Scaderea gradientului (Gradient
descent)
 Metoda generala care se poate aplica si in alte
cazuri
 Metoda iterativa pentru gasirea minimului unei
functii
 Pentru a afla minimul unei functii, se fac pasi
proportionali cu negativul derivatei functiei in
punctul curent
 Sau proportionali cu pozitivul derivatei pentru
maxim
 Minime, respectiv maxime locale – nu garanteaza
gasirea valorii optime globale
Gradient descent
Minimizarea functiei de cost J(θ0,θ1)
Initializeaza θ0 θ1
repeta pana la convergenta
pentru j=0 si j=1 (simultan) executa

θj ←

 α – viteza de invatare
Gradient descent
Minimizarea functiei de cost J(θ0,θ1)
Initializeaza θ0 θ1
repeta pana la convergenta

θ0 ← θ0 - α

θ1 ← θ1 - α

n – numar exemple de invatare


Gradient descent
 Pe masura ce ne apropiem de miniml local, se vor
face pasi din ce in ce mai mici
 Regim de invatare de tip batch – utilizeaza toate
exemplele de invatare

 α – viteza de invatare
 Daca α prea mica – converge incet
 Daca α prea mare poate sa nu gaseasca minimul
 Daca initializam θ0 θ1 chiar cu valorile minimului
– J nu se mai modifica (derivata partala 0)
Regresie liniara multi-variabile
Consideram un numar de atribute x1 .. xm

Minimizarea functiei de cost J(θ0,θ1,.. θm)


Initializeaza θj
repeta pana la convergenta
pentru j=0 la m (simultan) executa

θj ← (θ0,θ1,.. θm)
Regresie liniara multi-variabile

h(x) = θ0 + θ1 x1 .. θm xm

Consideram un atribut suplimentar x0 care are


valoarea 1 pentru orice exemplu
x0 θ0
x= .. θ = ..
xm θm

h(x) = θT x
Regresie liniara multi-variabile

h(x) = θ0 + θ1 x1 .. θm xm

h(x) = θT x

J(θ0 , θ1 , .. θm) =
Regresie liniara multi-variabile
Minimizarea functiei de cost J(θ0 , θ1 , .. θm)
Initializeaza θ0 , θ1 , .. θm
repeta pana la convergenta

θj ← θj - α

 Actalizeaza simultan θj cu j=1,m


 Functia de cost pentru regresie liniara este o
functie convexa – are un singur minim global
care va fi intotdeauna gasit
Scalarea valorilor de atribute
 Pentru ca GD sa convearga repede este bine ca
valorile de atribute sa fie cam in acelasi interval
Ex Suprafata casa 0-1.000 m2
Numar camere 1-7
 GD converge foarte incet

 Scalam

x1= sup/20.000 x2 = nr cam/7


 La fel pentru valori foarte mici

x1 in int [1..1000] si x2 in int [-0.000.1..+0.0001]


2 Arbori de regresie
 Arborii de regresie sunt arbori de decizie dar
pentru valori continue ale atributelor / variabile
 Realizeaza predictie
 Modelele predictive de regresie liniare sunt
modele globale in care o singura formula
predictiva trebuie (se presupune) sa fie valabila in
tot spatiul
 Daca datele de intrare au multe atribute care
interactioneaza in moduri complicate, detectarea
unui singur model global poate fi problematica
Arbori de regresie
 O metoda pentru a realiza regresie neliniara este
partitionarea spatiului in regiuni mici in care
interactiunile sunt mai simple
 Partitionare recursiva (cum este si cazul
clusterizarii ierarhice) pana se ajunge la portiuni
ale spatiului care sunt suficient de mici pentru a le
putea modela prin modele simple
 Modelul are astfel 2 parti: partitionarea
recursiva si un model simplu pentru fiecare
partitie
Arbori de regresie
 Arborii de regresie utilizeaza arbori de decizie
pentru a reprezenta partitionarea
 Arbori de regresie sunt arbori de decizie cu
valori continue
 Frunzele corespund unor regiuni din spatiul de
intrare (vecinatati) care sunt similare ca iesiri si cu
intrari alaturate
 Arborii de predictie / regresie sunt un fel de
nearest-neighbourhood adaptiv
Function f(X,Y)
Functie f(X,Y) Tree form off(X,Y)
Reprezentare f(X,Y)
Y Y<4
da

0 X<3 0
da
4
1 Y<2
2 da 2
2 2
2 1
3 X

da

da
Exemplele din regiunea
 corespunzatoare frunzei

Modelul pentru regiunea


corespunzatoare frunzei
Arbore de regresie -
Estimare cost
automobiile 1990
in functie de cai-putere
si apatament

All features have been standardized to have zero


mean and unit variance
Credit Cosma Shalizi
Estimare cost
automobiile 1990
in functie de cai-putere
si apatament
Arbore de regresie -
Estimare cost case
in functie de pozitionare
pe harta

All features have been standardized to have zero mean and unit variance

 Care este criteriul de oprire?
 fiecare nod contine mai putin de q puncte

sau
 divizarea creste informatia cu mai putin de o

valoare de prag = scade eroarea cu mai putin de


valoarea de prag

 Frecvent se utilizeaza patratul erorilor pentru un


arbore T in loc de RMSError
 Suma erorilor patratice pentru un arbore T
este

 Trebuie sa minimizam S
Construirea arborelui de regresie
1. Incepe cu 1 nod care contine toate punctele
2. Calculeaza mc si S pentru acel nod
3. daca toate punctele din nod au aceeasi valoare
pentru variabilele de intrare atunci stop
altfel cauta dintre toate diviziunile binare ale
variabilelor pe aceea care reduce S cat mai mult
4. daca scaderea in S < prag sau unul din nodurile
obtinute prin diviziune are mai putin de q puncte
atunci stop
altfel creeaza 2 noduri si repeta de la 3
Invatare automata

Universitatea Politehnica Bucuresti


Anul universitar 2019-2020

Adina Magda Florea


Curs nr. 3
 Regresie logistica
 Naïve Bayes
 Invatare “Ensemble”

2
1. Regresie liniara (curs anterior)
Consideram un numar de atribute x1 .. xm
Ipoteza hθ(x) = θ0 + θ1 x1 .. θm xm

h(x) = θT x

J(θ0 , θ1 , .. θm) =
Regresie liniara (curs anterior)

Minimizarea functiei de cost J(θ0,θ1,.. θm)


Initializeaza θj
repeta pana la convergenta
pentru j=0 la m (simultan) executa

θj ← (θ0,θ1,.. θm)
Regresie liniara (curs anterior)
Minimizarea functiei de cost J(θ0 , θ1 , .. θm)
Initializeaza θ0 , θ1 , .. θm
repeta pana la convergenta

θj ← θj - α

 Actualizeaza simultan θj cu j=0,m


 Functia de cost pentru regresie liniara este o
functie convexa – are un singur minim global
care va fi intotdeauna gasit
2. Regresie logistica
Invatare supervizata
Utilizata in clasificare
 Regresie logistica binomiala (binara)

 Regresie logistica multinomiala (multi-clasa)

 Am putea utiliza regresia liniara cu


h θ(x) ≥ 0.5 y=1
h θ(x) < 0.5 y=0
 Nu este o idee buna
Ipoteza de invatare

0 ≤ h θ(x) ≤ 1 h(x) = g(θT x)

1
g(z)

h θ(x) estimeaza probabilitatea ca y=1 pentru o


intrare x
h θ(x) = P( y=1 | x; θ)
Ipoteza de invatare

0 ≤ h θ(x) ≤ 1 presupunem o relatie liniara intre 2


atribute x1 si x2 si “log odds” (l ) al clasei y
p = P( y=1 | x; θ)
Functia de cost

In regresie liniara avem functia de cost

J(θ0 , θ1 , .. θm) =
In regresie logistica hθ(x) = θT x

Daca am utiliza aceeasi functie de cost aceasta nu ar


mai fi convexa (deci nu un unic minim global)
Avem nevoie sa definim o alta functie de cost
Functia de cost

Cost(hθ(x),y)= - log(hθ(x)) daca y=1


- log(1- hθ(x)) daca y=0
Inseamna ca daca hθ(x) = 0 costul tinde la infinit deci
predictia este P( y=1 | x; θ) = 0
Scriem compact
Cost(hθ(x),y) = - y log(hθ(x)) – (1-y) log(1- hθ(x))

J(θ) = - yi log(hθ(xi)) + (1-yi) log(1- hθ(xi))

MLE – Maximum Likelihood Estimation


Clasificare

Pentru a face o predictie (a clasifica) trebuie sa


determinam parametrii θ
min θJ(θ) cu

Aplicam scaderea gradientului


Initializeaza θj
repeta pana la convergenta
pentru j=0 la m (simultan) executa
θj ← (θ0,θ1,.. θm)
Scaderea gradientului

Initializeaza θ0 , θ1 , .. θm
repeta pana la convergenta

θj ← θj - α

 Actualizeaza simultan θj cu j=0,m

( hθ(x) = θT x pt regresie liniara )


Diferente
Regresie liniara
– Distributia este Gausiana
- Valorile prezise sunt continue
Regresie logistica
– Distributia este Bernoulli/Binomiala
- Valorile prezise sunt probabilitati pentru
apartenenta (sau non-apartenenta) la o clasa
(Distributie Bernoulli – 1 eveniment cu iesire 1/0
Distributie categoariala – 1 eveniment cu k iesiri
Distributie binomiala – n evenimente cu iesire 1/0
Distributie multinomiala – n evenimente cu k iesiri posibile)
Algoritmi de optimizare

 Scaderea gradientului
 Scaderea conjugata a gradientului

 Broyden–Fletcher–Goldfarb–Shanno (BFGS) -

metoda quasi-Newtoniana (tip hill climbing)


(quasi-newtoniana – daca Hessiana este prea
complicat de calculat, aceasta este actualizata prin
analiza iterativa a vectorilor de gradient)
 Limited memory Broyden–Fletcher–Goldfarb–

Shanno (L-BFGS)
BFGS nu neecsita stabilirea manuala a α
Clasificare multi-clasa

Clasificare “one-versus-all”, K clase


Clasa 1 h1θ(x) = P(Y=1 | X; θ1) – determina setul de
parametrii θ1
Clasa 2 h2θ(x) = P(Y=2 | X; θ2) – determina setul de
parametrii θ2
etc.
Pentru o instanta necunoscuta x, determina hiθ(x) pt
fiecare clasa si alege clasa pentru care hiθ(x) are
valoarea maxima
Clasificare multi-clasa

Pentru K clase, se executa regresie logistica pentru K-1


modele de regresie logistica binara, din care o clasa
este aleasa ca pivot si celelalte K-1 sunt clasificate in
functie de pivot. Daca clasa K este aleasa ca pivot
atunci:

θ1

θ2

θK-1
Overfitting

Solutii pt minimizare
1) Reducerea numarului de atribute
- Manual

- Algoritmi de selectie a modelului

Poate reduce overfitting dar elimina informatie


2) Regularizare
Pastrez toate atributele dar reduc dimensiunea
parametrilor θ1 , .. θm
Potrivita daca avem multe atribute, fiecare
contribuind cu putin/la fel la predictie
3. Regularizare

Tehnica de a minimiza overfitting


Idee = sa pastram θ mici, duce la modele mai simple

J(θ0 , θ1 , .. θm) =

θj ← θj – α Termen de
regularizare

pt j=1,m si
φ - Parametru de
θ0 ← θ0 – α regularizare
Regularizare

Se poate rescrie

θj ← θj (1- α )-α

pt j=1,m
Primul termen de obicei mai mic ca 1, are efectul
reducerii parametrilor
Al doilea termen actualizeaza parametrii conform
scaderii gradientului
Observatii

 Regularizarea se aplica atat la regresie logistica cat


si la regresie liniara.
Formula de actualizare a θj , j=1,m este aceeasi
(evident difera h(x))
 Regresia logistica poate beneficia, la fel ca cea
liniara, de scalarea valorilor de atribute (vezi
Curs 2)
4. Interogari MAP

Maximum a posteriori (MAP) query


(MAP inference)

Scop – gasirea atribuirii MAP –


Cea mai plauzibila atribuire pt Y
Pe baza observatiilor variabilelor X=x1,..,xn

MAP(Y|X) = arg max Y P(X,Y)

21
Interogari MAP

MAP(y=1|x1,..,xn) =
arg max y P(x1,…,xn,y) =
arg max y P(x1,…,xn|y)*P(y)
[ pt ca
P(y | x1,..,xn) = P(x1,..,xn |y) * P(y) / P(x1,..xn)
P(y | x1,..,xn) = α * [ P(x1,..,xn |y) * P(y) ]
• Daca x1..xn sunt independente conditional
fiind dat y
P(x1,..xn |y) = Πi P(xi|y)
Ipoteza Naïve Bayes
22
Interogari MAP

Cu ipoteza Naïve Bayes

P(Cauzay | Efect1, Efect2, …) =


α P(Cauzay) * Πi P(Efecti|Cauzay)

Cauza_MAP = argmaxy P(Cauzay) * Πi P(Efecti|Cauzay)

23
Naïve Bayes

Vector de caracteristici x1,..,xn si o multime de


clase Ck
P(Ck | x1, x2, …) = α P(Ck) * Πi P(xi|Ck)

C_MAP = argmaxk P(Ck) * Πi P(xi|Ck)

Clasa

X1 X2 … Xn

24
5. Invatarea “Ensemble”

 Genereaza mai multe ipoteze din acelasi set de


date
 Combina mai multe ipoteze de invatare

Metode
 Naïve Bayes

 Bagging – Random forests (vezi Curs 1)

 Boosting – construieste incremental o multime de

ipoteze prin antrenarea fiecarei noi instante de


model a.i. sa ia in considerare exemplele gresit
clasificate de modelul anterior - Adaboost
Adaboost
 N exemple de invatare {(x1,y1, …(xN,yN)}, M etape
Invatare
Initializare pt i=1,N
pentru j=1,M repeta
1. Construieste un model hj din setul de invatare utilizand
distributia Dj
2. Defineste eroarea ponderata a modelului j

Eroarea ponderata a modelului hj


Adaboost
3. Obtine o ipoteza hj care minimizeaza eroarea εj si satisface
conditia εj<1/2

Predictie
Boosting

https://towardsdatascience.com/understanding-
adaboost-2f94f22d5bfe

https://medium.com/mlreview/gradient-boosting-
from-scratch-1e317ae4587d
Invatare automata

Universitatea Politehnica Bucuresti


Anul universitar 2019-2020

Adina Magda Florea

1
Curs Nr. 4
Support Vector Machines

2
1. Clasificatori liniari
 Fiind data o multime de caracteristici din doua clase
distincte, se cauta un model pt a le recunoaste
 Problema clasificarii in doua clase folosind modele
liniare de forma
f(x) = wTx+b
 Multimea de antrenare este formata din N vectori de
intrare x1, .. xN, cu valorile corespunzatoare y1, … yN,
unde yi∈{-1,1}
 Noi instante (puncte) x sunt clasificate in functie de
semnul lui f(x) 3
Clasificatori liniari
• Consideram un numar de atribute x = (x1 .. xm)
• Avem deci N astfel de vectori de intrare
Ipoteza f(x) = b + θ1 x1 .. θm xm
f(x) = wTx+b
 Pentru cazul unui singur atribut f(x) = b + θ1 x1
 Noi instante (puncte) x sunt clasificate in functie de
semnul lui f(x)

4
Clasificatori liniari
y wTx + b = 0
wTx + b > 0
wTx + b < 0

f(x) =sign(wTx + b), i.e.,


f(x) = 1 daca wTx + b≥0
f(x) = -1 daca wTx + b<0

x
Hiperplanul de separare clasifica corect daca
yi * f(wiTxi + b) = 1 pentru orice i exemplu de
antrenare 5
2. Support Vector Machines
 Solutia oferita de SVM
este:
 Riguroasa teoretic
 Eficienta
computational
 Eficienta pentru
dimensiuni mari ale
spatiului instantelor si
multe caracteristici
 Se bazeaza pe teoria
invatarii statistice – 1960
Vapnik 6
Separatori liniari

Presupun datele liniar separabile


Cum aleg linia de separare?

7
Separatori liniari

Presupun datele liniar separabile


Care este cea mai buna linie de separare?

8
Separatori liniari

Presupun datele liniar separabile


Care este cea mai buna linie de separare?

9
Marginea de separare

Marginea de separare (marginea de eroare) a unui clasificator


liniar = latimea cu care linia de separare poate fi crescuta pana
atinge un punct din setul de date (exemple de antrenare)
Dorim o margine de separare cat mai mare
Cum gasim o linie de separare care sa clasifice corect datele si sa
produca o margine de separare maxima?

10
Maximizarea marginii
 Interesul este pentru a maximiza marginea
 Vectori suport –cele mai apropiate exemple de linia de
separare
 De fapt numai vectorii suport sunt importanti

Vectori suport

11
Marginea clasificatorului
 Marginea ρ a separatorului este distanta intre vectorii suport.

ρ
wTx + b = 0

wTx + b > 0 r
f(x) = 1
wTx + b < 0
f(x) = -1

f(x) = sign(wTx + b)
12
Determinarea marginii

 f(x) = sign(wTx + b)
 Doar semnul lui (wTx + b) contează, nu şi
valoarea
 Se normalizeaza ecuatiile astfel incat, in limitele care trec
prin vectorii suport ai celor doua clase, wTx + b să fie 1,
respectiv –1
 Stim ca pentru toate punctele celor doua clase
 wTxi + b ≥ 1 dacă yi = 1

 wTxi + b ≤ –1 dacă yi = –1
Determinarea marginii
Sa ne amintim ca distanta de la un punct (x0,y0) la o
dreapta ax+by+c=0 este

Distanta intre H0 si H1 este


H0
H1

H2
La fel intre H0 si H2
Deci 2
ρ=
w
3. Formularea problemei
1) Clasifica corect datele de antrenare
 Pentru toate punctele celor două clase
 wTxi + b ≥ 1 dacă yi = +1

 wTxi + b ≤ –1 dacă yi = –1

2) Determina W si b astfel incat


2
ρ= sa fie maxima pentru toate {xi}
w

conditie care se poate reformula la


ρ = ½ wTw sa fie minima pentru toate {xi}
15
Problema de optimizare
 Se poate formula o problema de optimizare:
Sa se gaseasca w∈Rd si b∈R a.i.
Φ(w) = ½ ||w||2 = ½ wTw minima
cu restrictia yi (wTxi + b) ≥ 1
∀(xi, yi), i=1..N

 Necesita optimizarea unei functii cuadratrice cu


restrictii liniare – optimizare cu restrictii (constraint
optimization problem)
 Problemele de optimizare quadratrica sunt cunoscute in 16
matematica
Problema de optimizare cu
restrictii
Sa se gaseasca w∈Rd si b∈R a.i.
Φ(w) = ½ ||w||2 = ½ wTw minima
cu restrictia yi (wTxi + b) ≥ 1
∀(xi, yi), i=1..N

 Problemele de optimizare quadratica se rezolva prin


metoda multiplicatorilor Lagrange
 Deoarece functia este quadratica suprafata este un
paraboloid, deci are un singur minim global
17
Intuitie
f: 2x2+2y2, g: x+y=1

Gaseste intersectia a 2 functii f, g intr-un punct de tangenta


(derivata 0)
Acest punct va fi min (max) pt f a.i. restrictia g sa fie satisfacuta
18
Intuitie f: 2x2+2y2=0, g: x+y=1

Gaseste intersectia a 2 functii f, g intr-un punct de tangenta


(derivata 0)
Acest punct va fi min (max) pt f a.i. restrictia g sa fie satisfacuta
19
Multiplicatori Lagrange
• Avem 2 restrictii:
- restrictia de gradient pe f si g a.i. solutia sa fie minima
sau maxima
- g(x) = 0 (solutia este pe linia restrictiei)
- Combinam aceste 2 restrictii prin introducerea
multiplicatorilor Lagrange
- Cautam o solutie p pentru care
f(p) = g(p), g(x)=0
- Combinam in L si impunem gradientul lui L sa fie 0
L(x,α)=f(x) – αg(x) si (x, α)=0
20
Multiplicatori Lagrange
• Pentru o solutie p
- Linia restrictie g si linia de contur f trebuie sa fie
tangente
- Gradientul lui g =0 (perpendicular pe f)
- Gradientul lui f trebuie sa fie in aceeasi directie cu
g
• Astfel multilicatorii Langrange rezolva optimizarea cu
restrictii astfel

L(x,α)=f(x) – αg(x) si (x, α)=0


21
Multiplicatori Lagrange
• Pentru cazul general, L este o functie de n variabile x
si m variabile α
L(x,α) = f(x) + Σi αi gi(x) cu αi ≥0
Gradient pt a minimiza f Conditia restrictiei g

Prin derivare partiala obtinem n+m ecuatii, fiecare = 0


n ecuatii prin derivarea in raport cu x – dau conditiile de
gradient
m ecuatii prin derivarea in raport cu αi asigura restrictia
pentru gi(x)
22
SVM
L(x,α) = f(x) + Σi αi gi(x) cu αi ≥0
• Pentru cazul SVM
f(x) = ½ ||w||2
g(x) = yi (wTxi + b) – 1 = 0

L(w,b,α) = ½ ||w||2 - Σi=1,N αi [yi (wT xi +b) – 1]


pe care trebuie sa o minimizam
Rescris
L(w,b,α) = ½ ||w||2 - Σi=1,N αi yi (wT xi +b) + Σi=1,N αi
Pentru a obtine miniml derivam in raport cu w si cu b
23
4. Rezolvarea problemei de optimizare
Sa se gaseasca w∈Rd si b∈R a.i.
Φ(w) = ½ ||w||2 = ½ wTw minima
cu restrictia yi (wTxi + b) ≥ 1, ∀(xi, yi), i=1..N
• Asociem un multiplicator Lagrange αi fiecarei restrictii cu
inegalitate in problema originala

Minimizeaza, in raport cu w si b
L(w,b,α) = ½ wTw - Σi=1,N αi [yi (wT xi +b) – 1]
si
αi ≥ 0 pentru orice αi 24
Rezolvarea problemei de optimizare

Minimizeaza, in raport cu w si b
L(w,b,α) = ½ wTw - Σi=1,N αi [yi (wT xi +b) – 1]
si
αi ≥ 0 pentru orice αi

• ∨w L = w – Σi=1,N αi yi xi = 0 (vector 0)

• ∂ L / ∂b = – Σi=1,N αi yi = 0 (scalar)
• Se subtitutie aceste valori in L si se obtine
problema duala 25
Problema duala
• Problema duala Lagrangiana = in loc sa
minimizam in fct de w si b , putem maximiza
peste α (variabile duale)
• Solutia trebuie sa satisfaca relatiile anterioare
w = Σi=1,N αi yi xi Σi=1,N αi yi = 0

Cele mai multe valori α vor avea valori 0.


Valorile diferite de 0 sunt vectorii suport

26
Rezolvarea problemei de optimizare
duale
w = Σi=1,N αi yi xi
Σi=1,N αi yi = 0
 Subtitutie in L
L(w,b,α) = ½wTw - Σi=1,N αi (yi (wT xi +b) - 1)
 Rezulta
L(α) = Σi=1,N αi - ½ Σi=1,N Σj=1,N yi yj αi αj xTi xj

L - functie cuadratrica in functie de vectorul α


 Trebuie maximizata L(α) in raport cu α cu restrictii
27
Rezolvarea problemei de optimizare
duale
Sa se determine α1…αn astfel incat
L(α) =Σαi - ½ Σi Σj αi αj yi yj xiTxj este maxim
si
(1) Σαiyi = 0, i=1,N
(2) αi ≥ 0 pentru orice αi , i=1,N
• O problema de optimizare cu restrictii dar restrictii
mai simple
• De obicei exista deja implementata rezolvarea in
biblioteci – programare cuadrica/cuadratica
• ½ Σ Σ αi αj yi yj xiTxj – Σαi este minim (de obicei
28
minim in biblioteci)
Intrari pentru pachetul de rezolvare
• ½ Σ Σ αi αj yi yj xiTxj – Σαi este minim, α sunt
parametrii
Coeficienti cuadratici
y1y1 x1Tx1 y1y2 x1Tx2 ….. y1yN x1TxN

minα ½ αT y2y1 x2Tx1 y2y2 x2Tx2 ….. y2yN x2TxN


α +(-1)Tα
….. …. ….. …..
yNy1 xNTx1 yNy2 xNTx2 ….. yNyN xNTxN
Termen liniar
(1) Σαiyi = 0 restrictie liniara
(2) αi ≥ 0 pentru orice αi

minα αTLα - 1Tα cu conditia yTα = 0 – restrictie liniara


0 ≤ α ≤ ∞ - limite inf si sup
29
Solutia problemei de optimizare

• S-a obtinut solutia α1…αn a problemei duale

• Teorema Karush-Kuhn-Tucker – Solutia problemei


duale este aceeasi cu cea a problemei initiale

• Cum aflam solutia problemei initiale?

30
Solutia problemei de optimizare
• Cum aflam solutia problemei initiale?
• Am aratat ca: a) Calculam w si b

w = Σi=1,N αi yi xi Σi=1,N αi yi = 0

Scriem Conditia Karush-Kuhn-Tucker*

• αi (yi (wT xi +b) - 1) = 0, i=1,N (conditia KKT)


• Fiecare valoare diferita de zero pentru αi indica faptul
ca xi este un vector suport
• αi > 0 → xi vectori suport (pe margine)
• αi = 0 → xi puncte interioare 31
Solutia problemei de optimizare
w = Σi=vectori suport αi yi xi

• Gaseste b folosind oricare din vectorii


suport
αi (yi (wT xi +b) - 1) = 0 (conditia KKT)
αi > 0 pentru vectorii suport

yi (Σi=vectori suport αi yi xi T xi +b) = 1


• Avem w si b deci putem calcula wTx + b
32
Solutia problemei de optimizare
b) Calculam functia
• Alternativ, nu mai calculam w ci calculam direct
functia de clasificare
wTx+ b
• Functia de clasificare este
f(x) = ΣαiyixiTxk + b
cu b din yi (Σi=vectori suport αi yi xi T xi +b) = 1
• Calculul se bazeaza pe produsul scalar intre instanta
care se clasifica xk si vectorii suport xi
• Rezolvarea problemei de optimizare implica calculul
a xiTxj intre toate exemplele de invatare pentru
determinarea lui b. 33
Observatii
x =[1,0]T y= [0,1]T
xTy=xy=1 – complet similare
xTy=xy=0 – complet diferite

L(α) =Σαi - ½ Σi Σj αi αj yi yj xiTxj

34
5. Clasificarea cu margine soft
• Ce se intampla daca un numar mic de exemple nu sunt
liniar separabile (probabil zgomot)?
• Se pot adauga variablile de relaxare (Slack) εi care sa
permita tratarea exemplelor particulare, rezultand o
margine “soft”.

εi
εi

35
Clasificarea cu margine soft
• Problema de optimizare initiala:
Sa se gaseasca w∈Rd si b∈R a.i.
Φ(w) = ½ ||w||2 = ½ wTw minima
cu restrictia yi (wTxi + b) ≥ 1, ∀(xi, yi), i=1..N
• Se modifica pentru a include variabilele “slack”
Sa se gaseasca w∈Rd si b∈R a.i.

Φ(w) = ½ wTw + CΣεi este minimizat

cu restrictia yi (wTxi + b) ≥ 1 – εi , εi ≥ 0, ∀(xi, yi), i=1..N


• Parametrul C poate fi vazut ca o modalitate de a controla
overfitting-ul: indica cat de importanta este maximizarea
marginii versus acoperirea exemplelor de invatare . 36
Clasificarea cu margine soft
• Problema duala este identica cu cazul separabil (adaugarea
variabilelor de relaxare nu apare in obiectivul primar):
Sa se determine α1…αn astfel incat
L(α) =Σαi - ½ Σ Σ αi αj yi yj xiTxj este maxim si
(1) Σαiyi = 0
(2) αi ≥ 0 pentru orice αi

• xi cu αi ≠0 vor fi vectorii suport


• Solutia problemei duale este: Nu avem nevoie sa
calculam w pentru
w =Σαiyixi clasificare
yi (Σi=vectori suport αi yi xi T xi +b) = f(x) = ΣαiyixiTx + b
1 – εi 37
SVM liniar: Sinteza
• Clasificatorul este un hiperplan separator
• Cele mai importante exemple sunt cele care corespund
vectorilor suport – ei definesc hiperplanul.
• Algoritmii de optimizare cuadrica pot identifica puncte de
antrenare xi cu multiplicatori Lagrange diferiti de zero, αi

• Atat in problema duala cat si in solutie, punctele de


antrenare apar numai in produse scalare

Se determina α1…αN a.i.


L(α) =Σαi - ½ ΣΣαiαjyiyjxiTxj este maxim si f(x) = ΣαiyixiTx + b
(1) Σαiyi = 0
(2) 0 ≤ αi ≤ C for all αi 38
6. SVM neliniar
• Daca exemplele de invatare sunt separabile liniar sau au
putine puncte neseparabile, metoda este buna

0 x

• Dar daca nu sunt liniar seprabile?

0 x

• Transformare intr-un2 spatiu superior


x

39

0 x
SVM neliniar
• Ideea de baza: spatiul de caracteristici initial poate fi
transformat intr-un spatiu de ordin superior in care
multimea de invatare este separabila (“Kernel trick”)

Φ: x → φ(x)

40
SVM neliniar
 Se transforma spatiul X (xi) intr-un spatiu de
dimensiune superioara Z pentru a face clasele
separabile
Spatiul de intrare X: spatiul in care este xi
Spatiul de caracteristici Z: spatiul dupa
transformare, xi corespunde cu φ(xi)

 De ce sa transformam?
 Operatiile liniare in spatiul de caracteristici sunt
echivalente cu operatii neliniare in spatiul de intrare
 Sarcina de clasificare poate fi mai usoara cu o
transformare adecvata. 41
SVM neliniar
Daca exemplele devin liniar separabile in Z putem utiliza
SVM liniar

(0,1) +

+ - +
-1 0 +1
- +
(0,0) (1,0)

X Z
42
SVM neliniar
Daca exemplele devin liniar separabile in Z putem utiliza
SVM liniar

(0,1) +

+ - +
-1 0 +1
- +
(0,0) (1,0)
X = ( x1 ) Z = ( x1, x2)
X Z 43
SVM neliniar

X = ( x1, x2 ) Z = ( x1, x2, x1x2 )

X Z
44
Transformari neliniare

• Lucram cu Z in loc de X
L(α) =Σαi - ½ Σi Σj αi αj yi yj xiTxj este maxima
αi nu sunt influentati
In Z inlocuiesc xiTxj cu ziTzj
Presupunem ca Z are dimensiune 10.000 (cu X avand
2 dimensiuni)
Nr de αi nu se schimba – dificultatea gasirii αi nu se
modifica
Vom avea vectori suport in spatiul Z (pt αi pozitivi)
45
Interpretare
• Vom avea vectori suport in spatiul Z (pt αi
pozitivi) si un plan de separare
• In spatiul X, pre-imagini ale vectorilor suport din Z

Pre-vectorii nu sunt pe margine, distanta lor la curba nu este aceeasi


46
Metode nucleu (Kernel)
• Cum rezolvam in Z?
L(α) =Σαi - ½ Σi Σj αi αj yi yj ziTzj
Σαiyi = 0, i=1,N
αi ≥ 0 pentru orice αi , i=1,N
Avem nevoie de produsul scalar ziTzj in Z
• Cum decidem in Z?
w = Σi=vect sup αi yi zi
yi (wT zi +b) = 1
f(x) = sign(wTz + b)= ΣαiyiziTz + b 47
Metode nucleu (Kernel)

• Este nevoie sa se calculeze produsul scalar in


Z
• Se poate face fara vizitarea lui Z?
• Fiind dati xi, xj, trebuie sa se obtina ziTzj
• Fie x si x' in X si fie zTz' = K(x,x') – Kernel
• Φ: x → φ(x) = z
L(α) =Σαi - ½ Σi Σj αi αj yi yj K(xi,xj)
Σαiyi = 0, i=1,N
αi ≥ 0 pentru orice αi , i=1,N 48
Metode nucleu (Kernel)

• SVM liniar se bazeaza pe kernelul


K(xi,xj)=xiTxj
• Daca fiecare punct este transformat prin
Φ: x → φ(x), atunci:
K(xi,xj)= φ(xi) Tφ(xj)
• O functie kernel este o functie care este
echivalenta cu un produs scalar intr-un spatiu
de caracteristici.
49
Metode nucleu (Kernel)

• Exemplu de Kernel trick


In spatiul X x = (x1,x2)
Folosim o transformare polinomiala Φ de
ordin 2 pentru Z
z = φ(x) = (1, x1, x2, x12, x22, x1x2)
K(x,x') = zTz' = 1 +x1x '1 + x2x'2 +
x12x'12 + x22x'22 + x1x'1x2x'2

50
Exemple de functii Kernel
• Liniara: K(x1,x2)= x1Tx2
– Φ: x → φ(x), unde φ(x) este x

• Gaussiana (radiala)
K(x1,x2) =

• Polinomiala la puterea p
K(x1,x2) = (1+ x1Tx2)p
K(x1,x2) = (αx1Tx2 +β)p
51
SVM neliniar / Kernel
Problema duala

Se determina α1…αN a.i.


Q(α) =Σαi - ΣΣαiαjyiyjK(xi,xj) este maxim si
(1) Σαiyi = 0
(2) 0 ≤ αi ≤ inf for all αi

Solutia

f(x) = sign(ΣαiyiK(xi,xj )+ b) pt αi >0

b = yi - ΣαiyiK(xi,xj ) pt αi >0 52
Aplicatii SVM
Clasificare texte – atribuire automata a categoriei
 Baza de date Reuters

 21 578 documente si 118 categorii

 Spatiul datelor are dimensiunea 9947, numarul de


cuvinte diferite care descriu documentele
 SVM cu kernel liniar mai bun decat alte metode de
clasificare (Naive Bayes, retele Bayesiene, k-nearest
neighbours) – 92%
 Viteza mare – cam de 4 ori mai rapid

53
Aplicatii SVM
Bioinformatica – clasificarea esantioanelor biologice
folosind profilele genetice
 Predictia functionarii genelor, predictia structurii
secundare a proteinelor, etc.
De exemplu
-Determina pozitiile subcelulare ale proteinelor din
secvente procariotice
-3 posibile locatii / categorii de locatii: cytoplasmic,
periplasmic si extracelular.
- Problema revine la a clasifica vectori de dimensiune 20 in
3 clase
- Acuratetea de predictie pt un SVM cu kernel gausian
93.4% 54
SVM
 SVM
 Model formal

 Proprietati de generalizare puternice

 Pot lucra cu dimeniuni foarte mari ale multimii de


invatare si cu multe caracteristici
 Overfitting controlat prin marginea soft

 Nu intordeauna usor de invatat

 Pot invata functii complexe utilizand Kernel

 Sensibile la zgomot

 SVM pentru mai multe clase


 SVM 1 invata Clasa 1 sau diferit

 SVM 2 invata Clasa 2 sau diferit


55
 Etc.
Invatare automata

Universitatea Politehnica Bucuresti


Anul universitar 2019-2020

Adina Magda Florea


Curs nr. 5
Invatarea prin recompensa (RL)
 RL - Intro
 Sistemul RL
 Problema RL
 Sistem Markov cu recompensa
 Proces de decizie Markov (MDP)
 RL - Metode

2
1. RL - Introducere

 Reinforcement Learning (RL) = Invatarea prin


recompensa
 Agentul invata o comportare in mediu pe baza
interactiunilor cu mediul, prin explorari
succesive
 Mediul ofera un feed back – recompensa =
reinforcement

3
Model general invatare (vezi curs 1)
T = {X1, X2, …, Xm} – multime de invatare

x1 f(X) = ?
X= x2
h h(X)
.
.
h∈H
xn

Invatare supervizata
 Se cunosc exemplele de invatare h(Xi)= f(Xi), i=1,m
 Trebuie gasit h(X), astfel incat h(Xi) = f(Xi), ∀i

4
Model general invatare (vezi curs 1)
T = {X1, X2, …, Xm} – multime de invatare

f(X) = ?
Xi = Starei h h(Xi)

h∈H
Invatare prin recompensa
 Se cunosc recompensele pentru Starei, i=1,m
 h(Xi) reprezinta actiunea de executat in starea Xi
 f(Xi) – actiunea optima de executat in Xi
 Trebuie gasit h a.i. h(Xi) = f(Xi), ∀Starei

5
RL - Intro

 Invatare prin recompensa = invata sa asocieze actiuni unor


stari a.i. sa maximizam un semnal numeric de recompensa.
 Cum? Incearca actiuni pt a descoperi acele actiuni care aduc
o recompensa mai mare.
 Actiunile afecteaza recompensa imediata dar si urmatoarea
stare, si prin aceasta, recompensa viitoare (recompensa
intarziata)
Caracteristici definitorii RL
 Recompensa stare vs. valoare stare
 Explorare vs. exploatare
 Caracteristici mediu

6
2. Sistemul RL Mediu

T
A – agent RL
s – starea curenta a mediului
S a
r – valoarea recompensei s
(reinforcement signal)
a – actiunea agentului R
A
T – modelul de evolutie a mediului r

Modelul sistemului:
- o multime discreta de stari ale mediului S (s∈S)
- o multime discreta de actiuni ale agentului A (a ∈ A)
- o multime de semnale de recompensa, r∈R
- modelul de tranzitie al lumii, T

• Pentru un mediu nedeterminist, modelul tranzitiei mediului este


T : S x A → P(S)
Notatii posibile T(s, a, s’) sau
Pas,s’=Prob(Urm=s’|Curenta=s , actiune a) 7
Exemplu mediu nedeterminist = grid 3 x 4
 Iesirea dorita se produce cu probabilitate de 0.8, si cu

probabilitate de 0.2 (0.1, 0.1) agentul se muta in directii deviate


cu 900 stanga sau dreapta.
 2 stari terminale au recompensa +1 si –1, toate celelalte stari au

recompensa –0.04

0.8

0.1 0.1

3 +1
Sus, Sus, Dreapta, Dreapta, Dreapta
2 -1 (1,1) → (4,3)

1 2 3 4
8
Sistemul RL

 Modelul sistemului
- Starile mediului S (s∈S)
- Actiunile agentului A (a ∈ A)
- Functia de recompensa, R: S → R
- Modelul de tranzitie al lumii, T

 Problema / Solutia cautata


- Politica agentului
 π: S → A

9
Sistemul RL
 Valoarea (functia valoare) sau Utilitatea unei stari
U(S) – estimare pe termen lung a "cat de buna" este o
stare
 Valoarea unei stari este suma totala a

recompensei pe care un agent spera sa o


accumuleze in viitor, pornind de la o anumita
stare.
 Valorea unei stari pot fi vazute ca predictia
recompensei pe termen lung
 Se cauta stari cu valori mari si nu cu recompensa
mare
10
3. Problema RL

 Agentul trebuie sa gaseasca, prin experiente


repetate, o politica π = functie care pune in
corespondenta stari cu actiuni
 Ideal, politica trebuie sa maximizeze o masura a
recompensei pe termen lung.

 Agentul trebuie sa invete o comportare optima


= politica optima = o politica care produce
valoarea estimata cea mai mare a utilitatii
 Politica optima se noteaza cu π*
11
Caracteristici care difera in diverse instante RL

 Mediu determinist sau nedeterminist


 Mediu accesibil sau neaccesibil
 Agentul are un model al mediului (T) sau nu are
 Agentul invata numai comportarea sau si comportare si un
model al mediului
 Primeste recompensa numai in starea finala sau in toate
starile
 Cum isi reprezinta agentul comportarea
 Utilitate a starilor
 Utilitate a perechilor stare-actiune

12
Modele de comportare ale agentului RL

 Modelul orizontului finit: agentul parcurge un numar de


n stari, ajunge in starea finala – episod, apoi episodul se
reia
U(St) = (Σt=0, n R(St))
R(St) - recompensa primita in starea St
U – recompensa estimata

 Modelul orizontului infinit: agentul traieste la nesfarsit


si estimeaza recompensa pe termen lung
U(St) = (Σt=0,∞ R(St))
U – utilitatea / recompensa estimata pe termen lung
13
Modele de comportare ale agentului RL

 Modelul orizontului infinit atenuat:


estimeaza recompensa pe termen lung dar
recompensele viitoare sunt scazute cu un factor
de atenuare δ.
U(St) =(Σt=0,∞ δt R(St))
U – utilitate / recompensa estimata pe termen
lung atenuata
0 ≤ δ < 1.
δ - dobanda, atenuarea, probabilitatea de a trai
inca un moment de timp, artificiu matematic pt.
a avea o limita la suma.
14
Exemplu - Orizont infinit atenuat
Recompensa atenuata
Un functionar este platit 20B pe an
Cat va castiga in total? Cum calculam U(A)
U(B) U(C) ….
20+20+20.. –
nu estimeaza prea bine
Factor de atenuare δ
Suma atenuata a recompenselor viitoare (estimata)

0.6

0.2 B. Funct II 0.2


60 C. Sef
A. Funct I
400 0.7

0.6
20 0.2 0.3
0.3
D. Somer E. Pens
0.2 10 0 1
0.7
15
4. Sistem Markov
 Multime de stari (S1, S2,…Sn)
 Matrice de probabilitati de tranzitie (P : S → Π(S))
Pij = Prob(Urmatoare=Sj | Curenta = Si)
 Proprietatea Markov

1st order

2nd order
16
Sistem Markov (MS) cu recompensa
 Multime de stari (S1, S2,…Sn)
 Matrice de probabilitati de tranzitie (P : S → Π(S))
Pij = Prob(Urmatoare=Sj | Curenta = Si)
 Are proprietatea Markov de ordinul 1
 Fiecare stare are o recompensa r1, r2,…rn (R: S → R)
 Factor de atenuare δ ∈ [0,1]
 In fiecare pas
- Starea este Si
- Obtine recompensa ri
- Trece intr-o noua stare Sj cu probabilitatea Pij
- Toate recompensele viitoare sunt atenuate cu δ17
Determinarea utilitate stari - Rezolvare sistem
Markov
U*(Si) = suma estimata atenuata a recompenselor
viitoare incepand din starea Si (valoare stare sau
utilitatea)
U*(Si) =ri+δ[Pi1U*(S1)+Pi2U*(S2)+ .. +PinU*(Sn)], i=1,n

U*(S1) r1 P11 P12…P1n


U= U*(S2) R= r2 P= P21 …

U*(Sn) rn Pn1 Pn2…Pnn

U = R + δ P*U ( ri=R(Si) )
Rezolva un sistem de n ecuatii cu n necunoscute
18
 Rezolvarea sistemului de ecuatii
Avantaj – obtine un raspuns exact
Dezavantaj – pt 100 000 stari se rezolva un sistem de 100 000 ecuatii cu 100
000 necunoscute
 Rezolvarea iterativa - Value iteration (Iterarea
valorii) pt MS
U1(Si)=ri, U2(Si) = ri + δ Σj=1,n (PijU1(Sj)) , U3(Si) = ….
k → ∞ Uk(Si) → U*(Si)
1. Calculeaza U1(Si) pentru fiecare stare Si, k←1
2. repeta
k←k+1
Calculeaza Uk(Si) = ri + δ Σj=1,n (PijUk-1(Sj)) pentru fiecare
stare Si
pana maxi |Uk(Si) – Uk-1(Si)| < eps

19
Value iteration

k Uk(SUN) Uk(WIND) Uk(HAIL)


1 4 0 -8
2
3
4
5
20
Value iteration

k Uk(SUN) Uk(WIND) Uk(HAIL)


1 4 0 -8
2 5 -1 -10
3
4
5
21
Value iteration

k Uk(SUN) Uk(WIND) Uk(HAIL)


1 4 0 -8
2 5 -1 -10
3 5 -1.25 -10.75
4 4.94 -1.44 -11
5 4.88 -1.52 -11.11
22
5. Proces de decizie Markov (MDP)
<S, A, P, R>
S – multime de stari
A – multime de actiuni
R – functia recompensa, R: S → R
P : S x A → Π(S), functia de tranzitie probabilistica, cu
Π(S) distributia de probabilitate peste S
Pas,s’=Prob(Urm=s’|Curenta=s si actiune a)
 In fiecare pas
- Starea este S
- Obtine recompensa Ri
- Alege o actiune a (din a1…ak)
- Trece in S’ cu probabilitatea Pas,s’
- Toate recompensele viitoare sunt atenuate cu δ
Vom folosi T(s,a,s’) pentru Pas,s’ 23
MDP

S – Save
A - Advertise 24
Politici

Politica 1
Stare Actiune
PU S
PF A Politica 2
RU S Stare Actiune
RF A PU A
PF A
RU A
RF A
Markov Decision Process (MDP) – proprietati

 MDP: stari finite si actiuni finite / stari si actiuni infinte


 Alegerea unei politici π; alegerea unei politici optime π*
 Pentru fiecare MDP exista o politica optima
 Politica optima = o politica a.i. din fiecare stare posibila
nu exista o optiune mai buna decat sa urmeze acea
politica
 Fiind dat un model T, gasirea unei politici optime =
calculeaza utilitatile fiecarei stari U(Si) si foloseste
utilitatea starilor pentru a selecta actiunea optima in
fiecare stare
26
Ecuatia Bellman - Uπ(s)
 Utilitatea unei stari este recompensa imediata
plus suma atenuata a recompenselor viitoare
(estimate) din starea urmatoare, presupunand ca
agentul selecteaza cea mai buna actiune
U(s) = R(s) + δ max a [Σs’T(s,a,s’) U(s’)]
• Principle of Optimality: An optimal policy has the property that
whatever the initial state and initial decision are, the remaining
decisions must constitute an optimal policy with regard to the
state resulting from the first decision. (Bellman, 1957)

• Utilitatile starilor sunt solutiile acestor ecuatii


27
Mediu - grid 4 x 3
 Iesirea dorita se produce cu probabilitate de 0.8, si cu
probabilitate de 0.2 (0.1, 0.1) agentul se muta in directii deviate
cu 900 stanga sau dreapta.
 2 stari terminale au recompensa +1 si –1, toate celelalte stari au
recompensa –0.04
 δ=1

0.8

0.1 0.1

3 -0.04 -0.04 -0.04 +1 3 0.812 0.868 0.918 +1

2 -0.04 -0.04 -1 2 0.762 0.660 -1

1 -0.04 -0.04 -0.04 1 0.705 0.655 0.611 0.388

1 2 3 4
1 2 3 4 28
Ecuatia Bellman pentru grid-ul 4x3

Ecuatia pentru starea (1,1)

U(1,1) = -0.04 + δ max{ 0.8 U(1,2) + 0.1 U(2,1) + 0.1 U(1,1),


Up
0.9U(1,1) + 0.1U(1,2),
Left
0.9U(1,1) + 0.1U(2,1),
Down
0.8U(2,1) +0.1U(1,2) + 0.1U(1,1)}
Right
3 0.812 0.868 0.918 +1
Up este cea mai buna actiune
2 0.762 0.660 -1

1 0.705 0.655 0.611 0.388

1 2 3 4
Value iteration pt MDP

U1(Si)=R(Si)
U2(Si) = maxa [ R(Si) + δ Σj=1,n T(Si,a,Sj) U1(Sj) ], Sj=succ(Si)
….
Uk+1(Si) = maxa [ R(Si) + δ Σj=1,n T(Si,a,Sj) Uk(Sj)]

k → ∞ Uk(Si) → U*(Si)
1. Calculeaza U1(Si) pentru fiecare stare Si , k←1
2. repeta
k←k+1
Calculeaza Uk(Si) pentru fiecare stare Si
pana maxi |Uk(Si) – Uk-1(Si)| < eps

30
Value iteration pt MDP

k Uk(PU) Uk(PF) Uk(RU) Uk(RF)


1 0 0 10 10
2 0 4.5 14.5 19

3 2.03 6.53 25.08 25.07

4 3.852 12.20 29.63 ??


5 7.22 15.07 32.00 ??

6 10.03 17.65 33.58 ??

?? – sa se calculeze 31
Gasirea politicii optime

 Daca cunoastem U(Si) pentru toate starile Si


 Defineste "cea mai buna actiune" in Si ca
fiind (Maximum Expected Utility)
arg maxa (R(Si) + δ Σj=1,nT(Si,a,Sj) U(Sj))

politica optima
π*(s) = arg maxa (R(s) + δ Σs’T(s,a,s’) U*(s’))

32
Policy iteration pt MPD

Fie πt(S) actiunea selectata in starea S la iteratia t


1. t=0
2. Alege o politica oarecare π0 (aleator)
3. Pentru fiecare Si, calculeaza U0(Si) recompensa pe termen
lung obtinuta pornind din starea Si, folosind π0
U0(Si) = R(Si) + δ Σj=1,n T(Si, π0(Si),Sj) U0(Sj)
[Pe baza ei se va calcula
πt(Si) = arg maxa( R(Si) + δ Σj=1,n T(Si, a, Sj) U0(Sj) )]

33
Policy iteration pt MPD

4. repeta
-t←t+1
- Calculeaza politica πt(s)
πt(Si) = arg maxa( R(Si) + δ Σj=1,n T(Si, a, Sj) Ut-1(Sj) )
- Calculeaza recompensa pe termen lung obtinuta
pornind din starea s, folosind πt
Ut(Si) = R(Si) + δ Σj=1,n (T(Si, πt(Si),Sj) * Ut-1(Sj))
pana πt = πt-1
34
Problema unui numar mare de stari - RL

 U(stare) = U(stari similare)


 U(stare) = medie U(stari similare)

 Grupare stari
 reguli
 retele neurale

35
6. Reinforcement learning
 Daca agentul are un model complet al mediului
(stie MDP) – determina utilitatea starilor pentru
politica optima utilizand programarea dinamica
(vezi cursul trecut)
 Daca agentul NU are un model complet al
mediului - exploreaza mediul si utilizeaza
recompensa pentru a invata utilitati ale starilor
sau politici pentru acest mediu folosind metode
Monte Carlo – Reinfocement Learning

36
RL – Metode
 Invatarea bazata pe model (model-based learning) –
incearca sa invete un model explicit al mediului si foloseste
metode (e.g. programare dinamica) pentru a gasi utilitatea
starilor sau politica optima
 Invatare fara model (model-free learning) – invata direct
utilitatea starilor sau a perechilor stare-actiune si obtine
politica optima
 Invatare pasiva
 Agentul urmeaza o politica si invata utilitatea starilor sau

a perechilor stare-actiune
 Invatare activa
 Agentul trebuie sa invete si ce actiuni sa faca
37
Model-based learning

 Valoarea unei stari urmand o politica π este utiltatea


acelei stari (long term discounted reward)
 U(Si) = R(Si) + δ Σj=1,n T(Si,a,Sj) U(Sj), Sj=succ(Si)
 Dorim sa maximizam utilitatea, deci sa avem politica optima
(presupunem selectia celei mai bune actiuni)
 U(Si) = maxa [ R(Si) + δ Σj=1,n T(Si,a,Sj) U(Sj) ], Sj=succ(Si)
 Agentul NU cunoaste T(Si,a,Sj)
 Incearca sa estimeze T

38
Pentru a invata, exploreaza mediul
 Ce se stie prin explorare?
 O secventa de stari si recompensa asociata, de ex.
S1(R=0) → S2(R=0) → S3(R=4) →
S4 (R=0) → S5 (R=0)
 Pe baza acestei secvente sa se estimeze U*(S1), U*(S2) …
 La MDP stiam probabilitatile de tranzitie intre stari pt a
calcula U*
 Aici nu le stim; trebuie sa calculam U* numai pe baza
observatiilor pe unde trece si ce recompensa primeste

39
S1(R=0) → S2(R=0) → S3(R=4) → S2(R=0) → S4 (R=0) → S5 (R=0)
La t=1 – stare S1 si recompensa pe termen lung atenuata (LTDR) =
0+ δ*0 + δ2*4 + δ3*0 + δ4*0 + δ5*0 =1
Presupun δ = ½
La t=2 – stare S2 si LTDR =2
La t=3 – stare S3 si LTDR = 4
La t =4 – stare S2 si LTDR =0
La t=5 – stare S4 si LTDR =0
La t=6 – stare S5 si LTDR = 0

40

S-ar putea să vă placă și