Sunteți pe pagina 1din 112

Inteligen artificial

10. nvarea supervizat.


Tehnici de clasificare
Florin Leon
Universitatea Tehnic Gheorghe Asachi din Iai
Facultatea de Automatic i Calculatoare
http://florinleon.byethost24.com/curs_ia.htm
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

nvarea supervizat.
Tehnici de clasificare
1.
2.
3.
4.
5.
6.
7.

nvarea automat i clasificarea


Arbori de decizie
Metoda Bayes naiv
nvarea bazat pe instane
Generalizarea
Algoritmul NNGEP
Concluzii

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

nvarea supervizat.
Tehnici de clasificare
1.
2.
3.
4.
5.
6.
7.

nvarea automat i clasificarea


Arbori de decizie
Metoda Bayes naiv
nvarea bazat pe instane
Generalizarea
Algoritmul NNGEP
Concluzii

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Tipuri de raionament

Raionament deductiv

Raionament inductiv

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

nvarea automat

engl. machine learning


Capacitatea de nvare este unul din cele mai
importante componente ale comportamentului
inteligent
Un sistem clasic specializat care nu nva:

Realizeaz calcule numeroase pentru rezolvarea unei


probleme
Nu memoreaz soluia
De fiecare dat, realizeaz aceeai secven de calcule
complexe

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

nvarea

nvarea denot schimbrile adaptive dintr-un


sistem, n sensul de a realiza aceeai sarcin sau
sarcini similare

mai eficient (engl. efficient)

mai eficace (engl. effective)

cu mai puine resurse (doing the things in the right manner)


msur de productivitate
care atinge scopurile propuse (doing the right things)
msur de calitate
(dup Herbert A. Simon)

Un program nva dac i mbuntete


performanele la ndeplinirea unei sarcini pe baza
experienei (Tom Mitchell)
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Motivaie

nvarea este esenial pentru mediile necunoscute

Nu se pot anticipa toate strile mediului

Proiectantul nu poate s i dea agentului toate informaiile

nvarea este o alternativ la proiectarea explicit

Expune agentul la mediul real n loc s i spun despre mediu

Proiectantul nu dorete s i dea toate informaiile

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Ce presupune nvarea

nvarea presupune schimbri n agent

nvarea presupune generalizri pe baza experienei

Performanele trebuie s se mbunteasc nu numai la


repetarea aceleiai sarcini, dar i pentru sarcini similare care
nu au mai fost ntlnite nainte
Algoritmii trebuie s generalizeze euristic: s selecteze
aspectele importante ale experienei

Aceasta este problema induciei

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

nvarea supervizat

n forma cea mai simpl, reprezint nvarea


unei funcii din exemple

Fie f funcia int

Un exemplu este o pereche (x, f(x))

Problema este gsirea unei ipoteze h astfel


nct h f, pe baza unei mulimi de exemple
de antrenare

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Problema de clasificare

Se d o mulime de instane
(obiecte)

Mulimea de antrenare

Instanele au atribute
Fiecare instan are atribute
cu anumite valori
De obicei, ultimul atribut
este clasa

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

10

Tipuri de atribute

Nominal

Ordinal

Temperatura (C), date calendaristice

Raional (exist un element neutru, de exemplu 0)

nlime (mic, medie, mare), ranguri, calificative

Interval

Culoarea ochilor, nume, sex, CNP (ca obiect, nu numr)

Lungime, distan (m), preuri, temperatura (K)

Discrete: de tip nominal i ordinal


Continue: de tip interval i raional
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

11

Clasificarea i regresia

Aceeai idee de baz: nvarea unei relaii ntre


intrri (vectorul x) i ieire (y) din date
Singura diferen ntre clasificare i regresie este
tipul ieirii: discret, respectiv continuu
Clasificarea estimeaz o ieire discret y,
numit clas

Regresia estimeaz funcia h astfel nct


y h(x) cu o anumit precizie

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

12

Exemple de aplicaii

nvarea tratamentelor optime din nregistrrile medicale


