Inteligenţă artificială

10. Învăţarea supervizată.
Tehnici de clasificare
Florin Leon
Universitatea Tehnică „Gheorghe Asachi” din Iaşi
Facultatea de Automatică şi Calculatoare
http://florinleon.byethost24.com/curs_ia.htm
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Învăţarea supervizată.
Tehnici de clasificare
1.
2.
3.
4.
5.
6.
7.

Învăţarea automată şi clasificarea
Arbori de decizie
Metoda Bayes naivă
Învăţarea bazată pe instanţe
Generalizarea
Algoritmul NNGEP
Concluzii

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

2

Învăţarea supervizată.
Tehnici de clasificare
1.
2.
3.
4.
5.
6.
7.

Învăţarea automată şi clasificarea
Arbori de decizie
Metoda Bayes naivă
Învăţarea bazată pe instanţe
Generalizarea
Algoritmul NNGEP
Concluzii

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

3

Tipuri de raţionament

Raţionament deductiv

Raţionament inductiv

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

4

Învăţarea automată

engl. “machine learning”
Capacitatea de învăţare 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ă soluţia
De fiecare dată, realizează aceeaşi secvenţă de calcule
complexe

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

5

Învăţarea

Învăţarea denotă schimbările adaptive dintr-un
sistem, în sensul de a realiza aceeaşi sarcină sau
sarcini similare

mai eficient (engl. “efficient”)

mai eficace (engl. “effective”)

cu mai puţine resurse (doing the things in the right manner)
măsură de productivitate
care atinge scopurile propuse (doing the right things)
măsură de calitate
(după Herbert A. Simon)

Un program învaţă dacă îşi îmbunătăţeşte
performanţele la îndeplinirea unei sarcini pe baza
experienţei (Tom Mitchell)
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

6

Motivaţie

Învăţarea este esenţială pentru mediile necunoscute

Nu se pot anticipa toate stările mediului

Proiectantul nu poate să îi dea agentului toate informaţiile

Învăţarea este o alternativă la proiectarea explicită

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

Proiectantul nu doreşte să îi dea toate informaţiile

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

7

Ce presupune învăţarea

Învăţarea presupune schimbări în agent

Învăţarea presupune generalizări pe baza experienţei

Performanţele trebuie să se îmbunătăţească nu numai la
repetarea aceleiaşi sarcini, dar şi pentru sarcini similare care
nu au mai fost întâlnite înainte
Algoritmii trebuie să generalizeze euristic: să selecteze
aspectele importante ale experienţei

Aceasta este problema inducţiei

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

8

Învăţarea supervizată

În forma cea mai simplă, reprezintă învăţarea
unei funcţii din exemple

Fie f funcţia ţintă

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

Problema este găsirea unei ipoteze h astfel
încât h ≈ f, pe baza unei mulţimi de exemple
de antrenare

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

9

Problema de clasificare

Se dă o mulţime de instanţe
(obiecte)


Mulţimea de antrenare

Instanţele 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

Raţional (există un „element neutru”, de exemplu 0)

Înălţime (mică, medie, mare), ranguri, calificative

Interval

Culoarea ochilor, nume, sex, CNP (ca obiect, nu număr)

Lungime, distanţă (m), preţuri, temperatura (°K)

Discrete: de tip nominal şi ordinal
Continue: de tip interval şi raţional
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

11

Clasificarea şi regresia

Aceeaşi idee de bază: învăţarea unei relaţii între
intrări (vectorul x) şi ieşire (y) din date
Singura diferenţă între clasificare şi regresie este
tipul ieşirii: discret, respectiv continuu
Clasificarea estimează o ieşire discretă y,
numită clasă

Regresia estimează funcţia h astfel încât
y ≈ h(x) cu o anumită precizie

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

12

Exemple de aplicaţii




Învăţarea tratamentelor optime din înregistrările medicale
Clasificarea celulelor din tumori ca benigne sau maligne pe
baza radiografiilor
Predicţia ratei de recuperare a pacienţilor cu pneumonie
Clasificarea structurilor secundare a proteinelor (predicţia
proprietăţilor pe baza componentelor structurale)
Clasificarea plăţilor electronice ca legitime sau frauduloase
Recunoaşterea 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

