inteligenta artificiala: tehnici de clasificare
DESCRIPTION
Inteligenta artificiala: Tehnici de clasificareArtificial Intelligence: Classification TechniquesTRANSCRIPT
![Page 1: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/1.jpg)
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
![Page 2: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/2.jpg)
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
![Page 3: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/3.jpg)
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
![Page 4: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/4.jpg)
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
![Page 5: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/5.jpg)
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
![Page 6: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/6.jpg)
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
![Page 7: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/7.jpg)
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
![Page 8: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/8.jpg)
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
![Page 9: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/9.jpg)
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
![Page 10: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/10.jpg)
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
![Page 11: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/11.jpg)
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
![Page 12: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/12.jpg)
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
![Page 13: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/13.jpg)
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
![Page 14: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/14.jpg)
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
![Page 15: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/15.jpg)
15
Clasificarea cu arbori de decizie
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
![Page 16: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/16.jpg)
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
![Page 17: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/17.jpg)
17
Algoritmul lui Hunt
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
![Page 18: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/18.jpg)
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
![Page 19: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/19.jpg)
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
![Page 20: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/20.jpg)
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
![Page 21: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/21.jpg)
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
![Page 22: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/22.jpg)
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
![Page 23: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/23.jpg)
Discretizarea
Cu interval egal – 3 intervale
[65, 75], (75, 85], (85, 95]
23 Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
![Page 24: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/24.jpg)
Discretizarea
Cu frecvenţă egală – 3 intervale
24 Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
![Page 25: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/25.jpg)
Discretizarea
Binară, cu o valoare de referinţă (de ex. 85)
25 Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
![Page 26: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/26.jpg)
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
![Page 27: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/27.jpg)
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
![Page 28: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/28.jpg)
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
![Page 29: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/29.jpg)
29
Exemple
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
![Page 30: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/30.jpg)
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
![Page 31: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/31.jpg)
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
![Page 32: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/32.jpg)
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
![Page 33: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/33.jpg)
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
![Page 34: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/34.jpg)
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
![Page 35: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/35.jpg)
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
![Page 36: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/36.jpg)
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
![Page 37: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/37.jpg)
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
![Page 38: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/38.jpg)
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
![Page 39: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/39.jpg)
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
![Page 40: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/40.jpg)
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
![Page 41: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/41.jpg)
41
Al doilea nivel
Status = Single
Valoarea clasei neschimbată Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
![Page 42: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/42.jpg)
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
![Page 43: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/43.jpg)
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
![Page 44: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/44.jpg)
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
![Page 45: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/45.jpg)
Clasificarea cu arbori de decizie
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
![Page 46: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/46.jpg)
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
![Page 47: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/47.jpg)
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
![Page 48: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/48.jpg)
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
![Page 49: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/49.jpg)
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
![Page 50: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/50.jpg)
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
![Page 51: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/51.jpg)
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
![Page 52: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/52.jpg)
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
![Page 53: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/53.jpg)
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
![Page 54: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/54.jpg)
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
![Page 55: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/55.jpg)
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
![Page 56: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/56.jpg)
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
![Page 57: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/57.jpg)
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
![Page 58: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/58.jpg)
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
![Page 59: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/59.jpg)
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
![Page 60: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/60.jpg)
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
![Page 61: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/61.jpg)
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
![Page 62: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/62.jpg)
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
![Page 63: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/63.jpg)
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
![Page 64: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/64.jpg)
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
![Page 65: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/65.jpg)
65
Atribute continue
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
![Page 66: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/66.jpg)
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
![Page 67: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/67.jpg)
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
![Page 68: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/68.jpg)
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
![Page 69: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/69.jpg)
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
![Page 70: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/70.jpg)
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
![Page 71: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/71.jpg)
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
![Page 72: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/72.jpg)
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
![Page 73: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/73.jpg)
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
![Page 74: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/74.jpg)
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
![Page 75: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/75.jpg)
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
![Page 76: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/76.jpg)
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
![Page 77: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/77.jpg)
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
![Page 78: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/78.jpg)
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
![Page 79: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/79.jpg)
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
![Page 80: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/80.jpg)
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
![Page 81: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/81.jpg)
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
![Page 82: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/82.jpg)
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
![Page 83: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/83.jpg)
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
![Page 84: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/84.jpg)
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
![Page 85: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/85.jpg)
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
![Page 86: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/86.jpg)
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
![Page 87: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/87.jpg)
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
![Page 88: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/88.jpg)
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
![Page 89: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/89.jpg)
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
![Page 90: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/90.jpg)
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
![Page 91: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/91.jpg)
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
![Page 92: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/92.jpg)
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
![Page 93: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/93.jpg)
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
![Page 94: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/94.jpg)
94
Aproximarea unei funcţii
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
![Page 95: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/95.jpg)
95
Aproximarea unei funcţii
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
![Page 96: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/96.jpg)
96
Aproximarea unei funcţii
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
![Page 97: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/97.jpg)
97
Aproximarea unei funcţii
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
![Page 98: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/98.jpg)
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
![Page 99: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/99.jpg)
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
![Page 100: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/100.jpg)
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
![Page 101: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/101.jpg)
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
![Page 102: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/102.jpg)
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
![Page 103: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/103.jpg)
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
![Page 104: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/104.jpg)
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
![Page 105: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/105.jpg)
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
![Page 106: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/106.jpg)
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
![Page 107: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/107.jpg)
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
![Page 108: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/108.jpg)
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
![Page 109: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/109.jpg)
109
Rezultate
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
![Page 110: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/110.jpg)
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
![Page 111: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/111.jpg)
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
![Page 112: Inteligenta artificiala: Tehnici de clasificare](https://reader030.vdocuments.pub/reader030/viewer/2022020711/55209dc74979597f2f8b4c48/html5/thumbnails/112.jpg)
Weka
Colecţie open-source de algoritmi de învăţare automată
112 Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm