Sunteți pe pagina 1din 15

Solut, ii laborator IA

1. Se dau următoarele date ce reprezintă pret, ul s, i tipul bateriei pentru 3 tipuri de telefoane:
Samsung, iPhone s, i Nokia.
Pret, Tip baterie Tip telefon
1000 Lithium Nokia
1424 Trust Nokia
2003 Trust Nokia
2432 Trust Nokia
3210 Trust Nokia
1426 Lithium Samsung
2243 Trust Samsung
1876 Lithium Samsung
3780 Trust Samsung
1299 Trust iPhone
1367 Lithium iPhone
4200 Lithium iPhone
4467 Lithium iPhone
Folosind metoda Naive Bayes prezicet, i tipul unui telefon al cărui pret, este 3200 lei s, i
care are baterie de tipul Lithium. Pentru a discretiza valorile pret, ului folosit, i intervalele:
(−∞, 1500), [1500, 3000), [3000, ∞).
SOLUT, IE:
n
Y
P (c | X) = P (c) P (xi | c) ,unde X = {x1 , x2 , ..., xn } cu x1 ,...,xn atribute independente
i=1

Prin discretizarea pret, ului datele devin:

Pret, Tip baterie Tip telefon


0 Lithium Nokia
0 Trust Nokia
1 Trust Nokia
1 Trust Nokia
2 Trust Nokia
0 Lithium Samsung
1 Trust Samsung
1 Lithium Samsung
2 Trust Samsung
0 Trust iPhone
0 Lithium iPhone
2 Lithium iPhone
2 Lithium iPhone
Pasul 1: calculăm probabilităt, ile claselor
5
P (c = N okia) =
13
4
P (c = Samsung) =
13
4
P (c = iP hone) =
13

Pasul 2: calculăm probabilităt, ile condit, ionate

• c = Nokia
2
P (pret, = 0 | c = N okia) =
5
2
P (pret, = 1 | c = N okia) =
5
1
P (pret, = 2 | c = N okia) =
5

1
P (baterie = Lithium | c = N okia) =
5
4
P (baterie = T rust | c = N okia) =
5

• c = Samsung
1
P (pret, = 0 | c = Samsung) =
4
2
P (pret, = 1 | c = Samsung) =
4
1
P (pret, = 2 | c = Samsung) =
4

1
P (baterie = Lithium | c = Samsung) =
2
1
P (baterie = T rust | c = Samsung) =
2

• c = iPhone
2
P (pret, = 0 | c = iP hone) =
4
P (pret, = 1 | c = iP hone) = 0
2
P (pret, = 2 | c = iP hone) =
4

2
3
P (baterie = Lithium | c = iP hone) =
4
1
P (baterie = T rust | c = iP hone) =
4

Predict, ia:
Calculăm probabilitatea fiecărei clase, s, tiind că bateria este de tip Lithium, iar pret, ul
este 3200 lei: (baterie = Lithium, pret, = 3200) ≡ (baterie = Lithium, pret, = 2)

P (c = N okia | pret, = 2, baterie = Lithium) =


= P (c = N okia) ∗ P (pret, = 2 | c = N okia) ∗ P (baterie = Lithium | c = N okia) =
5 1 1
= ∗ ∗ =
13 5 5
= 0.0153

P (c = Samsung | pret, = 2, baterie = Lithium) =


= P (c = Samsung) ∗ P (pret, = 2 | c = Samsung) ∗ P (baterie = Lithium | c =
Samsung) =
4 1 1
= ∗ ∗ =
13 4 2
= 0.0384

P (c = iP hone | pret, = 2, baterie = Lithium) =


= P (c = iP hone) ∗ P (pret, = 2 | c = iP hone) ∗ P (baterie = Lithium | c = iP hone) =
4 2 3
= ∗ ∗ =
13 4 4
= 0.1153

Vom prezice că telefonul este iPhone, deoarece această clasă are probabilitatea cea mai
mare.

