inteligenta artificiala: tehnici de clasificare
Embed Size (px)
DESCRIPTION
Inteligenta artificiala: Tehnici de clasificareArtificial Intelligence: Classification TechniquesTRANSCRIPT

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

2
Învăţarea supervizată. Tehnici de clasificare
1. Învăţarea automată şi clasificarea
2. Arbori de decizie
3. Metoda Bayes naivă
4. Învăţarea bazată pe instanţe
5. Generalizarea
6. Algoritmul NNGEP
7. Concluzii
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

3
Învăţarea supervizată. Tehnici de clasificare
1. Învăţarea automată şi clasificarea
2. Arbori de decizie
3. Metoda Bayes naivă
4. Învăţarea bazată pe instanţe
5. Generalizarea
6. Algoritmul NNGEP
7. Concluzii
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

4
Tipuri de raţionament
Raţionament deductiv
Raţionament inductiv
Raţionament transductiv
Analogie
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

5
Î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

6
Î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”)
cu mai puţine resurse (doing the things in the right manner)
măsură de productivitate
mai eficace (engl. “effective”) 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

7
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

8
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

9
Î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

10
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

11
Tipuri de atribute
Nominal
Culoarea ochilor, nume, sex, CNP (ca obiect, nu număr)
Ordinal
Înălţime (mică, medie, mare), ranguri, calificative
Interval
Temperatura (°C), date calendaristice
Raţional (există un „element neutru”, de exemplu 0)
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

12
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

13
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

14
Învăţarea supervizată. Tehnici de clasificare
1. Învăţarea automată şi clasificarea
2. Arbori de decizie
3. Metoda Bayes naivă
4. Învăţarea bazată pe instanţe
5. Generalizarea
6. Algoritmul NNGEP
7. Concluzii
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

15
Clasificarea cu arbori de decizie
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

16
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

17
Algoritmul lui Hunt
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

18
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

19
Specificarea testului
Depinde de tipul atributului
Nominal
Ordinal
Continuu
Depinde de numărul de posibilităţi de partiţionare
Binară
Multiplă
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

20
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

21
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

22
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

Discretizarea
Cu interval egal – 3 intervale
[65, 75], (75, 85], (85, 95]
23 Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Discretizarea
Cu frecvenţă egală – 3 intervale
24 Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Discretizarea
Binară, cu o valoare de referinţă (de ex. 85)
25 Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

26
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

27
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

28
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

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

30
Partiţionarea
Când un nod părinte p este partiţionat în k fii, calitatea partiţionării se calculează astfel:
unde: ni = numărul de instanţe din fiul i
n = numărul de instanţe din nodul p
Formulă similară pentru entropie
k
i
isplit iGINI
n
nGINI
1
)(
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

31
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

32
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 Gini = 0
Refund = No 7 instanţe Cheat = Yes 3
Cheat = No 4 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

33
Exemplu: construirea unui AD
Status Status = Divorced 2 instanţe
Cheat = Yes 1 Cheat = No 1
Gini = 1 – (1/2)2 – (1/2)2 = 0.5
Status = Married 4 instanţe Cheat = Yes 0 Cheat = No 4
Gini = 1 – (0/4)2 – (4/4)2 = 0
Status = Single 4 instanţe Cheat = Yes 2 Cheat = No 2
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

34
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
Taxable Income
60 70 75 85 90 95 100 120 125 220
55 65 72 80 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 0.400 0.420
Poziţii de part.
Valori sortate
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

35
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
Taxable Income
60 70 75 85 90 95 100 120 125 220
55 65 72 80 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 0.400 0.420
Poziţii de part.
Valori sortate
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

36
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

37
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

38
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

39
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

40
Al doilea nivel
Status = Single Refund = Yes 1 instanţă
Cheat = Yes 0 Cheat = No 1
Gini = 0
Refund = No 3 instanţe Cheat = Yes 2 Cheat = No 1
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

41
Al doilea nivel
Status = Single
Valoarea clasei neschimbată Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

42
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

43
Arborele final
MarSt
Divorced Married Single
Refund
Yes
NO
No
YES
NO Refund
Yes
NO
No
Income
<80
NO
80
YES
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

44
Decizia alternativă
Income
97
NO
<97
MarSt
Divorced Married Single
YES NO YES
Arborele de decizie are 1 eroare chiar pe mulţimea de antrenare!
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Clasificarea cu arbori de decizie
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Aplicarea modelului
Refund
MarSt
TaxInc
YES NO
NO
NO
Yes No
Married Single, Divorced
< 80K > 80K
Refund Marital Status
Taxable Income Cheat
No Married 80K ? 10
Instanţa de test Se începe din rădăcină
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Refund
MarSt
TaxInc
YES NO
NO
NO
Yes No
Married Single, Divorced
< 80K > 80K
Refund Marital Status
Taxable Income Cheat
No Married 80K ? 10
Aplicarea modelului
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Refund
MarSt
TaxInc
YES NO
NO
NO
Yes No
Married Single, Divorced
< 80K > 80K
Refund Marital Status
Taxable Income Cheat
No Married 80K ? 10
Aplicarea modelului
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Refund
MarSt
TaxInc
YES NO
NO
NO
Yes No
Married Single, Divorced
< 80K > 80K
Refund Marital Status
Taxable Income Cheat
No Married 80K ? 10
Aplicarea modelului
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Refund
MarSt
TaxInc
YES NO
NO
NO
Yes No
Married Single, Divorced
< 80K > 80K
Refund Marital Status
Taxable Income Cheat
No Married 80K ? 10
Aplicarea modelului
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

Refund
MarSt
TaxInc
YES NO
NO
NO
Yes No
Married Single, Divorced
< 80K > 80K
Refund Marital Status
Taxable Income Cheat
No Married 80K ? 10
Se clasifică instanţa: Cheat = “No”
Aplicarea modelului
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

52
Algoritmi de inducţie
ID3, Iterative Dichotomiser 3 (Quinlan, 1983) Operează numai pe atribute discrete
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” (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) Stabileşte atributele pentru partiţionare în mod aleatoriu Nu generează arbori de dimensiuni mici Eroarea pe mulţimea de antrenare este foarte mică
Toţi aceşti algoritmi sunt euristici 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

53
Clasificarea cu arbori de decizie
De obicei uşor de construit Necesită totuşi o serie de calcule La implementare, dificultatea principală este partiţionarea
recursivă
Rapizi la clasificarea instanţelor necunoscute Uşor de interpretat
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

54
Învăţarea supervizată. Tehnici de clasificare
1. Învăţarea automată şi clasificarea
2. Arbori de decizie
3. Metoda Bayes naivă
4. Învăţarea bazată pe instanţe
5. Generalizarea
6. Algoritmul NNGEP
7. Concluzii
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

55
Clasificatorul bayesian
Se consideră fiecare atribut şi clasa ca variabile aleatorii
Se dă o instanţă cu atributele (A1, A2, …, An)
Trebuie determinată clasa C
Echivalent, trebuie găsită valoarea lui C care maximizează P ( C | A1, A2, …, An )
Trebuie estimată P ( C | A1, A2, …, An ) direct din date
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

56
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

57
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

58
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

59
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

60
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

61
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

62
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

63
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

64
Atribute continue
Abordarea 3. Estimarea distribuţiei de probabilitate (folosită mai rar)
Se presupune că valorile atributului respectă o distribuţie (de exemplu) normală
Parametrii distribuţiei se estimează din date (media μ şi deviaţia standard σ)
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

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

66
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

67
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

68
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.862e-3
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.622e-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

70
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.622e-3
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

71
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

72
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

73
Învăţarea supervizată. Tehnici de clasificare
1. Învăţarea automată şi clasificarea
2. Arbori de decizie
3. Metoda Bayes naivă
4. Învăţarea bazată pe instanţe
5. Generalizarea
6. Algoritmul NNGEP
7. Concluzii
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

74
Clasificarea bazată pe instanţe
Instanţele memorate
Instanţă nouă
Se memorează instanţele de antrenare
Se folosesc pentru a prezice clasele instanţelor noi
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

75
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

76
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

77
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 = 18.5, V = 20
IMC = 27, V = 32
IMC = 39, V = 27
IMC = 20, V = 25
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

78
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

79
Numărul de vecini
k = 1 k = 2 k = 3
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
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

80
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

81
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

82
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

83
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

84
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

85
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

86
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

87
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

88
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 Se pot lua în calcul toate
instanţele de antrenare Se transformă dintr-o
metodă locală într-una globală
Decizia: suma 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

89
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

90
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

91
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

92
Învăţarea supervizată. Tehnici de clasificare
1. Învăţarea automată şi clasificarea
2. Arbori de decizie
3. Metoda Bayes naivă
4. Învăţarea bazată pe instanţe
5. Generalizarea
6. Algoritmul NNGEP
7. Concluzii
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

93
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

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
Aproximarea unei funcţii
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

98
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

99
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

100
Generarea mulţimii de validare
Împărţirea 1/3 - 2/3
2/3 pentru antrenare, 1/3 pentru test
Validare încrucişată (engl. “cross-validation”)
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

101
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

102
Învăţarea supervizată. Tehnici de clasificare
1. Învăţarea automată şi clasificarea
2. Arbori de decizie
3. Metoda Bayes naivă
4. Învăţarea bazată pe instanţe
5. Generalizarea
6. Algoritmul NNGEP
7. 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

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

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

110
Interpretare
Hiper-paralelipipedele pot fi interpretate ca reguli
Dacă a < x < b atunci x CH
Hiper-paralelipipedele sunt exemplare generalizate (instanţe)
Î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 problemei
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

Weka
Colecţie open-source de algoritmi de învăţare automată
112 Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm