Documente Academic
Documente Profesional
Documente Cultură
2
Cerinte
Notare
Activitate laborator - 20%
Lucrare 1 - 20%
Lucrare 2 - 30%
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
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
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/
deep learning
Permite portarea modelelor de deep learning între
diferite platforme
https://onnx.ai/
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
Mediu in schimbare
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
15
2. Tipuri de invatare
Învățare supervizată – determinarea ipotezei de
invatare pe baza unor date etichetate
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
17
Metode de invatare supervizata
Clasificare
Arbori de decizie
SVM
Retele neurale
18
Metode de invatare supervizata
Regresie
Regresie liniara
SVR
Arbori de regresie
19
Clasificare vs regresie
Clasificare
Caine / Pisica
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
Autoencoders
23
Metode de invatare nesupervizata
Expectation maximization (EM)
HMM – algoritmul Baum-Welch
24
Caracteristici importante
Regimuri de invatare:
Batch
Incremental
Zgomot:
zgomot intrari (de ex valorile atributelor)
setul de ipoteze
Favorizare preferentiala (Preference bias) – anumite
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
Batgirl Fem Da Da Nu Da Nu ??
Fred Masc Da Nu Nu Nu Nu ??
28
Conditii pentru o invatare "corecta"
Cravata
Nu Da
Pelerina Lupta
Nu Da Nu Da
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
30
Conditii pentru o invatare "corecta"
Sex
Masc Fem
Bun Rau
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
soare ploaie
Csoare = {1N,2N,8N,9P,11P} nori
Umiditate P Vant
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
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
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
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
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)
67
Cazuri speciale: A cu multe valori
Exemplificare Solutia 1 (valori numerice)
Partitionez in intervale (Ai+Ai+1)/2, fiecare interval
o valoare
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)
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
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
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
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) =
θj ←
α – viteza de invatare
Gradient descent
Minimizarea functiei de cost J(θ0,θ1)
Initializeaza θ0 θ1
repeta pana la convergenta
θ0 ← θ0 - α
θ1 ← θ1 - α
α – 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
θj ← (θ0,θ1,.. θm)
Regresie liniara multi-variabile
h(x) = θ0 + θ1 x1 .. θm xm
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 - α
Scalam
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
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
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
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)
θ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 - α
1
g(z)
J(θ0 , θ1 , .. θm) =
In regresie logistica hθ(x) = θT x
Initializeaza θ0 , θ1 , .. θm
repeta pana la convergenta
θj ← θj - α
Scaderea gradientului
Scaderea conjugata a gradientului
Broyden–Fletcher–Goldfarb–Shanno (BFGS) -
Shanno (L-BFGS)
BFGS nu neecsita stabilirea manuala a α
Clasificare multi-clasa
θ1
θ2
θK-1
Overfitting
Solutii pt minimizare
1) Reducerea numarului de atribute
- Manual
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
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
23
Naïve Bayes
Clasa
X1 X2 … Xn
24
5. Invatarea “Ensemble”
Metode
Naïve Bayes
Predictie
Boosting
https://towardsdatascience.com/understanding-
adaboost-2f94f22d5bfe
https://medium.com/mlreview/gradient-boosting-
from-scratch-1e317ae4587d
Invatare automata
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
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
7
Separatori liniari
8
Separatori liniari
9
Marginea de separare
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
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
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
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
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
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.
0 x
0 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 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
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
Solutia
b = yi - ΣαiyiK(xi,xj ) pt αi >0 52
Aplicatii SVM
Clasificare texte – atribuire automata a categoriei
Baza de date Reuters
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
Sensibile la zgomot
2
1. RL - Introducere
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
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
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
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
12
Modele de comportare ale agentului RL
0.6
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 = 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
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
0.8
0.1 0.1
1 2 3 4
1 2 3 4 28
Ecuatia Bellman pentru grid-ul 4x3
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
?? – sa se calculeze 31
Gasirea politicii optime
politica optima
π*(s) = arg maxa (R(s) + δ Σs’T(s,a,s’) U*(s’))
32
Policy iteration pt MPD
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
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
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