Învăţarea supervizată.
Tehnici de clasificare
1.
2.
3.
4.
5.
6.
7.

Învăţarea automată şi clasificarea
Arbori de decizie
Metoda Bayes naivă
Învăţarea bazată pe instanţe
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

Inducţia arborelui de decizie

Fie Dn mulţimea instanţelor de antrenare care ajung
la un nod n
Procedura generală (algoritmul lui Hunt):

Dacă Dn conţine instanţe din aceeaşi clasă yn , atunci
n este o frunză etichetată yn
Dacă Dn este o mulţime vidă, atunci n este o frunză
etichetată cu clasa implicită (default) yd
Dacă Dn conţine instanţe care aparţin mai multor clase,
se utilizează un test de atribute pentru a partiţiona datele
în mulţimi mai mici
Se aplică recursiv procedura pentru fiecare submulţime

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

Inducţia arborelui de decizie

Urmează o strategie greedy

Se partiţionează mulţimea de instanţe cu un test
care maximizează un anumit criteriu

Partiţionarea datelor presupune:

Specificarea testului

Determinarea partiţionării optime

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

18

Specificarea testului

Depinde de tipul atributului

Nominal

Ordinal

Continuu

Depinde de numărul de posibilităţi de partiţionare

Binar

Multiplu

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

19

Atribute nominale

Partiţionarea multiplă

Numărul de partiţii = numărul de valori distincte

Partiţionarea binară

Se divid valorile în 2 submulţimi
Trebuie descoperită partiţionarea optimă

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

20

Atribute ordinale

Partiţionarea multiplă

Numărul de partiţii = numărul de valori distincte

Partiţionarea binară

Se divid valorile în 2 submulţimi
Trebuie descoperită partiţionarea 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ă (mulţimi cu numere egale de
instanţe)
Clusterizare de exemplu k-medii (k-means), cursul 12

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

Trebuie considerate toate partiţionările 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

Partiţionarea optimă

Euristică: se preferă nodurile cu cele mai
omogene distribuţii de clasă
Necesită o măsură a „impurităţii” nodurilor

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

26

Măsuri de impuritate

Convenţie: 0  log2 0 = 0

Pentru o problemă binară:
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

27

Măsuri de impuritate

Valoarea maximă:
instanţele sunt
distribuite egal între
clase
Valoarea minimă (0):
toate instanţele
aparţin 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

Partiţionarea

Când un nod părinte p este partiţionat în k fii, calitatea
partiţionării se calculează astfel:
k

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

ni = numărul de instanţe din fiul i
n = numărul de instanţe din nodul p
Formulă similară pentru entropie
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

30

Câştigul informaţional

Calitatea unei partiţionări este determinată de
creşterea omogenităţii submulţimilor rezultate
Trebuie maximizat câştigul informaţional:
Δ = I(părinte) – Σi(ni / n · I(fiui))
Deoarece I(părinte) este acelaşi pentru toţi fiii, se
preferă valoarea minimă pentru Σi(ni / n · I(fiui))

Funcţia I() poate fi entropia, indexul Gini sau altă
măsură de impuritate

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

31

Exemplu: construirea unui AD

Se calculează câştigul informaţional pentru
fiecare atribut (Refund, Status, Income)
Refund

Refund = Yes  3 instanţe

Cheat = Yes  0
Cheat = No  3

Refund = No  7 instanţe

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 instanţe

Cheat = Yes  1
Cheat = No  1

Status = Married  4 instanţe

Cheat = Yes  0
Cheat = No  4

Cheat = Yes  2
Cheat = No  2

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

Status = Single  4 instanţe

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
Aceeaşi 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, actualizându-se numărarea
instanţelor şi calculându-se indexul Gini
Se alege poziţia de partiţionare cu indexul Gini minim

Cheat

No

No

No

Yes

Yes

Yes

No

No

No

No

100

120

125

220

Taxable Income

Valori sortate

60

Poziţii de part.

70

55

75

65

85

72

90

80

95

87

92

97

110

122

172

230

<=

>

<=

>

<=

>

<=

>

<=

>

<=

>

<=

>

<=

>

<=

>

<=

>

<=

>

Yes

0

3

0

3

0

3

0

3

1

2

2

1

3

0

3

0

3

0

3

0

3

0

No

0

7

1

6

2

5

3

4

3

4

3

4

3

4

4

3

5

2

6

1

7

0

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
poziţiile unde se schimbă valoarea clasei

2 partiţionări 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

Poziţii de part.

70

55

75

65

85

72

90

80

95

87

92

97

110

122

172

230

<=

>

<=

>

<=

>

<=

>

<=

>

<=

>

<=

>

<=

>

<=

>

<=

>

<=

>

Yes

0

3

0

3

0

3

0

3

1

2

2

1

3

0

3

0

3

0

3

0

3

0

No

0

7

1

6

2

5

3

4

3

4

3

4

3

4

4

3

5

2

6

1

7

0

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 partiţionare

GiniRefund = 0.343

GiniStatus = 0.3

GiniIncome = 0.3

Partiţionările 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ă considerăm “Status” pentru prima partiţionare
MarSt
Divorced

Married

Single

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

37

Al doilea nivel

Atribute rămase

Refund, Income

Status = Divorced


Refund = No  Cheat = Yes
Refund = Yes  Cheat = No
Gini = 0, partiţionare 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
partiţionări

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 instanţe

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

Partiţionările după “Refund” şi “Income”
sunt egal posibile

Să considerăm “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 mulţimea 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
Instanţa de test

Se începe din rădăcină

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ă instanţa:
Cheat = “No”

NO
> 80K

YES

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

Algoritmi de inducţie

ID3, Iterative Dichotomiser 3 (Quinlan, 1983)

C4.5 (Quinlan, 1993)




Extensie a algoritmului ID3
Permite şi atribute continue
Permite partiţionarea de mai multe ori după acelaşi atribut
Permite retezarea sau simplificarea (engl. “pruning”) arborelui generat
pentru a creşte capacitatea de generalizare

ID3 şi C4.5 folosesc entropia pentru a descoperi arbori de dimensiuni
cât mai reduse
Arbori aleatorii (Random Tree, Random Forest)


Operează numai pe atribute discrete

Stabileşte atributele pentru partiţionare în mod aleatoriu
Nu generează arbori de dimensiuni mici
Eroarea pe mulţimea de antrenare este foarte mică

Toate aceste metode sunt euristice

Nu se garantează dimensiunea minimă a arborelui şi nici performanţele
Există mai mulţi 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 instanţelor necunoscute
Uşor de interpretat

Necesită o serie de calcule
Dificultatea principală este partiţionarea recursivă

Mai ales pentru arbori mici ca dimensiune

Un arbore de decizie poate fi interpretat ca o mulţime
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

Învăţarea supervizată.
Tehnici de clasificare
1.
2.
3.
4.
5.
6.
7.

Învăţarea automată şi clasificarea
Arbori de decizie
Metoda Bayes naivă
Învăţarea bazată pe instanţe
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 urmând anumite distribuţii
Se dă o instanţă cu atributele (A1, A2, …, An)

Trebuie determinată clasa C, adică trebuie găsită
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. “Naïve 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 găsită valoarea Cj astfel încât
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ă găsim:
 argmax P(Cj) i P(Ai| Cj)
Calculăm probabilităţile 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 probabilităţile condiţionate este 0, tot produsul
devine 0

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

60

Considerente practice

Soluţie: corecţia Laplace sau estimarea m (engl. “m-estimate”)
Se estimează probabilităţile anterioare ale fiecărei valori
Iniţial:

Estimarea m:


Fie c numărul de clase, putem considera m = c şi p = 1 / c
Corecţia 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
înmulţirea probabilităţilor (valori mici)

Soluţie: folosirea logaritmilor
Produsul de probabilităţi este înlocuit cu suma
logaritmilor de probabilităţi

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

62

Atribute continue

Abordarea 1. Discretizarea

Câte un atribut ordinal pe submulţime

Violează presupunerea de independenţă

Abordarea 2. Partiţionarea 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 distribuţiei de
probabilitate (folosită mai rar)