Clasificarea celulelor din tumori ca benigne sau maligne pe
baza radiografiilor
Predicia ratei de recuperare a pacienilor cu pneumonie
Clasificarea structurilor secundare a proteinelor (predicia
proprietilor pe baza componentelor structurale)
Clasificarea plilor electronice ca legitime sau frauduloase
Recunoaterea vorbirii
Clasificarea tirilor n categorii precum politic, meteo,
sport etc.
Clasificarea email-urilor n spam i ham
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

13

nvarea supervizat.
Tehnici de clasificare
1.
2.
3.
4.
5.
6.
7.

nvarea automat i clasificarea


Arbori de decizie
Metoda Bayes naiv
nvarea bazat pe instane
Generalizarea
Algoritmul NNGEP
Concluzii

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

14

Clasificarea cu arbori de decizie

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

15

Inducia arborelui de decizie

Fie Dn mulimea instanelor de antrenare care ajung


la un nod n
Procedura general (algoritmul lui Hunt):

Dac Dn conine instane din aceeai clas yn , atunci


n este o frunz etichetat yn
Dac Dn este o mulime vid, atunci n este o frunz
etichetat cu clasa implicit (default) yd
Dac Dn conine instane care aparin mai multor clase,
se utilizeaz un test de atribute pentru a partiiona datele
n mulimi mai mici
Se aplic recursiv procedura pentru fiecare submulime

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

16

Algoritmul lui Hunt

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

17

Inducia arborelui de decizie

Urmeaz o strategie greedy

Se partiioneaz mulimea de instane cu un test


care maximizeaz un anumit criteriu

Partiionarea datelor presupune:

Specificarea testului

Determinarea partiionrii optime

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

18

Specificarea testului

Depinde de tipul atributului

Nominal

Ordinal

Continuu

Depinde de numrul de posibiliti de partiionare

Binar

Multiplu

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

19

Atribute nominale

Partiionarea multipl

Numrul de partiii = numrul de valori distincte

Partiionarea binar

Se divid valorile n 2 submulimi


Trebuie descoperit partiionarea optim

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

20

Atribute ordinale

Partiionarea multipl

Numrul de partiii = numrul de valori distincte

Partiionarea binar

Se divid valorile n 2 submulimi


Trebuie descoperit partiionarea optim

?
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

21

Atribute continue

Se discretizeaz datele pentru a le transforma


n atribute ordinale

Cu interval egal (histograma)


Cu frecven egal (mulimi cu numere egale de
instane)
Clusterizare de exemplu k-medii (k-means), cursul 12

Decizie binar: (A v) sau (A > v)

Trebuie considerate toate partiionrile posibile


Necesit un efort de calcul mai mare

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

22

Discretizarea

Cu interval egal 3 intervale

[65, 75], (75, 85], (85, 95]

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

23

Discretizarea

Cu frecven egal 3 intervale

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

24

Discretizarea

Binar, cu o valoare de referin (de ex. 85)

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

25

Partiionarea optim

Euristic: se prefer nodurile cu cele mai


omogene distribuii de clas
Necesit o msur a impuritii nodurilor

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

26

Msuri de impuritate

Convenie: 0 log2 0 = 0

Pentru o problem binar:


Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

27

Msuri de impuritate

Valoarea maxim:
instanele sunt
distribuite egal ntre
clase
Valoarea minim (0):
toate instanele
aparin unei singure
clase

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

28

Exemple

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

29

Partiionarea

Cnd un nod printe p este partiionat n k fii, calitatea


partiionrii se calculeaz astfel:
k

ni
GINI split GINI (i)
i 1 n
unde:

ni = numrul de instane din fiul i


n = numrul de instane din nodul p
Formul similar pentru entropie
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

30

Ctigul informaional

Calitatea unei partiionri este determinat de


creterea omogenitii submulimilor rezultate
Trebuie maximizat ctigul informaional:
= I(printe) i(ni / n I(fiui))
Deoarece I(printe) este acelai pentru toi fiii, se
prefer valoarea minim pentru i(ni / n I(fiui))

Funcia I() poate fi entropia, indexul Gini sau alt


msur de impuritate

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

31

Exemplu: construirea unui AD

Se calculeaz ctigul informaional pentru


fiecare atribut (Refund, Status, Income)
Refund

Refund = Yes 3 instane

Cheat = Yes 0
Cheat = No 3

Refund = No 7 instane

Cheat = Yes 3
Cheat = No 4

Gini = 0

Gini = 1 (3/7)2 (4/7)2 = 0.49

GiniRefund = (3/10) 0 + (7/10) 0.49 = 0.343

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

32

Exemplu: construirea unui AD

Status

Status = Divorced 2 instane

Cheat = Yes 1
Cheat = No 1

Status = Married 4 instane

Cheat = Yes 0
Cheat = No 4

Cheat = Yes 2
Cheat = No 2

Gini = 1 (0/4)2 (4/4)2 = 0

Status = Single 4 instane

Gini = 1 (1/2)2 (1/2)2 = 0.5

Gini = 1 (2/4)2 (2/4)2 = 0.5

GiniStatus = (2/10) 0.5 + (4/10) 0 + (4/10) 0.5


= 0.3
Aceeai valoare dac am considera 2 clase:
{Married} i {Divorced, Single} problem de
optimizare

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

33

Construirea unui AD:


atribute continue

Pentru eficientizarea calculelor, pentru fiecare atribut:

Se sorteaz valorile
Se parcurg liniar valorile, actualizndu-se numrarea
instanelor i calculndu-se indexul Gini
Se alege poziia de partiionare cu indexul Gini minim

Cheat

No

No

No

Yes

Yes

Yes

No

No

No

No

100

120

125

220

Taxable Income

Valori sortate

60

Poziii de part.

70

55

75

65

85

72

90

80

95

87

92

97

110

122

172

230

<=

>

<=

>

<=

>

<=

>

<=

>

<=

>

<=

>

<=

>

<=

>

<=

>

<=

>

Yes

No

Gini

0.420

0.400

0.375

0.343

0.417

0.400

0.300

0.343

0.375

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

0.400

0.420

34

Construirea unui AD:


atribute continue

Optimizare: se calculeaz indexul Gini doar pentru


poziiile unde se schimb valoarea clasei

2 partiionri candidat n loc de 11

Cheat

No

No

No

Yes

Yes

Yes

No

No

No

No

100

120

125

220

Taxable Income

Valori sortate

60

Poziii de part.

70

55

75

65

85

72

90

80

95

87

92

97

110

122

172

230

<=

>

<=

>

<=

>

<=

>

<=

>

<=

>

<=

>

<=

>

<=

>

<=

>

<=

>

Yes

No

Gini

0.420

0.400

0.375

0.343

0.417

0.400

0.300

0.343

0.375

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

0.400

0.420

35

Prima partiionare

GiniRefund = 0.343

GiniStatus = 0.3

GiniIncome = 0.3

Partiionrile dup Status i Income


sunt egal posibile

Dar rezultatele pot fi foarte diferite...

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

36

Procedura recursiv

S considerm Status pentru prima partiionare


MarSt
Divorced

Married

Single

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

37

Al doilea nivel

Atribute rmase

Refund, Income

Status = Divorced

Refund = No Cheat = Yes


Refund = Yes Cheat = No
Gini = 0, partiionare dup Refund

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

38

Al doilea nivel

Status = Married Cheat = No


Nu mai sunt necesare alte
partiionri

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

39

Al doilea nivel

Status = Single

Refund = Yes 1 instan

Cheat = Yes 0
Cheat = No 1

Refund = No 3 instane

Cheat = Yes 2
Cheat = No 1

Gini = 0

Gini = 1 (2/3)2 (1/3)2 = 0.444

GiniRefund = 0 + (3/4) 0.444 = 0.333

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

40

Al doilea nivel

Status = Single

Valoarea clasei neschimbat


Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

41

Al doilea nivel

GiniRefund = 0.333

GiniIncome = 0.333

Partiionrile dup Refund i Income


sunt egal posibile

S considerm Refund

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

42

Arborele final
MarSt
Divorced

Refund

Married

Single

NO

Refund

Yes

No

Yes

NO

YES

NO

No

Income
<80

80

NO

YES

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

43

Decizia alternativ
Income
<97

MarSt
Divorced

YES