3
2. Se dă următoarea mult, ime de antrenare:
 
5 3 7 8
8 4 9 11
 
9 4 10 8 
X=
6

 2 4 9 
7 6 10 9 
7 6 12 11

s, i etichetele corespunzătoare:

 
y= 1 2 2 1 2 2

Clasificat, i exemplul de test [8, 7, 6, 5] cu metoda celor mai apropiat, i vecini folosind distant, ele
L1, L2 s, i numărul de vecini k ∈ {1, 3}
SOLUT, IE:

L1 (X, Y ) = ni=1 |Xi − Yi |


P
pPn
2
L2 (X, Y ) = i=1 (Xi − Yi )

Notăm exemplele din setul de antrenare cu vi , i ∈ [1, 6] s, i calculăm distant, ele de la


exemplul de test la fiecare dintre acestea:

Dvi = distant, a de la exemplul de test la exemplul de antrenare vi

• Folosind distant, a L1 :

Dv1 = |8 − 5| + |7 − 3| + |6 − 7| + |5 − 8| = 3 + 4 + 1 + 3 = 11
Dv2 = 0 + 3 + 3 + 6 = 12
Dv3 = 1 + 3 + 4 + 3 = 11
Dv4 = 2 + 5 + 2 + 4 = 13
Dv5 = 1 + 1 + 4 + 4 = 10
Dv6 = 1 + 1 + 6 + 6 = 14

Pentru k = 1 cel mai apropiat vecin este v5 , aflat la distant, a 10, cu eticheta cores-
punzătoare 2.

Pentru k = 3 cei mai apropiat, i vecini sunt {v5 , v3 , v1 }, aflat, i la distant, ele {10, 11, 11},
cu etichetele corespunzătoare {2, 2, 1}. Eticheta majoritară este 2.

4
• Folosind distant, a L2 :

Dv1 = (8 − 5)2 + (7 − 3)2 + (6 − 7)2 + (5 − 8)2 = 9 + 16 + 1 + 9 = 35


Dv2 = 0 + 9 + 9 + 36 = 54
Dv3 = 1 + 9 + 16 + 9 = 35
Dv4 = 4 + 25 + 4 + 16 = 49
Dv5 = 1 + 1 + 16 + 16 = 34
Dv6 = 1 + 1 + 36 + 36 = 74

Pentru k = 1 cel mai apropiat vecin este v5 , aflat la distant, a 34, cu eticheta cores-
punzătoare 2.

Pentru k = 3 cei mai apropiat, i vecini sunt {v5 , v3 , v1 }, aflat, i la distant, ele {34, 35, 35},
cu etichetele corespunzătoare {2, 2, 1}. Eticheta majoritară este 2.

3. Se dau următoarele 5 filme, numărul de spectatori care le-au vizionat s, i notele de pe


IMDB corespunzătoare:

Film Nr. spectatori Notă IMDB


Captain Marvel 5000 6
John Wick III 6500 7.5
The Pursuit of Happyness 7500 8
Shazam 8500 9
Bohemian Rhapsody 9000 9.5

(a) Estimat, i nota de pe IMDB a filmelor “Avengers - End Game” s, i “Finding Dory”
folosind metoda celor mai apropiat, i vecini cu distant, a L1 s, i numărul de vecini k ∈
{1, 3}, s, tiind ca la acesta au participat 7649, respectiv 6215 spectatori.
(b) S, tiind că modelul a prezis etichetele {8.16, 7.16}, iar etichetele corecte sunt {8.5, 7},
calculat, i MAE s, i MSE .

SOLUT, IE:

Pn
|ŷi −yi |
M AE = i=1
n
Pn 2
i=1 (ŷi −yi )
M SE = n

(a) Notăm exemplele din setul de antrenare cu vi , i ∈ [1, 5] s, i calculăm distant, ele de la
fiecare exemplu de test la fiecare dintre acestea:

Dvi = distant, a de la un exemplu de test la exemplul de antrenare vi

5
• Pentru filmul “Avengers - End Game”
Dv1 = |7649 − 5000| = 2649
Dv2 = |7649 − 6500| = 1149
Dv3 = |7649 − 7500| = 149
Dv4 = |7649 − 8500| = 851
Dv5 = |7649 − 9000| = 1351

Pentru k = 1 cel mai apropiat vecin este v3 , aflat la distant, a 149, cu nota co-
respunzătoare 8. As, adar, nota prezisă va fi 8.

Pentru k = 3 cei mai apropiat, i vecini sunt {v3 , v4 , v2 }, aflat, i la distant, ele
{149, 851, 1149}, cu notele corespunzătoare {8, 9, 7.5}. Nota prezisă va fi media
lor: 8+9+7.5
3
= 8.16.

• Pentru filmul “Finding Dory”


Dv1 = |6215 − 5000| = 1215
Dv2 = |6215 − 6500| = 285
Dv3 = |6215 − 7500| = 1285
Dv4 = |6215 − 8500| = 2285
Dv5 = |6215 − 9000| = 2785

Pentru k = 1 cel mai apropiat vecin este v2 , aflat la distant, a 285, cu nota co-
respunzătoare 7.5. As, adar, nota prezisă va fi 7.5.

Pentru k = 3 cei mai apropiat, i vecini sunt {v2 , v1 , v3 }, aflat, i la distant, ele
{285, 1215, 1285}, cu notele corespunzătoare {7.5, 6, 8}. Nota prezisă va fi media
lor: 7.5+6+8
3
= 7.16.

(b) ŷ = {8.16, 7.16}


y = {8.5, 7}

|8.16−8.5|+|7.16−7| 0.34+0.16
M AE = 2
= 2
= 0.25
(8.16−8.5)2 +(7.16−7)2 0.11+0.02
M SE = 2
= 2
= 0.06

4. Pentru valorile de mai jos al lui ŷ s, i y, calculat, i matricea de confuzie. Pe baza matricei
de confuzie calculat, ia acuratet, ea, precizia s, i recall-ul.

 
ŷ = 1 2 1 3 1 1 2 1 3 3
 
y= 1 1 2 3 2 1 2 3 2 3

6
SOLUT, IE:
În matricea de confuzie M avem:

M (i, j) = numărul de exemple din clasa i care au fost clasificate ca fiind ı̂n clasa j
 
2 1 0
M = 2 1 1
1 0 2
2+1+2
Acuratet, e = 10
= 0.5

Precizie clasa c:
2 1 2
c=1⇒ 2+2+1
= 0.4 c=2⇒ 1+1+0
= 0.5 c=3⇒ 0+1+2
= 0.66

Recall clasa c:
2 1 2
c=1⇒ 2+1+0
= 0.66 c=2⇒ 2+1+1
= 0.25 c=3⇒ 1+0+2
= 0.66

5. Se dă următoarea mult, ime de puncte de antrenare cu etichetele corespunzătoare:


{[(3, 4), 0], [(3, 5), 0], [(3, 7), 0], [(4, 5), 0], [(4, 6), 0], [(7, 3), 1], [(8, 2), 1], [(8, 4), 1], [(9, 2), 1], [(9, 3), 1]}

(a) Aleget, i dreapta de separare optimă dintre următoarele 3:


w = (w0 , w1 , w2 ) ⇒ w0 + w1 x1 + w2 x2 = 0
(i) w = (1.2, 0.8, -1)
(ii) w = (-1.5, 1, -1)
(iii) w = (-3, 1, -1)
(b) Prezicet, i eticheta punctelor (10, 1) s, i (2, 6) pe baza dreptei alese la (a).

SOLUT, IE:

(a) (i) w = (1.2, 0.8, -1)


