Sunteți pe pagina 1din 5

Invat, are Automata - Laboratorul 11

Inv
at, are Bayesian
a
Tudor Berariu
Laboratorul AIMAS
Facultatea de Automatica s, i Calculatoare

5 mai 2014

Scopul laboratorului

Scopul laboratorului l reprezinta nt, elegerea s, i implementarea unui algoritm


de nvat, are bayesiana. Pentru rezolvarea algoritmului este necesara aducerea
aminte a catorva not, iuni din teoria probabilitat, ilor.

Problema rezolvat
a

Problema rezolvata astazi este una de clasificare, mai precis de stabilire a


apartent, ei unor obiecte la o clasa dintr-o mult, ime finita C. Avand un set de
date hX, Ti compus din N exemple x(i) , 1 i N descrise prin k atribute
(i)
(i)
(i)
(x1 , x2 , . . . , xk ) s, i etichetate cu o clasa t(i) C, se cere construirea unui
clasificator f care sa eticheteze obiecte noi.

N
aive Bayes

Nave Bayes reprezinta o metoda statistica inductiva de clasificare, bazata


pe Teorema lui Bayes (Formula 1) pentru exprimarea relat, iei dintre probabilitatea a priori s, i probabilitatea posterioara ale unei ipoteze.
P (c|x) =

P (x|c) P (c)
P (x)
1

(1)

In Teorema lui Bayes, (Formula 1):


P (c) reprezinta probabilitatea a priori a clasei c,
P (c|x) reprezinta probabilitatea a posteriori a ipotezei x apart, ine clasei c,
P (x|c) reprezinta probabilitatea ca exemplul x sa apart, ina clasei c (verosimilitatea).
Un clasificator Nave Bayes funct, ioneaza pe principiul verosimilitat, ii maxime (eng. maximum likelihood ), deci alege clasa c pentru care probabilitatea
P (c|x) este maxima (MAP = maximum a posteriori ):
cM AP = argmax P (c|x) = argmax
cC

cC

P (x|c) P (c)
= argmax P (x|c) P (c) (2)
P (x)
cC

Fiecare exemplu x este descris printr-un numar de atribute x1 , . . . xk , de


aceea Formula 2 se poate rescrie astfel:
cM AP = argmax P (x1 , x2 , . . . , xk |c) P (c)

(3)

cC

Cuvantul naiv provine de la faptul ca Nave Bayes nu t, ine cont de posibilele relat, ii de dependent, a ntre atribute. Practic, presupunerea facuta
este aceea ca atributele sunt condit, ional independente odata ce clasa este
cunoscuta.
P (x1 , x2 , . . . , xk |c) = P (x1 |c) P (x2 |c) . . . P (xk |c)

(4)

Aplicand presupunerea exprimata de Formula 4, clasa prezisa de un clasificator Nave Bayes devine:
Y
cN B = argmax P (c)
P (xi |c)
(5)
cC

xi

Sarcini de rezolvat

In cadrul acestui laborator se va implementa algoritmul Nave Bayes pentru


a construi un clasificator pentru setul de date Lenses 1 . Descarcat, i setul de
date de aici: http://archive.ics.uci.edu/ml/datasets/Lenses.
1

http://archive.ics.uci.edu/ml/datasets/Lenses

Problema descrisa este aceea a stabilirii pe baza unor simptome daca un


pacient trebuie sa poarte lentile de contact. Setul de date cont, ine 3 clase:
(1) Hard Contact Lenses, (2) Soft Contact Lenses s, i (3) No Contact Lenses.
Fiecare exemplu este compus din 4 atribute:
Age of the patient: (1) young, (2) pre-presbyopic, (3) presbyopic
Spectacle prescription: (1) myope, (2) hypermetrope
Astigmatic: (1) yes, (2) no
Tear production rate: (1) reduced, (2) normal
Cerint,
a Se cere implementarea unui program care sa estimeze daca s, i ce
fel de lentile de contact trebuie sa poarte o persoana pentru care se introduc
valorile celor 4 atribute descrise mai sus.
Bonus Sa se aplice Laplacian Smoothing pentru a evita ca un termen 0 sa
duca la o valoare 0 pentru tot produsul.

Exemplu

Setul de date este urmatorul:


A1
1
1
1
1
1
1
1
1
2
2
2
2
2
2

A2
1
1
1
1
2
2
2
2
1
1
1
1
2
2

A3
1
1
2
2
1
1
2
2
1
1
2
2
1
1

A4
1
2
1
2
1
2
1
2
1
2
1
2
1
2

Class
3
2
3
1
3
2
3
1
3
2
3
1
3
2
3

2
2
3
3
3
3
3
3
3
3

2
2
1
1
1
1
2
2
2
2

2
2
1
1
2
2
1
1
2
2

1
2
1
2
1
2
1
2
1
2

3
3
3
3
3
1
3
2
3
3

Sa presupunem ca vrem sa stabilim diagnosticul pentru urmatorul exemplu: (presbyopic, myope, no, normal
Y ), adica x = (3, 1, 2, 2).
P (xi |c) pentru fiecare clasa c {1, 2, 3}.
Sa calculam expresia P (c)
xi

Pentru clasa c = 1:
P (c = 1) =

numar exemple in clasa 1


numar total exemple

4
24

= 0.1666

P (x1 = 3|c = 1) =

numar exemple in clasa 1 cu x1 =3


numar exemple in clasa 1

1
4

= 0.25

P (x2 = 1|c = 1) =

numar exemple in clasa 1 cu x2 =1


numar exemple in clasa 1

3
4

= 0.75

P (x3 = 2|c = 1) =

numar exemple in clasa 1 cu x3 =2


numar exemple in clasa 1

4
4

= 1.0

P (x4 = 2|c = 1) =

numar exemple in clasa 1 cu x4 =2


numar exemple in clasa 1

4
4

= 1.0

Factor final pentru clasa 1: 0.1666 0.25 0.75 0.1 0.1 = 0.03125
Similar, pentru clasa c = 2:
P (c = 2) =

numar exemple in clasa 2


numar total exemple

5
24

= 0.2083

P (x1 = 3|c = 2) =

numar exemple in clasa 2 cu x1 =3


numar exemple in clasa 2

1
5

= 0.2

P (x2 = 1|c = 2) =

numar exemple in clasa 2 cu x2 =1


numar exemple in clasa 2

2
5

= 0.4

P (x3 = 2|c = 2) =

numar exemple in clasa 2 cu x3 =2


numar exemple in clasa 2

0
5

= 0.0

P (x4 = 2|c = 2) =

numar exemple in clasa 2 cu x4 =2


numar exemple in clasa 2

5
5

= 1.0

Factor final pentru clasa 2: 0.2083 0.2 0.4 0 1.0 = 0.0


Similar, pentru clasa c = 3:
4

Factor final pentru clasa 3: 0.012444


Comparand cei trei factori obt, inut, i, conform algoritmului Nave Bayes se
va decide ca exemplul prezentat va apart, ine clasei 1.
Daca s-ar aplica Laplacian Smoothing, valorile ar fi aproximativ:
clasa 1: 0.02204;
clasa 2: 0.00273;
clasa 3: 0.01424.

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