Married

NO

97

NO
Single

YES

Arborele de decizie are 1 eroare chiar pe mulimea de antrenare!


Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

44

Clasificarea cu arbori de decizie

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Aplicarea modelului
Instana de test

Se ncepe din rdcin

Refund
Yes

Refund Marital
Status

Taxable
Income Cheat

No

80K

Married

10

No

NO

MarSt
Single, Divorced
TaxInc

< 80K
NO

Married
NO

> 80K
YES

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Aplicarea modelului

Refund
Yes

Refund Marital
Status

Taxable
Income Cheat

No

80K

Married

10

No

NO

MarSt
Single, Divorced
TaxInc

< 80K
NO

Married
NO

> 80K
YES

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Aplicarea modelului

Refund
Yes

Refund Marital
Status

Taxable
Income Cheat

No

80K

Married

10

No

NO

MarSt
Single, Divorced
TaxInc
< 80K
NO

Married
NO

> 80K

YES

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Aplicarea modelului

Refund
Yes

Refund Marital
Status

Taxable
Income Cheat

No

80K

Married

10

No

NO

MarSt
Single, Divorced
TaxInc
< 80K
NO

Married
NO

> 80K

YES

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Aplicarea modelului

Refund
Yes

Refund Marital
Status

Taxable
Income Cheat

No

80K

Married

10

No

NO

MarSt
Single, Divorced
TaxInc
< 80K
NO

Married
NO

> 80K

YES

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Aplicarea modelului

Refund
Yes

Refund Marital
Status

Taxable
Income Cheat

No

80K

Married

10

No

NO

MarSt
Single, Divorced
TaxInc
< 80K
NO

Married

Se clasific instana:
Cheat = No

NO
> 80K

YES

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Algoritmi de inducie

ID3, Iterative Dichotomiser 3 (Quinlan, 1983)

C4.5 (Quinlan, 1993)

Extensie a algoritmului ID3


Permite i atribute continue
Permite partiionarea de mai multe ori dup acelai atribut
Permite retezarea sau simplificarea (engl. pruning) arborelui generat
pentru a crete capacitatea de generalizare

ID3 i C4.5 folosesc entropia pentru a descoperi arbori de dimensiuni


ct mai reduse
Arbori aleatorii (Random Tree, Random Forest)

Opereaz numai pe atribute discrete

Stabilete atributele pentru partiionare n mod aleatoriu


Nu genereaz arbori de dimensiuni mici
Eroarea pe mulimea de antrenare este foarte mic

Toate aceste metode sunt euristice

Nu se garanteaz dimensiunea minim a arborelui i nici performanele


Exist mai muli arbori posibili pentru o problem dat

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

52

Clasificarea cu arbori de decizie

Dificultate medie de implementare

Rapizi la clasificarea instanelor necunoscute


Uor de interpretat

Necesit o serie de calcule


Dificultatea principal este partiionarea recursiv

Mai ales pentru arbori mici ca dimensiune

Un arbore de decizie poate fi interpretat ca o mulime


de reguli

De exemplu: Dac Marital Status este Divorced i


Refund este Yes atunci Cheat este No

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

53

nvarea supervizat.
Tehnici de clasificare
1.
2.
3.
4.
5.
6.
7.

nvarea automat i clasificarea


Arbori de decizie
Metoda Bayes naiv
nvarea bazat pe instane
Generalizarea
Algoritmul NNGEP
Concluzii

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

54

Clasificatorul bayesian

Se consider fiecare atribut i clasa ca fiind variabile


aleatorii urmnd anumite distribuii
Se d o instan cu atributele (A1, A2, , An)

Trebuie determinat clasa C, adic trebuie gsit


valoarea lui C care maximizeaz P ( C | A1, A2, , An )
P ( C | A1, A2, , An ) trebuie estimat direct din date

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

55

Clasificatorul bayesian

Conform teoremei lui Bayes:

Se alege valoarea lui C care maximizeaz


P ( C | A1, A2, , An)
Echivalent cu alegerea valorii lui C care maximizeaz
P ( A1, A2, , An | C ) P(C)
Problema se reduce la estimarea P(A1, A2, , An | C)
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

56

Clasificatorul bayesian naiv

engl. Nave Bayes


Se presupune c atributele Ai sunt
independente dat fiind clasa Cj:

P(A1, A2, , An | Cj) = P(A1| Cj) P(A2| Cj) P(An| Cj)

Putem estima P(Ai | Cj) pentru toate Ai i Cj

Trebuie gsit valoarea Cj astfel nct


P(Cj) i P(Ai | Cj) s fie maxim

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

57

Exemplu de clasificare

xq = (No, Married, 80K)


Trebuie s gsim:
argmax P(Cj) i P(Ai| Cj)
Calculm probabilitile pentru
(Cheat = Yes) i (Cheat = No)

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

58

Exemplu de clasificare

xq = (No, Married, 80K)


argmax P(Cj) i P(Ai| Cj)
Cj = (Cheat = Yes)
P(Cheat = Yes) = 3 / 10
P(Refund = No | Cheat = Yes) = 3 / 3
P(Status = Married | Cheat = Yes) = 0 / 3

Income, Cheat = Yes


(Income|Cheat = Yes) = 90
(Income|Cheat = Yes) = 4.33
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

59

Considerente practice

Dac una din probabilitile condiionate este 0, tot produsul


devine 0

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

60

Considerente practice

Soluie: corecia Laplace sau estimarea m (engl. m-estimate)


Se estimeaz probabilitile anterioare ale fiecrei valori
Iniial:

Estimarea m:

Fie c numrul de clase, putem considera m = c i p = 1 / c


Corecia Laplace:

Foarte util mai ales la clasificarea textelor

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

61

Considerente practice

Precizia calculelor poate fi afectat de


nmulirea probabilitilor (valori mici)

Soluie: folosirea logaritmilor


Produsul de probabiliti este nlocuit cu suma
logaritmilor de probabiliti

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

62

Atribute continue

Abordarea 1. Discretizarea

Cte un atribut ordinal pe submulime

Violeaz presupunerea de independen

Abordarea 2. Partiionarea binar:


(A v) sau (A > v)

Se alege doar unul din teste

Valori: Da / Nu

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

63

Atribute continue

Abordarea 3. Estimarea distribuiei de


probabilitate (folosit mai rar)

Se presupune c valorile atributului respect o


distribuie, de exemplu cea normal
Parametrii distribuiei (media i deviaia
standard ) se estimeaz din date

Odat cunoscut distribuia de probabilitate,


poate fi utilizat pentru a calcula probabilitile
condiionate P(Ai|Cj)

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

64

Atribute continue

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

65

Exemplu de clasificare

xq = (No, Married, 80K)


argmax P(Cj) i P(Ai| Cj)
Cj = (Cheat = Yes)
P(Cheat = Yes) = 3 / 10
P(Refund = No | Cheat = Yes) = 3 / 3
P(Status = Married | Cheat = Yes) = 0 / 3

Income, Cheat = Yes

(Income|Cheat = Yes) = 90
(Income|Cheat = Yes) = 4.082

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

66

Exemplu de clasificare

xq = (No, Married, 80K)


Income, Cheat = Yes

(Income|Cheat = Yes) = 90
(Income|Cheat = Yes) = 4.082

P(Income = 80 | Cheat = Yes) =

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

67

Exemplu de clasificare

xq = (No, Married, 80K)


argmax P(Cj) i P(Ai| Cj)
Cj = (Cheat = Yes)
P(Cheat = Yes) = 3 / 10
P(Refund = No | Cheat = Yes) = 3 / 3
P(Status = Married | Cheat = Yes) = 0 / 3
P(Income = 80 | Cheat = Yes) = 4.86210-3

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

68

Exemplu de clasificare

xq = (No, Married, 80K)


argmax P(Cj) i P(Ai| Cj)
Analog pentru Cj = (Cheat = No)
P(Cheat = No) = 7 / 10
P(Refund = No | Cheat = No) = 4 / 7
P(Status = Married | Cheat = No) = 4 / 7
P(Income = 80 | Cheat = No) = 6.62210-3
(Income|Cheat = No) = 110
(Income|Cheat = No) = 50.498 !