0.8x1 − x2 + 1.2 = 0
Fixăm x1 = 0. Înlocuind ı̂n ecuat, ia anterioară obt, inem x2 = 1.2
Pentru x1 = 5 ⇒ x2 = 5.2
Având punctele (0, 1.2) s, i (5, 5.2) putem determina dreapta de separare.
(ii) w = (-1.5, 1, -1)
x1 − x2 − 1.5 = 0
Pentru x1 = 1.5 ⇒ x2 = 0
Pentru x1 = 3 ⇒ x2 = 1.5
Având punctele (1.5, 0) s, i (3, 1.5) putem determina dreapta de separare.

7
(iii) w = (-3, 1, -1)
x1 − x2 − 3 = 0
Pentru x1 = 3 ⇒ x2 = 0
Pentru x1 = 6 ⇒ x2 = 3
Având punctele (3, 0) s, i (6, 3) putem determina dreapta de separare.
Dreptele de separare sunt:

Cea care maximizează marginea dintre exemplele de antrenare este cea de la (ii).
(b) Avem ecuat, ia suprafet, ei de decizie: x1 − x2 − 1.5 = 0
Pentru punctul (10, 1): 10 − 1 − 1.5 = 7.5 > 0 ⇒ 1
Pentru punctul (2, 6): 2 − 6 − 1.5 = −5.5 < 0 ⇒ 0

8
6. Având următoarea mult, ime de antrenare {[(−6), 1], [(−1), −1], [(3), −1], [(5), 1]}, folosit, i
funct, ia kernel k(x) = (x, x2 ) pentru a scufunda datele ı̂n 2D. Desenat, i punctele ı̂n noul
spat, iu s, i găsit, i ecuat, ia unei drepte de separare.
SOLUT, IE:
Datele 1D nu sunt liniar separabile.

Le scufundăm ı̂ntr-un spat, iu 2D folosind funct, ia k(x) = (x, x2 )


(−6) ⇒ (−6, (−6)2 ) = (−6, 36)
(−1) ⇒ (−1, (−1)2 ) = (−1, 1)
(−3) ⇒ (3, 32 ) = (3, 9)
(5) ⇒ (5, 52 ) = (5, 25)

Astfel ele devin liniar separabile:

Observăm că punctele (-4, 0) s, i (0, 10) determină o dreaptă care separă aceste exemple. De-
terminăm ecuat, ia acesteia:
y = mx + n
schimbare pe y 10−0
m = schimbare pe x
= 0−(−4) = 2.5
y − y1 = m(x − x1 )
y − 0 = 2.5(x + 4)
y = 2.5x + 10
Ecuat, ia dreptei determinate de punctele (-4, 0) s, i (0, 10) este: −2.5x + y − 10 = 0

9
7. Aplicat, i modelul Bag of Words pe exemplele de test din următorul set de date:
train data = [
“Orice copil are o jucărie preferată”,
“Acel copil ı̂s, i dorea o jucărie de plus, s, i o jucărie ros, ie”,
“Mas, ina de jucărie era a unui copil cu geacă ros, ie”
]

test data = [
“Acel copil cu geacă ros, ie ascultă muzică ı̂n mas, ina ros, ie”,
“I-am cumpărat acelui copil o mas, ină de jucărie”
]

SOLUT, IE:

Pasul 1: definirea vocabularului prin atribuirea unui id fiecărui cuvânt din setul de
antrenare:
vocabular = { “orice”: 0, “copil”: 1, “are”: 2, “o”: 3, “jucărie”: 4, “preferată”: 5, “acel”:
6, “ı̂s, i”: 7, “dorea”: 8, “de”: 9, “plus, ”: 10, “s, i”: 11, “ros, ie”: 12, “mas, ina”: 13, “era”:
14, “a”: 15, “unui”: 16, “cu”: 17, “geacă”: 18 }

Pasul 2: reprezentarea datelor: fiecare exemplu va fi reprezentat de un vector de dimen-


siune egală cu lungimea vocabularului, definit astfel:

vector[i] = nr. de aparit, ii al cuvântului cu id-ul i

“Acel copil cu geacă ros, ie ascultă muzică”:


[0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 1]
“I-am cumpărat acelui copil o mas, ină de jucărie”:
[0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0]

8. Executat, i un pas al algoritmului Widrow-Hoff pentru rezolvarea problemei AND, consi-


derând exemplul [1, 1] s, i rata de ı̂nvăt, are 0.1.
   
0 0 0
0 1 0
X= 1 0
 y= 0

1 1 1

10
SOLUT, IE:

(ŷ−y)2
loss = 2
∂loss
∂W
= (ŷ − y)x
∂loss
∂b
= (ŷ − y)

Ponderile init, iale si bias-ul sunt egale cu 0:


 
0
W = b=0
0
 
  0
ŷ = 1 1 ∗ +0=0
0
   
∂loss 1 −1
= (0 − 1) ∗ =
∂W 1 −1
     
0 −1 0.1
W = − 0.1 ∗ =
0 −1 0.1
∂loss
∂b
= 0 − 1 = −1

b = 0 − 0.1 ∗ (−1) = 0.1

11
9. Având o ret, ea neuronală cu 2 straturi (unul ascuns s, i unul de ies, ire) vrem să rezolvăm
problema XOR. Pe primul strat avem 3 perceptroni s, i pe al doilea 1 perceptron, funct, iile
de activare sunt ReLU pentru stratul ascuns s, i sigmoid pentru stratul de ies, ire. Pornind
de la următoarele valori pentru W1 , W2 , b1 , b2 facet, i un pas forward s, i unul backward,
folosind rata de ı̂nvăt, are 0.1.
   
0 0 0
0 1 1
X= 1 0
 y= 1

1 1 0
 
1 0 2  
W1 = b1 = 0 0 0
2 0 1
 
1  
W2 = 0 b2 = 0
1

SOLUT, IE:
Pasul 1: FORWARD

ŷ = SIGM OID(RELU (XW1 + b1 )W2 + b2 )

z1 = XW1 + b1
   
0 0   0 0 0
0 1  1 0 2   2 0 1
1 0 ∗ 2 0 1 + 0 0 0 = 1
z1 =    
0 2
1 1 3 0 3

a1 = RELU (z1 )
 
0 0 0
2 0 1
a1 = 
1 0 2

3 0 3

z2 = a1 W2 + b2
   
0 0 0   0
2 0 1 1 3
1 0 2 ∗ 0 + [0] = 3
z2 =      
1
3 0 3 6

12
a2 = SIGM OID(z2 )
 
0.5
0.95
a2 = 
0.95

0.99

Pasul 2: BACKWARD

∂loss ∂loss ∂z2


∂W2
= ∂z2
∗ ∂W2

∂loss ∂loss ∂a2


∂z2
= ∂a2
∗ ∂z2

loss = −ylog(a2 ) − (1 − y)log(1 − a2 )


∂loss y 1−y a2 −y
∂a2
= − a2 + 1−a2
= a2 (1−a2 )

∂a2 ∂SIGM OID(z2 )