Se presupune că valorile atributului respectă o
distribuţie, de exemplu cea normală
Parametrii distribuţiei (media μ şi deviaţia
standard σ) se estimează din date

Odată cunoscută distribuţia de probabilitate,
poate fi utilizată pentru a calcula probabilităţile
condiţionate 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.862·10-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.622·10-3
μ(Income|Cheat = No) = 110
σ(Income|Cheat = No) = 50.498 !

valorile atributului nu au de fapt o distribuţie 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.622·10-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 · 10–3
P(xq|Cno) = 1.43 · 10–3
argmaxj P(xq|Cj) = “No”

În general, discretizarea (chiar cu intervale egale) dă rezultate mai bune
decât metoda estimării distribuţiei de probabilitate
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

71

Clasificarea Bayes naivă

Avantaje

Calcule simple
Robusteţe la zgomot şi atribute irelevante

Aplicabilitate

Mulţimi de antrenare medii sau mari
Atribute independente condiţional


Presupunerea este deseori infirmată în realitate
Dar metoda funcţionează totuşi surprinzător de bine!
Extensie: reţele bayesiene

Aplicaţii de succes


Diagnoză
Clasificarea documentelor text
Detecţia spam-ului

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

72

Învăţarea supervizată.
Tehnici de clasificare
1.
2.
3.
4.
5.
6.
7.

Învăţarea automată şi clasificarea
Arbori de decizie
Metoda Bayes naivă
Învăţarea bazată pe instanţe
Generalizarea
Algoritmul NNGEP
Concluzii

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

73

Clasificarea bazată pe instanţe
Instanţele memorate

Se memorează instanţele de
antrenare
Se folosesc pentru a prezice
clasele instanţelor noi

Instanţă nouă

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

74

Cei mai apropiaţi k vecini

engl. “k-Nearest Neighbor” (k-NN)
Se folosesc cele mai apropiate k instanţe pentru a
realiza clasificarea
„Dacă merge ca o raţă şi măcăne ca o raţă, atunci
probabil e o raţă”

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

75

Clasificarea k-NN

Necesită:

Mulţimea instanţelor de antrenare
O metrică de distanţă pentru a calcula distanţa dintre
instanţe
Valoarea lui k, numărul de vecini apropiaţi (k ≥ 1)

Pentru a clasifica o instanţă nouă:


Se calculează distanţa faţă de instanţele de antrenare
Se identifică cei k vecini cei mai apropiaţi
Se folosesc clasele vecinilor pentru a determina clasa noii
instanţe (de exemplu prin vot majoritar)

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

76

Reprezentarea instanţelor


Pentru n atribute, instanţele pot fi văzute ca puncte într-un spaţiu
n-dimensional
De exemplu clasificarea riscului unor pacienţi
Atribute:

Indicele Masei Corporale IMC (= G/I2)
Vârsta V

Instanţe:



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 apropiaţi vecini

Cei mai apropiaţi k vecini ai unei instanţe x sunt
punctele cu cele mai mici distanţe faţă de x

k=1

k=2

k=3

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

78

Numărul de vecini

Când k este prea mic, clasificarea poate fi afectată de zgomot
Când k este prea mare, vecinătatea 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 instanţe este
determinată de instanţa de antrenare corespunzătoare
Instanţele noi din afara unei celule sunt mai apropiate de alte
instanţe de antrenare

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

80

Diagramele Voronoi şi
grădina zen Ryoanji

Cercetătorii au descoperit că spaţiul gol al grădinii evocă o
imagine ascunsă a unui arbore care este percepută inconştient
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 particularizări ale
distanţei Minkowski

Cele mai folosite metrici sunt:

Distanţa euclidiană: p = 2
Distanţa Manhattan: p = 1

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

82

Scalarea

Se recomandă scalarea atributelor pentru a preveni
dominarea măsurii de distanţă de către un anumit
atribut
De exemplu:


Înălţimea 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

Numărul de dimensiuni

Blestemul dimensionalităţii

engl. “curse of dimensionality”

Datele devin mai rare în spaţiile multidimensionale

Dacă numărul de atribute este mare, este
nevoie de mai multe instanţe de antrenare
pentru a forma un model corect

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