valorile atributului nu au de fapt o distribuie normal

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

69

Exemplu de clasificare

xq = (No, Married, 80K)


argmax P(Cj) i P(Ai| Cj)
Analog pentru Cj = (Cheat = No)
P(Cheat = No) = 7 / 10
P(Refund = No | Cheat = No) = 4 / 7
P(Status = Married | Cheat = No) = 4 / 7
P(Income = 80 | Cheat = No) = 6.62210-3

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

70

Exemplu de clasificare

xq = (No, Married, 80K)


P(xq|Cyes) = 0.233 103
P(xq|Cno) = 1.43 103
argmaxj P(xq|Cj) = No

n general, discretizarea (chiar cu intervale egale) d rezultate mai bune


dect metoda estimrii distribuiei de probabilitate
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

71

Clasificarea Bayes naiv

Avantaje

Calcule simple
Robustee la zgomot i atribute irelevante

Aplicabilitate

Mulimi de antrenare medii sau mari


Atribute independente condiional

Presupunerea este deseori infirmat n realitate


Dar metoda funcioneaz totui surprinztor de bine!
Extensie: reele bayesiene

Aplicaii de succes

Diagnoz
Clasificarea documentelor text
Detecia spam-ului

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

72

nvarea supervizat.
Tehnici de clasificare
1.
2.
3.
4.
5.
6.
7.

nvarea automat i clasificarea


Arbori de decizie
Metoda Bayes naiv
nvarea bazat pe instane
Generalizarea
Algoritmul NNGEP
Concluzii

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

73

Clasificarea bazat pe instane


Instanele memorate

Se memoreaz instanele de
antrenare
Se folosesc pentru a prezice
clasele instanelor noi

Instan nou

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

74

Cei mai apropiai k vecini

engl. k-Nearest Neighbor (k-NN)


Se folosesc cele mai apropiate k instane pentru a
realiza clasificarea
Dac merge ca o ra i mcne ca o ra, atunci
probabil e o ra

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

75

Clasificarea k-NN

Necesit:

Mulimea instanelor de antrenare


O metric de distan pentru a calcula distana dintre
instane
Valoarea lui k, numrul de vecini apropiai (k 1)

Pentru a clasifica o instan nou:

Se calculeaz distana fa de instanele de antrenare


Se identific cei k vecini cei mai apropiai
Se folosesc clasele vecinilor pentru a determina clasa noii
instane (de exemplu prin vot majoritar)

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

76

Reprezentarea instanelor

Pentru n atribute, instanele pot fi vzute ca puncte ntr-un spaiu


n-dimensional
De exemplu clasificarea riscului unor pacieni
Atribute:

Indicele Masei Corporale IMC (= G/I2)


Vrsta V

Instane:

IMC
IMC
IMC
IMC

=
=
=
=

18.5, V = 20
27, V = 32
39, V = 27
20, V = 25
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

77

Cei mai apropiai vecini

Cei mai apropiai k vecini ai unei instane x sunt


punctele cu cele mai mici distane fa de x

k=1

k=2

k=3

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

78

Numrul de vecini

Cnd k este prea mic, clasificarea poate fi afectat de zgomot


Cnd k este prea mare, vecintatea poate include puncte din
alte clase

k=1

k=2

k=3

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

79

1-NN: diagrama Voronoi

n interiorul unei celule, clasificarea tuturor noilor instane este


determinat de instana de antrenare corespunztoare
Instanele noi din afara unei celule sunt mai apropiate de alte
instane de antrenare

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

80

Diagramele Voronoi i
grdina zen Ryoanji

Cercettorii au descoperit c spaiul gol al grdinii evoc o


imagine ascuns a unui arbore care este perceput incontient
Partea de sus este similar cu diagrama Voronoi
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

81

Metrici de distan

Se folosesc n general particularizri ale


distanei Minkowski

Cele mai folosite metrici sunt:

Distana euclidian: p = 2
Distana Manhattan: p = 1

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

82

Scalarea

Se recomand scalarea atributelor pentru a preveni


dominarea msurii de distan de ctre un anumit
atribut
De exemplu:

nlimea unei persoane [1.5, 2.1] m


Greutatea unei persoane [50, 120] kg
Venitul unei persoane [10000, 1000000] EUR/an

Valorile atributelor sunt normalizate:

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

83

Numrul de dimensiuni

Blestemul dimensionalitii

engl. curse of dimensionality

Datele devin mai rare n spaiile multidimensionale

Dac numrul de atribute este mare, este


nevoie de mai multe instane de antrenare
pentru a forma un model corect

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

84

Ponderarea instanelor

Vecinii mai apropiai au o influen mai mare


la stabilirea clasei
Fiecare dintre vecini poate fi ponderat pe
baza distanei:

wi = 1 / d(xq, xi)2

Dac d(xq, xi) = 0, atunci f(xq) = f(xi)

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

85

Exemplu: calcularea distanelor

Noua instan: xq = (No, Married, 80K)


De exemplu: d(xq, x4) = ...

dRefund = 1 (No Yes)


dStatus = 0 (Married = Married)
dIncome = ...

Iq = 80, normalizat ntre 60 i 220 0.125


I4 = 120, normalizat 0.375
dIncome = 0.25

d(xq, x4) = sqrt(12 + 02 + 0.252) = 1.031

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

86

Exemplu: calcularea distanelor

Noua instan: xq = (No, Married, 80K)


d(xq, x1) = 1.442
d(xq, x2) = 0.125
d(xq, x3) = 1.002
d(xq, x4) = 1.031
d(xq, x5) = 1.004
d(xq, x6) = 0.125
d(xq, x7) = 1.663
d(xq, x8) = 1.000
d(xq, x9) = 0.031
d(xq, x10) = 1.002
k=3
Cele mai apropiate 3 instane sunt:
x9 (Cheat=No), x2 (No) i x6 (No)
Deci: f(xq) = No

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

87

Exemplu: ponderarea

Noua instan:
xq = (No, Married, 80K)
w(x1) = 1 / 1.4422 =
0.481 (No)
w(x2) = 1 / 0.1252 =
64 (No)
w(x3) = 0.996 (No)
w(x4) = 0.941 (No)
w(x5) = 0.992 (Yes)
w(x6) = 64 (No)
w(x7) = 0.362 (No)
w(x8) = 1.000 (Yes)
w(x9) = 1040.583 (No)
w(x10) = 0.996 (Yes)

k = 10

Decizia: suma

Se pot lua n calcul toate


instanele de antrenare
Se transform dintr-o
metod local ntr-una
global
Voturi pt. No: 1171.363
Voturi pt. Yes: 2.988

Deci: f(xq) = No

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

88

Ponderarea atributelor

Ideea de baz: lungirea sau scurtarea axelor


n spaiul euclidian

Lungirea axelor atributelor mai relevante


Scurtarea axelor atributelor mai puin relevante

Metode:

Ponderarea pe baza ctigului informaional


Ponderarea cu un algoritm local, precum Relief
(Kira & Rendell, 1992)

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

89

Selecia atributelor

ntr-o mulime de antrenare pot exista


atribute irelevante, care complic inutil
modelul i pot afecta rezultatele clasificrii
Avantajele seleciei atributelor:

Calcule mai simple


Clasificatorul rezultat este mai rapid
Erorile la predicie pot scdea
Identificarea atributelor relevante poate ajuta la
nelegerea naturii problemei de clasificare

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

90

Clasificarea bazat pe
cei mai apropiai vecini

Clasificatorii k-NN sunt clasificatori pasivi


(engl. lazy learners)

Modelul nu este construit explicit

Efortul de calcul se face la clasificarea instanelor noi

Arborii de decizie sunt clasificatori activi


(engl. eager learners)
Timpul de clasificare poate fi redus prin utilizarea
arborilor kd (engl. kd-trees, k-dimensional trees)
Rata de eroare este de obicei mic

Dac mulimea de antrenare nu este afectat de zgomot,


rata de eroare este de obicei 0%

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

91

nvarea supervizat.
Tehnici de clasificare
1.
2.
3.
4.
5.
6.
7.

nvarea automat i clasificarea


Arbori de decizie
Metoda Bayes naiv
nvarea bazat pe instane
Generalizarea
Algoritmul NNGEP
Concluzii

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

92

Aproximarea unei funcii

S se determine funcia care trece prin


punctele de mai jos

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

93

Aproximarea unei funcii

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

94

Aproximarea unei funcii

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

95

Aproximarea unei funcii

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

96

Aproximarea unei funcii

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

97

Briciul lui Occam

Trebuie preferat cea mai simpl ipotez consistent


cu datele
La egalitate, modelele mai simple tind s generalizeze
mai bine dect cele complexe

Lex parsimoniae: entia non sunt


multiplicanda praeter necessitatem
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

98

Generalizarea

Gsirea unui model pentru determinarea valorii clasei


n funcie de valorile celorlalte atribute cu eroare ct
mai mic

Modelul trebuie s aib capacitate de generalizare

Aplicarea acestui model pe date noi

De obicei exist o mulime de antrenare, pentru


crearea modelului i o mulime de validare (sau de
test) pentru verificarea capacitii de generalizare

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

99

Generarea mulimii de validare

mprirea 1/3 - 2/3

Validare ncruciat (engl. cross-validation)

2/3 pentru antrenare, 1/3 pentru test


n grupuri, n 1 pentru antrenare, al n-lea pentru
testare, se repet de n ori

Leave one out

n 1 instane pentru antrenare, a n-a pentru


testare, se repet de n ori

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

100

Generalitatea unui model

Subpotrivirea (engl. underfitting): ipoteza este prea simpl i


nu poate nva modelul din date
Suprapotrivirea (engl. overfitting): ipoteza este prea complex
i este influenat de zgomot i date irelevante
Un model suprapotrivit are performane foarte bune pe
mulimea de antrenare, dar performane slabe pe mulimea de
validare

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

101

Weka

Colecie open-source de algoritmi de nvare automat


http://www.cs.waikato.ac.nz/ml/weka/

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

102

nvarea supervizat.
Tehnici de clasificare
1.
2.
3.
4.
5.
6.
7.

nvarea automat i clasificarea


Arbori de decizie
Metoda Bayes naiv
nvarea bazat pe instane
Generalizarea
Algoritmul NNGEP
Concluzii

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

103

Integrarea

Pot fi integrate astfel de metode aparent


diferite ntr-o singur metod?
NNGEP, Non-Nested Generalized Exemplars
with Prototypes (Leon, 2005) combin:

Reguli
Instane
Prototipuri

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

104

Clasificarea NNGEP

Instanele similare
sunt agregate n
exemplare
generalizate
(hiper-paralelipipede)

Exemplarele
generalizate nu se
suprapun

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

105

Clasificarea NNGEP

Noile instane sunt incluse n cel mai apropiat


exemplar generalizat

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

106

Clasificarea NNGEP

Dac o generalizare intr ulterior n conflict


cu un exemplu negativ, generalizarea este
modificat pentru meninerea consistenei

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

107

Prototipuri

ntruct un exemplar
generalizat conine mai
multe instane, media
statistic a acestora nu
coincide neaprat cu
centrul geometric al
hiper-paralelipipedului
corespunztor
Prototipul poate fi diferit
de centrul geometric
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

108

Actualizarea prototipurilor

Cnd se adaug o nou instan unui


exemplar generalizat, prototipul acestuia
se modific dup formulele:

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Rezultate

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

110

Interpretare

Hiper-paralelipipedele pot fi interpretate ca reguli

Hiper-paralelipipedele sunt exemplare generalizate


(instane)

Dac a < x < b atunci x CH

n interior, o nou instan este clasificat direct n clasa CH


n exterior, o nou instan este clasificat pe baza celui mai
apropiat exemplar generalizat

Prototipurile sunt calculate folosind distribuia


normal

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

111

Concluzii

Clasificarea este o parte foarte important a


nvrii inductive
Euristicile de clasificare pot avea performane
diferite pentru aceeai problem, depinznd de
structura acesteia
Dei diferite conceptual, metodele bazate pe
reguli, instane i prototipuri pot fi integrate
ntr-un model cognitiv unitar

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

112