∂z2
= ∂z2
= SIGM OID(z2 )(1 − SIGM OID(z2 ) = a2 (1 − a2 )
     
0.5 0 0.5
     
−0.05
     
∂loss a2 −y
0.95  1  
∂z2
= a2 (1−a2 ) a2 (1 − a2 ) = a2 − y =  − = 
0.95 1 −0.05
     
     
0.99 0 0.99

∂z2 ∂a1 W2 +b2


∂W2
= ∂W2
= aT1

OBS. Update-ul se face cu media gradient, ilor.


 
  0.5  
0 2 1 3 
 0.7

∂loss
   −0.05   
= 14 ∗ aT1 ∗ ∂loss = 14 ∗ 0 0 0 0 ∗  = 0 
 
∂W2 ∂z2
  −0.05

  
0 1 2 3   0.7
0.99
∂loss ∂loss ∂z2
∂b2
= ∂z2
∗ ∂b2

13
∂z2 ∂(a1 W2 +b2 )
∂b2
= ∂b2
=1

 
0.5
 
−0.05
 
∂loss  ⇒ 1 (0.5 − 0.05 − 0.05 + 0.99) = 0.34
∂b2
=

4
−0.05

 
0.99

∂loss ∂loss ∂z1


∂W1
= ∂z1
∗ ∂W1

∂loss ∂loss ∂a1


∂z1
= ∂a1
∗ ∂z1

∂loss ∂loss ∂z2


∂a1
= ∂z2
∗ ∂a1

∂z2 ∂a1 W2 +b2


∂a1
= ∂a1
= w2T

   
0.5 0.5 0 0.5
   
−0.05 −0.05 0 −0.05
  h i  
∂loss
  
= ∗ 1 0 1 =
   
∂a1
−0.05 −0.05 0 −0.05

   
0.99 0.99 0 0.99
 
0 0 0
 
 
∂a1 ∂RELU (z1 )
1 0 1
∂z1
= ∂z1
=
 

1 0 1
 
1 0 1
     
0 0 0 0.5 0 0.5 0 0 0
     
1 0 1 −0.05 0 −0.05 −0.05 0 −0.05
     
∂loss ◦
∂z1
=  = 
1 0 1 −0.05 0 −0.05 −0.05 0 −0.05
     
     
1 0 1 0.99 0 0.99 0.99 0 0.99

∂z1 ∂XW1 +b1


∂W1
= ∂W1
= XT

14
 
0 0 0
     
−0.05 0 −0.05
 
∂loss 1 ∂loss 1
0 0 1 1 0.23 0 0.23
∂W1
= 4
∗ XT ∗ ∂z1
= 4
∗ ∗ = 
−0.05 0 −0.05
 
0 1 0 1  0.23 0 0.23
 
0.99 0 0.99

∂loss ∂loss ∂z1


∂b1
= ∂z1
∗ ∂b1

∂z1 ∂(XW1 +b1 )


∂b1
= ∂b1
=1

 
0 0 0
 
−0.05 0 −0.05
  h i
∂loss
 1
= 
  ⇒ 0 − 0.05 − 0.05 + 0.99 0 0 − 0.05 − 0.05 + 0.99 =
∂b1 4
−0.05 0 −0.05

 
0.99 0 0.99
h i
0.22 0 0.22

15

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

  • Curs2015 Partea1
    Curs2015 Partea1
    Document114 pagini
    Curs2015 Partea1
    Ana Cercel
    Încă nu există evaluări
  • Examen 1septembrie2017 VA
    Examen 1septembrie2017 VA
    Document8 pagini
    Examen 1septembrie2017 VA
    Ana Cercel
    Încă nu există evaluări
  • Curs 1
    Curs 1
    Document45 pagini
    Curs 1
    Ana Cercel
    Încă nu există evaluări
  • Probleme Mips
    Probleme Mips
    Document1 pagină
    Probleme Mips
    Ana Cercel
    Încă nu există evaluări
  • Mips 1 B
    Mips 1 B
    Document13 pagini
    Mips 1 B
    Andrei Popescu
    Încă nu există evaluări
  • SDA Tema2
    SDA Tema2
    Document2 pagini
    SDA Tema2
    Ana Cercel
    Încă nu există evaluări
  • Laborator 3-1
    Laborator 3-1
    Document2 pagini
    Laborator 3-1
    Ana Cercel
    Încă nu există evaluări
  • Fisiere
    Fisiere
    Document23 pagini
    Fisiere
    Cercel Ana Maria
    Încă nu există evaluări
  • Dumitrescu T. - Algebra 1 (2006)
    Dumitrescu T. - Algebra 1 (2006)
    Document207 pagini
    Dumitrescu T. - Algebra 1 (2006)
    Rosu Lucian
    Încă nu există evaluări
  • c1lmc30 PDF
    c1lmc30 PDF
    Document55 pagini
    c1lmc30 PDF
    Ana Cercel
    Încă nu există evaluări