84

Ponderarea instanţelor

Vecinii mai apropiaţi au o influenţă mai mare
la stabilirea clasei
Fiecare dintre vecini poate fi ponderat pe
baza distanţei:

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 distanţelor

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 distanţelor












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 instanţe 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
instanţele 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 spaţiul euclidian

Lungirea axelor atributelor mai relevante
Scurtarea axelor atributelor mai puţin relevante

Metode:

Ponderarea pe baza câştigului informaţional
Ponderarea cu un algoritm local, precum Relief
(Kira & Rendell, 1992)

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

89

Selecţia atributelor

Într-o mulţime de antrenare pot exista
atribute irelevante, care complică inutil
modelul şi pot afecta rezultatele clasificării
Avantajele selecţiei atributelor:



Calcule mai simple
Clasificatorul rezultat este mai rapid
Erorile la predicţie pot scădea
Identificarea atributelor relevante poate ajuta la
înţelegerea naturii problemei de clasificare

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

90

Clasificarea bazată pe
cei mai apropiaţi vecini

Clasificatorii k-NN sunt clasificatori pasivi
(engl. “lazy learners”)

Modelul nu este construit explicit

Efortul de calcul se face la clasificarea instanţelor 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ă mulţimea 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

Învăţarea supervizată.
Tehnici de clasificare
1.
2.
3.
4.
5.
6.
7.

Învăţarea automată şi clasificarea
Arbori de decizie
Metoda Bayes naivă
Învăţarea bazată pe instanţe
Generalizarea
Algoritmul NNGEP
Concluzii

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

92

Aproximarea unei funcţii

Să se determine funcţia care trece prin
punctele de mai jos

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

93

Aproximarea unei funcţii

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

94

Aproximarea unei funcţii

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

95

Aproximarea unei funcţii

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

96

Aproximarea unei funcţii

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 decât cele complexe

Lex parsimoniae: entia non sunt
multiplicanda praeter necessitatem
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

98

Generalizarea

Găsirea unui model pentru determinarea valorii clasei
în funcţie de valorile celorlalte atribute cu eroare cât
mai mică

Modelul trebuie să aibă capacitate de generalizare

Aplicarea acestui model pe date noi

De obicei există o mulţime de antrenare, pentru
crearea modelului şi o mulţime de validare (sau de
test) pentru verificarea capacităţii de generalizare

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

99

Generarea mulţimii de validare

Împărţirea 1/3 - 2/3

Validare încrucişată (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 instanţe 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 învăţa modelul din date
Suprapotrivirea (engl. “overfitting”): ipoteza este prea complexă
şi este influenţată de zgomot şi date irelevante
Un model suprapotrivit are performanţe foarte bune pe
mulţimea de antrenare, dar performanţe slabe pe mulţimea de
validare

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

101

Weka

Colecţie open-source de algoritmi de învăţare automată
http://www.cs.waikato.ac.nz/ml/weka/

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

102

Învăţarea supervizată.
Tehnici de clasificare
1.
2.
3.
4.
5.
6.
7.

Învăţarea automată şi clasificarea
Arbori de decizie
Metoda Bayes naivă
Învăţarea bazată pe instanţe
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
Instanţe
Prototipuri

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

104

Clasificarea NNGEP

Instanţele 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 instanţe 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 menţinerea consistenţei

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

107

Prototipuri

Întrucât un exemplar
generalizat conţine mai
multe instanţe, media
statistică a acestora nu
coincide neapărat cu
centrul geometric al
hiper-paralelipipedului
corespunzător
Prototipul poate fi diferit
de centrul geometric
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

108

Actualizarea prototipurilor

Când 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
(instanţe)

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 distribuţia
normală

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

111

Concluzii

Clasificarea este o parte foarte importantă a
învăţării inductive
Euristicile de clasificare pot avea performanţe
diferite pentru aceeaşi problemă, depinzând de
structura acesteia
Deşi diferite conceptual, metodele bazate pe
reguli, instanţe şi prototipuri pot fi integrate
într-un model cognitiv unitar

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

112

Sign up to vote on this title
UsefulNot useful