Seminarski rad: Mašinsko ucenje, inteligentni agenti

Transcription

Seminarski rad: Mašinsko ucenje, inteligentni agenti
Seminarski rad: Mašinsko učenje,
inteligentni agenti
Popović Zoran
Centar za multidisciplinarne studije
Univerzitet u Beogradu
23. maj 2007
Sažetak
Ovaj tekst je zamišljen kao pregled sadržaja knjiga i radova iz
oblasti mašinskog učenja i inteligentnih agenata. Rad je pisan pomoću
TEX-a tj. LATEX-a kao njegovog dijalekta i jfig alata - [PG] i [TB].
Profesor: Vladan Devedžić
Mašinsko učenje, inteligentni agenti
1
Sadržaj
1 Poglavlje 1 - uvod
1.1 Pojam mašinskog učenja . . . . . . . . . . . . . . . . . . . . .
1.2 Tipovi učenja i osnovne odlike . . . . . . . . . . . . . . . . . .
1.3 Neuronske mreže i genetski algoritmi . . . . . . . . . . . . . .
4
5
6
8
2 Učenje koncepta i ured̄enje od opšteg ka posebnom
2.1 Učenje koncepta . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Algoritam eliminacije kandidata . . . . . . . . . . . . . . . . .
2.3 Induktivni bias . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4 Učenje drvetom odluke . . . . . . . . . . . . . . . . . . . . . .
2.4.1 Reprezentacija . . . . . . . . . . . . . . . . . . . . . . .
2.4.2 Okamova oštrica . . . . . . . . . . . . . . . . . . . . .
2.4.3 Proširenja ID3 . . . . . . . . . . . . . . . . . . . . . . .
2.5 Vrednovanje hipoteze . . . . . . . . . . . . . . . . . . . . . . .
2.5.1 Upored̄ivanje hipoteza . . . . . . . . . . . . . . . . . .
2.6 Učenje pravila i algoritmi sekvencijalnog pokrivanja . . . . . .
2.6.1 Induktivno logičko programiranje . . . . . . . . . . . .
2.6.2 Kanonski ILP algoritam . . . . . . . . . . . . . . . . .
2.6.3 Indukcija kao inverzna rezolucija . . . . . . . . . . . .
2.7 Računska i statistička teorija učenja . . . . . . . . . . . . . . .
2.7.1 Statistička teorija učenja . . . . . . . . . . . . . . . . .
2.7.2 ERM princip . . . . . . . . . . . . . . . . . . . . . . .
2.7.3 SRM princip . . . . . . . . . . . . . . . . . . . . . . . .
2.7.4 VAK (PAC) pristup . . . . . . . . . . . . . . . . . . . .
2.7.5 Agnostičko učenje i VC dimenzija Vapnik-Červonenkisa
2.7.6 Optimalna granica greške . . . . . . . . . . . . . . . .
2.7.7 Granično učenje . . . . . . . . . . . . . . . . . . . . . .
10
10
12
15
15
16
18
18
20
22
22
24
25
28
30
30
31
33
34
35
36
36
3 Statističko i Bajesovo učenje
3.1 Bajesovo učenje . . . . . . . . . . . . . . . . .
3.1.1 Veza najverovatnije hipoteze i LMS . .
3.1.2 MDL princip . . . . . . . . . . . . . .
3.1.3 Bajesovi klasifikatori, Gibsov algoritam
3.1.4 Mreže uverenja . . . . . . . . . . . . .
3.1.5 EM algoritam . . . . . . . . . . . . . .
3.2 Statističko učenje i funkcija gubitka . . . . . .
43
43
44
44
45
47
49
51
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2
Seminarski rad
3.3
3.4
Kombinatorna optimizacija, inteligencija roja . . . . . . . . . 53
Apriori metoda . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4 Učenje instancama i metode klasifikacije
4.1 Metod najbližih suseda . . . . . . . . . . . .
4.1.1 Lokalno-težinska regresija . . . . . .
4.2 Funkcije radijalne baze . . . . . . . . . . . .
4.2.1 Zaključivanje izborom slučaja . . . .
4.3 Nenadgledano učenje i metode klasterovanja
4.4 Vremenske instance i problem predvid̄anja .
4.5 SVM, mašine potpornih vektora . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
58
58
60
60
61
62
66
68
5 Analitičko učenje i učenje objašnjenjima
71
5.1 Učenje objašnjenjima (EBL) . . . . . . . . . . . . . . . . . . . 71
5.2 Analitičko učenje i deduktivno zaključivanje . . . . . . . . . . 75
5.3 Induktivno i analitičko učenje . . . . . . . . . . . . . . . . . . 76
6 Učenje ojačavanjem
78
6.1 Pojam učenja ojačavanjem . . . . . . . . . . . . . . . . . . . . 78
6.2 Q-funkcija i učenje . . . . . . . . . . . . . . . . . . . . . . . . 80
6.2.1 Nedeterministički slučaj . . . . . . . . . . . . . . . . . 81
7 Otkrivanje znanja i traganje kroz znanje (Data Mining)
83
7.1 Pojam otkrivanja znanja . . . . . . . . . . . . . . . . . . . . . 83
7.2 Web Mining . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
8 Arhitektura i tipovi inteligentnih agenata
8.1 Tropistični agenti . . . . . . . . . . . . . .
8.2 Histeretični agenti . . . . . . . . . . . . . .
8.3 Agenti nivoa znanja . . . . . . . . . . . . .
8.4 Agenti znanja u koracima . . . . . . . . .
8.5 Agenti s namerom . . . . . . . . . . . . . .
8.6 Promišljeni (racionalni) agenti . . . . . . .
9 Multi-agentski sistemi i primeri
9.1 Multi-agentski sistemi . . . . .
9.2 JADE . . . . . . . . . . . . . .
9.2.1 FIPA . . . . . . . . . . .
9.2.2 FIPA-SL . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
88
88
90
91
94
97
101
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
103
. 103
. 108
. 110
. 114
Mašinsko učenje, inteligentni agenti
9.3
9.4
Primer . . . . . . . . . . . . . . . . . . . . . . .
9.3.1 Modifikovan model najbližih suseda . . .
9.3.2 Razvojno okruženje . . . . . . . . . . . .
9.3.3 Alternativna okruženja . . . . . . . . . .
Prototip primera . . . . . . . . . . . . . . . . .
9.4.1 Pokretanje . . . . . . . . . . . . . . . . .
9.4.2 Opis korisničkog interfejsa i primer unosa
9.4.3 Opis postavljanja upita . . . . . . . . . .
9.4.4 Ostale moguće dorade . . . . . . . . . .
9.4.5 Aplet . . . . . . . . . . . . . . . . . . . .
9.4.6 To-Do lista . . . . . . . . . . . . . . . .
3
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
117
117
119
120
121
122
125
126
127
128
128
4
1
Seminarski rad
Poglavlje 1 - uvod
Mašinsko učenje kao oblast veštačke inteligencije predstavlja skup paradigmi, algoritama, teorijskih rezultata i primena iz različitih oblasti veštačke
inteligencije i evolucionih modela (u smislu pretraživanja) ali i drugih oblasti:
statistike i verovatnoće (Bajesov klasifikator, raspodele i testovi) i drugih
oblasti matematike, teorije izračunljivosti (mora postojati svest o složenosti
problema i ograničenjima koja proističu iz toga), teorije (adaptivnog) upravljanja, informacione teorije, psihlogije i neurobiologije (neuronske mreže),
filozofije, kognitivnih i drugih nauka. Cilj je napraviti programe koji bi bili u
stanju da uče - zašto bi računari i mašine uopšte morali da budu u stanju da
uče ? Pored mogućnosti istraživanja i isprobavanja različitih modela učenja
kod ljudi i životinja u psihologiji, postoje daleko praktičniji razlozi za tako
nešto:
• neki se problemi nemogu jednostavno definisati osim primerima u toku
praktičnog rada (npr. prepoznavanje glasa ili problemi vizije kod kojih
je neophodno personalizovati bazu znanja o konkretnom glasu ili licu
koji se prepoznaje radi autentifikacije ili zbog optimalnijeg rada) ili
ako okruženje u kojem se koristi sistem nije poznato u toku njegovog
projektovanja
• u velikoj količini podataka se kriju neočigledni entiteti i relacije med̄u
njima - problem otrivanja znanja (Data Mining): postoje metode mašinskog učenja koje se uspešno primenjuju u mnogim oblastima
• često su količine podataka i odnosa u njima toliko velike da je ljudima
praktično nemoguće da znanje u njima u celini obuhvate, koriste ili
zapišu - onda je praktičnije, ako je moguće, postupno mašinski obuhvatiti takvo znanje
• mašine i programi koji se prilogad̄avaju okruženju koje se menja vremenom (dinamički sistemi) su čest i potreban zahtev u mnogim oblastima, a za mnoge zadatke je cilj naći rešenje koje se fleksibilno prilagod̄ava umesto da se koriste metode veštačke inteligencije kojima je
potreban reinženjering nakon svake suštinske promene
Većina današnjih praktično uspešnih sistema mašinskog učenja spada u one
koji su ,,tabula rasa” što se tiče nekakvog predznanja (znanja kojim učenik
raspolaže pre nego što krene da uči), pored reprezentacije hipoteze i primera
Mašinsko učenje, inteligentni agenti
5
- tek neke metode pokazuju potencijal u tom smislu (učenje objašnjenjima
i Bajesove mreže) i zato je neophodno dalje unapred̄ivanje sličnih metoda.
Budućnost mašinskog učenja je i u sistemima koji se ne tiču samo jednog
zadatka ili tipa zadataka već predstavljaju uopštene i fleksibilne sisteme koji
uče dugo (life-long learning: samostalni agenti koji starenjem poboljšavaju
performanse, uče nove reprezentacije, itd.), kao i u razvojnim okruženjima (i
možda proširenjima programskih jezika) koja sadrže neophodne mehanizme
potrebne za mašinsko učenje. Na kraju, tek je načeto istraživanje mogućnosti
učenja prirodnim jezikom kao izvorom iskustva - najveći deo današnjeg polustruktuiranog sadržaja interneta je upravo u obliku nekakvog teksta.
1.1
Pojam mašinskog učenja
Jedna preciznija definicija pojma mašinskog učenja (kako se navodi u
[TM-ML]) bi bila:
Definicija 1.1 Program (mašina) M uči iz iskustva E u odnosu na klasu zadataka T i meru performansi P (mera je definisana nad osobinom ili skupom
osobina koje takod̄e moraju biti definisane), ako se mera performansi P programa poboljšava u vezi zadataka T nakon iskustva E.
U primeru prepoznavanja pisanog teksta T je prepoznavanje i klasifikovanje
reči ili slova u datoj slici, P je procenat ispravno prepoznatih, E je skup
obučavanja koji čini bazu zadatih slika slova i reči i njihovih klasifikacija.
Klasičan je primer i Sejmurov program koji uči da igra dame. Mera performansi je onda sposobnost da pobedi protivnika nakon iskustva stečenog u
igranju protiv samog sebe ili protivnika koji ume da igra. Objekat učenja
mogu biti različite konceptualizacije sveta, odnosno izračunljive strukture:
• funkcije - mnogi se problemi mogu svesti na zadatak traženja preslikavanja f nad nekim skupovima gde je hipoteza preslikavanje h (iste
arnosti) a skup obučavanja S je odred̄en broj parova zadatih vrednosti
domena i f , a cilj je da se h iz neke klase fukcija H što bolje ,,poklapa” sa f (h = f , idealno). Na primer funkcija evaluacije u teoriji
igara koja je obično predstavljena vektorom parametara (uz npr. LMS
pravilo učenja)
• logički programi, frejmovi - osnovni vid konceptualizacije sveta u kojem se traži rešenje nekog problema je jezik PR1 ili nekog od njegovih
,,dijalekata” (npr. PROLOG) kao i druge formalizacije
6
Seminarski rad
• produkciona pravila
• konačni automati, formalne gramatike
• neuronske mreže i drugi sistemi koji rešavaju probleme
1.2
Tipovi učenja i osnovne odlike
Osnova podela tipova učenja vezuje se za učenje funkcija, ali se uočava
slično i sa drugim objektima učenja:
Nadgledano (supervised) - kada su zadate vrednosti funkcije u skupu obučavanja
(trivijalan primer može biti interpolacija ili fitovanje krive)
Nenadgledano (unsupervised) - kada nisu zadate vrednosti funkcije u skupu
obučavanja (obično se svodi na neki problem klasifikovanja tj. kao da
je u prethodnom slučaju vrednost zapravo klasa pripadnosti)
Hipoteza kao naučeno značenje konceptualizacije sveta (okruženja) i njena
tačnost kao polazna mera performansi su zajedničke većini sistema mašinskog
učenja. Struktura jednog prototipa takvog klasičnog sistema (npr. mnogi
problemi igara, klase neuronskih mreža, različiti sistemi prepoznavanja šablona
ili klasifikacije, itd.) je prikazana pomoću četiri povezane celine:
Generator
eksperimenata
Novi problem
Hipoteza
(igra sa tablom b)
Sistem sa
performansama
Generalizator
Rezultati
Parovi
(game history)
(b, V (b))
o
Kriticar
Mašinsko učenje, inteligentni agenti
7
Tako je opisan, na primer, program koji igra dame sa funkcijom evaluacije V
koja ima koeficijente wi i vrednostima stanja table xi kao n-torke b domena
te funkcije kao objekta učenja. Sistem sa performansama i radnom hipotezom V daje nekakvo rešenje (solution trace, npr. lista poteza tj. stanja b i
ocena njihovih vrednosti) koje preuzima kritičar - postoji skup obučavanja
kojeg čine parovi (b, Vo (b)), ali ovima kritičar pridružuje ,,iskustvo” nastalo
nakon svake partije tako što za med̄upoteze u partiji (pogotovu za koje nema
vrednosti u skupu obučavanja) uzima ocenu vrednosti Vo (b) ← V (succ(b))
(pravilo ocene vrednosti obuke, gde je succ(b) stanje table nakon poteza
programa, tj. ono kod kojeg se očekuje sledeći potez protivnika). Ovo je
pogotovu korisno ako je jedino iskustvo dostupno nastalo u partijama odigranim protiv samog sebe (ovo je dodatno korisno kod sistema koji nemogu
da prevazid̄u problem ,,lošeg iskustva” kada uče od protivnika koji ne zna
dobro da igra - Semjuelov primer). Sigurno je poznato samo da je neko dobio ili izgubio partiju, a na ovaj način se ocenjuju i med̄uvrednosti funkcije
evaluacije, ali se i koristi i naučeno znanje. Pokazuje se da je ovo veoma
efikasan metod učenja i u posebnim slučajevima (učenje sa ojačavanjem)
može se pokazati da obavezno teži ka najboljem rešenju (npr. perceptron, u
slučajevima kada takvo rešenje postoji). Generalizator je komponenta koja
ima ulogu primene stečenog znanja na osnovu pravila učenja i njegov rezultat je nova hipoteza - npr. LMS (Least Mean Squares) podrazumeva da
najbolja hipoteza minimizuje zbir kvadrataP
grešaka (razlike pojedinih vrednosti iz skupa obučavanja i hipoteze) E = (b,Vo (b))∈S [Vo (b) − V (b)]2 i to se
realizuje, na primer, sledećim iterativnim pravilom učenja:
wi ← wi + η[Vo (b) − V (b)]xi
gde je η ∈ (0, 1) parametar brzine učenja. Nova hipoteza bi trebala da
svakim ovakvim ciklusom (epohom) daje bolje performanse. Na osnovu
nje, trenutnog skupa obučavanja i strategije učenja generator eksperimenata
kreira novo početno stanje (prazna tabla u konkretnom slučaju). U opštem
slučaju su moguće mnoge varijacije ovakve strukture učenja gde se pored
drugačijeg izbora iskustva i generisanja slučajeva može izabrati drugačija
strategija učenja koja podrazumeva i drugačiju funkciju evaluacije (koja je
ponekad i objekat učenja, objektivna funkcija) i njenu reprezentaciju, kao i
drugačiji algoritam učenja (npr. gradijent metoda, dinamičko programiranje
i drugo) tj. generalizatora. Tu se postavljaju mnoga pitanja - kako realizovati
opisane komponente optimalno, kakav skup obučavanja je potreban (koliki
broj parova, kako raznovrsnost utiče na sposobnost generalizacije naučenog
8
Seminarski rad
znanja), kako (i zašto) ograničiti klasu raspoloživih hipoteza i drugo. Takod̄e,
veoma je važan izbor članova skupa obučavanja i način evaluacije performansi
učenja - koliko je potrebno parova obučavanja da bi se postiglo optimalno
vreme i performanse učenja ? Ako je skup parova obučavanja ujedno i jedini
izvor znanja za sistem koji uči, i jedini izvor za ocene performansi učenja kako biti siguran da će sistem kasnije uspešno raditi i sa nepoznatim parovima
van skupa obučavanja (koliko je u stanju da generalizuje) ? Čest praktičan
metod da se ovo postigne je podela skupa obučavanja na n particija (n folds,
gde je n obično izmed̄u 3 i 10), gde se u n iteracija jedna particija koristi
za ocenu performansi a ostale za učenje. O nekim drugim metodima će više
detalja biti u narednim poglavljima. Cilj daljeg teksta pre svega je pregled različitih metoda učenja bez posebnog razmatranja detalja osim kao ilustracije
načina primene i pregleda sadržaja.
1.3
Neuronske mreže i genetski algoritmi
Neuronske mreže i genetski algoritmi (evoluciono programiranje) kao paradigme Soft Computing oblasti prirodno podržavaju mnoge aspekte mašinskog učenja. Izmed̄u ostalog, predstavljaju dobar primer sistema u kome je
primenjeno mašinsko učenje. Ako se pod̄e od klase NM sa povratnim propagiranjem (kao i nekih drugih), kod uopštenog prototipa sistema mašinskog
učenja mogu se prepoznati onda svi njegovi elementi - zadaci koje sistem mora
da vrši, performanse sistema koje se mere (recimo, numerička tačnost NM
ili efikasnost klasifikacije, LMS greška), kao i iskustvo i skupovi obučavanja.
Strategije obučavanja i struktura mogu biti i veoma drugačije od opisanog
primera i prototipa što je obično posledica specifičnog domena i problema
koji se rešava ovakvim sistemima. NM pokazuju osobine induktivnih sistema
mašinskog učenja - imaju sposobnost generalizacije na osnovu datih primera.
Genetski algoritmi u opštem slučaju se mogu posmatrati kao algoritmi
mašinskog učenja koji uče (odnosno traže) hipotezu gde je prostor hipoteza
uslovljen specifičnim prostorom pretrage konkretnog GA sa svojim zadatkom
- postavlja se onda pitanje: kakvu ulogu ima iskustvo kod GA ? Objektivna
funkcija (,,fitnes populacije”) se može zadati ili menjati primerima, i tada
imamo iskustvo i učenje - na primer, GA koji generiše program (ili neki
drugi izračunljivi formalizam) sa iskustvom zadatim osobinama. Tada se
nekim metrikama kao što su tačnost rezultata na osnovu zadatih ulaza (instanci), dužinom kb
oda ili efikasnošću definiše objektivna funkcija.
Mašinsko učenje, inteligentni agenti
9
Navedeni su samo neki od mnogih primera primene NM i GA u oblastima
mašinskog učenja bez posebnih detalja u vezi istih.
Prvih šest poglavlja ovog rada se odnose na mašinsko učenje i oslanjaju
se najvećim delom na knjigu [TM-ML], dok se poslednja dva odnose na inteligentne agente gde se koriste prikazi arhitkture i tipova iz [GN], i primeri
iz [TIS] (kao i za sedmo poglavlje o otkrivanju znanja).
10
Seminarski rad
2
Učenje koncepta i ured̄enje od opšteg ka
posebnom
Jedno od centralnih pitanja mašinskog učenja je otkrivanje opšteg znanja
ili funkcija na osnovu datih specifičnih primera (u skupu obučavanja). Ako
se koncept u smislu deklarativnog znanja može opisati pozitivnim primerima
(šta on jeste) ili negativnim primerima (šta on nije), onda se učenje koncepta
može formulisati kao pretraživanje prostora (potencijalnih) hipoteza (verzija, kasnije) sa ciljem pronalaženja hipoteze koja najbolje odgovara datim
primerima. Ovo se u mnogim slučajevima može pojednostavniti korišćenjem
strukture tog prostora - ured̄enjem med̄u hipotezama od opšteg ka posebnom. Ovo je ujedno i vid primene induktivnog zaključivanja i učenja - često
se očekuje od sistema koji uči da bude u stanju da uopštava, da zaključi nešto
ako je potrebno već na osnovu jednog primera ili da sa naknadno dodatim
novim primerima promeni svoje znanje.
2.1
Učenje koncepta
Metoda učenja koncepta (ili pretraživanja prostora hipoteza) je metoda
koja je u osnovnom obliku korisna i kao pojašnjenje problema induktivnog
učenja i kao veoma praktična metoda u nekim poboljšanim varijantama.
Može se posmatrati i kao traženje Bulove funkcije na osnovu datih primera
(svi mogući atributi sa njihovim vrednostima su argumenti funkcije koja ima
dve vrednosti, što je zapravo relacija), pa se umesto algebarske strukture i
njenog modela pod konceptom ovde podrazumeva Bulova funkcija:
Definicija 2.1 Koncept c je Bulova funkcija nad skupom instanci X, tj.
c : X → {0, 1}. Intanca x pripada konceptu c akko je c(x) = 1.
Instance su zadati vektori konkretnih vrednosti atributa i vrednosti te funkcije
(koncepta), a hipoteza h ∈ H je Bulova funkcija koja aproksimira ciljni koncept. Skup (prostor) H hipoteza je zapisan kao vektor uslova (constraint)
za te atribute, gde svaki atribut može imati: konkretnu vrednost u hipotezi,
proizvoljnu vrednost (što se prikazuje jednostavnosti radi sa ,,?”kao nekakav
asterisk) ili nijednu (prikazuje se, opet radi jednostavnosti, sa ∅). Instanca
x ∈ D iz skupa primera D ⊆ X može tako da zadovolji hipotezu (pozitivna,
c(x) = 1) ili da je ne zadovolji (negativna, c(x) = 0). Najopštija hipoteza je
Mašinsko učenje, inteligentni agenti
11
onda oblika (?, ?, ..., ?), a najposebnija je oblika (∅, ∅, ..., ∅) (zapravo, dovoljno
je da bilo koji atribut ima ∅ kao ograničenje da bi sve instance bile odbačene veliki broj hipoteza osim ovakvih je semantički ekvivalentan). Polazna pretpostavka induktivnog učenja je da je bilo koja hipoteza koju zadovoljavaju zadati primeri (dovoljno veliki broj takvih) u stanju da dobro aproksimira ciljni
koncept svim predstavljen primerima (induktivna pretpostavka). Za hipotezu
hj se kaže da je opštija ili jednaka hk akko (∀x ∈ X)hk (x) = 1 ⇒ hj (x) = 1,
i to se zapisuje kao hj ≥g hk . Stroga opštost se definiše sa: hj >g hk akko
hj ≥g hk ∧ hk g hj , a tako se mogu definisati i odgovarajuće relacije posebnosti. Ovo su relacije parcijalnog ured̄enja (za svaki lanac važi da postoji
donja i gornja granica).
Algoritam (Find-S) koji nalazi maksimalno specifičnu (posebnu) hipotezu
na osnovu datih primera:
1. h ← (∅, ∅, ..., ∅)
2. za svaku pozitivnu instancu x,
za svaki uslov ai u h:
ako ai nije zadovoljen sa x onda’
zameni ai sa sledećim opštijim uslovom koji je
zadovoljen sa x (vrednost ili ,,?”)
3. rezultat je hipoteza h
(preuzet primer iz [TM-ML])
12
Seminarski rad
Algoritam u osnovi dobro radi sa prostorom hipoteza koje se sastoje od
konjunkcija uslova (dosad opisane, proste hipoteze) i ako nema pogrešnih
primera. Za druge prostore je potrebno dodati backtracking da bi se pokrili
i drugi lanci sa svojim maksimalno specifičnim hipotezama.
2.2
Algoritam eliminacije kandidata
Ovaj algoritam (Mitchell, prva primena 1979.) pristupa problemu učenja
koncepta tako što traži skup svih hipoteza konzistentnih sa datim primerima za razliku od prethodnog koji nalazi jedan (i ostaje pitanje da li je to
jedini takav i ispravan). Ovo je poznato i kao metod (i problem) formacije
koncepta. Hipoteza h je konzistentna (saglasna) sa skupom primera D (zapisano kao h ∼ D) akko h(x) = c(x) za svaki primer (x, c(x)) ∈ D. Prostor
verzija (mogućnosti) V S H,D je podskup prostora hipoteza H konzistentnih
sa primerima u D: V S H,D = {h ∈ H| (∀(x, c(x)) ∈ D)h(x) = c(x)}.
Program koji uči (učenik L) je konzistentan ako daje konzistentne hipoteze.
Uopštena granica (ili granica uopštenja, general boundary) je skup maksimalno uopštenih članova H konzistentnih sa D, a specifična granica (ili
granica posebnosti, specific boundary) je skup minimalno uopštenih hipoteza
iz H konzistentnih sa D. Algoritam listaj-pa-eliminiši (list-then-eliminate)
uzima prostor verzija kao spisak najpre svih u H a onda eliminiše sve koji nisu
konzistentni sa svaki primerom u D redom. Takav algoritam ipak nije pogodan za dovoljno veliki prostoh hipoteza (koji nemora biti konačan uopšte).
Definicija 2.2 Opšta granica GH,D , u odnosu na skup dopustivih hipoteza
H i skup primera za učenje D, je skup najopštijih hipoteza iz H saglasnih sa
primerima iz D, odnosno:
G = {g ∈ H| g ∼ D ∧ (¬∃g 0 ∈ H)[(g 0 >g g) ∧ g 0 ∼ D]}
Definicija 2.3 Specifična granica SH,D , u odnosu na skup dopustivih hipoteza
H i skup primera za učenje D, je skup najmanje opštih hipoteza iz H saglasnih sa primerima iz D, odnosno:
S = {s ∈ H| s ∼ D ∧ (¬∃s0 ∈ H)[(s >g s0 ) ∧ s0 ∼ D]}
Koristeći kompaktniji prikaz prostora verzija granicama G i S algoritam eliminacije kandidata to rešava. Teorema reprezentacije prostora verzija pokazuje
Mašinsko učenje, inteligentni agenti
13
da za svaki skup instanci X, hipoteza H, ciljni koncept c i skup primera D
za koje je G i S definisan važi:
V S H,D = {h ∈ H : (∃s ∈ S)(∃g ∈ G) g ≥g h ≥g s}
Algoritam eliminacije kandidata je onda:
1. G ← (?, ?, ..., ?) (ili inicijalizacija uopštenom granicom)
S ← (∅, ∅, ..., ∅) (ili inicijalizacija specifičnom granicom)
2. za svaki primer d iz skupa obučavanja:
• ako je d pozitivan primer:
– izuzmi iz G sve hipoteze koje nisu konzistentne sa d
– za svaku hipotezu s ∈ S koja nije konzistentna sa d:
∗ izuzmi s iz S
∗ dodaj u S sva minimalna uopštenja h od s takva da je:
h konzistentno sa d, i neka hipoteza
iz G je opštija od h
∗ izuzmi iz S sve hipoteze koje su opštije od S
• ako je d negativan primer:
– izuzmi iz S sve hipoteze koje nisu konzistentne sa d
– za svaku hipotezu g ∈ G koja nije konzistentna sa d:
∗ izuzmi g iz G
∗ dodaj u G sva minimalne specijalizacije h od g td. je:
h konzistentno sa d, i neka hipoteza
iz S je posebnija od h
∗ izuzmi iz G sve hipoteze koje su manje opšte od G
3. rezultat je ograničen sa S i G.
Primer (uzeto iz [TM-ML], kao i nekoliko još primera u daljem tekstu):
14
Seminarski rad
Algoritam eliminacije kandidata konvergira ka rešenju ako postoji ciljna hipoteza u prostoru hipoteza koja tačno opisuje ciljni koncept i ako nema
grešaka u primerima - idealno dobija se prostor verzija koji sadrži tačno jednu
hipotezu. Ako postoji greška u primerima ili ako prostor hipoteza ne sadrži
nijednu hipotezu koja opisuje ciljni koncept dobija se prazan prostor verzija. Brzina konvergiranja je idealno najveća kada se biraju naredni primeri
kojima se broj hipoteza u prostoru verzija koji je konzistentan prepolovi tada bi bio dovoljan log2 |V S| primera (eksperimenata). Ako nije do kraja
naučen, pozitivan primer se slaže sa svima u S, negativan ni sa jednim u G
- ali ne menja prostor verzija. Ako je broj pozitivnih ili negativnih veći od
drugih u prostoru verzija nedovoljnog naučenog koncepta i ako je prihvatljiva
Mašinsko učenje, inteligentni agenti
15
pretpostavka da su sve hipoteze podjednako verovatne u H, onda se uzima
da je proporcionalno verovatno instanca pozitivna, odnosno negativna.
2.3
Induktivni bias
Ako se prostor hipoteza izabere tako mu ne pripada hipoteza koja pokriva
ciljni koncept (npr. skup konjunktivnih hipoteza, a ciljni koncept je disjunkcija koja nije pokrivena) onda su pretpostavke o klasi hipoteza prejake
i prostor hipoteza nije dovoljno izražajan dabi se dobio rezultat. Ako prostor hipoteza nije dovoljno ili nije uopšte uslovljen tj. sadrži sve raspoložive
hipoteze (sve koncepte koji se mogu naučiti - sve podskupove domena X
funkcije koja se uči), algoritam nije u stanju više da generalizuje jer mu upravo bias prostora hipoteza H - tj. uslovi kojima se definiše njegova struktura,
ili konceptualni bias - daje za to potrebno ,,znanje”. Bez konceptualnog biasa
ili nekog drugog uslova se algoritam svodi na skupljanje pojedinih pozitvnih
i negativnih primera (,,rote-learner” - S je uvek onda disjunkcija pozitivnih
primera a G negacija disjunkcije negativnih).
Ako je Dc = {(x, c(x))} skup primera ciljnog koncepta c, algoritam L
koji uči nakon obučavanja klasifikuje novu instancu xi bilo pozitivno ili
negativno, što se zapisuje kao L(xi , Dc ). Ovo je induktivno zaključivanje
(xi ∧ Dc ) Â L(xi , Dc ) (klasifikacija se zaključuje induktivno na osnovu Dc
i xi ). Pokazuje se da je induktivni (ili logički ) bias B algoritma L skup
dodatnih pretpostavki dovoljnih da se deduktivnim zaključivanjem dod̄e do
istog rezultata: (B ∧ Dc ∧ xi ) ` L(xi , Dc ). Za algoritam eliminisanja kandidata to je B = {c ∈ H} (Find-S ima još jači bias). Na taj način se
svakom induktivnom sistemu zaključivanja pridružuje odgovarajući ekvivalentan deduktivni. Metod formacije koncepta je tako potpupno odred̄en kao
četvorka L = (P, N, H, B) - P je skup pozitivnih primera, N je skup negativnih primera, H je konceptualni bias, a B je logički bias. Poseban izazov
predstavljaju algoritmi koji uče i otkrivaju sopstveni bias uporedo.
2.4
Učenje drvetom odluke
Metod sličan prethodno opisanom učenju koncepta koji koristi sistem i
algoritam ID3 (kao i ASSISTANT i C4.5) koji generiše pravilo, odnosno drvo
klasifikacije za dati koncept sa svojim atributima i njihovim vrednostima.
Njegov induktivni bias je prednost malih drveća nad većim, a u stanju je
16
Seminarski rad
da klasifikuje i disjunktivne koncepte. Ovakav metod može da bude daleko
efikasniji od drugih sistema za induktivno učenje, ali i neprimenjiv u nekim
složenim domenima. Postoje varijante (bagging, random forest) koje uporedu
razvijaju više takvih drveta.
2.4.1
Reprezentacija
Učenje drvetom odluke predstavlja vid aproksimacije funkcije (diskretne
vrednosti) atributa i njihovih diskretnih vrednosti. Drvo odluke klasifikuje
instancu prihvatajući atribute od korena do lista jedne grane, a može se
posmatrati i kao spisak ako-onda pravila (svaka grana predstavlja konjunkciju
uslova nad atributima, a celo drvo disjunkciju). Primer (Quinlan, 1986, za
ID3) drveta za PlayTennis koncept:
(primer takod̄e preuzet iz [TM-ML])
koji predstavlja izraz:
(Outlook = Sunny) ∧ (Humidity = N ormal)
∨ (Outlook = Overcast)
∨ (Outlook = Rain ∧ W ind = W eak)
Kao što se vidi, instance su predstavljene listama parova atribut-vrednost,
ciljna funkcija u primeru je Bulova ali se može proširiti na diskretnu ili čak
realnu funkciju. Instance primera mogu sadržati greške (bilo u vrednosti
atributa ili klasifikacije) ili nedefinisane vrednosti atributa. Glavno pitanje
je od kojeg atributa krenuti s klasifikacijom - cilj je izabrati najkorisniji
Mašinsko učenje, inteligentni agenti
17
atribut (slično biranju instance koja polovi prostor verzija u problemu formacije koncepta), i to se čini ocenjivanjem statističke osobine informacione
dobiti (snage, information gain) koja se definiše entropijom skupa S:
E(S) ≡ −p⊕ log2 p⊕ − pª log2 pª
gde je p⊕ proporcionalan odnos pozitivnih instanci u S, a pª odnos negativnih u S (ima vrednost nula ako svi primeri pripadaju istoj klasi). Ako
ciljni atribut u opštem slučaju ima c diskretnih vrednosti onda je E(S) ≡
P
c
i=1 −pi log2 pi . Ako je V alues(A) skup vrednosti atributa A i Sv = {s ∈
S : A(s) = v} (skup instanci gde A ima vrednost v) onda je:
X
Gain(S, A) ≡ E(S) −
v∈V alues(A)
|Sv |
E(Sv )
|S|
Verzija ID3 algoritma za Bulove funkcije (CLS algoritam, Hunt, 1966):
ID3(S, c, atributi)
1. kreiraj čvor Koren stabla
2. ako su svi primeri u S pozitivni,
vrati Koren sa oznakom=+
3. ako su svi primeri u S negativni,
vrati Koren sa oznakom=−
4. ako je atributi lista atributa koje treba testirati prazna,
vrati Koren sa oznakom=najčešća vrednost u primerima
5. inače:
(a) A ← iz atributi liste atribut koji najbolje klasifikuje prema Gain(S, A),
Koren ← A
(b) za svaku vrednost vi atributa A:
i. dodaj novu granu ispod Koren za uslov A = vi
ii. ako je Svi prazan
• onda: ispod dodaj list sa oznakom=najčešća vrednost u
primerima
18
Seminarski rad
• inače: dodaj ispod poddrvo ID3(Svi , c, atributi − A)
6. vrati Koren
Ovakav ID3 algoritam se lako može uopštiti za funkciju diskretnih vrednosti
(oznaka), i koristi se obično prozor koji čini podskup skupa primera (zadate
veličine) nad kojim se primeni ovakav algoritam, a onda se u prozor unesu
svi izuzeci iz skupa primera koji ne odgovaraju klasifikaciji i ako ih ima
ponovi se postupak. Time se prevazilazi ograničenje veličine skupa primera.
Induktivni bias ID3 algoritma koji proističe iz redosleda i prostora pretrage
(bias preferencije ili pretrage) je zapravo taj da preferira kraće drveće sa
čvorovima veće informacione snage bliže korenu, dok konceptualnog biasa
nema (sve konačne diskretne funkcije dolaze u obzir jer mogu predstaviti
nekim drvetom odluke) - naspram metode formacije koncepta gde mora da
postoji konceptualni bias i gde je induktivni posledica takve reprezentacije
hipoteze (bias restrikcije ili jezički bias), a ne redosleda pretrage. Zato je
ID3 nema problem konceptualnog biasa, i pošto koristi statističke ocene svih
primera daleko je manje osetljiv na greške nego formacija koncepta, a lako se
može omogućiti i da prihvata hipoteze koje ne odgovaraju primerima sasvim
tačno. Neki sistemi mogu kombinovati biase restrikcije i pretrage, kao kod
primera učenja funkcije evaluacije igre i LMS učenja.
2.4.2
Okamova oštrica
Da li je ID3 bias opravdan ? Mnogi filozofi su vekovima razmatrali pitanje
o izboru hipoteze (i dalje raspravljaju) - Okam (William of Occam, 1320) je
to formulisao otprilike ovako: bolja je jednostavnija hipoteza koja odgovara
podacima (eksperimentima, primerima). Fizičari vole ovu hipotezu - čisto
kombinatornim argumentima može se pokazati da kraćih hipoteza ima daleko
manje nego dužih - ali postoje i kritike: postoje i druge malobrojne klase
hipoteza (veštačke), a rezultat zavisi i od interne reprezentacije hipoteze
(obično se onda koristi evolucioni argument da biva izabrana interpretacija
koja ovaj kriterijum čini uspešnijim).
2.4.3
Proširenja ID3
Za hipotezu h se kaže da overfituje (overfitting) primere ako ima manju
grešku nego neka druga hipoteza h0 nad primerima, ali veću nad ukupnom
raspodelom instanci (van skupa primera). Problem nastaje kada postoje
Mašinsko učenje, inteligentni agenti
19
nasumične greške u podacima kada nakon odred̄enog broj primera počinje
da opada ukupna tačnost klasifikacije iako raste na skupu primera. Jedan
način je da se zaustavi rast drveta pre idealne klasifikacije primera, drugi
je da se nakon klasifikacije potkreše drvo (post-pruning). Kriterijumi u oba
slučaja mogu biti:
• obuka i validacija - izdvajanje iz skupa primera jedan podskup na kome
se testira tačnost izvan skupa primera
• χ-test ili neki drugi statistički test procene performanse nad celom
raspodelom instanci (Quinlan, 1986)
• princip minimalne dužine opisa (Minimum Description Length - MDL,
Quinlan i Rivest 1989, Mehta 1995) - kodiranjem drveta i primera na
neki način dobija se mera složenosti tj. veličina kodiranja - kada je
veličina minimizovana prekida se rast drveta odluke
Kresanje se vrši zamenom poddrveta listom sa najčešćom (prosečnom) klasifikacijom sve dok se time ne dobija manje performantno drvo odluke. ID3
drži samo jednu hipotezu tokom pretrage za razliku od formacije koncepta,
u osnovnom obliku nema backtracking i zato je moguće da nad̄e rešenje koje
nije globalno najbolje iako je obično performantniji od prethodnog. Ovo se
takod̄e rešava potkresivanjem.
Postoji tehnika potkresivanja pravila (rule post-prunning, Quinlan 1993)
u sistemu C4.5 u sledećim koracima:
1. generiši drvo uz moguće overfitovanje
2. pretoči drvo odluke u niz pravila (za svaku granu, redom)
3. izbaci iz pravila (generalizuj) preduslove ako se time ne narušavaju
performanse
4. sortiraj dobijena pravila prema ocenjenoj tačnosti i razmatraj ih tim
redosledom tokom klasifikacije instanci
Slično ovome, moguće je drvo odlučivanja pretočiti u optimizovani graf (odlučivanja)
kojim se pre svega eliminiše redundantno poddrveće i time smanjuje nepotreban broj primera.
20
Seminarski rad
Ograničenje da atributi moraju biti diskretne vrednosti se može prevazići
dodelom karakterističnih intervala kontinualnim vrednostima, gde se za svaku
diskretnu vrednost ciljnog atributa nalazi prag ocenom najveće informacione
snage primera sortiranih po atributu koji se ocenjuje (Fayyad 1991).
Postoji problem kod atributa kao što je datum - iako nosi veliku informacionu snagu, obično razdvaja primere u male grupe bez nekog velikog
uticaja na vrednost ciljnog atributa. Jedno rešenje je da se koristi alternativna ocena atributa - npr. odnos snage (gain ratio, Quinlan 1986) koji je
osetljiv na uniformno deljenje primera:
SplitInf ormation(S, A) ≡ −
c
X
|Si |
i=1
GainRation(S, A) ≡
|S|
log2
|Si
|S|
Gain(S, A)
SplitInf ormation(S, A)
Svaki atribut može prema nekim kriterijumima imati dodatno cenu Cost(A)
gde je cilj da se atributi sa većom cenom koriste prilikom pouzdane klasifikacije (da bi se povećala zahtevana tačnost). Tada se koristi umesto in2 (S,A)
2Gain(S,A) −1
formacione snage Gain
ili (Cost(A)+1)
w gde je w ∈ [0, 1] parametar koji
Cost(A)
ocenjuje značaj cene u odnosu na informacionu snagu (Tan, Schlimmer 19901993, Nunez 1991).
Ako ne postoji vrednost nekog atributa A u čvoru u kome treba oceni
informacionu snagu može se koristiti:
• najčešća vrednost primera u tom čvoru
• najčešća vrednost primera sa vrednošću ciljnog atributa datog primera
• umesto najčešće vrednosti može se koristiti vrednost s najvećom procenjenom verovatnoćom primera u datom čvoru (Quinlan 1993)
2.5
Vrednovanje hipoteze
Empirijsko vrednovanje tačnosti hipoteze je suštinski značajno za mašinsko
učenje. Tri pitanja se postavljaju:
Mašinsko učenje, inteligentni agenti
21
• ako je data tačnost nad skupom primera koji predstavlja manji podskup
svih mogućih instanci, koliko je time dobro procenjena tačnost nad
dodatnim primerima tj. ostalim instancama ?
• ako neka hipoteza daje bolje performanse od neke druge u skupu primera,
koliko je verovatno da je bolja uopšte (izvan skupa primera) ?
• kako na najbolji način iskoristiti skup primera da bi se naučila hipoteza
i procenila njena tačnost ?
Izbor instanci u skupu primera (odnosno njihova raspodela u odnosu na
ukupnu populaciju u statističkom smislu) utiče na procenu tačnosti u odnosu
na ostatak instanci - bias u izboru stvara bias u proceni. Čak i kada nema
biasa u izboru, postoji disperzija (varijansa) u proceni koja rasta s manjim
brojem elemenata skupa primera. Ako se izbor instanci (bez vrednosti ciljnog
atributa) posmatra kao slučjna promenljiva sa nekom zadatom raspodelom
nezavisno od izbora ranijih primera ili od hipoteze, onda se postavljaju
pitanja: koja je procena tačnosti hipoteze h za buduće instance nad tom
raspodelom, i kolika je greška takve procene ?
Greška P
uzorkovanja hipoteze h za ciljnu funkciju f i skup primera S je
1
eS (h) ≡ n x∈S δ(f (x), h(x)) gde je δ(f (x), h(x)) = 1 samo ako je f (x) =
h(x), inače je δ(f (x), h(x)) = 0. Prava greška da će hipoteza pogrešno
klasifikovati novu instancu nad datom distribucijom je: eD ≡ PX:D [f (X) 6=
h(X)]. Tada, ako je:
• skup primera S prema raspodeli D ima n elemenata
• n eS (h)[1 − eS (h)] ≥ 5 (npr. n ≥ 30 ako eS (h) nije preblizu 0 ili 1 posledica centralne teoreme)
• hipoteza h napravi r grešaka tj. eS (h) = r/n
bez drugih informacija važi da je eS (h) = eD (h) q
i sa verovatnoćom N (N ·
S (h)]
100%) eD (h) leži u intervalu poverenja eS (h) ± zN eS (h)[1−e
(zN je vredn
nost argumenta gustine normalne (Gausove) raspodele koja odred̄uje dvostrani interval poverenja koji sadrži N ·100% vrednosti tj. sa verovatnoćom N
sadrži vrednosti iz te raspodele). Greška eD (h) poštuje binomnu raspodelu
(ako se posmatra verovatnoća da se r puta napravi pogrešna klasifikacija
22
Seminarski rad
svaki put s verovatnoćom p tako da je eS (h) = r/n), pa je eS (h) ocena (estimator) za eD (h) = p. Ocena je dobra akoqnema bias tj. E[eS (h)]
q − eD (h) = 0
što i jeste tačno. Onda je σeS (h) =
2.5.1
σr
n
=
p(1−p)
n
tj. σeS (h) ≈
eS (h)(1−eS (h))
.
n
Upored̄ivanje hipoteza
Ako je db = eS1 (h1 ) − eS2 (h2 ) treba oceniti d = eD (h1 ) − eD (h2 ). Pošto
e (h )(1−e (h ))
e (h )(1−e (h ))
je σd2b ≈ S1 1 n1 S1 1 + S2 2 n2 S2 2 onda je db ocena za d sa N · 100%
intervalom poverenja db ± zN σ b.
d
Slično, upotrebom t-raspodele (Student) mogu se upored̄ivate performanse dva različita algoritma učenja ([TM-ML]).
2.6
Učenje pravila i algoritmi sekvencijalnog pokrivanja
Jedna od reprezentacija funkcije kao formalizma koji predstavlja objekat
učenja - kao što su to Bulove funkcija, drvo odlučivanja, neuronska mreža i
drugo - može biti i kb
od programa. Može se pokazati da su neki formalizmi
ekvivalentni u smislu izražajnosti (znanje prikazano na jedan način može se
prikazati i na drugi način), na primer iskazni račun, drveta odlučivanja i
Bulove funkcije. Med̄utim, PR1 je izražajniji od prethodnih - suštinska razlika je da može sadržati promenljive, a takve su specijalno Hornove klauzule
(prvog reda) čije konjunkcije predstavljaju osnovni zapis mnogih logičkih
jezika med̄u kojima je i PROLOG programski jezik. Učenje pravila oblika
ako-onda je u mnogo čemu praktično korisno, ali pre svega je intuitivno bliže
ljudskom zapisu znanja.
Osnovna klasa algoritama za učenje ovakvih pravila su algoritmi sekvencijalnog pokrivanja koji otkrivaju pravilo po pravilo u iteracijama, i svakim
otkrivenim pravilom se uklanjaju primeri koji su njime pokriveni. Za to je
potrebna procedura nauči-jedno-pravilo koja otkriva jedno pravilo za dati
skup pozitvnih i negativnih primera, gde otkriveno pravilo idealno pokriva
samo pozitivne primere (pokriva ih ako se shvati kao relacija koja je tada
ispunjena), ali se neki put može dozvoliti da prihvati i što manji broj negativnih primera. Iteracije se vrše dokle god ima pozitivnih primera ili sve dok
se ne pred̄e zadati prag performansi pravila - dobijeni skup pravila se može
onda i sortirati prema performansama (c je ciljni atribut, A skup atributa,
Mašinsko učenje, inteligentni agenti
23
E skup primera):
• L ← {}
• Pravilo ← nauči-jedno-pravilo(c,A,E)
• dokle Performanse(Pravilo,E) > prag:
– L ← L + Pravilo
– E ← E − { primeri koji su ispravno klasifikovani pravilom }
– Pravilo ← nauči-jedno-pravilo(c,A,E)
• sortiraj dobijena pravila u L prema performansama
Pošto je ovakvo pretraživanje prostora hipoteza ,,gramzivo” (greedy - nema
backtracking), nije garantovano da će biti pronad̄ena optimalna hipoteza.
Jedan praktičan način da se realizuje procedura nauči-jedno-pravilo je pretraživanje slično ID3 od opšteg ka posebnom, ali usmereno uvek granom
koja najviše obećava - najveće performanse, npr. da je entropija pokrivenih
primera najmanja ili da je najveća frekvencija uspešno klasifikovanih u odnosu
na pokrivene primere (umesto da gradi poddrvo za sve vrednosti izabranog
atributa). Da bi se smanjio rizik gramzivog pretraživanja pamti se k najboljih kandidata pri svakom koraku umesto jednog, i to se zove zrakasto
pretraživanje (beam search) - ovakav algoitam koristi CN2 (Clark, Niblett,
1989):
nauči-jedno-pravilo(c,A,E,k)
• Najbolja-hipoteza ← ∅ /* najopštija hipoteza */
• skup-kandidata ← { Najbolja-hipoteza }
• dokle god skup-kandidata nije prazan:
1. Generiši sledeću specifičniju hipotezu:
(a) svi-uslovi ← { a=v }
/* ∀ a ∈ A, ∀ v koje se pojavljuje u E za atribut a */
(b) novi-kandidati ←
za svaku h ∈ skup-kandidata:
za svaki u ∈ svi-uslovi:
kreiraj specijalizaciju h dodavanjem u
24
Seminarski rad
(c) izbaci sve hipoteze iz skupa novi-kandidati koje su ponovljene,
nekonzistentne, ili nisu maksimalno specifične
2. Najbolja-hipoteza se menja:
– za svaku h ∈ novi-kandidati:
ako Performanse(h,E,c) > Performanse(Najbolja-hipoteza,E,c)
onda Najbolja-hipoteza ← h
3. skup-kandidata se menja:
– skup-kandidata ← k najboljih iz skupa novi-kandidati prema
performansama
• vrati pravilo oblika:
”Ako Najbolja-hipoteza onda predvid̄anje”
gde je predvid̄anje najfrekventnija vrednost ciljnog atributa c med̄u
primerima E koji odgovaraju hipotezi Najbolja-hipoteza
Varijantu ovakvog algoritma koristi AQ (Michalski, 1986).
2.6.1
Induktivno logičko programiranje
Mašinsko učenje koje koristi logičke programe u PR1 kao objekte učenja
je ILP (Lavrač, Džeroski, 1994). Tako se npr. može realizovati ekskluzivno
ili (kao ekvivalentan zapis odgovarajuće Bulove funkcije):
XOR(x,y) :- True(x),¬ True(y)
XOR(x,y) :- ¬ True(x), True(y)
Za ovakav program se kaže da pokriva instance (ulazne vrednosti, argumente) x i y za koje je XOR(x,y)=> tj. tačno (inače ima vrednost ⊥). Program π1 je potreban (prikazano u primeru ispod) ako pokriva računanjem
samo pozitivne instance (ali ih nemora sve pokrivati). Program π2 koji
pokriva sve pozitivne primere je dovoljan, što znači da može da pokrije i
neke negativne instance (kao pozitivne). U slučaju da su dopuštene greške u
primerima moguće je da se desi da su pokrivene i neke negativne instance, a
da su izostavljene neke pozitivne. U suprotnom, poželjan je program koji je
i potreban i dovoljan.
Mašinsko učenje, inteligentni agenti
25
(definicije i ilustracija preuzete iz [intro])
Slično kao kod prostora verzija kod učenja koncepta, program koji je
dovoljan ali nije potreban se može specijalizacijom učiniti i potrebnim - ili
obratno, ako je potreban ali nije dovoljan, može se generalizacijom onda
učiniti i dovoljnim. Najopštiji program je oblika [ρ :- ], dok je najposebniji oblika [ρ :- ⊥]. Načelno su moguća dva metoda - jedan koji polazi
od najopštijeg programa, i drugi koji polazi od najposebnijeg. Ovde će se
obrazložiti metoda koja polazi od [ρ :- ] i koja ga specijalizuje sve dok
ne postane potreban, ali se može desiti da nije onda dovoljan (što se onda
iterativno nadoknad̄uje takvom generalizacijom da se čuva potrebnost).
2.6.2
Kanonski ILP algoritam
Osnovni operatori ILP algoritma su pomenuta specijalizacija i generalizacija (pored pokrivanja primera).
Postoje tri načina na koji se može logički program generalizovati:
1. Zamenom nekih terma u nekoj klauzuli programa promenljivama (suprotno
od postupka supstitucije)
2. Uklanjanjem literala iz tela neke klauzule programa
26
Seminarski rad
3. Dodavanjem klauzule programu
Obratno i dualno postoje tri načina da se logički program specijalizuje:
1. Zamenom nekih promenljivih u nekoj klauzuli programa termima (supstitucija)
2. Dodavanjem literala telu neke klauzule programa
3. Uklanjanjem klauzule iz programa
U ovom kanonskom ILP algoritmu učenja će se koristiti metod dodavanja
klauzula za generalizaciju programa i dodavanje literala telu neke klauzule
za specijalizaciju programa. Moguće je uvesti relaciju poretka posebnosti:
klauzula c1 je posebnija od klauzule c2 ako je c2 |= c1 , i specijalno, ako je
skup literala u c2 podskup skupa literala u c1 . Tako se dobija graf rafiniranja
slično prostoru verzija.
Pošto postoji veliki broj načina da se izabere literal koji treba dodati, ILP
algoritmi obično koriste neka dodatna ograničenja, odnosno biraju se samo:
• literali iz pozadinske baze (činjenice koje dodatno objašnjavaju primere,
nezavisne od primera)
• literali čiji su argumenti podskup onih u glavi klauzule
• literali koji uvode novu promenljivu koja se ne nalazi med̄u onima u
glavi klauzule
• literal koji izjednačava promenljivu u glavi klauzule sa još jednom ili
termom iz pozadinske baze (supstitucija)
• literal koji je osim argumenata isti kao onaj u glavi klauzule, isti predikat
(ovim se dozvoljavaju rekurzivni programi)
Ako je dat skup pozitvnih primera E + i negativnih primera E − (E = E + ∪
E − ) kojim se opisuje neka ciljna relacija ρ, ILP algoritam indukuje program
π kojim se računa ta relacija:
Ecur ← E
π ← []
Mašinsko učenje, inteligentni agenti
27
ponavljaj
c ← [ρ : −]
ponavljaj /* c se čini potrebnim */
izaberi literal l koji treba dodati c
/* nedeterministička tačka u algoritmu */
c ← [c,l]
sve dok c ne postane potreban
/* sve dok c ne prestane da pokriva negativne instance */
π ← [π,c]
Ecur ← Ecur - {pozitivne instance u Ecur koje pokriva π}
sve dok π ne postane dovoljan
Jedna od implementacija ovakvog ILP sistema je Kvinlanov sistem FOIL
(Quinlan, 1990) koji se može posmatrati i kao proširenje CN2 na PR1, gde se
predlaže odabir literala na osnovu informacione snage slično kao kod metoda
drveta odluke (dodavanje kandidata literala L pravilu R):
µ
¶
p1
p0
F OIL Gain(L, R) ≡ t log2
− log2
p1 + n1
p0 + n0
gde je p0 broj pozitivnih vezivanja pravila R (u smislu vezivanja promenljivih),
n0 broj negativnih, p1 broj pozitivnih vezivanja za novo pravilo R’ (dobijeno
dodavanjem L pravilu R), n1 broj negativnih, i konačno, t je broj pozitvnih
vezivanja R koja su pokrivena i sa R’. Takod̄e, da bi se omogućili i rekurzivni
programi, neophodni su neki dodatni uslovi za dodatni literal - jedan način
je da promenljive koje dodati literal sadrži ne budu u glavi klauzule.
ILP se takod̄e može shvatiti i kao vid indukcije drvetom odlučivanja. Ako
su Ri relacije pozadinske baze, cilj je onda da ciljnu relaciju R izrazi preko Ri ,
a ILP se onda može posmatrati kao indukcija jednog glavnog drveta odluke
čiji su čorovi opet drveta odluke, a čvorovi ovih poddrveta su relacije Ri koje
se slažu s nekim primerima (koji idu ,,desno” narednom čvoru) ili ne (idu
,,levo”) sve dok se ne preostane skup samo pozitivnih primera (ovo odgovara
unutrašnjij petlji kanonskog ILP). Glavno drvo se gradi sve dok se ne dobije
poddrvo u kome samo negativne instance bivaju odbačene. Rezultat primera
prikazanog ilustracijom ispod je:
R :- R1, R2, R3
R :- R4, R5
28
Seminarski rad
(preuzeto iz [intro])
2.6.3
Indukcija kao inverzna rezolucija
Učenje indukcijom se svodi na jednostavnoj praktičnoj pretpostavci da
je indukcija suprotna dedukciji, pod izvesnim pretpostavkama. Tačnije, u
odnosu na pravilo rezolucije koja odgovara dedukcionom zaključivanju, pravilo inverzne rezolucije koje odgovara induktivnom zaključivanju je onda zaista
inverzan postupak. Vereov metod polazi od generalizacije kao postupku koji
je suprotan unifikaciji (koja se koristi u rezoluiji ili npr. za upored̄ivanje
šablona u pretrazi), i može se primenjivati na bazu znanja opisanu klauzulama da bi se došlo do koncepta kao najmanjeg zajedničkog generalizatora
primera (na primer: poznati svet blokova). Inverznu rezoluciju predlažu kao
praktično rešenje kasnije Muggleton i Buntine, 1988. - ako je rezolventa
C data sa C = (C1 − {L1 })θ ∪ (C2 − {L2})θ td. je L1 θ = ¬L2 θ (dobijeno supstitucijom θ za literale L1 i L2 u klauzulama C1 i C2 , redom), onda
je odgovarajuće pravilo inverzne rezolucije (θ = θ1 θ2 gde se θ1 odnosi na
promenljive u C1 , a θ2 na promenljive u C2 ):
C2 = (C − (C1 − {L1 })θ1 )θ2−1 ∪ {¬L1 θ1 θ2−1 }
Jednostavan primer rezolucije (levo) i inverzne rezolucije (desno) na nivou
iskaznog računa:
Mašinsko učenje, inteligentni agenti
29
i primer indukcije u punom smislu inverzne rezolucije prvog reda:
(ovaj i prethodni primer su preuzeti iz [TM-ML])
gde se vidi induktivni zaključak (u gornjem desnom uglu) koji predstavlja
klauzulu GrandChild(x, y) ← F ather(x, z), F ather(z, y) na osnovu tri dobra
primera. Praktično se pokazalo da inverzna rezolucija lako dovodi do kombinatorne eksplozije i zato se razvijaju mnoge alternativne metode. Jednu
uspešnu varijantu koristi sistem PROGOL (Muggleton, 1995) gde se inverzna
rezolucija koristi samo da bi se došlo do jedinstvene najspecifičnije hipoteze
koja zajedno sa pozadinskom teorijom objašnjava primere (deduktivno: za
svaki primer (xi , f (xi )) koji nije pokriven sekvencijalnim pokrivanjem se traži
hi takvo da je B ∧ hi ∧ xi ` f (xi )), a onda se ta hipoteza (slično ILP, tj.
FOIL sistemu) koristi kao donja granica u pretrazi od opšteg ka posebnom
(koristi se MDL princip gde je dužina opisa broj literala klauzule, a pretraga
slična A∗ algoritmu).
30
Seminarski rad
2.7
Računska i statistička teorija učenja
Pored pitanja težine različitih tipova problema učenja, njihove karakterizacije i pitanja uspešne praktične izvodljivosti učenja u realnom vremenu,
računska i statistička teorija učenja (algoritamska teorija učenja) daju odgovore i na pitanja o vezi veličine ili kvaliteta skupa primera, osobina i parametara algoritma učenja i njegove uspešnosti na kraju. Postoje nekoliko osnovnih pristupa:
• VAK, verovatna aproksimativna korektnost (PAC framework: Probably Aproximatively Correct, Valiant) - gde se identifikuju klase hipoteza
koje se mogu ili ne mogu naučiti iz polinomijalnog broja primera (složenost
uzorka - sample complexity), čime se definiše prirodna mera kompleksnosti prostora hipoteza kojom se može ograničiti broj primera potrebnih za induktivno učenje
• granica greške (mistaske bound framework) - ispituje se broj napravljenih grešaka u toku učenja potrebnih da bi se došlo do prihvatljive
hipoteze
• Goldov formalni model graničnog učenja
2.7.1
Statistička teorija učenja
Ako je {(x1 , y1 ), ..., (xl , yl )} skup nezavisnih i jednako raspored̄enih (njr)
skup obučavanja izabranih prema fiksiranom ali nepoznatom funkcijom raspodele
F (x, y) = F (x)F (y|x) (x ∈ X su odabrani prema F (x)), i vrednosti nepoznate objektivne funkcije y (supervizora S, ciljnog operatora) prema F (y|x).
Hipoteza f se konstruiše na osnovu ovog skupa sa merom gubitka (diskrepancijom, greškom aproksimacije) L(y, f (x, α)) izmed̄u y i hipoteze h = f (x, α).
Očekivana vrednost greške je funkcional:
Z
R(α) = L(y, f (x, α))dF (x, y) = R(f )
Može
se uopštiti za proizvoljan broj nepoznatih (z umesto (x, y): R(α) =
R
Q(z, α)dF (z), gde je Q(z, α) je specifična funkcija gubitka). Cilj je naći
funkciju f (x, α0 ) koja minimizuje R(α) (preko klase funkcija {f (x, α)|α ∈
Λ}). Osnovni podproblemi su prepoznavanje šeme (pattern recognition u osnovi, problem klasifikacije za y ∈ {0, 1}, L(y, f (x, α)) = δ(y, f (x, α))
Mašinsko učenje, inteligentni agenti
31
- može se uopštiti i Rna veći konačan skup klasa), ocena regresije (funkcija
regresije f (x, α0 ) = ydF (y|x), L(y, f (x, α)) = (y − f (x, α))2 ) i ocena gustine raspodele (L(p(x, α)) = − log p(x, α)). U tu svrhu se koriste principi
indukcije - ERM (princip minimizacije empirijskog rizika), i SRM (princip
minimizacije strukturalnog rizika).
2.7.2
ERM princip
Umestp R(α) koristi se:
l
1X
Remp (α) =
Q(zi , α)
l i=1
Postavljaju se pitanja:
• koji su (potrebni i dovoljni) uslovi konzistentnosti (bazirani na ERM)
?
• koliko je brza konvergencija učenja ?
• kako kontrolisati konvergenciju (sposobnost generalizacije, šta utiče)
učenja ?
• kako konstruisati algoritme za prethodno ?
Definicija 2.4 Metod ERM je netrivijalno konzistentan za S = {Q(z, α)|α ∈
Λ} (skup
indikatorskih funkcija) i F (z) ako za svaki neprazan skup Λ(c) =
R
{α| Q(z, α)dF (z) ≥ c}, c ∈ (−∞, ∞) važi konvergencija:
inf Remp (α) → inf R(α), l → ∞
α∈Λ(c)
α∈Λ(c)
Važi ključna teorema mašinskog učenja (Vapnik, Chervonenkis, 1980):
Teorema 1 Ako postoje konstante A i B takve da za sve funkcije u S važi
A ≤ R(α) ≤ B, α ∈ Λ, tada je potreban i dovoljan uslov netrivijalne konzistentnosti ERM da važi uniformna jednostrana konvergencija Remp (α) →
R(α), α ∈ Λ na S u smislu:
lim P {sup (R(α) − Remp (α)) > ε} = 0, (∀ε > 0)
l→∞
α∈Λ
32
Seminarski rad
Radi odred̄ivanja gornje granice rizika za ERM, uvodi se sledeći pojam (posledica druge teoreme uniformne konvergencije u vezi sa ε-entropijom, detalji se
mogu naći u [VVN], kao i Poperova teorija neporecivosti, nonfalsifiability):
Definicija 2.5 Dimenzija Vapnik-Červonenkisa (VC) skupa indikatorskih funkcija
S jednaka je najvećem broju h vektora z1 , ..., zh koji se mogu razdvojiti u dve
klase na svih 2h mogućih načina (dihotomija) elementima tog skupa (maksimalan broj vektora koji može biti pokidan skupom S).
Definicija 2.6 Za dati skup realnih funkcija S (θ je stepena funkcija: θ(x) =
0 ako je x < 0, inače θ(x) = 1), skup
{θ(Q(z, α) − β)| q ∈ S, α ∈ Λ, β ∈ ∆ = (inf Q(z, α, sup Q(z, α))}
z,α
z,α
je kompletan skup indikatora za dati skup realnih funkcija.
Definicija 2.7 VC dimenzija skupa realnih funkcija S je najveći broj h vektora uzorka nad kojima funkcije iz kompletnog skupa indikatora skupa S mogu
da realizuju 2h dihotomija.
Važi teorema:
Teorema 2 Za sve funkcije skupa ograničenih nenegativnih funkcija {0 ≤
Q(z, α) ≤ B| α ∈ Λ}, sa verovatnoćom od bar 1 − η važi nejednakost (h =
V C(S)):
s
Ã
!
B²(l)
4Remp (α)
R(α) ≤ Remp (α) +
1+ 1+
2
B²(l)
h(ln 2lh + 1) − ln η4
²(l) = 4
l
Takod̄e, ako je αl parametar ERM minimizacije i α0 parametar minimizacije
stvarnog rizika, važi nejednakost sa verovatnoćom bar od 1 − 2η:
s
Ã
!#
"r
− ln eta
4Remp (α)
+ ²(l) 1 + 1 +
∆(αl ) = R(αl ) − R(α0 ) < B
2l
B²(l)
Moguće je odrediti granice rizika i za neograničene funkcije (uz dodatni
uslov):
R
1
( Qp (z, α)dF (z)) p
≤τ
sup R
Q(z, α)dF (z)
α∈Λ
Mašinsko učenje, inteligentni agenti
2.7.3
33
SRM princip
Kako je ranije pomenuto, SRM prinicip indukcije se odnosi na kontrolu
sposobnosti generalizacije
S programa koji uči malim skupom obučavanja (npr.
∗
l/h < 20). Ako je S = k Sk td. važi S1 ⊂ S2 ⊂ ... ⊂ Sk ⊂ ... i hk = V C(Sk )
takve da je h1 ≤ h2 ≤ ... ≤ hk ≤ ..., i svaki Sk je ili totalno ograničen
0 ≤ Q(z, α) ≤ Bk , α ∈ Λk , ili njegove neograničene funkcije zadovoljavaju
(za neko (p, τk )):
R
1
( Qp (z, α)dF (z)) p
sup R
≤ τk , p > 2
Q(z, α)dF (z)
α∈Λk
kaže se da je S ∗ dopustiva (admissable) struktura. Treba takod̄e pretpostaviti
da je S ∗ svuda gust u S u smislu metrike:
Z
ρ(Q(z, α1 ), Q(z, α2 )) = |Q(z, α1 ) − Q(z, α2 )|dF (z)
Cilj je pronaći broj n = n(l) za svako l tako da element Sn minimizuje
empirijski rizik. Važi teorema:
n(l)
Teorema 3 SRM nudi metod aproksimacije Q(z, αl
n(l)
R(αl ) konvergira ka najmanjem riziku:
Z
R(α0 ) = inf
Q(z, α)dF (z)
α∈Λ
sa asimptotskom brzinom konvergencije:
r
V (l) = rn(l) + Tn(l)
hn(l) ln l
l
ako je n = n(l) odred̄en sa:
lim
l→∞
2
Tn(l)
hn(l) ln l
l
gde je:
1. Tk = Bk za totalno ograničene Sk
2. Tk = τk za uslovno neograničene Sk
=0
) za koje niz rizika
34
Seminarski rad
rn(l) je mera aproksimacije:
rn = inf Q(z, α)dF (z) − inf Q(z, α)dF (z)
α∈Λn
α∈Λ
Problem odred̄ivanja rn(l) je vezan za odred̄ivanje n(l) u prethodnoj teoremi
i zavisi od konkretnog slučaja - više detalja i primera za neke klase NM
može se naći u [?]. Interesantan primer SVM, gde se može pokazati da
skup svih razdvajajućih hiperravni sa bar dimenzijom ∆ ima VC dimenziju
R2
h ≤ min ( ∆
2 , n) + 1 (n je dimenzija vektora obučavanja, R je radijus sfere
kojoj pripadaju). Posledica je (uz Sk definisan sa B 2 /∆2 ≤ k) je da SVM
poštuju SRM princip.
2.7.4
VAK (PAC) pristup
Ako se stvarna greška hipoteze h (true error) u odnosu na ciljni koncept
c i raspodelu instanci primera D definiše kao verovatnoća (x : D znači da je
x slučajna promenljiva sa raspodelom D):
eD (h) = Px:D (c(x) 6= h(x))
onda se može definisati pojam VAK-učljivosti (PAC-learnability):
Definicija 2.8 Za klasu C ciljnih koncepata definisanih nad skupom X instanci dužine n, i program L koji koristi prostor hipoteza H, C je VAKučljiva programom L sa H ako za svako c ∈ C, raspodelu D nad X, ε td. je
0 < ε < 1/2 i δ td. je 0 < δ < 1/2, program L sa verovatnoćom ne manjom
od (1 − δ) nad̄e h ∈ H td. je eD (h) ≤ ε u vremenu (u smislu cene računanja)
koje je polinom od 1/ε, 1/δ, n i size(c).
Ovde n i size(c) karakterišu kompleksnost prostora X i klase C - size(c) je
dužina kodiranja koncepta c za neku reprezentaciju klase C kojoj pripada
(npr. broj istinitosnih osobina u konjunkciji kojom se definiše koncept), a
dužina instance n je npr. broj atributa u konjunkciji ili arnost funkcije (gde
je vektor argumenata instanca). Takod̄e, ovim se povezuje veličina skupa
primera i polinomijalna izračunljivost problema učenja.
Složenost uzorka (sample complexity) je mera rasta broja primera u
odnosu na (prethodno opisanu) složenost problema. Kao što je ranije pomenuto,
svaki konzistentan učenik daje hipotezu koja pripada prostoru verzija V S H,D
Mašinsko učenje, inteligentni agenti
35
po definiciji (bez obzira na X, H ili D). Da bi se ograničio broj primera
potrebnog za bilo kojeg konzistentnog učenika dovoljno je ograničiti broj
primera tako da prostor verzija ne sadrži ne[rihvatljive hipoteze. Kaže se da
je V S H,D ε-iscrpljen u odnosu na c i D ako (∀h ∈ V S H,D )eD (h) ≤ ε. Važi
onda teorema (Haussler, 1988) kojom se uspostavlja veza prostora verzija i
ovog pojma sa verovatnoćom koja ne zavisi od raspodele primera ili definicije
ciljnog koncepta:
Teorema 4 Ako je H konačan i D je niz od m ≥ 1 nezavisnih nasumice
odabranih primera za ciljni koncept c, onda je za svako 0 ≤ ε ≤ 1 prostor
V S H,D ε-iscrpljen verovatnoćom p ≤ |H|−εm .
Odatle sledi m ≥ 1ε (ln |H|+ln 1/δ) gde je δ željeni minimalni prag verovatnoće
greške učenja bilo kojeg konzistentnog učenika.
2.7.5
Agnostičko učenje i VC dimenzija Vapnik-Červonenkisa
Učenik koji ne pretpostavlja (za razliku od prethodnog) da ciljni koncept
pripada prostoru hipoteza već jednostavno pronalazi hipotezu hbest s najmanjom greškom učenja (za date primere) naziva se agnostičkim učenikom (ne
pretpostavlja da je C ⊆ H). Tada se traži potreban broj tj. granica broja
primera za koju važi da stvarna greška ne prelazi ε + eD (hbest ). Pokazuje se
da onda važi (opšte granice Hefdinga ili aditivne granice Černofa, Hoeffding,
Chernoff):
1
m ≥ 2 (ln |H| + ln 1/δ)
2ε
Primeri:
1. konjunkcije literala (|H| = 3n ): m ≥
k-termove KNF ili DNF)
1
(n ln 3
ε
+ ln 1/δ) (slično i za
2. učenik bez biasa (|C| = 2|X| ): m ≥ 1ε (2n ln 2 + ln 1/δ) (nije polinomijalna granica)
Pored ovih ocena koriste se i ocene V C(H) ≤ log2 |H| dimenzijom VC
Vapnik-Červonenkisa (Vapnik-Chervonenkis) gde se kompleksnost H (kapacitet sistema funkcija po Vapniku) ne meri brojem različitih hipoteza već
brojem različitih instanci koje se diskriminišu u H. Ovo je, recimo, važno ako
je prostor hipoteza beskonačan jer se onda prethodne nejednakosti nemogu
upotrebiti. Za S ⊆ X, svako h ∈ H daje dihotomiju nad S ako postoje
36
Seminarski rad
dve particije, npr. {x ∈ S| h(x) = 0} i {x ∈ S| h(x) = 1} (moguće je da
bude 2|S| dihotomija S nad H). Ako se svaka dihotomija iz S (razbijanje
na dve particije) može prikazati nekom hipotezom iz H (kao u navedenom
primeru), onda se kaže da H kida S. V C(H) je onda veličina (kardinalnost) najvećeg (konačnog) podskupa u X kojeg kida H (ako nema konačnog
podskupa onda je V C(H) = ∞). Praktični detalji o ovome se mogu naći
u [intro] i [?]. Ranija nejednakost o granici broja primera se može zameniti
onda narednom: m ≥ 1ε (4 log2 (2/δ) + 8V C(H) log2 (13/ε)). Može se naći
čak i gornja granica broja primera (Ehrenfeucht, 1989 - teorema: ako za
proizvoljan L i C važi V C(C) ≥ 2 i 0 < ε < 1/8, 0 < δ < 1/100, onda
postoji raspodela
i ciljni koncept
kod koga je eD (h) > ε ako se uzme manje
h
i
V C(C)−1
1
od max ε log 1/δ, 32ε
primera). Jedna od praktičnih posledica ovih
činjenica je mogućnost ozbiljnije teoretske ocene performansi i broja primera
različitih klasa neuronskih mreža (što pre toga nije bilo jednostavno) i drugih
metoda učenja.
2.7.6
Optimalna granica greške
Ako je ML (c) maksimalan broj grešaka za ciljni koncept c koji program
L može da napravi učeći c tačno (konzistentno) nad svim mogućim nizovima
primera. Onda je ML (C) = maxc∈C ML (c) (npr. MF ind−S (C) = n + 1 za
klasu n istinitosnih literala). Optimalna granica greške je onda:
Opt(C) ≡ min ML (C)
L
Pokazuje se (Littlestone, 1987) da je V C(C) ≤ Opt(C) ≤ log2 |C|.
2.7.7
Granično učenje
Apstraktna formulacija graničnog učenja zadaje se modelom problema
identifikacije. Ovaj odeljak je uglavnom zasnovan na sadržaju u [ZR] (gde se
mogu naći dodatni detalji). On se sastoji od sledećih elemenata:
1. Klase objekata: algoritam koji uči treba da identifikuje jedan od ovih
objekata na osnovu pruženih informacija.
2. Metoda za prezentaciju informacija: u svakom trenutku t algoritam
koji uči dobija informaciju it koja se bira iz skupa I. Skup svih mogćih
nizova informacija za neki objekat ω ∈ Ω obeležava se sa I ∞ (ω).
Mašinsko učenje, inteligentni agenti
37
3. Relacije imenovanja: algoritam treba da identifikuje objekat navod̄enjem
nekog njegovog imena. Relacija imenovanja se sastoji od skupa imena
N i funkcije f : N → Ω.
Problem identifikacije je utvrd̄ivanje pravila koje za svaki objekat ω ∈ Ω i
svaki niz iz I ∞ (ω) daje ime n takvo da je f (n) = ω. Granična identifikacija
podrazumeva pogad̄anje objekta u svakom trenutku i zahteva se da postoji
konačan vremenski trenutak posle kojeg su sva pogad̄anja ista za isto ω, i
tačna. Ne zahteva se da ovaj vremenski trenutak bude poznat. Pogad̄anje
u trenutku t je odred̄eno izračunljivom funkcijom pogad̄anja Gt (i1 , i2 , ..., it ).
Ako funkcija Gt nije izračunljiva, govorimo o neefektivnoj graničnoj identifikaciji. Konačna identifikacija podrazumeva da će algoritam posle konačnog
broja koraka prestati da traži informacije i da će dati konačan odgovor o
imenu objekta. Identifikacija u odred̄enom vremenu podrazumeva identifikaciju u unapred odred̄enom broju koraka. Ako su skupovi I ∞ (ω) disjunktni, onda kažemo da je ispunjen uslov razlikovanja. Ako sa Ωt označimo
skup svih objekata iz Ω koji su saglasni sa početkom datog niza informacija
do trenutka t, kažemo da je ispunjen uslov opadanja neizvesnosti ako za svaki
objekat ω ∈ Ω i svaki niz iz I ∞ (ω) granični skup od Ωt kad t → 1 sadrži
samo ω.
Osnovni metod za graničnu identifikaciju je identifikacija nabrajanjem.
Ona se sastoji od formiranja nabrajanja klase objekata na bilo koji način
(i sa ponavljanjem) i pogad̄anja da je u koraku t nepoznati objekat upravo
prvi objekat u nabrajanju koji se nalazi u Ωt . Funkcija pogad̄anja će biti
izračunljiva ako se za svaki konačan niz informacija do trenutka t i za svaki
pozitivan ceo broj n može efektivno utvrditi da li je n-ti objekat nabrajanja u
Ωt i ako postoji efektivan način nalaženja imena n-tog objekta u nabrajanju.
Ako je Gt funkcija pogad̄anja, ω ∈ Ω i ι ∈ I ∞ (ω) definišemo vreme pogad̄anja
τ (Gt , ω, ι) kao prvi trenutak u kome i posle koga su sva pogad̄anja funkcije Gt
ista i tačna. Ako takav trenutak ne postoji, onda vreme pogad̄anja definišemo
kao ∞. Ako su Gt i G0 t dve funkcije pogad̄anja, kažemo da je funkcija Gt
uniformno brža od funkcije G0 t ako za svako ω ∈ Ω, ι ∈ I ∞ (ω) važi:
τ (Gt , ω, ι) ≤ τ (G0 t , ω, ι)
i ako za neko ω0 ∈ Ω, ι0 ∈ I ∞ (ω) važi:
τ (Gt , ω0 , ι0 ) ≤ τ (G0 t , ω0 , ι0 )
Osnovni nalazi za problem identifikacije su dati u nastavku.
38
Seminarski rad
Teorema 5 Ako su skupovi I i Ω prebrojivi i ako svaki objekat ima bar jedno
ime, za neefektivnu graničnu identifikaciju uslov razlikovanja je neophodan,
a uslov opadajuće neizvesnosti je dovoljan. Ako je skup I ∞ (ω) prebrojiv za
svako ω, onda je uslov razlikovanja dovoljan za neefektivnu graničnu identifikaciju.
Teorema 6 Ako je Gt funkcija pogad̄anja koja realizuje identifikaciju nabrajanjem, onda nijedna funkcija pogad̄anja nije uniformno bolja od Gt .
Jedan od primena i rezultata u oblasti algoritamske teorije učcenja razmatra
teorijska ograničenja sistema za klasifikaciju koji se zasnivaju na predstavljanju instanci u vektorskim prostorima i linearnoj separaciji (npr. klasifikacija zasnovana na SVM). Konačan skup koncepata se može predstaviti
pomoću matrice M ∈ {0, 1}m×n gde Mij = −1 znači da je instanca i negativan primer koncepta j i analogno za pozitivne primere.
Definicija 2.9 Linearni raspored koji predstavlja matricu M ∈ Rm×n je dat
kolekcijom vektora u1 , ..., um , v1 , ..., vn ∈ Rd euklidske dužine ||ui ||2 = ||vj ||2 =
1 takvih da je sign(ui , vj ) = sign(Mij ) za sve i, j. Parametar P
d se naziva
1
dimenzija rasporeda, mini,j (ui , vj ) je minimalna margina, a mn i,j (ui , vj)
srednja margina realizovana rasporedom.
Poznato je da mala dimenzija, odnosno velika margina, obezbed̄uju malu
grešku prilikom generalizacije. Donja granica dimenzije i gornja granica
margine za linearne rasporede se mogu odrediti dekompozicijom matrice
A ∈ Rm×n preko singularnih vrenosti: Neka je r rang matrice A. Uvek
postoje matrice U ∈ Rm×r i V ∈ Rr×n sa ortonormiranim kolonama i pozitivnim brojevima σ1 (A) ≥ ... ≥ σr (A) > 0, koje nazivamo singularnim
vrednostima matice A, takve da je A = U diag(σ1 (A), ..., σr (A))V T . Podrazumeva se σi (A) = 0 za i > r. Spektralna norma matrice A se definišse
kao ||A|| = σ1 (A). Donja granica dimenzije data je sledećom teoremom:
Teorema 7 Neka je M ∈ Rm×n matrica takva da je |Mij | ≥ 1 za sve i, j.
Ako je r rang matrice M , neka je u1 , ..., um , v1 , ..., vn ∈ Rd linearni raspored
za d ≤ r koji predstavlja matricu M . Tada je:
d
d
X
i=1
σi2 (M ) ≥ mn
Mašinsko učenje, inteligentni agenti
39
Odred̄ene su i gornje granice minimalne i srednje margine:
Teorema 8 Ako za matricu M 0 važi sign(M 0 ij ) = sign(Mij ), onda važi:
√
mn||M 0 ||
min |(ui , vj )| ≤ P
0
i,j
i,j M ij
Teorema 9
1
mn
P
i,j
|(ui , vj )| ≤
||M ||
√
mn
U prethodnoj teoremi korišćenje M 0 umesto M je pogodnost koja omogućava
da se umesto polazne matrice M kojoj odgovara linearni raspored, koristi
druga matrica koja daje bolju ocenu. Uslov je da odgovarajući elementi polazne i nove matrice imaju isti znak (u smislu funkcije sign). U oblasti algoritamske teorije učenja analiziraju se tehnike uzorkovanja koje bi omogućile
izgradnju algoritama mašinskog učenja koji bi iz uvida u instance koje se
dobijaju u toku učenja mogli da odrede dovoljan obim uzorka za učenje.
Problem koji se posmatra je sledeći: neka je D skup instanci iz kojih se uči i
B bulovska funkcija nad D. Potrebno je utvrditi verovatnoću pB takvu da je
B(x) = 1. Ukoliko je broj instanci u D preveliki za prebrojavanje, pribegava
se uzorkovanju i približnom odred̄ivanju broja pB na osnovu tog uzorka. Pitanje je koliki uzorak je potreban. Prvi cilj je utvrd̄ivanje granice apsolutne
greške ocene. Preciznije, za dato δ > 0 i 0 < ε < 1 cilj je odrediti ocenu p0 B
takvu da je:
P [|p0 B − pB | ≤ ε] > 1 − δ
(1)
Drugi cilj je utvrd̄ivanje granice relativne greške. Za dato δ > 0 i 0 < ε < 1
cilj je odrediti p0 B takvo da je:
P [|p0 B − pB | ≤ εpB ] > 1 − δ
(2)
Treći cilj je odred̄ivanje približne ocene za neku funkciju broja pB (npr. uB =
pB − 12 ). Preciznije, ako je dat broj δ > 0 i 0 < ε < 1, clij je odrediti ocenu
u0 B takvu da važi:
P [|u0 B − uB | ≤ ε|uB |] > 1 − δ
(3)
Teorema 10 Ako se instance koje čine uzorak obima n biraju uniformno iz
D i ako je m broj instanci iz uzorka za koje je B(x) = 1 i p0 B = m/n, onda
ocena p0 B zadovoljava uslov (1) ako važi:
n>
1
2
ln( )
2
2ε
δ
40
Seminarski rad
Takod̄e, ocena p0 B zadovoljava uslov (2) ako važi:
n>
3
ε2 pB
2
ln( )
δ
(4)
Pošto poslednja teorema u oceni obima uzorka koji je neophodan da bi važio
uslov (3) koristi nepoznatu vrednost pB , ona nije korisna za postizanje drugog postavljenog cilja. Moguće je koristiti sledeći algoritam prilagodljivnog
uzorkovanja (**): uzimati uniformno instance iz D sve dok broj instanci za
koje je B(x) = 1 ne dostigne vrednost A. Ako je n ukupan broj instanci koje
su uzete iz D onda se za ocenu p0 B uzima A/n.
Teorema 11 Za svako δ > 0 i 0 < ε < 1 važi uslov (2) ako prilikom prilagodljivog uzorkovanja (**) važi:
A>
3(1 + ε)
2
ln( )
2
ε
δ
Tada, sa verovatnoćom većom od 1 − δ/2 obim uzorka n zadovoljava uslov:
n≤
3(1 + ε)
2
ln
(
)
(1 − ε)ε2 pB
δ
(5)
Pored̄enjem uslova (4) i (5) i uzimajući u obzir da je ε obično malo, zaključuje
se da je algoritam prilagodljivog uzorkovanja skoro optimalan. Za postizanje
trećeg cilja predlaže se sledeći algoritam nemonotonog prilagodljivog uzorkovanja:
• m ← 0; n ← 0;
• u0 B ← 0; α ← ∞;
• Dok je |u0 B | < α(1 + 1/ε) primenjivati sledeće korake:
– uzeti x slučajnim izborom sa uniformnom raspodelom iz D;
– m ← m + B(x); n ← n + 1;
– u0 B ← m/n − 1/2;
q
1
ln (n(n + 1)/δ));
– α ← 2n
• predložiti u0 B kao ocenu za uB ;
Mašinsko učenje, inteligentni agenti
41
Teorema 12 Za svako δ > 0 i 0 < ε < 1, nemonotono prilagodljivo uzorkovanje zadovoljava uslov (3). Takod̄e, ako je n obim uzorka, sa verovatnoćom
većom od 1 − δ, onda važi:
n≤
1
2(1 − 2ε)2
)
ln(
(ε|uB |)2
εδ|uB |
Identifikacija jezika počiva na Goldovom modelu granične identifikacije koji
je već pomenut. Ako je skup Σ neprazna i konačna azbuka i Σ∗ skup svih
niski nad skupom Σ uključujući i praznu, jezik nad azbukom Σ je bilo koji
podskup od L ⊆ Σ∗ . Model učenja jezika se sastoji od tri komponente:
1. Definicije učenja: jezik L je naučen ako je granično identifikovan med̄u
dopustivim jezicima.
2. Metod prezentovanja informacija: moguće je učenje iz teksta ili pomoću
informatora. Tekst je niz x : N → L niski jezika L takvih da se
svaka niska jezika L pojavljuje u njemu bar jednom. Razlikujemo
proizvoljan, rekurzivan i primitivno rekurzivan tekst. Informator je
niz y : N → Σ∗ × {>, ⊥} takav da je (α, >) njegov element ukoliko
α ∈ L, a (α, ⊥) ukoliko α ∈ Σ∗ − L, za svako α ∈ σ ∗ . Moguće su i
drugačije, ekvivalentne, formulacije informatora.
3. Vrste imena jezika: svaki jezik može imati jedno ili više imena. Algoritam identifikuje jezik navodeći neko od njegovih imena. Imena jezika
su Tjuringove mašine. Tester za jezik L je Tjuringova mašina koja realizuje proceduru odlučivanja za L, odnosno funkciju koja reči iz Σ∗
pridružuje 1 ukoliko je ta reč iz L, a 0 u suprotnom. Generator za L
je Tjuringova mašina koja realizuje surjektivno preslikavanje iz skupa
prirodnih brojeva u L.
Dokazane su teoreme:
Teorema 13 Za bilo koji način prezentacije informacija, ako se klasa jezika
može granično identifikovati koristeći tester imenovanje, onda se ona može
granično identifikovati i koristeći imenovanje generatorom.
Teorema 14 Koristeći prezentovanje informacija pomoću informatora i tester
imenovanje klasa primitivno rekurzivnih jezika se može granično identifikovati.
42
Seminarski rad
Teorema 15 Koristeći prezentovanje informacija pomoću informatora i imenovanje generatorom klasa rekurzivnih jezika se ne može granično identifikovati.
Teorema 16 Koristeći prezentovanje informacija pomoću proizvoljnog teksta i tester imenovanje klasa jezika konačne kardinalnosti se može granično
identifikovati.
Teorema 17 Koristeći prezentovanje informacija pomoću primitivno rekurzivnog
teksta i imenovanje generatorom cela klasa rekurzivno nabrojivih jezika se
može granično identifikovati.
Teorema 18 Koristeći prezentovanje informacija pomoću rekurzivnog teksta i imenovanje generatorom klasa jezika koja sadrži sve konačne jezike i
bar jedan beskonačan, se ne može granično identifikovati.
Teorema 19 Koristeći prezentovanje informacija pomoću primitivno rekurzivnog
teksta i tester imenovanje klasa jezika koja sadrži sve konačne jezike i bar
jedan beskonačan, se ne može granično identifikovati.
Algoritam RPNI za identifikaciju (i učenje) regularnih jezika iz pozitivnih
(S+ ) i negativnih primera (S− ) postoji, ali zahteva kompletnost uzorka (bez
formalne definicije, neophodni su i pozitivni i negativni primeri u dovoljnom
obimu da bi identifikacija bila garantovana - algoritam i detalji su u [ZR]).
Obim uzorka koji je potreban je u najgorem slučaju manji od n2 Σ, a složenost
algoritma je O((|S+ | + |S− |)|S+ |2 ). Naučeni automat je minimalni deterministički automat koji prihvata tačno jezik L. Identifikacija kontekstno slobodnih jezika (KSJ) je mnogo ,,tvrd̄i” problem, i postojeća rešenja u okviru
Goldove teorije su bar NP kompletni i neefikasni. Ovim problemom se i dalje
mnogo efikasnije bave bajesovski metodi (n-grami i skriveni lacni Markova)
i stohastičke kontektsno-slobodne gramatike (Smirnof).
Mašinsko učenje, inteligentni agenti
3
3.1
43
Statističko i Bajesovo učenje
Bajesovo učenje
Pored Bajesovog zaključivanja i mreža uverenja (belief networks, Bajesove
mreže specijalno ako koriste Bajesovo pravilo zaključivanja) kao metode automatskog zaključivanja, to je i korisna metoda mašinskog učenja jer nudi
mogućnost kvantitativnog ocenjivanja alternativnih hipoteza. Bajesovo učenje
je tako vezano za algoritme učenja koji koriste verovatnoću i statistiku kao
model. Osnova je izbor hipoteze (MAP - Maximum a posteriori) najverovatnije uslovne verovatnoće u odnosu na dati skup primera (posmatranja) D i
prostor hipoteza H (uz primenu Bajesovog pravila i izuzimanja P (D) kao
konstante za različite h):
hM AP ≡ argmaxh∈H P (h|D) = argmaxh∈H
P (D|h)P (h)
= argmaxh∈H P (D|h)P (h)
P (D)
Može se i P (h) izostaviti slično P (D) ako se pretpostavi da je a priori
verovatnoća hipoteze ista za sve hipoteze (uniformna). Na primer, P (h) =
1/|H| za sve h ∈ H, i za vrednosti primera d1 , ..., dn instanci x1 , ..., xn :
½
P (D|h) =
1, di = h(xi ) za sve di ∈ D;
0, inače.
dobija se metod MAP učenja grubom silom koji pokazuje da je:
½
P (h|D) =
1
,
|V S H,D |
0,
di = h(xi ) za sve di ∈ D;
inače.
tj. svaka konzistentna hipoteza (bez grešaka za date primere) je MAP hipoteza.
Svaki algoritam učenja koji proizvodi konzistentne hipoteze je konzistentan.
Može se pokazati da ako je distribucija u H td. je P (hi ) ≥ P (hj ) ako je hi
specifičnija od hj (specijalno, uniformna raspodela je uvek takva) onda algoritam Find-S daje MAP hipoteze. Tako se može Bajesovom mrežom karakterisati i algoritam koji ne koristi verovatnoće - kao što je induktivnim biasom
karakterisan i zamenjen deduktivnim sistemom, tako može biti zamenjem Bajesovom mrežom uz pretpostavku o raspodeli za H i datim P (D|h), odnosno
njenom gustinom p(D|h).
44
Seminarski rad
3.1.1
Veza najverovatnije hipoteze i LMS
Ako su primeri dati sa nekom očekivanom greškom m = 0 sa zadatom
disperzijom σ 2 td. je di = f (xi ) + ei , i ako su primeri med̄usobno uslovno
nezavisni onda je (h = hM L , ML - minimum likelihood):
h = argmaxh∈H
n
Y
P (di |h) = argmaxh∈H
i=1
n
Y
i=1
√
1
2πσ 2
1
2
e− 2σ2 (di −h(xi ))
što se na kraju svodi (upotrebom logaritma i drugih transformacija - detalji
u [TM-ML] kao i za mnoge druge detalje i dokaze) na:
h = argminh∈H
n
X
(di − h(xi ))2
i=1
čime se pokazuje da se najbolja hipoteza dobija minimizovanjem zbira kvadrata
razlike - LMS metodom. Konkretnije, ako je di ∈ {0, 1} (diskretan skup) i
izbor primera xi uslovno ne zavisi od hipoteze h, može se pokazati
da se i xi
Qn
mogu
tretirati
kao
slučajne
promenljive,
i
tada
je
P
(D|h)
=
P
(x
i , di |h) =
i=1
Qn
di
i=1 P (di |h, xi )P (xi ). Sličnim transformacijama (uz P (di |h, xi ) = h(xi ) (1−
h(xi ))1−di ) se dobija onda:
h = argmaxh∈H G(h, D), G(h, D) =
n
X
[di ln h(xi ) + (1 − di ) ln (1 − h(xi ))]
i=1
P
Postoji sličnost ovog izraza sa opštim oblikom entropije
−pi log pi i zato
se njegova negativna vrednost naziva i prelaznom entropijom (cross entropy).
Ovakav pristup je posebno interesantan kada je objekat učenja realna funkcija.
Prirodan model za ovakav sistem (s Bajesovom mrežom) i učenje su neuronske mreže sa povratnim propagiranjem,
gde je pravilo obučavanja NM
P
(spustom niz gradijent) ∆wjk = η ni=1 h(xi )(1 − h(xi ))(di − h(xi ))xijk u
slučaju maksimizovanja G(h, D) zamenjeno jednostavnijim pravilom:
∆wjk = η
n
X
(di − h(xi ))xijk
i=1
3.1.2
MDL princip
Ranije pomenut MDL princip je blisko povezan sa verovatnoćom i problemom Okamove oštrice. Ideja o MDL je potekla još 1960-tih kada su
Mašinsko učenje, inteligentni agenti
45
Solomonov, (Solomonoff, 1960: koja je priroda induktivnog zaključivanja
?) Kolmogorov i Čaitin (Kolmogorov, Chaitin, 1965-66: koja je priroda
slučajnosti ?) postavili pitanja i temelje statistike i informacione teorije u
vezi kompleksnosti algoritma (gde se uočava veza izmed̄u slučajno generisane
niske i složenosti programa, kao i kompresiji opisa niske programom koji u
sebi - ,,intrinsički” - tako sadrži osobine podataka) - Rissanen 1978. tako
predlaže MDL princip induktivnog zaključivanja. Uz osnovne pretpostavke
teorije informacija, može se protumačiti kod
hM AP = argmaxh∈H P (D|h)P (h) = argminh∈H [− log2 P (D|h) − log2 P (h)]
da su kraće hipoteze poželjnije (Shannon, Weaver 1949): ako je LCH (h) =
− log ph broj bitova (dužina opisa) potreban za poruku h kodom C, onda je
MDL princip hM DL = argminh∈H [LC1 (h) + LC2 (D|h)] (prvi sabirak karakteriše dužinu opisa hipoteze, a drugi dužinu opisa primera s hipotezom kao
pretpostavkom - npr. šta su izuzeci). Pokazuje se da ako je C1 = CH optimalno kodiranje za h i C2 = CD|h optimalno kodiranje za D|h, onda je
hM AP = hM DL . Med̄utim MDL ne opravdava posebno najkraću hipotezu jer
se za proizvoljna kodiranja C1 i C2 ne može opravdati MDL hipoteza kao
najbolja (potrebno je znati sve verovatnoće hipoteza da bi se to potvrdilo, a
to nije obavezno najbolja reprezentacija znanja).
3.1.3
Bajesovi klasifikatori, Gibsov algoritam
Naspram dosadašnjeg pitanja o najverovatnijoj hipotezi, još je bitnije
pitanje najverovatnije klasifikacije nove instance na osnovu zadatih primera.
Za skup vrednosti klasifikacija V optimalni Bajesov klasifikator nove instance
x ∈ X bira najverovatniju ispravnu klasifikaciju (u problemu učenja koncepta
to je kao da se bira klasifikacija nad prostorom verzija uz težinske koeficijente
tj. uslovne verovatnoće):
X
P (vj |hi )P (hi |D)
argmaxvj ∈V P (vj |D), P (vj |D) =
hi ∈H
Ovaj algoritam ima u proseku najbolje performanse u odnosu na bilo koji
drugi, ali može biti veoma skup. Gibsov algoritam koristi kompromis (veća
greška uz manju cenu računanja - Opper, Haussler, 1991):
1. Izaberi proizvoljnu hipotezu h iz H nasumice, ali prema raspodeli
uslovne verovatnoće (u odnosu na date primere)
46
Seminarski rad
2. Upotrebi h da oceniš klasifikaciju nove instance
Pokazuje se da je greška klasifikacije ovog algoritma pod odred̄enim uslovima
najviše dvaput veća od Bajesovog optimalnog klasifikatora (Haussler, 1994).
Naivni Bajesov klasifikator je jedan veoma praktičan metod učenja u nekim domenima se pokazuje uporedivim po performansama sa NM ili
drvećem odluke. Primenjiv je u zadacima gde se instance izražavaju kao konjunkcije vrednosti atributa (a1 , ..., an ) a kodomen V ciljne funkcije je diskretan (konačan). Bajesov pristup bi onda bio naći najverovatniju vrednost
vM AP = argmaxvj ∈V P (vj |a1 , ..., an ) = argmaxvj ∈V P (a1 , ..., an |vj )P (vj ) (uz
primenu Bajesovog pravila). Vrednost P (vj ) se može proceniti frekvencijom
(brojanjem) vrednosti u skupu primera, dok za uslovne verovatnoće to nije
praktično (broj kombinacije je obično dovoljno velik). Da bi se to prevazišlo,
naivni klasifikator polazi od pretpostavke da su usllovne verovatnoće atributa
u konjunkciji uslovno nezavisne tj. izbor vrednosti naivnog Bajesovog klasifikatora je:
Y
vN B = argmaxvj ∈V P (vj )
P (ai |vj )
i
gde se frekvencijama vrednosti atributa u primerima za date vrednosti ocenjuje P (ai |vj ). Uobičajeno je da se vrednost P (ai |vj ) ocenjuje sa nnc gde je
n broj primera kod kojih je vj , a nc broj takvih kod kojih je ai . Pošto
c +mp
broj takvih primera može biti suviše mali, koristi se m-ocena nn+m
gde je
m je jednak broj uzoraka a p verovatnoća izbora date vrednosti atributa
(najčešće se pretpostavlja uniformna raspodela td. je za k mogućih vrednosti atributa p = k1 , mada može uopšte biti i neka druga raspodela). Na
primer, ako je P (ai = wk |vj ) verovatnoća da je i-ta reč teksta jednaka wk
(k-ta iz nekog rečnika) i da je tekst ocenjen nekom vrednošću vj , npr. da
pripada nekoj diskusionoj listi od ponud̄enih čiji se tekstovi poruka analiziraju, onda se može pretpostaviti da je P (ai = wk |vj ) = P (am = wk |vj )
tj. da verovatnoća ne zavisi od pozicije - time se značajno dodatno smanjuje
broj kombinacija mogućih uslovnih verovatnoća, i tada se to može skraćeno
nk +1
obeležiti sa P (wk |vj ) = n+|V
, gde je nk broj koliko puta je nad̄ena reč wk
|
med̄u ukupno n mogućih pozicija (tj. reči) u primerima gde je ciljna vrednost
vj (koristi se m-ocena sa m = |V |, |V | je broj reči u rečniku V ). Algoritam
učenja onda izgleda ovako:
1. pokupi sve različite reči u skup V (tokene, uopšte) iz svih tekstova
skupa primera D
Mašinsko učenje, inteligentni agenti
47
2. izračunaj P (vj ) i P (wk |vj ) izraze verovatnoća:
za svaku vrednost vj ∈ V :
• docsj ← podskup tekstova iz skupa primera D koji sadrže vj
• P (vj ) ←
|docsj |
|D|
• textj ← tekst dobijen konkatenacijom tekstova iz docsj
• n ← broj različitih pozicija reči (broj reči) u textj
• za svaku wj ∈ V :
(a) nk ← broj reči wk u textj
(b) P (wk |vj ) ←
nk +1
n+|V |
i onda se klasifikacija vrši algoritmom:
1. ulazni dokument koji se klasifikuje ima skup pozicija reči P (reč ai je
na i-toj poziciji)
2. vN B = argmaxvj ∈V P (vj )
3.1.4
Q
i∈P
P (ai |vj )
Mreže uverenja
Ako je P (X|Y, Z) = P (X|Z) kaže se da su X i Y uslovno nezavisno pod
uslovom Z. Mrežama uverenja (belief networks) se definišu višedimenzionalne
(složene) raspodele koja se sastoji od n-torke promenljivih (Y1 , ..., Yn ). Mreža
uverenja je onda usmereni aciklični graf gde su čvorovi slučajne promenljive
u kojem je svaki potomak čvora zavisan od njega, a onaj koji to nije je nezavisan (uz uslov prethodnih čvorova ako ih ima). Tako je rekurzivno definisana
složena verovatnoća:
P (y1 , ..., yn ) =
n
Y
P (yi |Roditelji(Yi ))
i=1
gde je Roditelji(Yi ) skup neposrednih roditelja čvora Yi i kombinacija njihovih vrednosti kao u tabeli u primeru ispod:
48
Seminarski rad
(primer preuzet iz [TM-ML])
gde je prvim slovom u tabli skraćeno označen odgovarajući čvor (tabela je
vezana za čvor Campf ire, a čvorovi imaju dve moguće vrednosti - logičke
vrednosti). Mreža uverenja je potpuno zadata takvim uslovnim verovatnoćama
za svaki čvor (ili npr. faktorima dovoljnosti i potrebnosti za svaki luk da
bi se formirali logički iskazi kao pravila, kao što je to u ekspertnom sistemu PROSPECTOR) i početnim (a priori) verovatnoćama. Cilj je obično
naći raspodelu verovatnoće n-torke promenljivih na osnovu zadatih raspodela
ostalih promenljivih u mreži (i onda možda oceniti njihovu vrednost na osnovu nekih zadatih početnih verovatnoća (dokaza) ili vrednosti promenljivih).
Ovakvo verovatnosno zaključivanje je u opštem slučaju pokazano kao problem NP klase (Cooper, 1990), čak i u aproksimativnim metodama.
Učenje mreža uverenja (tj. njihovih uslovnih verovatnoća ili koeficijenata) na efikasan način se svodi na (naivni) Bajesov klasifikator ako su sve
promenljive sa verovatnoćama poznate na osnovu primera, i ako je struktura
mreže unapred poznata. Med̄utim, ako su vrednosti samo nekih promenljivih
(ostale su ,,skrivene” - skriveni Markovljevi lanci) raspoložive tokom učenja
(u primerima), onda nije tako jednostavno. Problem je donekle uporediv
sa problemom obučavanja neuronskih mreža sa skrivenim slojevima (npr.
povratnim propagiranjem), kao što se mreže zaključivanja mogu predstaviti
kao vrsta NM u krajnjem slučaju. Jedan način je traženjem najverovatnije hipoteze gradijent metodom, odnosno maksimizovanjem P (D|h). Ako
je wijk = P (Yi = yij |Ui = uik ) uslovna verovatnoća da će promenljiva Yi
imati vrednost yij ako n-torka njenih direktnih roditelja Ui ima vrednost uik ,
pokazuje se da onda važi:
∂ ln Ph (D) X P (Yi = yij , Ui = uik |d) X P (yij , uik |d)
∂ ln P (D|h)
≡
=
≡
∂wijk
∂wijk
w
wijk
ijk
d∈D
d∈D
Mašinsko učenje, inteligentni agenti
49
Ovim se dobija pravilo učenja:
wijk ← wijk + η
X Ph (yij , uik |d)
d∈D
wijk
gde se mora dodatno voditi računa da je
Pispunjen preduslov da su wijk ispravne verovatnoće (wijk ∈ [0, 1] i da je j wijk = 1 za sve i, k), što se radi
renormalizacijom koeficijenata nakon svakog ciklusa promene koeficijenata.
Učenje strukture mreže je još teži problem. Jedan način je uvod̄enje
metrike kojom se ocenjuju mreže alternativne strukture (u odnosu na početnu
i kasnije radnu strukturu - algoritam K2 , Cooper, Herskovits, 1992), a drugi
poznati način je konstruistanjem uslova (constraints) i otkrivanjem relacija
zavisnosti na osnovu primera.
3.1.5
EM algoritam
EM algoritam je posebno koristan za primere mreža sa pomenutim skrivenim čvorovima. Problema ocene k-sredina (k-means) je jedan od osnovnih
problema tog tipa - ako su ulazni podaci zadati kao niz brojeva gde je svaki element niza nasumice uniformno po jednoj od k normalnih raspodela poznatih
jednakih disperzija σ 2 i nepoznatih sredina tj. proizvoljan element niza X ima
vrednost po nekoj od k normalnih raspodela {N (µj , σ 2 )}kj=1 , a svaki takav element ima i ,,skrivenu” pridruženu vrednost j (indeks uniformno nasumično
izabrane normalne raspodele sa odgovarajućom sredinom µj , 1 ≤ j ≤ k). Cilj
problema je otkriti k-torku h = (µ1 , ..., µk ) sredina kao ispravnu hipotezu za
primer od m zadatih vrednosti. Da je skrivena vrednost poznata (da nije
skrivena, zapravo) algoritam bi bio jednostavan - za svaki podniz yi ovakvog
niza xi čijim je vrednostima pridružena samo jedna sredinaP(i odgovarajuća
raspodela) traži se hipoteza µM L td. je µM L = argminµ m
µ)2 za
i=1 (yi −P
1
šta se pokazuje da je rešenje (koje minimizuje ovu sumu) µM L = m m
i=1 yi
(recimo, kao da je dat niz (k + 1)-torki (xi , zi1 , ..., zik ) gde zij = 1 ukazuje da
je za vrednost xi korišćena normalna raspodela sa sredinom µj - ostale vrednosti zin = 0). EM algoritam za ovaj problem incijalizuje h = (zi1 , ..., zik )
(recimo prvih k vrednosti ulaznog niza ili njihova srednja vrednost) i onda
ponavlja naredne korake do stabilnog h (po nekom kriterijumu):
50
Seminarski rad
1. izračunaj E[zij ], j = 1, k uz pretpostavku trenutne h:
p(x = xi |µ = µj )
E[zij ] = Pk
n=1
p(x = xi |µ = µn )
1
e− 2σ2 (xi − µj )2
= Pk
n=1
1
e− 2σ2 (xi − µn )2
2. izračunaj najverovatniju novu hipotezu h0 = (µ01 , ..., µ0k ) uz pretpostavku
da je trenutna vrednost zij , j = 1, k je prethodno izračunata E[zij ] i
zameni h sa h0 :
Pm
E[zij ]xi
µj ← Pi=1
m
i=1 E[zij ]
Suština algoritma su ova dva koraka, gde se najpre koristi trenutna hipoteza
da bi se ocenile skrivene vrednosti, a onda se tako dobijenim skrivenim
vrednostima računa iterativno bolja hipoteza. EM algoritam obavezno konvergira ka lokalno maksimalno verovatnoj (P (D|h)) hipotezi na taj način.
Uobičejena uopštena formulacija je da se za skup posmatranih vrednosti (observed) X
S = {x1 , ..., xm } i skrivenih (hidden, unobserved) Z = {z1 , ..., zm }
(Y = X Z je ukupan, pun skup podataka) posmatra skup parametara θ
koji je od interesa za problem. Z se može posmatrati kao slučajna promenljiva
(a time i Y ) čija raspodela zavisi od nepoznatih parametara θ i poznatih podataka X. Traži se h0 tako da maksimizuje E[ln P (Y |h0 )], tj. Q(h0 |h) =
E[ln P (Y |h0 )|h, X] (kao funkcija od h0 pod pretpostavkom θ = h). Tada se
uopšteni EM algoritam svodi na sledeća dva koraka:
procena (estimation) (E): računanje Q(h0 |h)
maksimizovanje (maximization) (M):
h ← argmaxh0 Q(h0 |h)
Ako je Q neprekidna onda EM konvergira ka stacionarnoj tački funkcije
P (Y |h0 ) (slično gradijent metodama). U slučaju problema k-sredina
važi:
Pk
− 12
zij (xi −µ0j )2
1
0
0
j=1
θ = (µ1 , ..., µk ), p(yi |h ) = p(xi , zi1 , ..., zik |h ) = √2πσ2 e 2σ
,
Pm
Qm
0
0
0
pa je ln P (Y |h ) = ln i=1 p(yi |h³) =
i=1 p(yi |h ), i na osnovu toga
´ je
Pm
Pk
1
1
0
0
2
0
Q(h |h) = E[ln P (Y |h )] = i=1 ln √2πσ2 − 2σ2 j=1 E[zij ](xi − µj ) , pa
P Pk
0 2
je argmaxh0 Q(h0 |h) = argminh0 m
j=1 E[zij ](xi − µj ) .
i=1
Mašinsko učenje, inteligentni agenti
3.2
51
Statističko učenje i funkcija gubitka
Sve pomenute metode i poznate metode matematičke verovatnoće i statistike nude korisne alate u problemima mašinskog učenja. To se može i ovako
posmatrati: ako je X slučajna promenljiva nad n-torkama gde je p(X) (a
priori) verovatnoća da je to n-torka koju tražimo da klasifikujemo, odnosno
gustina raspodele slučajne promenljive X, onda se može sa p(X|1) i p(X|2)
označiti gustina raspodele za kategorije 1 i 2 (p(i) je a priori verovatnoća
kategorije), redom (dalje se sve može uopštiti jednostavno za proizvoljan
broj kategorija) - raspodele za te dve kategorije se mogu razlikovati. Dve
osnovne greške se mogu napraviti: da je data n-torka (uzorak, šema) u kategorji 1 iako pripada kategoriji 2, i obratno. Ozbiljnost napravljene greške
se ocenjuje funkcijom gubitka (loss function) λ(i|j) za odabranu kategoriju
i ako je kategorija j tačna (λ(i|i) = 0). Očekivana vrednost gubitka za
dato x je LX (i) = λ(i|1)p(1|X) + λ(i|2)p(2|X). Kategoriju 1 biramo ako je
LX (1) ≤ LX (2), a upotrebom Bajesovog pravila dobija se:
λ(1|2)p(X|2)p(2) ≤ λ(2|1)p(X|1)p(1)
Specijalno, ako je λ(1|2) = λ(2|1) i p(1) = p(2) onda je taj uslov: p(X|2) ≤
p(X|1) (tj. izbor najverovatnije kategorije u X, maximum likelihood), gde se
koristi i opštije k(i|j) = λ(i|j)p(j). Naravno, za proizvoljan skup kategorija
C se može zadatak definisati uopšteno, gde se bira kategorija j ∈ C za koju
važi:
j = argmini∈C LX (i)
Konkretan kriterijum se dobija izborom pretpostavljene raspodele - dve
raspodele su interesantne: Gausova (normalna) i binomna. Matrično zapisana gustina višedimenzionalne normalne raspodele je:
p(X) =
1
(2π)n/2 |Σ|
e
1/2
−(X−M )T Σ−1 (X−M )
2
gde je M = E[X] srednji vektor (vektor srednjih vrednosti), Σ = [σij2 ]ij
matrica kovarijanse (simetrična, pozitivno definitna), |Σ| = det Σ, σij2 =
E[(xi − mi )(xj − mj )] (σii2 je disperzija za xi ). Tada se pomenuti kriterijum
svodi na:
(X − M1 )T Σ1 −1 (X − M1 ) ≤ (X − M2 )T Σ2 −1 (X − M2 ) + B
52
gde je B =
Seminarski rad
2
( 1
(2π)n/2 |Σ2 |1/2
− |Σ11|1/2 ) konstanta. Specijalno, ako je Σ1 = Σ2 = Σ
i ako su dijagonalne, tada je uslov: (X − M1 )T (X − M1 ) ≤ (X − M2 )T (X −
M2 ) tj. X(M1 − M2 ) ≥ C gde je C = (M1 M1 − M2 M2 )/2 konstanta.
Ako su vrednosti slučajne promenljive u skupu {0, 1}, i ako su komponente uslovno nezavisne, p(X|i) = p(x1 |i) . . . p(xn |i), može se zapisati (binomna raspodela):
p(xi = 1|1) = pi
p(xi = 0|1) = 1 − pi
p(xi = 1|2) = qi
p(xi = 0|2) = 1 − qi
Mašinsko učenje, inteligentni agenti
53
i onda je pomenuti uslov:
n
X
i=1
3.3
n
xi log
pi (1 − qi ) X
1 − pi
p(1)
+
log
+ log
≥0
qi (1 − pi ) i=1
1 − qi
p(2)
Kombinatorna optimizacija, inteligencija roja
Mnogi problemi veštačke inteligencije se rešavaju dinamičkim programiranjem i metodama bliskim problemima optimizacije. Klasa asinhrono distribuiranih algoritama koji su inspirisani biološkim zajednicama, poput mrava
u prirodi (slično genetskim algoritmima), zove se inteligencija roja (swarm
intelligence). Primer je TSP problem (putujućeg trgovca) odred̄ivanja optimalnog Hamiltonovog puta datog obeleženog (cenama) grafa. Rubinštajn
predlaže metodu koja daje podklasu ovakvih algoritama (inspirasanu optimizacijom kolonije mrava, Rubinstein, 1999) upotrebom prelazne entropije ,,PE mravi” (CE-ants, Cross Entropy). Rubinštajnova metoda nije distribuirana (računanja se ne mogu paralelizovati) i spada specijalno zato
u klasu centralnih metoda (varijantu koja jeste distribuirana predložili su
Helvik i Wittner, 2001). Schoonderwoerd (kao primenu na osnovu Dorigovog
ACO metoda i sistema AntNet, Ant Colony Optimization) predlaže sistem sa
većim brojem veoma uprošćenih agenata (koji vremenom stare) za rešavanje
mrežnih i telekomunikacionih problema. Med̄utim, ovaj metod se ne snalazi
tako dobro sa NP problemima kao što je TSP, što metoda PE-mrava ispravlja
uvod̄enjem koeficijenta žiže pretrage.
Broj Hamiltonovih putanja u grafu reda n je (n − 1)! - ideja je iskoristiti
statističke osobine roja koji ostavlja feromonske tragove koji ukazaju blizinu
optimalne putanje, i tako naći rešenje što bliže optimalnom. Ovi tragovi su
dati matricom prelaska Pt u trenutku t, koja odgovara matrici verovatnoća
Markovljevog lanca. Ako je funkcija cene putanje πi = {r1i , r2i , ..., rni } sa
matricom cena Lkl (za Hamiltonovu
Pni −1 putanju važi za svako i da je ni = n + 1
i r1i = rni ) data sa L(πi ) = j=1 Lrj rj+1 , Rubinštajnovi PE-mravi ovako
rade (slično EM-algoritmu, traži se matrica prelaska u dva koraka - računa
se funkcija ocene performansi, a onda iteracija matrice prelaska):
1. Pt=0 se inicijalizuje uniformno nasumičnim (malim) vrednostima
2. generiši N putanja na osnovu Pt i izračunaj minimalnu Bolcmanovu
temperaturu γt kao meru performanse kojom se utiče na izbor značajnijih
54
Seminarski rad
putanja:
N
1 X
γt ≡ argminγ 0 t h(Pt , γ t ), h(Pt , γ t ) =
H(πk , γt ) > ρ
N k=1
0
−
0
L(πk ))
gde je H(Pt , γ 0 t ) = e γt , k = 1, N mera performanse putanje πk , a
10−6 ≤ ρ ≤ 10−2 ograničenje tj. koeficijent žiže pretrage (search focus)
kao parametar algoritma.
P
P
3. za narednu iteraciju Pt+1 = argmaxPt N1 N
k=1 H(πk , γt )
i,j , pokazuje
se da je:
P
{r,s}∈πk ,k=1,N H(πk , γt )
Pt+1,ij = P
{r}∈πl ,l=1,N H(πl , γt )
koja minimizuje prelaznu entropiju i poštuje ograničenja γt
π , γt ) ≈ H(b
π , γt+1 )
4. ponavljaj prethodna dva koraka sve dok ne bude H(b
gde je π
b približno optimalno rešenje (najbliže pronad̄eno)
Distribuirana i asinhrona verzija koristi sledeće izmene (autoregresijom):
P
t−k
H(πk , γt )
{r,s}∈πk ,k=1,t β
Pt+1,ij = P
, γt = argminγ 0 t h0 t (γ 0 t ) > ρ
t−l
β
H(π
,
γ
)
l t
{r}∈πl ,l=1,t
t
1 − β X t−k
β H(πk , γt )
h t (γ t ) = h t−1 (γ t )β + (1 − β)H(πt , γt ) ≈
1 − β t k=1
0
0
0
0
gde 0 < β < 1 kontroliše istoriju zapamćenih putanja umesto N (recimo β = 0.998, ρ se smanjuje svaki put za 5%). Koraci 2. i 3. algoritma se tako mogu napraviti posle samo jedne nove putanje πt . Dalje
poboljšanje algoritma se ogleda u primeni elitnog izbora (elite selection) gde
se cena ograničava relativno u odnosu na trenutno najbolju nad̄enu putanju
Lnajbolji, t = min∀u≤t L(πu ) tako da je:
L(πt ) ≤ (1 + ρ2 )Lnajbolji,
t−1
gde je ρ2 parametar koji se može i menjati tokom vremena (iteracija). Kada
je ρ2 = 0 rešenje se pronalazi brzo ali nije toliko blisko optimalnom. Ideja
je vremenom smanjivati ρ2 (čime elitna selekcija postaje restriktivnija) svaki
Mašinsko učenje, inteligentni agenti
55
put kada se nad̄e novo bolje rešenje (Lnajbolji, t+n < Lnajbolji, t ) ili kada nijedan od Dperiod ,,mrava” (novih putanja - obično se uzima proizvod n sa
prosečnim brojem veza po čvoru) nije prihvaćen (što je ekvivalentno postupku
povremenog povećavanja ρ). Dodatna modifikacija uslova elitnog izbora bi
bila L(πt ) < −γt ln ρ koja je posebno korisna ako se dinamički menjaju težine
lukova i veze čvorova. Detalji se mogu naći u [CEants].
3.4
Apriori metoda
Ova metoda u osnovnom obliku (Agrawal, IBM) ne spada med̄u metode
učenja instancama narednog poglavlja, ali predstavlja primer statistički orijentisane metode nenadgledanog učenja, i jedan od osnovnih metoda traganja
za podacima (i npr. upravljanja transakcijama baza podataka). Instanca je
data kao skup od k elemenata ili niz ured̄enih elemenata (transakcija, kinstanca tj. k-itemset) čiji su elementi atributi sa tačnim istinitosnim vrednostima. Cilj je pronaći pravila oblika A, B, C, ... ⇒ D, E, F, ... sa značenjem
da ako su A, B, C elementi instance onda su to i D, E, F, ... najverovatnije.
Rezultat algoritma je spisak pravila, takozvanih asocijacija, sa pridruženim
verovatnoćama. Algoritam polazi od pojma podrške instance supp(X) kao
broja svih instanci iz skupa primera koji sadrže X (kao podskup), i dva
parametra - minsup kao minimalnu vrednost podrške instance da bi bila
velika (ostale us male), i mincon kao minimalnog odnosa podrške velike instance L i njenog nekog podksupa A. Prvi deo algoritma pronalazi sve velike
instance (Lk je skup velikih k-instanci, Ck je skup kandidata za Lk ):
1. k ← 1, C1 ← sve 1-instance
2. (*) nad̄i velike instance Lk iz Ck (odbacuju se male)
3. formiraj Ck+1 na osnovu Lk
4. k ← k + 1
5. ponavljaj korake 2-4 sve dok Ck ili Lk−1 ne postane prazan, rezultat je
∪k L k
Podalgoritam koji generiše naredni skup kandidata (*):
• Ck ← ∅
56
Seminarski rad
• korak dodavanja: Ck nastaje spajanjem Lk−1 sa Lk−1 tako da mu se
dodaje unija svake dve (k −1)-instance koje se razlikuju u samo jednom
elementu
• sortiraj Ck leksikografski (ako su elementi instanci već sortirani, onda
se i elementi Ck isto tako sortiraju)
• korak brisanja: svaka k-instanca koja sadrži malu (k − 1)-instancu se
briše iz Ck
Drugi deo algoritma generiše pravila oblika:
A⇒L−A
ako je supp(L)/supp(A) ≥ mincon. Pošto algoritam koristi podršku koja
predstavlja statističku karakteristiku instanci, ako asocijacija X ⇒ Y sledi
iz primera, X + A ⇒ Y ne mora biti iako sledi iz primera jer može da
ima malu podršku. Obično se prati jedinstveni identifikator svake instance
(transakcije) uporedo sa generisanjem kandidata (AprioriTid), a postoje i
mnoga poboljšanja algoritma u smislu performansi, kao i varijante (AIS,
zatim SETM koji koristi SQL). Primer:
Mašinsko učenje, inteligentni agenti
(primer preuzet iz [apriori])
57
58
4
Seminarski rad
Učenje instancama i metode klasifikacije
Naspram ranije pomenutih metoda, učenje instancama pamti primere i
generalizuje ih tek unosom nove instance - do tada je ono odloženo, i zato se
ove metode nazivaju i ,,lenjim” (lazy) - nasuprot njima su ,,radoznale” (eager) metode. Osnovna prednost metoda učenja s odloženim uopštavanjem je
njihova prilagodljivost novim primerima.
4.1
Metod najbližih suseda
Jedan metod učenja instancama (koji se smatra takod̄e i statističkim) je
metod najbližih suseda ili metod memorije (Dasarathy 1991, Moore 1994).
Data je funkcija f : Rn → V gde je V = {vi } skup kategorija diskretnih vrednosti i funkcije aj : X → R koje dodeljuju vrednost j-tog atributa instance
td. je skup primera D = {(xi , fi )} (kompozicija fi = f (a1 (xi ), ..., an (xi ))
se skraćeno obeležava sa f (xi )), i onda se za instancu (upit) xq ocenjuje
njena kategorija f (xq ). Odabiranjem najbližih k suseda vektoru koji se
testira u odnosu
qP na skup primera po nekoj metrici, na primer euklidskoj
n
2
(d(x1 , x2 ) =
j=1 (aj (x1 ) − aj (x2 )) , ovde npr. aj vrše korekciju koeficijentima koji se biraju tako da po svakoj dimenziji daju približno ujednačen
uticaj svakog atributa - ako su vektori normirani bitan je samo ugao i onda
se može posmatrati njihov skalarni proizvod), bira se kategorija koja je najbrojnija kao ocena kategorije (δ(a, b) = 1 ako a = b, inače je δ(a, b) = 0):
fb(xq ) ← argmaxv∈V
k
X
δ(v, f (xi ))
i=1
Što je gustina tačaka oko instance upita veća, poželjnija je veća vrednost
k. Ova metoda traži dosta memorije za primere, postoje efikasne primene
(kd-tree method, Friedman, 1977), a još su Kaver i Hart (Cover, Hart 1967)
pokazali da je metoda 1-najbližeg suseda po performansama približna i vezana
za ranije opisanu metodu minimalne verovatnoće greške. Ispod je prikazana
granica med̄u kategorijama za metodu 1-najbližeg suseda što predstavlja
reprezentaciju implicitno naučene hipoteze (ovakvi se dijagrami nazivaju
Voronoj dijagramima):
Mašinsko učenje, inteligentni agenti
59
Varijanta aproksimacije neprekidne funkcije ovakvim algoritmom se dobija
ocenom:
Pk
f (xi )
fb(xq ) ← i=1
k
Očigledno poboljšanje algoritma je da se daje prednost bližim primerima
prilikom glasanja, što se može postići sa:
fb(xq ) = argmaxv∈V
k
X
wi δ(v, f (xi )), wi ≡
i=1
1
d(xq , xi )2
tako da ako se xq poklopi sa nekom instancom xi iz skupa primera onda se
dodeljuje fb(xq ) ← f (xi ) po definiciji (ako ima više vrednosti u skupu primera
za istu instancu onda se dodeljuje najbrojnija vrednost). U neprekidnom
slučaju to je:
Pk
wi f (xi )
b
f (xq ) ← i=1
Pk
i=1 wi
Pomenuti težinski koeficijenti za vrednosti aj mogu biti korisni ako neki
atributi nisu relevantni (dve instance su veoma udaljene zbog atributa koji
ne utiču toliko na rezultat, a imaju istu vrednost - ,,prokletstvo dimenzionalnosti”). Odgovarajuća statistička terminologija:
• regresija predstavlja aproksimaciju neprekidne funkcije realne vrednosti
• funkcija K je jezgro, tako da važi wi = K(d(xi , xq ))
• rezidualna greška aproksimacije je fb(x) − f (x)
60
Seminarski rad
4.1.1
Lokalno-težinska regresija
Jedno uopštenje prethodnog metoda je aproksimacija f u okolini xq (u
smislu odabranih primera) nekom funckijom: linearnom (linearna regresija),
kvadratnom funkcijom, višeslojnom NM, itd. Lokalno-težinska linearna regresija tako koristi fb(x) = w0 +w1 a1 (x)+...+wn an (x). Ako se greška definiše
tako da se dobije lokalna aproksimacija, mogući su pristupi:
P
• E1 (xq ) ≡ 21 x∈Dk (xq ) (f (x) − fb(x))2 gde je Dk (xq ) skup k primera iz
D najbližih xq
P
• E2 (xq ) ≡ 12 x∈D (f (x) − fb(x))2 K(d(xq , x))
• kombinacija prethodna dva: E3 (xq ) ≡
1
2
P
x∈Dk (xq )
(f (x) − fb(x))2 K(d(xq , x))
i tada je npr. za E3 gradijent pravilo:
X
(f (x) − fb(x))aj (x)
∆wj = η
x∈Dk (xq )
Obično se ne koriste složenij forme aproksimacije od linearnih i kvadratnih
jer su ostale računski daleko skuplje, a navedene na dovoljno maloj okolini
tačke upita imaju u većini slučajeva zadovoljavajuće performanse.
4.2
Funkcije radijalne baze
Ovaj pristup je blizak prethodnom i učenju NM - funkcija hipoteza,
funkcije radijalne baze - FRB (Radial Basis Function - RBF), je oblika:
fb(x) = w0 +
k
X
wu Ku (d(xu , x))
u=1
gde je xu instanca u X i Ku jezgro takvo da mu vrednost opada sa rastom rastojanja d(xu , x). Uobičajen izbor jezgra je Gausovo Ku (d(xu , x)) =
1
d2 (xu ,x)
(gustina normalne raspodele sa sredinom u xu i disperzijom σu2 ,
e 2σu2
mada to može biti kao kod Furijeove transformacije - trigonometrijski polinom ili funkcija kompleksnog argumenta). Funkcije radijalne baze se mogu
posmatrati kao kao dvoslojna (neuronska) mreža gde se u prvom sloju nalaze
jezgra, a u drugom sloju njihova linearna kombinacija. FRB predstavljaju
Mašinsko učenje, inteligentni agenti
61
glatku linearnu kombinaciju lokalnih aproksimacija ciljne funckije. Obučavanje
se obično vrši u dve faze: najpre se odred̄uje broj k skrivenih jedinica i njihovih parametara xu i σu2 , a onda se se u drugoj fazi odred̄uju koeficijenti wu
tako da se minimizuje globalna greška E. Jedan pristup od mnogih je da se
svakom primeru dodeli jedno jezgro (jednake disperzije σ 2 ) tako da je FRB
tačna za svaki primer (fb(xi ) = f (xi ) za svako xi ∈ D). Drugi pristup je da
je broj jezgara manji od broja primera (pogotovu ako je broj primera veliki)
- tada se, zavisno od domena, mogu birati jezgra uniformno raspored̄ena u
nekoj oblasti prostora instanci ili oko klastera (grozd - cluster) ili njihovih
hijerarhija (vezano za metodu nenadgledanog učenja). Prednost FRB je jednostavnija obuka nego kod NM sa povratnim propagiranjem.
(ilustracija preuzeta iz [TM-ML])
4.2.1
Zaključivanje izborom slučaja
Zaključivanje izborom slučaja (Case-Based Reasoning) polazi od odloženog
zaključivanja i instanci primera bliskih instanci upita (one udaljene zanemaruje) slično prethodnim metodama, ali ne koristi instance koje su ured̄ene
n-torke u Rn već simboličke zapise u smislu deklarativnog znanja. Primer
takvog sistema je CADET (Sycara, 1992).
62
Seminarski rad
4.3
Nenadgledano učenje i metode klasterovanja
Pored samo-organizujućih mapa (NM), metode klasterovanja su najpoznatiji metod nenadgledanog učenja. Ako se pod̄e od primera skupa tačaka u
ravni na slici ispod:
cilj nenadgledanog učenja je da se pronad̄e skup particija koji razbija dati
skup tačaka tako da su tačke u tim particijama (klasterima) u nekom geometrijskom ili drugom smislu bliske tj. postoji kriterijum po kom se izdvajaju od drugih klastera. U prvom slučaju je lako odrediti dva klastera,
u drugom jedan, a u trećem je to nejasno. Načelno se ovakav postupak
klasterovanja odvija u dva koraka:
• najpre se pronalazi R particija E1 , ..., ER datog skupa E (i sam broj R
treba pronaći najčešće)
• algoritam koji klasifikuje nove instance na osnovu prethodnog
Drugi načelni metod je postupak kojim se otkrivaju klasteri klastera, odnosno
hijerarhije klastera. Ako je moguće definisati euklidsku metriku nad instancama onda je moguće formulisati sledeći algoritam: pokreću se C1 ... CR
pretraživači početnog skupa E neoznačenih instanci gde svaki pretraživač
traži centar Cj svog klastera po nekom kriterijumu (izbegavajući tud̄e).
Mašinsko učenje, inteligentni agenti
63
Za svaku novu instancu Xi , pretraživač Cj koji je najbliži Xi koriguje svoju
vrednost brzinom αj = 1/(1 + mj ) (može biti konstanta a može opadati s
,,masom” mj koja predstavlja broj tačaka u klasteru):
Cj ← (1 − αj )Cj + αj Xi
(ilustracija preuzeta iz [intro])
64
Seminarski rad
Kada tragači konvergiraju, klasifikacija se onda može raditi kao linearna
tj. Voronoi oblika (jedna od linearnih metoda klasifikacije je i maksimalno
granična hiperravan ili SVM, Support Vector Machine):
P
Greška jednog klastera je onda njegova disperzija Vj = m1j i∈Cj (Xi − Mj )2
P
P
gde je njegova sredina Mj = m1j i Xi . Cilj je minimizovati j Vj . Broj
klastera utiče na grešku tako da je njegovo odred̄ivanje slično ranije pomenutom MDL principu.
Može se poći od ocene verovatnoće tj. sličnosti kao veličine definisane
sa S(X, Ci ) = p(Ci |X) = p(x1 |Ci )...p(xn |Ci )p(Ci ) za instancu X (p(xj |Ci )
se ocenjuje statistikom iz primera, frekvencijom i slično, uz pretpostavku
o uslovnoj nezavisnosti komponenti instance). Algoritam koji ovo koristi
(Mahadevan, Connel, 1992) bi bio (δ i ε su zadati):
1. dat je skup neoznačenih primera E i prazna lista L, sve sličnosti su 0
na početku
2. izračunaj S(X, Ci ) za novu X, najveća je S(X, Cmax ), onda:
S
• ako je S(X, Cmax ) > δ onda Cmax ← Cmax {X}, ažuriraj promenjene verovatnoće i pred̄i na 3. korak
• kreiraj nov klaster Cnovi = {X} i dodaj Cnovi u L
3. spoj klastere Ci i Cj zaSkoje je (Mi − Mj )2 < ε i kreiraj verovatnoće za
nov klaster Cspoj = Ci Cj
Mašinsko učenje, inteligentni agenti
65
4. ako se verovatnoće nisu promenile nakon iteracije kroz E, onda je rezultat u L, inače pred̄i na 2. korak
Jedan jednostavan metod za hijerarhijsku klasifikaciju je aglomerativna
metoda. Sastoji se u sledećem: iz skupa neoznačenih instanci se E biraju dve
najbliže tačke (ako se formira binarno drvo) ili više takvih (traži se najmanja
površina za tri tačke i ternarna drveta, odnosno višedimenzionalna zapremina
u opštem slučaju za više tačaka), i ako su to:
• instance Xi i Xj , onda se formira nov klaster C i umesto njih se u E
ubacuje vektor sredine te dve instance
• instanca Xi i klaster Cj onda se formira nov klaster i umesto njih se u
E ubacuje vektor sredine s odgovarajućim težinama (prema masi)
• klasteri Ci i Cj onda se formira nov klaster i umesto njih se u E ubacuje
vektor sredine s odgovarajućim težinama (prema masi)
Na kraju ostaje posle odred̄enog broja iteracija samo jedan klaster - koren. Ako su {vij }j moguće vrednosti komponente xi instance X, polazeći od
verovatnoće da je vrednost te komponente
izabrana onda je
Pu kategoriji
P dobro
P
mera koliko je dobra klasifikacija Z = R1 k P (Ck ) i j (P (vij |Ck ))2 gde je
P (Ck ) verovatnoća da je instanca u Ck , a R ukupan broj kategorija (time se
,,kažnjava” veliki broj kategorija). Testiranje svih mogućih particija skupa
E je izračunljivo nepraktično. Metoda koju koristi COBWEB procedura
(Fisher, 1987) koristi algoritam koji kreira drvo čiji je koren obeležen sa E,
a svaki naslednik je particija, sve do lišća - singltona iz E, upotrebom Z:
1. Na početku imamo samo koren (i kasnije, svaki neprazan čvor ima bar
jednog praznog naslednika)
2. izaberi Xi iz E - ako nema takve, algoritam se prekida
3. neka je µ ← koren
4. traži se najbolji domaćin za Xi (sa najvećim Z) za svakog naslednika
od µ
5. ako je najbolji η prazan, Xi mu se dodeljuje (kreira se njegov prazan
nasednik, kao i dodatni prazan naslednik µ)
66
Seminarski rad
6. ako je najbolji η list, dodeljuje mu se Xi , kreiraju se njegovi listovi (njegov singlton, Xi i jedan prazan) kao i prazni naslednici novih nepraznih
listova
7. ako najbolji η nije list, Xi mu se dodeljuje, onda µ ← η i prelazi se na
4. korak
Pošto ovakva procedura veoma zavisi od redosleda dodavanja novih instanci,
koriste se dve heuristike: spajanje čvorova (ako se Z povećava spajanjem dva
najbolja naslednika, da bi se izbegla kombinatorna eksplozija ispitivanjem
svih ostalih mogućnosti) i razdvajanje (zamenjuje se najbolji čvor naslednik
njegovim singltonima ako to povećava Z).
(ilustracija preuzeta iz [intro])
4.4
Vremenske instance i problem predvid̄anja
Ako niz instanci X1 , ..., Xi , Xi+1 , ..., Xm predstavlja dinamički sistem gde
se za n-dimenzionalnu instancu X i neku njenu vrednost z koja se predvid̄a
daje primer (Xi , zi ) u trenutku t = i. Zadatak je odrediti ili zi+1 na osnovu
Xi za bilo koje i, ili zm+1 na osnovu celog niza {Xi }, gde se odred̄uje ocena
f (Xi ) vrednosti. Ako se odred̄uje na osnovu razlika f (Xi+1 ) i f (Xi ) (što
se pokazuje boljim nego na osnovu razlike zi i f (Xi )), onda je to metoda
Mašinsko učenje, inteligentni agenti
67
vremenske razlike, TD (Temporal Difference). Uzima se da f (X, W ) zavisi
od vektora koeficijenata W , pa se za svaki član niza računa popravka:
W ←W+
m
X
(∆W )i
i=1
gradijent pravilom (LMS):
(∆W )i = η(z − fi )
∂fi
∂W
gde je fi = f (Xi , W ) predvid̄anje za z u t = i. Za f (X, W ) = X · W se
dobija Widrow-Hoff
pravilo: (∆W )i = η(z − fi )Xi . Ako je z = fm+1 onda je
Pm
(z − fi ) = k=i fk+1 − fk i onda je to TD metoda. Jedno uopštenje je:
(∆W )i = η
m
∂fi X (k−i)
λ
(fk+1 − fk )
∂W k=i
i onda je to metoda TD(λ) za parametar 0 ≤ λ ≤ 1. Za λ = 1 to je
prethodno predstavljena TD metoda, za λ = 0 se posebno definiše (čemu teži
∂fi
uniformno) TD(0): (∆W )i = η(fi+1 − fi ) ∂W
. Ova klasa metoda se razlikuje
samo u izrazu greške - kod TD(1) to je razlika z i predvid̄ene vrednosti, a kod
TD(0) je razlika niza predvid̄enih vrednosti (TD(1) je potpuno nadgledana
metoda, ostale nisu). Popravak se lako može računati rekurentno:
(∆W )i = η(fi+1 − fi )ei , ei+1 =
∂fi+1
+ λei , e0 = 0
∂W
Ovo se može posmatrati kao lanac procesa Markova - ono što se uči su
nepoznate verovatnoće prelaska iz stanja u stanje (skrivene vrednosti, ili
npr. konačan skup instanci koje se pojavljuju u nizu i vrednosti koje se
predvid̄aju). Pokazuje se da klasična Widrow-Hoff metoda TD(1) ne predvid̄a dobro (iako minimizuje grešku na skupu primera), a da linearna TD(0)
teži onome što daje optimalna metoda najveće verovatnoće (Sutton, 1988).
68
Seminarski rad
(dijagram preuzet iz [intro])
U slici iznad se podrazumeva greška predvid̄anja za najbolje odabran η (i
odgovarajući λ, naravno). Ako se niz popravljenih vrednosti Wi posmatra
(kao kod NM), gde je fi+1 = f (Xi+1 , Wi ), da bi se izbegla zavisnost od
promena W definiše se fi = f (Xi , Wi ) kod fi+1 − fi , tako da u TD(0) važi:
Wi+1 = Wi + η(fi+1 − fi )
∂fi
∂W
(koristi se u kombinaciji s povratnim propagiranjem kod NM gde se izlazima
ocenjuje tražena vrednost).
4.5
SVM, mašine potpornih vektora
Support Vector Machine (SVM, Vladimir Vapnik, 1963) poznata je i kao
metoda maksimalno granične hiperravni jer se traži hiperravan koja razdvaja
hiperprostor primera u dve particije (poluprostora) koje odgovaraju dvema
kategorijama (može se uopštiti onda i za veći broj kategorija) tako da je udaljenost te hiperravni od najbližih tačaka podataka maksimalna. Hiperravan
je odred̄ena vektorom w i jednačinom w · x − b = 0. Podaci su linearno
Mašinsko učenje, inteligentni agenti
69
separabilni ako postoje dve hiperravni paralelne datoj (u različitim podprostorima) izmed̄u kojih nema tačaka iz skupa primera, tj. |w · xi − b| ≥ 1, što
se može opisati i sa ci (w · xi − b) ≥ 1. Primeri koji leže na ovim paralelnim
hiperravnima se nazivaju vektorima nosačima (support vectors) :
Ako se pod̄e od skupa primera oblika {(x1 , c1 ), ..., (xn , cn )} gde su ci ∈ {−1, 1}
(vrednosti xi je poželjno normalizovati, recimo xi ∈ [−1, 1], da ne bi uticale na klasifikaciju), zadatak se onda svodi na minimizovanje |w|, tj. na
kvadratnu optimizaciju min 21 |w|2 uz pomenute uslove sa koeficijentima ci (w ·
xi − b) ≥ 1 (i = 1, n). Dualni oblik zadatka pokazuje da
P problem zavisi samo
od vektora nosača - ako je αi zadato sistemom w = i αi ci xi , dualni oblik
je:
n
X
X
max
αi −
αi αj ci cj xTi xj , αi ≥ 0
i=1
i,j
Ako se dozvoli odred̄ena greška klasifikacije ξ onda se dobija meka granica
(soft margin):
ci (w · xi − b) ≥ 1 − ξi , i = 1, n
pa ako jeP
ocena greške linearna, cilj postaje minimizovanje objektivne funkcije
|w|2 +C i ξi uz prethodne uslove i C kao parametar (stepen ,,kažnjavanja” grešaka u klasifikovanju). To se može rešiti upotrebom metode Lagranžovih
koeficijenata, što se može pokazati korisnim kod nelinearnih jezgara, i tada
70
Seminarski rad
se dobija efikasan iterativan algoritam LSVM. SVR (Support Vector Regression) koristi model takve funkcije koji koristi samo deo skupa primera a
ostale ignoriše. Ako se skalarni proizvod u jednačinama komponuje sa nekom
funkcijom jezgra (polinomijalno homogeno k(x1 , x2 ) = (x1 · x2 )k , polinomijalno nehomogeno k(x1 , x2 ) = (x1 · x2 + 1)k , Gausovo, sigmoid, itd.) dobijaju se nelinearne varijante metode (Aizerman). SMV je izuzetno efikasna
metoda u eksploataciji uz date pretpostavke, i nije metoda učenja instancama u osnovnom obliku. Obuka može biti zahtevnija za veliki broj primera
i kategorija, ali je metoda u suštini linearno kompleksna O(nm) (m je dimenzija prostora) za razliku od ostalih sličnih poznatih metoda mašinskog
učenja koje mahom eksponencijalno zavise od m.
Mašinsko učenje, inteligentni agenti
5
71
Analitičko učenje i učenje objašnjenjima
Glavna zamerka induktivnim metodama učenja su njihove loše performanse kada je broj primera mali (ili nedovoljan onako kako je to pokazano
računskom teorijom učenja). Jedan pristup kojim se ovo može prevazići
je analitičko učenje koje podrazumeva da je pored primera dato i nekakvo
predznanje o predmetu učenja i pri tom se koristi deduktivno zaključivanje.
5.1
Učenje objašnjenjima (EBL)
Metoda učenja objašnjenjima (EBL - Explanation Based Learning) koristi takvo predznanje da bi analizirala (objasnila) svaki primer kako bi se
zaključilo da li odgovara ciljnom konceptu i kako - zaključuje se da li su neke
osobine bitne za ciljni koncept ili nisu. Dobar primer za ovakav pristup je
igranje šaha - ljudi na osnovu veoma malog broja primera nauče dobro da
igraju šah. Neki induktivni sistemi koriste pozadinsku teoriju (npr. CIGOL),
ali samo kao mehanizam kojim se obezbed̄uje složeniji prostor hipoteza, dok
EBL koristi predznanje upravo da bi smanjio složenost prostora hipoteza
(a time i složenost uzorka) koji se pretražuje i tako se poboljšava tačnost
uopštavanja. Dakle, za razliku od induktivnih sistema, EBL pored skupa
primera E podrazumeva i domensku (pozadinsku) teoriju B, tako da se dobijena hipoteza h iz H slaže i sa primerima iz E i sa B.
Primer:
• prostor instanci X je dat binarnim relacijama objekata i predikatima
Type, Color, Volume, Owner, Material, Density, On
• prostor hipoteza čine Hornove klauzule čija je glava ciljni atribut SafeToStack, telo je konjunkcija literala prethodnih predikata i dodatnih
predikata LessThan, Equal, GreaterThan, kao i uz terme u kojima
učestvuju funkcije plus, minus, times
• gde su, recimo, elementi skupa primera (preuzeti iz [TM-ML]):
72
Seminarski rad
• a primeri klauzula pozadinske teorije su:
Jedan od algoritama kojim se implementira EBL je Prolog-EBL:
Prolog-EBL(Ciljni-koncept,E,B)
• Pravila ← {}
• Pos ← pozitivni primeri iz E
• za svaki pozitivni-primer iz Pos koji pokriven skupom Pravila:
1. objasni:
Objašnjenje ← objašnjenje (dokaz) u terminima pozadinske teorije
B tako da pozitivni-primer zadovaljava Ciljni-koncept
2. Analiziraj:
Dovoljni-uslovi ← najopštiji skup osobina primera pozitivni-primer
dovoljan da zadovolji Ciljni-koncept prema prethodnom dokazu
Objašnjenje
3. Rafiniraj:
Pravila ← Pravila + Nova-Hornova-klauzula, gde je Nova-Hornovaklauzula oblika:
Ciljni-koncept ← Dovoljni-uslovi
Mašinsko učenje, inteligentni agenti
73
• rezultat je u skupu Pravila
Jedini preduslov za ovaj algoritam je da je B korektna (konzistentna) i kompletna teorija. Može se desiti da postoji više objašnjenja koja se pretražuju
slično PROLOG-u unazad.
(preuzeto iz [TM-ML])
Tako se u generalizaciji izbegavaju osobine koje nisu bitne za ciljni koncept
na osnovu pozadinske teorije - skupljajući samo osobine listova objašnjenja
dolazi se do klauzule:
SafeToStack(x,y) ← Volume(x,2) ∧ Density(x, 0.3) ∧
Type(y,Endtable)
Još opštija pravila se mogu dobiti računanjem najslabije predslike (weakest
preimage): najslabija predslika zaključka C u odnosu na dokaz P je najopštiji
skup početnih činjenica A, tako da iz A sledi C prema P . Ovo se računa
regresijom (Waldinger, 1977) - iterativno idući unazad od poslednjeg koraka
dokaza i ciljnog koncepta se traži najslabija predslika, zatim isto za dobijene
74
Seminarski rad
izraze i prethodni korak dokaza, i tako sve dok se ne dobije najslabija predslika ciljnog koncepta prema literalima u listovima objašnjenja. Primer kako
se ovako nešto razvija:
(preuzeto takod̄e iz [TM-ML])
Dakle, rezultat analize kao koraka Prolog-EBL algoritma se dobija regresijom. Skica tog algoritma je:
Regresija(Granica,Pravilo,Literal,θhi )
• Granica: skup literala koji se regresira kroz pravilo
• Pravilo: Hornova klauzula iz objašnjenja
• Literal: literal iz granice za kojeg važi da sledi iz klauzule Pravilo
• θhi : supstitucija koja unifikuje glavu klauzule Pravilo sa odgovarajućim
literalom u objašnjenju
• glava ← glava klauzule Pravilo
Mašinsko učenje, inteligentni agenti
75
• telo ← telo klauzule Pravilo
• θhl ← najopštiji unifikator glave sa literalom Literal tako da postoji
supstitucija θli :
((glava)θhl )θli = (glava)θhi
• rezultat je skup literala koji predstavljaju najslabiju predsliku:
(Granica - glava + telo)θhi
Svakim korakom se bira nova pozitivna instanca algoritmom sekvencijalnog
pokrivanja koja nije pokrivena trenutnim Hornovim klauzulama (hipotezom),
objašnjava se novi primer i formira se novo pravilo regresijom.
Ako pozadinska teorija nije sasvim ispravna, ni ovako dobijeni zaključi ne
moraju biti ispravni. EBL se može posmatrati kao:
• metod uopštavanja primera upravljan pozadinskom teorijom
• kao metod preformulisanja neke teorije upravljan primerima
• kao način da se postojeće znanje preformuliše u neki potrban praktičan
oblik, npr. preformulisanje pozadinske teorije tako da se dobijenim
opštim pravilima mogu klasifikovati primeri u jednom koraku - kompilacija znanja (knowledge compilation) gde se transformacijom dobija
na efikasnosti a ne gubi na tačnosti
Pored ovog, EBL ima lepu osobinu da otkriva i nove osobine koje nisu eksplicitno date primerima ali su potrebne da bi se formulisalo opšte pravilo
(slično feature detectors procesnim elementima NM).
5.2
Analitičko učenje i deduktivno zaključivanje
U suštini je EBL deduktivnog više nego induktivnog karaktera - hipoteza
h kao njegov rezultat mora da zadovoljava:
(∀(xi , f (xi )) ∈ E)(h ∧ xi ) ` f (xi ), E ∧ B ` h
Ako se ovo uporedi sa odgovarajućim ILP uslovom:
(∀(xi , f (xi )) ∈ E)(B 0 ∧ h ∧ xi ) ` f (xi )
76
Seminarski rad
vidi se da EBL ima jače uslove, gde pozadinska teorija B 0 ILP algoritma
nije ograničena za razliku od EBL - pretpostavka zahvaljujući kojoj postoji
objašnjenje za svaki pozitivan primer je da iz B sledi klasifikacija primera:
(∀(xi , f (xi )) ∈ E)(B ∧ xi ) ` f (xi )
što karakteriše znanje potrebno nekom EBL sistemu. Približni induktivni
bias ove metode je teorija B i preferiranje manjih skupova maksimalno opštih
Hornovih klauzula. Jedna od čestih primena je i optimizacija upravljanja
pretraživanjem (recimo u pretraživanju pozicija i baze znanja u šahu) ili
problemima upravljanja procesima (task scheduling) i sl.
5.3
Induktivno i analitičko učenje
Ukratko, kombinovanjem dveju različitih pristupa mašinskog učenja cilj je
dobiti metodu koja koristi dobre strane i jednog i drugog pristupa - npr. analitički metod je dobar za probleme kod kojih može biti manji broj primera i
gde je pozadinska teorija bez grešaka, dok je induktivni metod dobar ako postoji dovoljan broj primera i dozvoljen je izvestan broj grešaka u primerima.
Zadatak kombinacije analitičkog i induktivnog učenja je da otkrije hipotezu
u datom prostoru H koja najbolje odgovara datim primerima E sa mogućim
greškama i pozadinskom (domen) teorijom B koja takod̄e može imati greške.
Ako se sa eB (h) obeleži greška u odnosu na B i definiše kao verovatnoća da
se h ne slaže sa B u klasifikovanju nasumično odabrane instance, onda je
hipoteza kombinacije definisana kao argminh∈H [kB eB (h) + kD eD (h)], gde se
koeficijenti kB i kD pogodno odaberu. Jedan način da se klasifikuju različite
metode kombinovanog učenja jesu varijacije zajedničkih elemenata: početne
hipoteze h0 , skup operatora O kojim se pretražuje prostor hipoteza i cilje
pretrage G:
KBANN - analitičkom metodom se pronalazi početna hipoteza, a onda se
dalje vrši pretraga induktivnom metodom: primer je KBANN (Knowledge-Based Artificial Neural Network) gde se ovo koristi uz upotrebu
povratnog propagiranja (cilj je da se poklapa s primerima) kao induktivne metode, a NM se gradi na osnovu B tako što se za svaki
atribut instance uvodi nov ulaz u NM, za svaku Hornovu klauzulu
gradi se procesni element gde se pozitivnim literalima dodeljuje koeficijent w a negativnim −w, a izlaz (glava klauzule) se okida sa pragom
w0 = −(n − 1/2)w gde je n broj pozitivnih literala; dodatno se svi
Mašinsko učenje, inteligentni agenti
77
procesni elementi (svaki sa svakim izmed̄u slojeva) težinskim koeficijentima nasumično bliskim nuli
EBNN - predznanje se koristi da bi se menjao cilj u toku pretrage: primer je
sistem TangentProp (Simard, 1992), kao i sistem EBNN (ExplanationBased Neural Networks - Mitchell, Thrun, 1996) gde se standardno
obučavanje NM spustom niz gradijent modifikuje tako što se greška
definiše zavisno i od toga koliko hipoteza odgovara pozadinskoj teoriji
FOCL - predznanje utiče na izbor koraka, odnosno O, u toku pretrage:
FOCL sistem ovo koristi (baziran na sistemu FOIL), gde se umesto
dodavanja jednog novog literala (tokom specijalizacije) može dodati
više literala ako to proističe iz pozadinske teorije
78
6
6.1
Seminarski rad
Učenje ojačavanjem
Pojam učenja ojačavanjem
Učenje ojačavanjem (Reinforcement Learning) se odnosi na zadatak koji
se uopšte može opisati kao problem prilagod̄avanja samostalnog agenta koji
ima ,,čula” (funkcija posmatranja spoljnjeg sveta) u svom okruženju tako da
odabere optimalne akcije kojima postiže svoj cilj (opisan svojom bazom). Najjednostavniji primer je obuka prostog perceptrona (povremenim korekcijama
za svaki novi primer), a praktičan primer bi bilo upravljanje robotom. Za
model ovakvog učenja koristićemo agenta koji u interakciji sa okolinom ima
svoje stanje si ∈ S koje može sa posledicu neko stanje ai ∈ A sa vrednošću
nagrade ri (kao funkcije odabrane akcije i stanja) tako su važniji ciljevi agenta
odred̄eni većom vrednošću funkcije nagrade:
Agent
Stanje
Nagrada
Akcija
Okolina
ao
a1
s0
a2
s1
ro
s2
r1
....
r2
Tada je zadatak učenja ovakvog agenta naći upravljačku politiku (control
policy) kao preslikavanje π : S → A tako da je ukupan (kumulativan)
zbir nagrada akcija agenta maksimizovan u nizu stanja koji generiše, tačnije
r0 + γr1 + γ 2 r2 + ..., gde je 0 ≤ γ < 1 koeficijent smanjenja (ako je γ = 0 onda
Mašinsko učenje, inteligentni agenti
79
se očekuje da samo prva neposredna nagrada maksimalna). Med̄utim, problem učenja ojačavanjem se razlikuje od pomenutih zadataka aproksimacije
funkcije:
• odloženo nagrad̄ivanje (delayed reward) - pošto ne postoji skup primera
kao parova (s, π(s)) već samo niz stanja sa akcijama i vrednostima
nagrada, zadatak je otkriti koje su akcije važne u tom nizu tj. koje su
zaista izazvale neke vrednosti nagrade (vremensko dodeljivanje zasluga
- temporal credit assingment)
• istraživanje - izbor primera utiče na učenje u smislu izbora strategije
koja će doneti veće nagrade - da li odabrati nova, neispitana stanja i
akcije, ili odabrati poznata za dalja ispitivanja.
• delimično vidljiva stanja - iako je idealno posmatrati okolinu agenta kao
potpuno stanje, u praktičnim situacijama je obično poznat samo deo
informacija koja čine stanje (kao instancu), i zato se uzimaju u obzir i
ranija posmatranja (i stanja) kao i politike koje favorizuju akcije koje
maksimizuju vidljivost stanja
• dugo učenje (life-long learning) - potreba za učenjem više različitih
zadataka ili tipova zadataka (predznanje postaje veoma važno) gde
se od agenta očekuje fleksibilnost, kao i da je u stanju da što duže
poboljšava performanse (idealno zauvek, i za bilo koju vrstu zadatka)
Uopštena definicija problema se zasniva na lancima Markova gde je rt =
r(st , at ) i st+1 = σ(st , at ) za svaki diskretan korak u vremenu t. U opštem
slučaju, funkcije r i σ mogu imati nedeterminističke vrednosti (kao slučajne
promenljive), a skupovi stanja S i akcija A beskonačni, ali ćemo koristiti
konačan slučaj. Ako je kumulativna nagrada V π (st ) ≡
P∞deterministički
i
i=0 γ rt+i za politiku π(st ) = at i početno stanje st , onda je optimalna
politika koju treba naučiti (tako da važi za svako početno stanje s iz skupa
S):
π ∗ ≡ argmaxπ V π (S)
∗
gde se sa V π (s) ≡ V ∗ (s) skraćeno obeležava vrednost politike π. Stanje je
apsorbujuće ako su nagrad̄ene samo akcije koje vode ka tom stanju i ako agent
ostaje u tom stanju kada ga dostigne. Optimalna politika tada usmerava
agenta najkraćim putem ka takvom stanju. Pošto nisu poznati parovi (si , ai )
80
Seminarski rad
kao primeri već nizovi r(si , ai ), treba birati stanje s1 ako je V ∗ (s1 ) > V ∗ (s2 ),
iako agent bira akciju a ne stanje - to se može uzeti u obzir na sledeći način:
π ∗ (s) = argmaxa r(s, a) + γV ∗ (δ(s, a))
Tako se može naučiti optimalna politika pod uslovom da su poznate i potpuno
odred̄ene(pored odabranog γ) neposredna nagrada r i funkcija prelaska δ, što
je slično pretpostavci o konzistentnoj i kompletnoj pozadinskoj teoriji u EBL
i što je praktično najčešće nemoguće.
6.2
Q-funkcija i učenje
Da bi se prevazišao sledeći problem, problem učenja agenta se definiše
kao:
π ∗ (s) = argmaxa Q(s, a), Q(s, a) ≡ r(s, a) + γV ∗ (δ(s, a))
gde je objekat učenja postao Q(s, a) umesto V ∗ . Pošto je V ∗ (s) = maxa0 Q(s, a0 ),
moguća je rekurzivna jednakost Q(s, a) = r(s, a) + γ maxa0 Q(s, a0 ) uz koju
je moguće napraviti algoritam iterativne aproksimacije Q-funkcije (Watkins,
b
1989), gde se hipoteza (aproksimacija) obeležava sa Q:
b a) = 0 i uzmi početno stanje s
• inicijalizuj Q(s,
• Ponavljaj:
•
izaberi (narednu) akciju a i izvrši je
•
primi neposrednu nagradu r
•
osmotri novo stanje s0
•
ažuriraj:
b a) ← r(s, a) + γ maxa0 Q(s, a0 )
Q(s,
Ovakav algoritam sigurno konvergira ako su nagrade ograničene |r(s, a)| < c
i ako se svaki par akcija-stanje obilazi beskonačno često. Korisna posledica ovakvog uslova je da izbor primera ne mora biti uopšte optimalan. Ako
postoji apsorbujuće stanje onda se svaki niz iteracija ovakvog algoritma od
nekog početnog stanja do apsurbujućeg naziva epizodom. Ako se definiše
kriterijum dostizanja apsorbujućeg stanja algoritam može na kraju svake
Mašinsko učenje, inteligentni agenti
81
epizode ponovo da izabere nasumice neko novo početno stanje. Onda je
moguće napraviti poboljšanje (uz žrtvu memorijskih resursa): niz popravaka
realizuje se obrnutim redosledom (od apsorbujućeg stanja ka početnom).
Drugo poboljšanje se ogleda u dodatnom pamćenju ranijih nagrada i promena
aproksimacije (gde se onda ocenjuje da li je bolje nastaviti sa već obid̄enim
prelascima stanja ili je bolje tražiti nova stanja).
6.2.1
Nedeterministički slučaj
U nedeterminističkom slučaju vrednost politike se definiše kao:
"∞
#
X
V π (st ) ≡ E
γ i rt+i
i=0
i onda se dobija rekurzivna jednakost:
X
Q(s, a) = E[r(s, a)] + γ
P (s0 |s, a) max
Q(s0 , a0 )
0
s0
a
Da bi se obezbedila konvergencija i pored nedeterminističke vrednosti r
definiše se iterativno:
bn (s, a) ← (1 − αn )Q
bn−1 (s, a) + αn [r(s, a) + γ max Q
bn−1 (s0 , a0 )]
Q
0
a
1
gde je s0 stanje nakon s, αn = 1+poseta
, i gde je posetan (s, a) je brojač
n (s,a)
poseta datog para stanje-akcija
Dodatni uslov kriP∞ do ove n-te iteracije.
P∞
2
terijumu konvergencije je
i=1 αn(i,s,a) = ∞,
i=1 [αn(i,s,a) ] < ∞, gde je
n = n(i, s, a) iteracija koja odgovara i = posetan (s, a) (i-toj primeni na tom
paru).
b za neko stanje i neposrednog
Da bi se smanjila razlika ne samo izmed̄u Q
naslednika, već i za neke dalje naslednike može se preformulisati: Q(n) (st , at ) ≡
b t+n , a). Ideja uopštenja ove funkcije
rt + γrt+1 + ... + γ n−1 rt+n−1 + γ n maxa Q(s
odgovara ranije pomenutom TD(λ) učenju:
£
¤
Qλ (st , at ) ≡ (1 − λ) Q(1) (st , at ) + λQ(2) (st , at ) + λ2 Q(3) (st , at ) + ...
ili rekurzivno:
b t , at ) + λQλ (st+1 , at+1 )]
Qλ (st , at ) = rt + γ[(1 − λ) max Q(s
a
82
Seminarski rad
Varijanta ovih metoda koristi NM umesto Q funkcije shvaćene kao tabele
koja ne uopštava vrednosti osim onih koje su unete. Mnoge varijante su
moguće ako su neposredne nagrade i/ili funkcije prelaska poznate i nekako zadate, i obično predstavljaju primenu dnamičkog programiranja i Belmanove
jednačine:
(∀s ∈ S)V ∗ (s) = E[r(s, π(s)) + γV ∗ (δ(s, π(s)))]
Mašinsko učenje, inteligentni agenti
7
83
Otkrivanje znanja i traganje kroz znanje
(Data Mining)
7.1
Pojam otkrivanja znanja
Baze podataka savremenih informacionih sistema neprestano se uvećavaju
kako zbog potreba samih poslovnih procesa kojima su namenjeni (recimo
Content Management sistemi za upravljanje elektronskom dokumentacijom,
ili skladišta podatka - Data Warehouses - i Business Intelligence (BI) sistemi),
tako i zbog stalnog rasta raspoloživih resursa. Otkrivanje znanja u bazama
podataka (Knowledge Discovery in Databases) je proces otkrivanja znanja
koje nije očigledno dato u podacima baze podataka. Poznati su i ovakvi
sinonimi za KDD: ekstrahovanje znanja (knowledge extraction), otkrivanje
znanja (knowledge discovery), arheologija podataka (data archeology), žetva
informacija (information harvesting) ili pattern processing. Pod opštim KDD
procesima se pored DM podrazumevaju i: učenje novih koncepta, evaluacija
otkrivenog znanja, tretman otkrivenog neizvesnog (verovatnosnog) znanja,
izbegavanje grešaka u bazama podataka, optimizacija upita i pravila za njihovu transformaciju. Ispod je skiciran tok procesa otkrivanja znanja koji se
odvija iterativno (neke faze se mogu ponavljati potreban broj puta da bi se
došlo do prihvatljivog rezultata):
Selekcija
Baza
podataka
Predprocesiranje
Ciljni
podaci
Predprocesirani
podaci
Transformacija
Transformisani
podaci
Interpretacija
/ evaluacija
DM
Sabloni
(patterns)
Tu se mogu videti faze:
• selekcije (gde se biraju uzorci podataka za dalju analizu) - važan korak
zbog brojnosti i različitih stepena prioriteta podataka
• prečišćavanje i predprocesiranje - npr. svi podaci se moraju najpre
prebaciti iz XML formata u bazu, a moraju dodatno da se isprave
netačni ili nepotpuni podaci tako što se zamene default vrednostima ili
obrišu
Znanje
84
Seminarski rad
• transformacija - npr. dobijeni podaci moraju da promene dodatno format nekih polja, potrebno je maskirati bezbednosno osetljive podatke,
odred̄uju se i uklanjaju nebitni atributi ili na osnovu dodatnih ulaznih
specifikacija, ili se iterativno dodaju i oduzimaju atributi koji se dalje
koriste
• traganje za podacima (Data Mining, DM) - faza koja je najbitnija, gde
se dešava pomenuta primena poznatih metoda i algoritama mašinskog
učenja u skladu sa izabranim zadatkom sistema: klasifikacija i klasterizacija, agregacija i sumiranje, modeliranje zavisnosti, detekcija odstupanja, odred̄ivanje asocijativnih pravila, itd. Dobijeni rezultati se nazivaju šablonima, u smislu relacija koje vezuju atribute, njihove vrednosti
i vrednosti ciljnih atributa (npr. atributi mogu biti: adresa, datum pretrage ili izdavanja dokumenta, autori, ključne reči, stepen autoritetnosti, jezik i kodna strana, sažetak, naslov, sadržaj, izlazni linkovi,
kategorija, veličina, itd.)
• interepretacija i evaluacija - dobijeni rezultati se moraju prezentovati
u odgovarajućem obliku, dodatno obraditi, odbaciti ili preformulisati
prema zadatim kriterijumima, i u odnosu na date podatke dobijeni
šabloni mogu uticati na sledeću KDD iteraciju (npr. pažnja se preusmerava na jedan deo rezultata, ispunjavanje industrijskih standarda i sl.)
KDD ima zato dosta zajedničkog sa Data Warehouse sistemima i tehnologijama jer takod̄e predstavlja način da se iz mase podataka agregiraju
novi podaci, a ima i neke sličnosti u fazama pripreme podataka (ETL faze
- Extraction, Transformation and Loading). Javljaju se pojmovi skladišta i
izvora znanja (u smislu predznanja i otkrivenog znanja i šablona, što odgovara
Knowledge Warehouse i Knowledge Mart DW pojmovima) umesto skladišta
i izvora podataka. Med̄utim, Data Warehouse, OLAP i slične tehnologije na
kraju predstavljaju ipak samo nadgradnju informacionog sistema u pogledu
prikazivanja podataka i izveštavanja, za razliku od KDD gde se podaci analiziraju da bi se pronašle potpuno nove informacije (u fazi DM) koje ne postoje
eksplicitno ni u kom obliku u izvornoj bazi podataka. Kod KDD novi podaci
se ne pronalaze postupcima koji su unapred zadati modelom koji počiva na
poznatoj strukturi podataka, novi podaci nisu samo agregiran i novi oblik
već poznatih i očekivanih podataka.
Mašinsko učenje, inteligentni agenti
85
Postoje mnoga free i open source razvojna okruženja za mašinsko učenje
i rešenja med̄u kojima su: Java Data Mining (JDM kao deo Java platforme prema JSR 73, 247), Weka (i gotovo rešenje saa GUI-em i razvojna
biblioteka), YALE, MLJ, Gnome Data Mining Tools, i druga. Jedan od
standarda je ARFF, tekstuelni oblik ulaznih podataka specifično namenjen
ovakvim sistemima, ali sve više je zastupljen XML i srodni formati.
Mnoga komercijalna rešenja i delovi poslovnih sistema takod̄e implementiraju okruženja koja omogućavaju primenu metoda mašinskog učenja ili
razvoj takvih modela - na primer MATLAB/Netlab, ili recimo Oracle Data
Mining koji je počeo kao opcija za Oracle RDBMS (Enterprise Edition) sa
PL/SQL paketima kojima se realizuju DM algoritmi (za klasifikaciju i klasterovanje, predikciju, asocijacije, regresiju, otkrivanje osobina ili anomalija,
i drugi), a naknadno su dodati drugi alati med̄u kojima je i Oracle Data
Miner (GUI, veza ka drugim izvorima podataka - npr. ka ERP i BI paketima, uključujući i one drugih proizvod̄ača kao što je to SAP BW / BI) - kao
i generator koda za različite DM modele). Oracle nudi besplatan download i
korišćenje softvera ako se koristi za neposlovnu i ličnu svrhu, dok npr. IBM
za Intelligent Miner alat nudi besplatnu licencu ako se koristi za akademske
svrhe i potrebe studenata. Microsoft nudi neka rešenja uz SQL Server (Analysis Services: Decision Support Objects Architecture (DSO) koji uglavnom koristi samo dva algoritma (MS Decision Trees (apriori) i MS Clustering), Data
Transformation Services, i OLAP alate - ADO/MD, Multidimensional Expressions (MDX), i drugo), zatim tu je Cognos (Scenario, 4Thought, Visualizer), itd. Pored ranije pomenutih budućih pravaca razvoja mašinskog učenja
kao discipline, ovakvu poslovnu primenu DM svakako očekuje još mnogo
novih praktičnih primena, a vodeći proizvod̄ači baza podataka i poslovnih
informacionih sistema sve više ulažu u njih.
7.2
Web Mining
Posebno je značajna primena ovakvih sistema i u okruženju koje predstavlja internet kao izvor podataka - Web Mining (WM) = WWW + Data
Mining. Na prvi pogled internet u smislu izvora podataka i nije tako lepo
struktuiran kao baza podataka, ali ipak nudi mnoge mehanizme za to, sve
više se teži standardizaciji pored različitih markup jezika, i postoje strukture dokumenata za koje se vezuju praktični Web Mining zadaci: otkrivanje
znanja sa zadatim ciljem upotrebom inteligentnih agenata, pretraživači i
86
Seminarski rad
indeksiranje sadržaja (Web Crawlers, Spiders), automatsko generisanje hijerarhija pojmova, analiza log fajlova različitih servisa (prepoznavanje web
dinamike, koji korisnici i kako koriste odred̄ene servise na datim internet
stranama), i drugo.
Pored HTML i XML dokumenata kao osnove današnjeg interneta sve
više se teži strukturama semantičkog web-a (ontologijama), koje pomažu i u
rešavanju ovakvih zadataka (dokumenti zajedno sa meta podacima uz dostupne rečnike ontologija na internetu postaju razumljivi agentima koji čitaju
takve dokumente). Slično tome, pored HTTP protokola i odgovarajućih
browser-server arhitektura nastaju proširenja protokola i arhitekture kao što
su to SOAP i SOA (Web Service) koje omogućavaju veći stepen distribuiranosti i fleksiblinosti, kao i nezavisnost od platforme - a kao takve pogoduju daljem razvoju WM i inteligentnih agenata. Klasični WM zadaci su:
otkrivanje resursa (novih servisa i nepoznatih dokumenata prema nekim kriterijumima) i ekstrakcija informacija (prema nekakvim ciljnim atributima),
generalizacija (opštih šablona u dizajnu grupe web strana) i validacija i interpretacija (otkrivnih šablona), klasifikacija (dokumenata prema zadatoj
temi) i semantička struktura (u smislu ekstrakcije sadržaja za date klase
dokumenata). Mogu se podeliti na traganje kroz: sadržaj, kroz strukturu i
kroz upotrebu. Jedan primer zadatka traganja strukture je analiza strukture
linkova - za datu temu se traže autoritetni sajtovi (authorities, strane koje
imaju traženi sadržaj), i habovi (hubs, strane koje sadrže veliki broj linkova
ka autoritetnim stranicama).
Jednostavniji primer jednog takvog algoritma je HITS (Hyperlink-Induced
Topic Search) čija bi skica bila: upotrebom internet pretraživača se formira
lista strana u vezi sa zadatom temom, zatim se prošruje stranicama koje
pokazuju na njih, i ovo se onda ponavlja do nekog zadatog broja iteracija
(nivoa). Ako su xp nenegativne ocene autoritetnosti strane p, a yp nenegativne ocena hab-kvaliteta te strane, njihove početne vrednosti
P se makar
proizvoljno
odrede, a onda se iterativno izračunavaju: xp = q→p yq , yp =
P
p→q xq , gde zapis p → q znači da strana p pokazuje na stranu q. Bitan
je samo relativan odnos dobijenih težina na osnovu kojih se bira nekoliko
najbolje ocenjenih. Alternativno rešenje (i npr. primena u svojevrsnom
inteligentnom load balancing-u web servera) nude swarm metode gde, na
primer, jednostavni agenti (pčele, bees) tako otkrivaju ,,cvetove” i ,,grane”,
i tako onda ocenjuju opterećenje.
Mašinsko učenje, inteligentni agenti
(Pyle, 1999, Srivastava, 2000)
87
88
8
Seminarski rad
Arhitektura i tipovi inteligentnih agenata
Agenti, odnosno njihovi modeli, mogu se posmatrati kao formalni sistemi
slični konačnim automatima i Tjuringovim mašinama, ali pri tom imaju i
neke dodatne osobine. Ovde se kratko razmatraju vrste agenata (prema knjizi [GN]) koji deluju usamljeni u svetu, iako je u oblasti veštačke inteligencije
čest slučaj da ih je više (različitih vrsta) i da interaguju med̄usobno - npr.
logika uverenja, odnosno logika mogućih svetova (jedna od osnova veštačke
inteligencije), daje matematički model kojim je ovo prirodno podržano (koji
se ovde ne razmatra).
8.1
Tropistični agenti
Tropizam je tendencija biljaka i životinja da (odgovaraju) reaguju na
spoljašnje uticaje. Tako je i aktivnost ove klase agenata vezana isključivo
za spoljašnji uticaj. U ovom poglavlju govorimo o agentima sa unutrašnjim
stanjima (memorijom), ali za sada ćemo ignorisati tu mogućnost.
Različiti agenti će opaziti (reagovati) na različita spoljašnja stanja, pa recimo, u našem primeru, neki registruju boju blokova, neki njihovu težinu i sl.
Karakterišući senzorne sposobnosti agenata delimo skup S spoljašnjih stanja
u skup T nepovezanih podskupova. Uvodeći funkciju see koja preslikava
stanje iz S u particiju kojoj pripada, povezujemo stanja iz S sa odgovarajućim
particijama. Funkciju ove vrste nazivamo senzorna funkcija (sensory function).
see : S → T
Slično senzornim sposobnostima, različiti agenti mogu imati i sposobnosti
pravljenja različitih efekata (effectory capabilities). Neki agenti mogu crtati
blokove, ali ih ne mogu pokretati, drugi ih mogu pokretati ali ne mogu menjati njihovu boju i sl. Karakterišući efekte ovih akcija definišemo funkciju
do koja preslikava svaku akciju i stanje u stanje koje nastaje posle primene
date akcije u prvobitnom stanju. Funkciju ove vrste nazivamo sposobnost
delovanja (effectory function).
do : A × S → S
Posmatrajući aktivnost agenata definišemo funkciju action koja preslikava
particiju kojoj stanje pripada u akciju.
action : T → A
Mašinsko učenje, inteligentni agenti
89
Konačno, definišemo tropistične agente kao šestorku (S,T ,A,see,do,action)
• S - skup stanja spoljnog sveta
• T - skup particija od S, služe da bi se opisao tok rada, ,,algoritam”
• A - skup akcija
• see : S → T
• do : A × S → S
• action : T → A
Možemo ovako sumirati delovanje tropističnih agenata: u svakom ciklusu
agentovo okruženje je u nekom stanju s ; agent posmatra particiju t koja se
odnosi na senzornu funkciju see(s); koristi action da nad̄e akciju a koja je
dodeljena particiji t; na kraju izvršava akciju ,čime produkuje stanje do(a, s);
ciklus se ponavlja.
Jednostavan primer jeste Svet lavirinta gde imamo 3×3 povezana kvadratića,
kolica i zlato. Cilj je da se u kolica natovari zlato. Postoji 90 mogućih stanja
: kolica mogu biti u 9 polja i za svaku takvu mogućnost zlato se može naći u
nekom od 9 polja ili u kolicima (razlikuje se situacija kada su zlato i kolica u
istom polju i kada je zlato u kolicima). Sa naše tačke gledišta, moguće je iz
bilo kog stanja dostići svako od stanja. Za razliku od toga, inteligentni agent
sa senzorima na kolicima može reći svoju lokaciju, ali kada je u pitanju zlato
može samo reći da li je zlato u kamionu, u nekom polju ili negde drugde.
Ova senzorna ograničenja dele skup od 90 stanja u 27 podskupova. Stanje
u svakom podskupu se slaže sa pozicijom kolica. Ono se, takod̄e, slaže sa
pozicijom zlata u odnosu na kolica, ali se ne slaže sa tačnom pozicijom zlata
kada je ono locirano u različitom polju u odnosu na kolica.
Pored senzorne ograničenosti, ovi agenti imaju i ograničeno delovanje
(ograničene efekte). U našem primeru oni mogu pomeriti kolica od polja do
polja i mogu manipulisati zlatom kad god je ono u kolicima ili na nekom polju.
Efekte koje proizvode agenti možemo grupisati u sedam akcija
• agent može pomeriti kolica gore, dole, levo i desno ( 4 )
• može da stavi zlato u kolica
90
Seminarski rad
• može da premesti zlato
• može da ne proizvodi nikakav efekat (ne radi ništa)
Razmotrimo problem dizajniranja akcija za agente sa ovim ograničenjima.
Pretpostavimo da su u početnom stanju kolica u gornjem levom polju lavirinta. Cilj nam je da dod̄emo do zlata koje je u donjem desnom polju.
1. ako su kolica na izlazu i ako je zlato u istom polju, agent ne radi ništa
2. ako su kolica na izlazu i ako je zlato u kolicima, agent pomera zlato
3. ako su kolica na bilo kom polju i ako je zlato na istom polju, agent
stavlja zlato u kolica
4. ako kolica nisu na izlazu i ako je zlato u kolicima, agent pomera kolica
ka izlazu
5. inače, agent pomera kolica kroz lavirint dok zlato ne bude pronad̄eno
i to tako što ga pomera prvo kroz prvu vrstu, pa se spušta u krajnje
desno polje druge vrste i na kraju iz prvog polja druge vrste prelazi u
prvo polje treće vrste
8.2
Histeretični agenti
Agent može biti u nekom od stanja iz skupa unutrašnjih stanja I. Pretpostavimo da agent može dostići bilo koje stanje iz bilo kog drugog stanja
te ovde nije potrebno particionisanje skupa I u podskupove (particije) ili
definisanje senzorne funkcije. Isto tako pretpostavimo da agent može transformisati I u neki od elemenata istog u jednom koraku.
Važna razlika izmed̄u tropističnih i histeretičnih agenata je to da funkcija
akcije za histeretičnog agenta uzima u obzir interna stanja kao i opažanja u
diktirajućim akcijama.
action : I × T → A
Kod histeretičnih agenata takod̄e postoji memorija koja pokreće funkciju
koja preslikava unutrašnje i posmatrano stanje u sledeće untrašnje stanje.
internal : I × T → I
Mašinsko učenje, inteligentni agenti
91
Histeretični agenti se definišu kao osmorka
(I, S, T, A, see, do, internal, action)
gde su :
• I skup unutrašnjih stanja
• S skup spoljašnjih stanja
• A skup akcija
• see funkcija iz S u T
• do funkcija iz A × S u S
• internal funkcija iz I × T u I
• action funkcija iz I × T u A
Kada je u pitanju naš primer, agenti sa senzornim ograničenjima dele
skup od 90 stanja u tri podskupa. Prvi podskup sadrži 9 stanja u kojima
je zlato u kolicima. Drugi se odnosi na 9 stanja u kojima su zlato i kolica u
istom polju, ali da pri tom zlato nije u kolicima. I treći podskup sadrži 72
stanja u kojima je zlato u drugim poljima i pri to nije u kolicima. Funkcijom
see preslikavamo svako stanje u odgovarajuću particiju (podskup). Sada
definišemo skup unutrašnjih stanja koja ćemo predstaviti brojevima od 1 do
9 i koja označavaju polja u lavirintu(umesto podataka koji odgovaraju vrsti
i koloni). I u ovom slučaju će situacije u kojima su kolica na izlazu a zlato
negde dalje biti nemoguće.
8.3
Agenti nivoa znanja
Problem je što za ciljeve veštačke inteligencije nije potrebno predstavljati
problem uvek na visokom nivou, tj. sa mnogo detalja (npr. nije potrebno
znati svako kolo računara da bismo znali kako računar radi). Želimo samo
dizajn u kojem su fizički elementi predstavljeni apstraktno.
U ovom poglavlju ispitujemo koncept agenata koje nazivamo nivoi znanja
u kojem se sav višak detalja eliminiše. U ovoj apstrakciji unutrašnja stanja
agenta sadrže samo baze podataka rečenica predikatskog računa, i agentove
92
Seminarski rad
mentalne akcije koje predstavljaju zaključke koji su dobijeni iz tih baza podataka. Funkcija akcije ,action, za agenta nivoa znanja, preslikava bazu podataka 4 i particiju skupa stanja T u akciju koja će biti izvršena od strane
agenta .
action : D × T → A
Funkcija osvežavanja baze podataka database preslikava bazu podataka 4 i
particiju stanja T u novu internu bazu podataka.
database : D × T → D
Agenta nivoa znanja predstavljamo osmorkom. Skup D ovde predstavlja
proizvoljan skup predikatskog računa baze podataka, S je skup spoljašnih
stanja, T je skup particija od S, A je skup akcija, see je funkcija iz S u T ,
do je funkcija iz A × S u S, database je funkcija iz D × T u D i action je
funkcija iz D × T u D.
(D, S, T, A, see, do, database, action)
Odavde vidimo da je svaki agent nivoa znanja ujedno i histeretični agent.
Celobrojne vrednosti kojima smo označili unutrašnja stanja u prethodnom
poglavlju ovde zamenjujemo rečenicama predikatskog računa baze podataka.
U našem primeru lavirinta imenujmo 9 polja simbolima AA, AB, AC, BA,
BB, BC, CA, CB i CC. Imamo tri moguće particije stanja IC (”in the cart”, u
kolicima), SC (”in the same cell”, u istom polju) i EW (”elsewhere”, drugde).
Uzmimo relacioni simbol Cart koji označava unarnu relaciju koja sadrži polje
na kojem su kolica, i simbol Gold koji označava unarnu relaciju koja sadrži
onu particiju stanja koja se odnosi na lokaciju na kojoj je zlato. Umesto
da startujemo sa 1 kao početnim stanjem mi startujemo sa sl. jednočlanim
skupom :
Cart(AA)
Pošto je unutrašnje stanje promenjeno, treba da redefinišemo agentovu funkciju
akcije tako da ona uzima u obzir bazu podataka umesto brojeva.
Takod̄e treba da definišemo funkciju baze podataka koja preslikava bazu podataka i particiju stanja u baze podataka koje odgovaraju celim brojevima u
unutrašnjem stanju kod prethodnih agenata.
Za ove agente je karakteristično ekstremno ograničenje sposobnosti. Iako
Mašinsko učenje, inteligentni agenti
93
je njihovo ponašanje različito shodno položaju zlata ono predstavlja fiksiranu pretragu u nalaženju zlata i sledi fiksiranu putanju do izlaza ako je zlato
pronad̄eno. Modifikacija ove vrste nije moguća bez definisanja potpuno nove
funkcije za agenta. Ako želimo modifikovati fizičkog agenta i kao i njegove
funkcije implementirane u hardver, izmena će biti velika. Alternativa je definisanje fleksibilnijih agenata koji će biti programirani pomoću izmena rečenica
u agentovoj bazi podataka. Ilustrujmo, kratko, primerom. Potreban nam je
rečnik te koristimo simbole R, L, U i D za akcije desno, levo, gore i dole.
Simbolima I i O označimo akcije stavljanja zlata u kolica i izlaska van lavirinta (in, out), te simbol N za null akciju. Sa M ust označimo akciju koju
želimo da preduzme agent u datom trenutku.
Cart(AA) ∧ Gold(IC) ⇒ M ust = R
Cart(AA) ∧ Gold(SC) ⇒ M ust = I
Cart(AA) ∧ Gold(EW ) ⇒ M ust = R
..
.
Cart(CC) ∧ Gold(IC) ⇒ M ust = O
Cart(CC) ∧ Gold(SC) ⇒ M ust = N
Pretpostavimo da početno stanje sadrži rečenicu koja opisuje lokaciju kolica
u početnom stanju.
Cart(AA)
Definišimo, zatim, pomoćnu funkciju e. Levo ćemo navesti imena particija a
desno akcija.
e
e
e
( )
( )
( )
= IC
e(left) = L
e(right) = R
e(up) = U
= SC
e(down) = D
e(in) = I
e(out) = O
=EW
e(noop) = N
94
Seminarski rad
Kada baza podataka 4 sadrži rečenicu Cart(σ) i
Cart(σ) ∧ Gold(e(t)) ⇒ M ust = e(a)
tada agent izvršava akciju a .
action(4, t) = a
Funkcija baze podataka diktira novu bazu koja sadrži sve rečenice stare baze
osim one koja opisuje lokaciju kolica koja se kroz funkciju next prepravlja u
novu lokaciju.
database(4, t) = (4 − Cart(σ)) ∪ Cart(next(4, t))
Primećujemo da ovaj agent izvršava opisanu proceduru u svojoj početnoj
bazi, pa zaključujemo da možemo izmeniti proceduru menjajući bazu podataka. Iako je oblik rečenica u opisu nešto stroži, možemo definisati i jednako moćne agente koji će biti mnogo fleksibilniji, a to ćemo videti u sl.
poglavlju.
8.4
Agenti znanja u koracima
Agenti opisani u prethodnom poglavlju nisu monotoni: rečenice mogu biti
izmenjene ili dodavane u bazu. Razlog za ovo je to što naš koncept relacija
zavisnosti od stanja ne obuhvata stanje - na primer lokacija kolica. Svaka
baza opisuje samo jedno stanje; posle svake akcije stanje je promenjeno i opis
mora biti promenjen tako da se odnosi na stanje koje nastaje posle dejstva
akcije.
Ovo razmatranje nameće pitanje da li je moguće dizajnirati monotone
agente u kojima su nove rečenice dodane u unutrašnju bazu ali nisu premeštane
(dodavanje da, premeštanje-uklanjanje ne). Ovo je zaista moguće, ali je
potrebno napraviti neke izmene.
Prvo je potrebno primeniti koncept zasnovan na stanjima. Koristićemo
relaciju T za opisivanje karakteristika individualnih stanja. Zatim treba da
konvertujemo relacioni simbol, kao što je Cart, u funkcijski simbol; koristimo
Mašinsko učenje, inteligentni agenti
95
unarni funkcijski simbol Ext koji označava funkciju koja preslikava svaki pozitivan ceo broj u spoljašnje stanje ciklusa agentove operacije koji odgovara
tom celom broju. Primetimo da Ext preslikava ceo broj u spoljašnje stanje
a ne u pariciju stanja. Sa ovim ”rečnikom”možemo opisati početno stanje
u primeru Lavirinta. Naravno ovaj opis neće biti kompletan jer ne uzima u
obzir položaj zlata.
T (Cart(AA), Ext(1))
Ovaj ”rečnik”možemo koristiti i za opis agentovih procedura prema prethodnom slučaju. U ovom slučaju koristimo promenljivu n koja označava redosled
kroz ciklus agentove operacije i imamo konvertovan objekat konstante M ust
u funkcijsku konstantu.
T (Cart(AA), Ext(n)) ∧ T (Gold(IC), Ext(n)) ⇒ M ust(n) = R
T (Cart(AA), Ext(n)) ∧ T (Gold(SC), Ext(n)) ⇒ M ust(n) = I
T (Cart(AA), Ext(n)) ∧ T (Gold(EW ), Ext(n)) ⇒ M ust(n) = R
..
.
T (Cart(CC), Ext(n)) ∧ T (Gold(IC), Ext(n)) ⇒ M ust(n) = O
T (Cart(CC), Ext(n)) ∧ T (Gold(SC), Ext(n)) ⇒ M ust(n) = N
Na žalost ove izmene same po sebi nisu dovoljne da dozvole čisto monotono
ponašanje. Agent ipak treba da zna koji ciklus se izvršava da bi koristio
informaciju zabeleženu u bazi podataka. On ne može čuvati informacije
vezane za tekući ciklus u svojoj bazi, pošto se informacije menjaju posle
svake akcije. Alternativa je definisati novu vrstu agenta nivoa znanja u kojem
unutrašnje stanje uključuje brojač isto kao i njegova baza rečenica. Agenti
nivoa znanja u koracima su osmorka
(D, S, T, A, see, do, database, action)
gde su:
• D -skup baza podataka predikatskog računa
• S -skup spoljašnjih stanja
• T -skup particija od S
96
Seminarski rad
• A -skup akcija
• see -funkcija iz S u T
• do -je funkcija iz A × S u S
• database -je funkcija D × N × T u D
• action -je funkcija iz D × N × T n u A
Primetimo da je jedina razlika izmed̄u agenata nivoa znanja u koracima i
običnih agenata nivoa znanja zavisnost baze podataka i funkcija akcija od
agentovog rednog broja ciklusa. Redni broj ciklusa čuva se van baze podataka.
Sasvim je jednostavno modifikovati akcije i bazu funkcija za programibilne agente u prethodnom poglavlju tako da zadovoljavaju definiciju i uslove
željenog ponašanja. Oni treba da budu malo komplikovaniji da bi upravljali
promenljivima u bazi, a inače su identični.
Za cilj analize, često je korisno karakterisati kako se unutrašnje stanje, spoljašnje
stanje, posmatranje i akcije u agentima nivoa znanja u koracima menjaju s
obzirom na redni broj ciklusa. Funkcija int4,s preslikava ceo broj n u unutrašnje stanje koje je rezultat n-tog ciklusa agenta nivoa znanja u koracima
sa početnom bazom podataka 4 i početnm spoljašnjim stanjem s. Funkcija
ext4,s preslikava ceo broj u spoljašnje stanje koje je rezultat aktivnosti u ntom ciklusu. Funkcija obs4,s preslikava ceo broj n u skup stanja posmatran
od strane agenta u n-tom ciklusu. Funkcija act4,s preslikava ceo broj n u
akciju koju uzima agent u n-tom ciklusu.
Pogledajmo šta se dešava sa početnim vrednostma. Unutrašnje stanje prvog ciklusa agentovih opercija je agentova početna baza podataka i spoljašnje
stanje prvog cikusa je početno spoljašnje stanje. Prvo agentovo opažanje se
odnosi na primenu funkcije see u početnom spoljašnjem stanju, i agentova
prva akcija je odred̄ena njegovom početnom bazom označenom brojem 1 i
agentovim početnim opažanjem.
int4,s (1) = 4
ext4,s (1) = s
obs4,s (1) = see(s)
Mašinsko učenje, inteligentni agenti
97
act4,s (1) = action(4, 1, see(s))
Definicije za ove funkcije slede posle prvog ciklusa. Unutrašnje stanje u
svakom ciklusu je rezultat delovanja agentove funkcije memorije u prethodnom unutrašnjem stanju, prethodnom (rednom) broju ciklusa, i agentovog
posmatranja prethodnog spoljašnjeg stanja. Spoljašnje stanje je rezultat
izvršavanja akcije označene u prethodnom ciklusu prethodnim spoljašnjim
stanjem. Agentovo opažanje (posmatranje) je particija stanja koja sadrži
spoljašnje stanje. Akcija koja će biti izvršena je odred̄ena primenom funkcije
action u tekućem unutrašnjem stanju, tekućem broju ciklusa, i agentovim
opažanjem tekućeg spoljašnjeg stanja.
int4,s (n) = database(int4,s (n − 1), n − 1, obs4,s (n − 1)
ext4,s (n) = do(act4,s (n − 1), ext4,s (n − 1)
obs4,s (n) = see(ext4,s (n))
act4,s (n) = action(int4,s (n), n, obs4,s (n))
Agent nivoa znanja sa početnom bazom 4 i početnim spoljašnjim stanjem
postoji ako i samo ako njegova baza podataka postoji u svakom ciklusu.
Agent nivoa znanja pamti bazu podataka (database retentive) ako i samo ako
njegova baza u svakom ciklusu posle prvog logički implicira bazu prethodnog
cikusa.
int4,s (n) |= int4,s (n − 1)
Jednostavniji tip (database retentive) agenata koji pamte bazu podataka je
onaj kod kojeg su sve rečenice iz int4,s (n − 1) sadržane u int4,s (n)
8.5
Agenti s namerom
Posmatrajući agente opisane u prethodnom poglavlju, interesantno je
primetiti da pod uobičajenom interpretacijom simbola u rečniku ovog agenta
baza podataka svakog ciklusa korektno opisuje svoje spoljašnje okruženje.
Pošto se agent pomeri desno u početnom stanju kolica su u polju AB kao
što je specificirano u bazi podataka tog ciklusa. Ako bi permutovali baze podataka sistematski i modifikovali bazu podataka agenta kao i funkcije akcije,
agent bi rešio problem podjednako dobro, ali rečenice u bazi podataka će
biti netačne pod uobičajenom interpretacijom. Sa druge strane, analizirajući
98
Seminarski rad
nivo znanja agenta mi obično želimo da pričamo o ponašanju agenta uzimajući u obzir neke interpretacije ili parcijalne interpretacije za rečenice u
bazi podataka. Uopšte, ne možemo očekivati od agenta da se povinuje našoj
interpretaciji za sve simbole u njegovom rečniku. Ipak, interesantno je pogledati agentove osobine ako pretpostavimo da se slažu sa nama u pogledu nekih
simbola u njegovom rečniku. Sledeće veze su posebno korisne.
Funkcija obsrecord preslikava pozitivne cele brojeve n i particiju stanja T u
skup rečenica tvrdeć da je spoljašnje stanje u ciklusu n član particije T . U
prethodnom primeru posmatranje prvog ciklusa i particije stanja u kome se
zlato nalazi na nekom drugom mestu je baza podataka koja se sastoji od
jednostruke rečenice T (Gold(EW ), Ext(1)).
obsrecord
(
1,
)
={T(Gold(EW),Ext(1))}
Da bismo kodirali naredbe u bazi podataka agenta potreban nam je rečnik
koji opisuje akcije koje bi agent trebalo da radi. Funkcija mustrecord preslikava pozitivan ceo broj n i akciju a u skup rečenica tvrdeći da bi agent
trebalo da izvrši akciju a u ciklusu n. Npr. možemo kodirati činjenicu da se
agent kreće desno u svom prvom ciklusu:
mustrecord(1, right) = M ust(1) = R
Funkcija mustnotrecord preslikava pozitivan ceo broj n i particiju stanja T
u skup rečenica tvrdeći da bi agent trebalo da izbegava akciju a u ciklusu n.
Npr.,možemo kodirati činjenicu da se agent ne pomera desno u svom prvom
ciklusu kao što je prikazano :
mustnotrecord(1, right) = M ust(1) 6= R
Funkcija actrecord preslikava pozitivan ceo broj n i akciju a u skup rečenica
tvrdeći da agent u stvari izvršava akciju a u ciklusu n. Možemo npr.,kodirati
činjenicu da se agent pomera desno u svom prvom ciklusu rečenicom :
act(1) = R
actrecord(1, right) = Act(1) = R
Mašinsko učenje, inteligentni agenti
99
Kao ostale aspekte operacija agenta, pogodno je da se napravi koncept
funkcija koji definiše zapise (record) za opažanje i akcije agenta. Definišemo
obsrec4,s koja preslikava broj ciklusa u zapis posmatranja za n-ti ciklus aktivnosti agenta nivoa znanja sa početnom bazom podataka 4 i početnim
spoljašnjim stanjem s. Funkcija actrec4,s preslikava broj ciklusa u odgovarajući zapis akcije. Koristeći terminologiju iz zadnjeg odeljka možemo
definisati
obsrec4,s = obsrecord(n, obs4,s (n))
actrec4,s = actrecord(n, act4,s (n))
Kažemo da je agent (observation retentive) pamti opažanja ako i samo
ako zapisuje svoja zapažanja u svakom ciklusu u svoju bazu, tj. u svakom
ciklusu, posle prvog, agentova baza logički povlači zapis opažanja prethodnog
ciklusa.
int4,s (n) |= obsrec4,s (n − 1)
Agent čuva (pamti) akcije (action retentive ) ako i samo ako je zapis njegovih
akcija u svakom ciklusu u njegovoj bazi, tj. ako u svakom ciklusu, posle prvog,
agentova baza logički povlači zapis akcije prethodnog ciklusa.
int4,s (n) |= actrec4,s (n − 1)
Kažemo da baza podataka 4 zapisuje akciju a u ciklusu n agentove operacije (P (4, n, a)) ako i samo ako 4 logački povlači da akcija mora biti
izvršena u n-tom koraku.
4 |= mustrecord(n, a)
Koristeći ovu notaciju možemo definisati šta se podrazumeva pod zabranjenom akcijom. Kažemo da 4zabranjuje akciju a u n-tom ciklusu agentovih
operacija (F (4, n, a), ako i samo ako triangle logički povlači da akcija a ne
sme biti izvršena u koraku n.
4 |= mustnotrecord(n, a)
Agent nivoa znanja je lokalno ,,veran” (locally faithful) ako i samo ako
svaki ciklus njegovih operacija zadovoljava sl.uslove:
1. Agent izvršava svaku akciju koja je zapisana pomoću agentove baze
podataka i njegovih opažanja u tekućem stanju.
P (int4,s (n) ∪ obsrec4,s (n), n, a) ⇒ act4,s (n) = a
100
Seminarski rad
2. Agent izbegava (poništava) svaku akciju koja je zabranjena pomoću
njegove baze podataka i njegovog opažanja u tekućem stanju.
F (int4,s (n) ∪ obsrec4,s (n), n, a) ⇒ act4,s (n) 6= a
Kod nekih agenata nivoa znanja ovi su uslovi redukovani. Npr. pretpostavimo
da agentova baza ima aksiome koje tvrde da postoji samo jedna zapisana akcija za svaki ciklus i pretpostavimo da, takod̄e, postoje aksiome koje tvrde
nejednakost agentovih različitih akcija. Tada, ako baza odredi (zapiše) akcije
za svaki ciklus, agent zabranjuje sve ostale akcije; i ako baza zabrani sve akcije osim jedne, neophodno je odrediti (zapisati) remaining akcije. Sa druge
strane, ne možemo izostaviti uslove vezane za zabranjene akcije. Zato postoji baza za zabranjene akcije u kojoj nisu zapisane ostale akcije i mi želimo
biti sigurni da agent neće selektovati zabranjenu akciju. Slično, ne možemo
ništa raditi bez zapisanih uslova pa zato postoje baze koje zapisuju neke akcije koje ne zabranjuju druge akcije i mi ne želimo da agent izvršava samo
nezabranjenu akciju kada postoje neke druge (odred̄ene) zapisane akcije.
Teorema 20 Saglasnost je neophodan uslov za lokalnu vernost.
Istorijski zapis (history record) za partikularne korake agentove operacije
je skup opažanja i akcija koje se zapisuju za svaki korak i za sve prethodne
korake. Funkcija histrec preslikava broj u odgovarajući istorijski zapis.
histrec4,s (n) =
½
{}
n=0
=
histrec4,s (n − 1) ∪ obsrec4,s (n) ∪ actrec4,s (n) inače
Primetimo da prethodne informacije vezane za istoriju u agentovoj bazi
često dopuštaju agentu izvod̄enje zaključaka koji inače ne bi bili mogući.
Npr., posle uočavanja da zlato nije u ćeliji AA i posle pomeranja u ćeliju AB,
agent može zaključiti da zlato nije locirano u AA, iako on nije dugo razmatrao
tu činjenicu. Agent koji razmišlja je globalno veran (globally faithful) akko
on postupa u skladu sa njegovom početnom bazom, njegovom istorijom i
tekućim opažanjem, tj.
1. agent izvršava svaku akciju koja je oded̄ena njegovom početnom bazom,
istorijom i opažanjem u tekućem stanju
P (4 ∪ histrec4,s (n − 1) ∪ obsrec4,s (n), n, a) ⇒ act4,s (n) = a
Mašinsko učenje, inteligentni agenti
101
2. agent izbegava svaku akciju koja je zabranjena njegovom početnom
bazom, istorijom i opažanjem u tekućem stanju
F (4 ∪ histrec4,s (n − 1) ∪ obsrec4,s (n), n, a) ⇒ act4,s (n) 6= a
Teorema 21 Pamćenje baze podataka, opažanja i akcija i lokalna vernost
impliciraju globalnu vernost.
8.6
Promišljeni (racionalni) agenti
U ovom poglavlju definišemo klasu nešto specifičnijih agenata nivoa znanja
od globalno vernih. Ključna ideja u definisanju agenata ove klase je korišćenje
metode automatskog zaključivanja kao što su rezolucija u proizvod̄enju rečenice
koja ukazuje na traženu akciju u svakom ciklusu. Agent ove vrste je promišljen
zato što razmišlja u svakom ciklusu o spoljašnjoj akciji koju treba izvršiti.
Ako je u ciklusu n moguće dokazati mustrec(n,a) za tekuću bazu i zapis
opažanja koristeći rezoluciju ili neku drugu proceduru zaključivanja, tada
agent izvršava akciju a.
action(4, n, t) = a
whenever 4 ∪ obsrecord(n, t) |= mustrecord(n, a)
Agentova baza je ažurirana usled opažanja i akcija u ciklusu.
database(4, n, t) = 4 ∪ obsrecord(n, t) ∪ actrecord(n, a)
whenever 4 ∪ obsrecord(n, t) |= mustrecord(n, a)
Procedure
Begin
Tag
End
CD(DB)
CYCLE := 1
OBS :=OBSERVE(CYCLE)
DB := APPEND([T(OBS,Ext(CYCLE)=k,DB)
ACT := FIND(k,Must(CYCLE)=k,DB)
EXECUTE(ACT)
DB := APPEND([Act(CYCLE)=ACT],DB)
CYCLE := CYCLE+1
GOTO Tag
102
Seminarski rad
Program CD uzima početnu bazu kao argument i manipuliše sa 4
promenljive: CYCLE - broj tekućeg satnja, OBS - opisivač stanja, DB - čuva
početnu bazu, sva opažanja i zapise akcija i ACT - je ime akcije koja će biti
izvršena. Agentova senzorna sposobnost je implementirana u potprogramu
OBSERVE (argument joj je redni broj ciklusa i kada je izvršena u stanju s
vraća kao vrednost obsrecord(n, see(s)) ). Agentov ,,rečnik efikasnosti” je
implementiran u primitivnom potprogramu EXECUTE (argument joj je oznaka
akcije i kada je pozvana izvršava odgovarajuću akciju).
Kb
od definiše jednostavnu slobodno-izlaznu petlju - u svakom trenutku
petlje, agent prolazi kroz jednostavan ciklus njegove istorije. Prvo, okolina je
posmatrana i u bazu je upisana karakteristična rečenica. Tada agent izvodi
zaključak nad bazom dok dedukuje akciju za izvod̄enje. To povlači akciju i
ažuriranje baze i trenutnog broja ciklusa. Tada se ciklus ponavlja.
Iz ove definicije lako se vidi da promišljeni agent pamti opažanja, pamti
akcije i pamti bazu podataka.
Stoga imamo:
Teorema 22 Svaki promišljeni agent sa valjanim i kompletnim
dokazivačem teoreme je globalno tačan (veran).
Mašinsko učenje, inteligentni agenti
9
103
Multi-agentski sistemi i primeri
U ranijim poglavljima su dati motivi za upotrebu mašinskog učenja kao
načina rešavanja problema velike količine podataka. Sve veća količina podataka se nalazi na internetu u nedovoljno struktuiranom obliku, i njihov
rast je eksponencijalan. Rešavanju tog problema mogu da doprinesu i inteligentni agenti. Inteligentni agenti su softverski entiteti koji na neki način
primaju (opažaju) informacije u svom okruženju, a onda prema cilju koji je
obično zadat ugrad̄enom bazom znanja i na osnovu mehanizma odlučivanja
bira odgovarajuću akciju kojom može i da utiče na tu okolinu (menja podatke, recimo). Pioniri ove oblasti VI su: Marvin Minsky, Oliver Selfridge,
Alan Kay, Nicholas Negroponte, Rodney Brooks. U prethodnom odeljku je
data formalna definicija takvih entiteta (PAGE strukture: perceptions, actions, goals, environment), gde je napomenuto da agent mogu imati različite
osobine i uloge, i da mogu med̄usobno komunicirati (distribuiranost, naspram
izolovanih agenata) u okviru jednog sistema. Agenti mogu biti veoma jednostavne strukture (reaktivni) ili veoma složene (racionalni, kada koriste PR1 ili
logiku uverenja, a mogu biti i proaktivni, fleksibilni, autonomni, adaptivni i
sl.). Ono što u takvoj definiciji nedostaje jeste osobina med̄usobne interakcije agenata, koja sve više dolazi do izražaja - gde u uslovima odgovarajućeg
distribuiranog okruženja na internetu predstavljaju veoma praktičan mehanizam borbe sa velikom količinom podataka. To je presudno važna osobina
- društvenost - iako predstavljaju često posrednike (pomagače, asistente)
izmed̄u korisnika i drugih programa, isto tako su i posrednici izmed̄u drugih
agenata i programa koji predstavljaju deo inteligentnog sistema (agencije,
slično blackboard sistemima). Savremeni agenti imaju i osobinu mobilnosti
(naspram stacionarnih agenata), koja znači da su u stanju samostalno ili
prema nekom kriterijumu da menjanju fizičku platformu izvršavanja (server,
radnu stanicu) čuvajući trenutno stanje.
9.1
Multi-agentski sistemi
Agenti koji čine multi-agentsku platformu (ili učesnici, actors) su obično
podeljeni prema ulozi u nekoliko slojeva koje čine distribuiranu platformu:
korisnički agenti (user agents, inerface agents) - zaduženi za interaktivnu komunikaciju sa korisnikom, komuniciraju sa srednjim (ili drugim)
slojem koje mogu činiti izvršni agenti, odnosno agenti sa zadatkom.
104
Seminarski rad
agenti sa zadatkom (task agents) - sloj agenata koji je obično specijalizovan da postigne neki cilj u sprezi sa ostalim slojevima, srednji sloj
(sinonimi: middle, execution, learning, planning agents) - svaki agent
obično ima svoj mehanizam zaključivanja i svoju bazu naučenog znanja
i predznanja (kao i u drugim slojevima), opciono. Predznanje i mehanizam zaključivanja u opštem slučaju ne moraju da budu sagasni kod
svih agenata, i zato je neophodan model i mehanizam koordinacije.
Med̄u ovim agentima se obično nalaze i kontrolni agenti koji su odgovorni za procese koordinacije i komunikacije med̄u agentima, organizacije, pregovaranja, itd.
informacioni (web) agenti - koriste ,,omotače” (wrappers) kojima se sadržaj
dokumenata kojima pristupaju pretvara u izvor podataka koji koriste
prethodni slojevi, najčešće kao da se pristupa bazi podataka (omotači
su obično do izvesne granice zavisni od strukture dokumenata, što znači
da ih treba menjati ako se struktura menja - idealno, ovo treba izbeći)
Ovi agenti se zato često zovu i softbotima (specijalizovani taskboti, knowboti, itd).
Primer multi-agentskog sistema (MAS) u vezi problema upravljanja znanjem (KM - Kowledge Management, Stewart (1997), Davenport, Prusak, 1998)
gde se pod generisanjem znanja podrazumevaju procesi nastajanja znanja u
okviru sistema, a pod akvizicijom znanja se podrazumeva proces usvajanja
znanja izvan sistema. Agenti srednjeg sloja komuniciraju protokolom koji podrazumeva 2 tipa poruka: predloge (proposal) i konsolidacije (consolidate) svaka poruka ima oznaku činjenice (predloga koji se kasnije konsoliduje). Podrazumeva se da postoji mehanizam evaluacije značaja predloga (kao relacija
koja odred̄uje da je neki važniji od drugog) i algoritam izvršavanja protokola
sa čekanjem u nekim slučajevima (timeout) na odgovore. Jedna serija iteracija agenata sve do uspešnog okončanja protokola (svi agenti su konsolidovali
neku novu činjenicu i nema novih predloga) ili neuspešnog (slučaj kada nema
nove konsolidovane činjenice) se naziva čin (act - slično epohama učenja).
Tok komunikacije se može prikazati i standardnim UML dijagramima, a ispod je primer jednog čina u vidu serije grafova stanja (ilustracija iz [IGP]):
Mašinsko učenje, inteligentni agenti
105
(primer speech-act scenarija u situaciji razmene ponuda)
Ovo je samo jedan od mogućih scenarija komunikacije u ovakvom jednom sistemu. Ovakvi sistemi su robustniji i fleksibilniji nego jedno-agentski i slični
inteligentni sistemi, ali je zato njihovo projektovanje često daleko složenije javaljaju se novi problemi koordinacije i kontrole agenata, kao i performansi
celog sistema. Uobičajen pristup je upotreba referentnih modela strukture i
komunikacije (kao što je to npr. KQML ili FIPA standard koji podrazumeva
veliki broj različitih scenarija komunikacije, dodatno uz ACL ili slični transportni protokol komunikacije med̄u agentima), kao i implementacije modela
u vidu okruženja i alata za razvoj takvih sistema kao što su JADE (Bellifemine, 1999), FIPA-OS, JATLite (Petrie, 1996), ZEUS (Collis, 1998), IBM-ov
Aglets, Concordia, Voyager, i drugi. Ovim su najviše pokriveni srednji sloj i
kontrolni agenti. Primer KQML poruke:
(PACKAGE :FROM ap001 :TO ap002
:ID DVL-f001-111791.10122291
:COMM sync
:CONTENT (MSG
:TYPE query
:QUALIFIERS (:number-answers 1)
:CONTENT-LANGUAGE KIF
:CONTENT-ONTOLOGY (blocksWorld)
:CONTENT-TOPIC (physical-properties)
:CONTENT (color snow ?C)))
106
Seminarski rad
(preuzeto iz [IGP])
Informacioni agenti zavise od izvora znanja koje se koristi. Informacioni
agent može u opštem slučaju koristiti:
• nestruktuirane ulazne podatke kao izvor znanja - npr. prirodni jezik
zadat tekstuelnim dokumentima ili bazama podataka
• polustruktuirane - HTML, XML (standardi za današnji internet po
W3C konzorcijumu) i drugi mark-up jezici sadrže mnoge strukturne elemente kojima se zadaje delimično značenje sadržaja i olakšava njegova
obrada
• struktuirane - semantički web (Tim Berners-Lee, inače ,,otac wwwa”) i ontologije: u najopštijem smislu, ontologija je ,,formalna specifikacija konceptualizacije” (Gruber, 1993), što mogu biti i PR1, frejmovi ili semantičke mreže, ali pre svega pojavom XML standarda
Mašinsko učenje, inteligentni agenti
107
nastaju formalizmi i jezici koji rešavaju pitanje strukture i semantike
sadržaja dokumenta (na web-u), npr. ontološkim jezicima RDF/RDFS
(Resource Definition Framweork / Schema), XML/XMLS (XML / Schema),
OWL (Web Ontology Language), DAML+OIL (DARPA Agent Markup
Language, Ontology Interchange Language, svi navedeni osim ovog su
po W3C prihvaćeni kao standard semantičkog web-a) se mogu definisati ontologije pojmova kojima se predstavlja znanje ali i ontologije
pojmova pomoću kojih se vrši opis zahtevanih usluga agenata. Tako
shvaćene ontologije (uz tehnologije inteligentnih agenata i SOA) čine
osnovu naredne generacije interneta u budućnosti - semantičkog web-a.
Primer modularne strukture informacionog agenta zasnovanog na polustruktuiranom web sadržaju uz korišćenje web parsera kao omotača ([IGP]):
Navedeni modeli, konkretna rešenja i uopšte MAS okruženja mogu biti realizovani različitim arhitekturama informacionih sistema i tehnološkim platformama. Modelovanje softvera tako postaje bliže inženjeringu znanja, i
lakše se upravlja stabilnošću, formalnom i praktičnom korektnošću sistema.
Postoji veliki broj različitih rešenja i platformi, i većina postavlja zahtev
interoperabilnosti i portabilnosti, gde model neke arhitekture ne zavisi od
načine komunikacije med̄u komponentama i ne zavisi od konkretne platforme.
Kada bi svi informacioni sistemi bili iste arhitekture i radili na istom operativnom sistemu, njihova sama priroda je praktično dovoljno heterogena i
108
Seminarski rad
podložna promenama u tolikoj meri da bi vremenom morale nastati divergencije i kolaps takvog pristupa. S druge strane, postoje realni zahtevi za
standardizacijom i formalizacijom modela i arhitekture informacionih sistema gde bi bila moguća koegzistencija različitih rešenja (frameworks) ili
njihova med̄usobna konverzija. Jedno takvo opšte rešenje koje podrazumeva
integraciju različitih rešenja je MDA (Model Driven Architecture), koje je
poteklo od OMG (Object Management Group, otvoreni, neprofitni konzorcijum za industrijske standarde interoperabilnih informacionih sistema, a motive nudi i IC - Integration Consortium - za industrijske standarde integracije
sistema). MDA definiše tri pogleda prema vrsti i nivou apstrakcije: CIM
(Computation Independent Model, slično ontologijama predstavlja domenski model), PIM (Platform Independent Model, za razliku uzima u obzir
i procese (computation) ali nezavisno od platforme), PSM (Platform SPecific Model, uzima u obzir i realizaciju na konkretnoj platformi, gde je cilj
pomeriti ljudski rad na prethodna dva modela). Standardi koji se koriste
su: MOF (Meta Object Facility, model arhitekture informacionog sistema u
4 nivoa gde je meta-meta-model nivoa M3 - MOF - na vrhu (npr. klasa),
zatim sledi meta-model M2 (npr. UML specifikacija), model konkretnog sistema nivoa M1 i konkretna instanca, M0), UML i XMI (XML Metadata
Interchange). Primer ovakvog modela je OMG-ov CWM (Common Warehouse Metamodel), a konkretne platforme (pored operativnog sistema) za
realizaciju sistema su recimo J2EE/SE, Microsoft .Net, XML i SOA (Web
servisi), itd. Primeri razvojnog okruženja za ontologije su Protégé, Ontolingua i Chimaera, a primer okruženja za razvoj modela na M1 nivou je npr.
UML CASE alat Rational Rose (odred̄enim UML šemama se generišu baze
podataka, XML šeme, enterprise bean-ovi, kb
od i drugo), AIR framework za
razvoj intelignentnih sistema koristi Eclipse okruženje i plug-in arhitekturu
kojom se realizuju i M2 modeli kao što je ODM ontološki metamodel, CWM
ili UML profili. Med̄utim, još uvek ne postoji kompletno MDA rešenje.
9.2
JADE
JADE (Java Agent DEvelopment Framework) je Java softversko okruženje
namenjeno razvoju agenata i izvršno okruženje kao srednji sloj koji podržava
sistem agenata (autor je F. Bellifemine, u vlasništvu je TILAB preduzeća,
a licencira se po GNU LGPL principu). Ovo okruženje omogućava distribuiranu platformu koja se može prostirati na više računara, i nju čini
jedan ili više kontejnera - kontejner predstavlja JVM (Java Virtual Machine)
Mašinsko učenje, inteligentni agenti
109
sa kompletnim JADE izvršnim okruženjem, gde se agentima omogućava
konkurentni rad (svaki agent svoju nit, Java Thread). Kontejneri mogu biti
na različitim računarima u mreži (koju mogu biti opet fizički različite platforme, različiti OS i verzije JRE - Java izvršnog okruženja, pa čak i druga
razvojna okruženja, koja nisu JADE ali poštuju FIPA standarde), i nudi se i
mogućnost mobilnosti agenata med̄u kontejnerima (zahvaljujući dinamičkom
učitavanju klasa i perzistentnosti stanja agenta). Osnovni transportni protokol (MTP) je JICP koji leži na Java RMI / IIOP, od verzije 3.2 je dodat i
HTTP kao osnovni, a moguće je proširiti MTP (Message Transfer Protocol)
na bilo koji drugi (SMTP na primer).
Pored toga, nude se i bezbednosni mehanizmi za autentifikaciju agenata
i prava pristupa, GUI kojim se prati i upravlja radom izvršnog okruženja za
DF (Directory Facilitator), posebno RMA (Remote Agent Managament) i
AMS (Agent Management System):
110
Seminarski rad
Dummy agent kojim se mogu slati i isprobavati različite SL poruke
mnogi dodaci i biblioteke koje olakšavaju razvoj agenata. Cela jedna agentska
platforma može se smestiti u jedan Java aplet tako da je dovoljno Javakompatibilnim browser-om pokrenuti stranicu sa takvim apletom da bi se
ceo jedan takav MAS pokrenuo.
9.2.1
FIPA
JADE u potpunosti poštuje FIPA (Foundation for Intelligent Physical
Agents, 1997) standarde za inteligentne agente. Osnovu ovih standarda čini
arhitektura izvršnog okruženja sa upravljanjem životnog veka agenata, gde
su obavezni elementi tj. servisi (koji čine AP - agentsku platformu):
• AMS (Agent Management System) - agent odgovoran za upravljanje
radom celokupne platforme i praćenje (monitoring) svih agenata u
njemu i njihovih opisa i ontologija (zove se zato još i ,,white pages” agent,
svaki agent se može jedinstveno identifikovati imenom)
• DF (Directory Facilitator) - kontrolni agent kome se ostali agenti javljaju da bi oglasili usluge (servise) koje su u stanju da obezbede ili da
bi ih pronašli (i zato se zove još i ,,yellow pages” agent)
Mašinsko učenje, inteligentni agenti
111
• ACC (Agent Communication Channel) - softverska komponenta koja
kontroliše razmenu poruka izmed̄u agenata u sistemu, MTP (Message
Transfer Protocol) vrši fizički prenost poruka izmed̄u njih (RMI/IIOP,
HTTP, SMTP, i sl.)
• MTS (Message Transport Service) - softverska komponenta koju obezbed̄uje
agentska platforma (AP, kontejner), i koja koristi ACL (Agent Communication Language) za razmenu poruka izmed̄u agenata iste AP ili
različitih AP
AP
AMS
Agent
...
Agent
DF
MTS
AP
MTS
...
Komunikacija agenata se zasniva na asinhronoj razmeni poruka svojstvenoj
distribuiranim i slabo spregnutim sistemima (kakve su recimo i peer-to-peer
mreže). Struktura poruka je usklad̄ena sa ACL jezikom koji propisuje FIPA.
Struktura poruke
Envelope (obvojnica)
Payload (teret)
Message (poruka)
Content (sadrzaj)
Transportni
podaci
(to, from, date, acl−representation)
Kodirana poruka
(payload−length, payload−encoding, ...)
Parametri poruke
Sadrzaj poruke
112
Seminarski rad
Svaki agent može imati jedno ili više ponašanja (behaviour - odnosno zadataka, usluga, funkcionalnosti koje implementira - jedno od mogućih ponašanja
je i JessBehaviour, koje omogućava integraciju sa Jess okruženjem) i ontologija kojima se definiše kasnije kontekst poruka (npr. agent-management
ontology). Postoji standardna biblioteka komunikacionih činova (aktova) i
protokola interakcije koji predstavljaju šablone i deo ponašanja (apstraktne
Java klase) kojima se modeliraju kompleksni oblici protokola komunikacije
izmed̄u agenata (Speech Act Theory, čime je pokriven najveći broj sistema
tako da nije potrebno razvijati aspekte komunikacije koji nisu vezani za
aplikacionu logiku) - komunikacioni činovi su na primer: accept-proposal
(prihvatiti ponud̄nu ponudu), agree (prihatiti izvršenje akcije, moguće u
budućnosti), cancel (prekinuti zahtevanu akciju), confirm (potvrda da je
ponuda ili iskaz tačan), disconfirm (suprotno prethodnom), query-if (upit
da li je iskaz tačan - slično proposal poruci u ranije pomenutom KM modelu), request (zahtev za izvršenjem akcije), propose (podnošenje zahteva za
nekom akcijom), query-reg (upit drugom agentu gde se traži neki objekat
zadat izrazom), refuse (odbiti zahtevanu akciju), request-when (zahtevati
uslovnu akciju), subscribe (stalno obaveštavanje pošiljaoca o nekoj vrednosti
nakon svake promene), proxy (prosled̄ivanje poruke spisku agenata), itd.
Od osnovnih klasa (primitivnih) ponašanja (Primitive Behaviours - npr.
klasa SimpleBehaviour od kojih se mogu graditi prošiviranjem druga, kao i
CyclicBehaviour koje nakon registrovanja od strane agenta ostaje aktivno do
daljnjeg i obično se njime šalju ,,cirkularne” poruke drugim agentima, njegova nadgradnja TickerBehaviour se periodično može okidati i zaustavlja se
metodom stop, zatim OneShotBehaviour i proširenja, itd.) grade se kompozitna ponašanja (od primitivnih ili drugih kompozitnih podponašanja metodom
addSubBehaviour ) koja mogu biti :
• paralelna (ParallelBehaviour, čija se podponašanja dešavaju konkurentno)
• sekvencijalna (SequentialBehaviour, gde se podponašanja dešavaju redno)
U osnovi sva ponašanja agenta su aktivna paralelno, i svaki agent čita iz
reda poruka paralelno sve poruke - osnovna komunikacija send i receive
metodima se može realizovati ponašanjem CyclicBehaviour kao šablonom
(primer preuzet iz [jade], postoje i drugi koji su dati uz distribuciju):
Mašinsko učenje, inteligentni agenti
113
package examples.messaging;
import jade.core.Agent; import jade.core.behaviours.CyclicBehaviour;
import jade.lang.acl.ACLMessage; import
jade.lang.acl.MessageTemplate;
public class PingAgent extends Agent {
private MessageTemplate template = MessageTemplate.and(
MessageTemplate.MatchPerformative(ACLMessage.QUERY_IF),
MessageTemplate.MatchOntology("presence") );
protected void setup() {
addBehaviour(new CyclicBehaviour(this) {
public void action() {
ACLMessage msg = myAgent.receive(template);
if (msg != null) {
System.out.println("Received QUERY_IF message from agent "+
msg.getSender().getName());
ACLMessage reply = msg.createReply();
if ("alive".equals(msg.getContent())) {
reply.setPerformative(ACLMessage.INFORM);
reply.setContent("alive");
}
else {
reply.setPerformative(ACLMessage.NOT_UNDERSTOOD);
reply.setContent("Unknown-content");
}
myAgent.send(reply);
}
else {
block();
}
}
} );
}
}
Postoje mehanizmi i ponašanja kojima se komunikacija odvija rafninirano
tako da samo odred̄eni agenti čekaju odgovore drugih odred̄enih agenata pod
nekim uslovima (npr. SimpleAchieveREInitiator i SimpleAchieveREResponder naspram prethodnih, kao i pomenuti ContractNetInitiator i ContractNetResponder ). Neki od mehanizama kojima su realizovana takva ponašanja su:
čekanje na sledeću poruku (block, sa opcionim vremenom čekanja u milisekundama) i šabloni poruka (MessageTemplate kojim se filtriraju poruke tako
da se čitaju samo poruke datog tipa, MatchPerformative - REQUEST, INFORM, CFP, REFUSE, itd. - ili date ontologije, ili datog jedinstvenog identifikatora konverzacije ConversationID, ili logičke kombinacije prethodnih).
114
Seminarski rad
Envelope
Encoding
Scheme
IDL
XML
bit−eff
Envelope
(obvojnica)
1
1
Trasport
Protocol
isTransmittedOver
IIOP
HTTP
1
contains
ACL
Encoding
Scheme
String
XML
bit−eff
1..*
1
1
Message
ACL
isExpressedIn
ACL
1
String
contains
CL
Encoding
Scheme
1
1
1
Content
CL
isExpressedIn
SL
1
request,
inform, query,
contract−net
...
Interaction
Protocol (IP)
contains
0..*
1..*
Symbol
1
BelongsTo
Ontology
(UML dijagram strukture poruke)
9.2.2
FIPA-SL
FIPA-SL jezik sadržaja (CL, Content Language) može imati poruke tri
tipa (dati su primeri ACL poruka ispod):
• predlog (proposition) - dobro formirana formula (wff) kojoj se može
dodeliti istinitosna vrednost, npr.:
(confirm
:sender (agent-identifier :name i)
:receiver (set (agent-identifier :name j))
:content ((is mammal platypus))
:language fipa-sl )
Mašinsko učenje, inteligentni agenti
115
• akcija - zahtev da izvrši akcija, npr.:
(request
:sender (agent-identifier :name i)
:receiver (set (agent-identifier :name j))
:content ((action (agent-identifier :name j)
(deliver box017 (loc 12))) :protocol fipa-request
:language fipa-sl
:reply-with order567 )
• IRE (Identifying Reference Expression), referenciranje na objekat u
domenu, npr. upit ,,koji je glavni grad Engleske”:
(request
:sender (agent-identifier :name i)
:receiver (set(agent-identifier :name j))
:content
((action (agent-identifier :name j)
(inform-ref
:sender (agent-identifier :name j)
:receiver (set (agent-identifier :name i))
:content ((iota ?x (CapitalEngland ?x)))
:ontology world-politics
:language fipa-sl) ))
:reply-with query0
:language fipa-sl)
Postoji veliki broj nekomercijalnih i komercijalnih biblioteka ontologija koje
stoje na raspolaganju (na internetu) nezavisno od FIPA okruženja, i mnoga
se mogu u skladu sa paradigmom ponovne upotrebljivosti (reusability) ontologija koristiti za dalji razvoj. Na osnovu komunikacionih činova su definisani osnovni šabloni protokola interakcije (a mogu se proširiti novim po
potrebi): FIPAPropose, FIPARequest, FIPAQuery, FIPARequestWhen, FIPAContractNet, FIPAIteratedContractNet, FIPABrokering, FIPARecruiting, IPASubscribe, itd. Na primer:
116
Seminarski rad
FIPA−Request Protocol
Initiator
Participant
REQUEST
REFUSE
AGREE
FAILURE
INFORM−DONE
INFORM−RESULT
FIPA−Contract−Net
cfp (action p1)
not−understood
refuse
(reason)
propose
(p2)
FIPA−iterated−contract−net
reject
proposal
accept
proposal
inform
(done)
cancel
failure
(reason)
JADE podrazumeva i mnogo više od komunikacije nalik P2P mrežama
zahvaljujući izražajnosti SL jezika koja je veoma korisna - pomenuti IRE
tip poruka nudi i veoma moćan mehanizam predikata i upita nad sadržajem
i ontologijama agenata - recimo, moguće je koristiti postojeće PR1 logičke
predikate (klasa AbsPredicate za SL2Vocabulary interfejs: AND, OR, NOT,
FORALL, EXISTS, itd.) i promenljive, kao i modalne kvantifikatore uverenja
(BELIEF, BELIEF AGENT, BELIEF CONDITION) ili verovatnosne (UNCERTAINITY), i definisati svoje predikate nad konceptima ontologija.
Mašinsko učenje, inteligentni agenti
117
Pored ovih FIPA podrazumeva i mnoge opcione specifikacije i standarde,
med̄u kojima su i ontološki servis, bezbednost i prava pristupa, WAP podrška,
QoS (Quality of Service), i drugi.
Za JADE su takod̄e raspoložive mnoge dodatne mogućnosti i alati: upotreba
RDF ili XML kao osnovu MTP, upotreba agenata u JSP (kao Java bean-ova
ili tag bibliotekom), upotreba SSL / PKI za MTP, i drugo. JADE je testiran je i koristi se na mnogim platformama med̄u kojima su i mobilni i PDA
ured̄aji.
9.3
9.3.1
Primer
Modifikovan model najbližih suseda
Algoritam koji koriste mnogi sistemi za preporučivanje na internetu ili
sličan (recimo www.last.fm ili www.amazon.com, ili reklamiranje na nekim
pretraživačima) koristi model najbližeg suseda: ako su Ri,p ocene korisnika
i ∈ I (I je skup svih korisnika) i p ∈ P (P je skup objekata koji se ocenjuju - npr. muzika koja se sluša ili proizvod koji se kupuje - veća ocena je
bolja, a može se posmatrati i kao verovatnoća), rastojanja slušalaca, odnosno
korisnika su, recimo:
P|P |
2
p=1 (Ri,p − Rj,p )
Di,j =
|P |
Nedostajuće ocene se ignorišu. Skup suseda korisnika i, uz dato maksimalno
rastojanje L kao parametar, jeste Si = {j| Di,j < L}. Ako su težine suseda
L−D
Wi,j = L i,j , predvid̄anje ocene objekta p za korisnika i je onda:
P
j∈S Wi,j Rj,p
Ri,p = P i
j∈Si Wi,j
Mnogi internet podcasting sistemi koriste različita rešenja: Apple iTunes koristi pretragu prema ograničenjima, Philips-ov PATS koristi sistem grupisanja
(formiraju se grozdovi sličnih elemenata gde svaki element u dinamičkom sistemu ima brzinu i koordinate atributa, i gde se onda sličniji med̄usobno više
privlače), a može se koristiti i Gausovska regresija ili neka metoda kombinatorne optimizacije.
118
Seminarski rad
Ideja je iskoristiti grupisanje objekata pronalaženjem suseda da bi se
formirala početna lista objekata (kao sortirana lista prema ocenama), na
primer na osnovu datog proizvoda ili autora pesme, a onda se daljim dodavanjem objekata ili izbacivanjem sa liste, i upotrebom (primera radi) ID3
algoritma mogu dobiti drvo odlučivanja i relevantni atributi na osnovu kojih se ponovo odred̄uje skup suseda i lista objekata. Ako se koristi metoda
najbližih suseda onda se dobija predlog na koji utiče mišljenje suseda, a ako
se koristi drvo odlučivanja, onda se dobija predlog na koji ne utiču susedi štaviše, predlog može biti proširen tako i objektima koji nisu prvobitno dobijeni metodom najbližih suseda. Ovakav pristup je sličan onome koji koristi
www.pandora.com, ali da bi to bilo moguće neophodna je i baza atributa
i vrednosti objekata kao instanci, i ako bi ih sami korisnici unosili pored
ocena to bi se razlikovalo od pomenutog primera (umesto da ih unosi ekipa
obučenih muzikologa, što odgovara paradigmi ekspertnih sistema). Da bi to
bilo moguće, neophodno je napraviti dodatne izmene modela suseda koje bi
0
P|P |
(Rk −Rk )2
uzele u obzir subjektivne razlike ocena Di,jk = p=1 |Pi,p| j,p k-tog atributa
Ak (svaki atribut može imati vrednosti rastojanja u intervalu (0, M ], pitanje
je samo kako oceniti ovo M , pogotovu ako se radi brzine računanja uzimaju
u obzir samo atributi skupa suseda datog korisnika) iz skupa atributa A, gde
je onda ispravljeni ponder:
∗
Wi,j
|A|
k
L − Di,j Y k M − Di,j
=
ci,j
L
M
k=1
Opet se podrazumeva da se ne računaju neocenjeni atributi i primeri. Med̄utim,
korisnik može subjektivno oceniti oceniti sve proizvode skalirano za dati
atribut (npr. svim primerima je dao dva puta veće ocene), ili se može desiti
da nije još ocenio atribut primera koji bitno utiče na rastojanje. Jedan način
da se to popravi jeste normalizacija vrednosti ocena atributa prema optimalnom primeru za date korisnike i najvećoj vrednosti po atributu (efikasnost
bi se mogla dodatno postići odbacivanjem objekata s malim brojem ocena i
DTW algoritmom):
´2
k
k
P|P | ³ Ri,p
Rj,p
k
k
]
,
R
(
−
)
min
[R
k
k
j,q
i,q
p=1
Ri,q
Rj,q
∗k
Di,j
= min
q∈P
|P |
tako da je konačna popravljena vrednost rastojanja atributa:
0
∗k
k
]
Di,j
= min [Di,jk , Di,j
Mašinsko učenje, inteligentni agenti
119
gde je cki,j dodatno podešavanje razlike uvod̄enjem težinskog koeficijenta značaja
k
atributa, recimo prema broju unetih ocena |Sik | = |{(j, p)|j ∈ Si , p ∈ P, Rjp
sk |S k |sk |S k |
uneto }| primera u susedstvu cki,j = i |Sii ||Sjj | j i subjektivnim ocenama (ski
i skj ) korisnika (npr. atribut OCENA bi trebao da bude značajniji od ostalih). Odavde se vidi da je ocenjena vrednost linearna kombinacija vrednosti
ocena suseda, gde su težine na pogodan način odabrane. Dobra mogućnost
je ponuditi korisniku da kreira sopstvene atribute koje deli sa drugima, što se
može i proveriti u prototipu. Dodatno poboljšanje bi moglo biti i uvod̄enje
taksonomijske hijerarhije odnosa med̄u atributima (makar na nivou prostih
kategorija proizvoda).
Ovakvi sistemi preporučivanja se u osnovi razlikuju od ekspertnih sistema
po tome što nije ekspetsko znanje presudno za donošenje predloga već sličnost
ukusa korisnika (što je relativna kategorija u opštem slučaju), ali postoje i
mnoge sličnosti: način prikupljanja znanja (intervjuom), zatim mehanizam
odlučivanja koji može podrazumevati i objašnjenje zašto je predlog donet, i
na kraju baza deklarativnog znanja.
9.3.2
Razvojno okruženje
Za potrebe izrade prototipa prethodno opisanog sistema korišćen je JADE
kao multitagentska platforma i Eclipse (verzija 3.2.1) kao Java razvojno
okruženje. Sve što je potrebno za kompilaciju nekog JADE projekta je da se
biblioteke iiop.jar, http.jar, commons-codec-1.3.jar, jade.jar i JadeTools.jar
dodaju kao eksterne biblioteke projekta:
120
9.3.3
Seminarski rad
Alternativna okruženja
Protégé bi mogao takod̄e biti koristan alat za generisanje JADE ontologija
(pomoću Java Bean generatora plugin-a), ali i tačka integracije razvojnog
okruženja ako se koriste ontologije i CLIPS kao mehanizam zaključivanja
agenata - može se koristiti i CLIPS tab umesto Jess tab-a sa Protégé-om
(postoji i Java wrapper za CLIPS - Jess zahteva dodatno licenciranje ili
stalnu obnovu privremene licence skidanjem nove verzije, ali zato ima širi
opseg funkcionalnosti i mogućnosti od klasičnog CLIPS-a), a postoje i mnoga
druga okruženja za razvoj agenata i njihovih ontologija. Agent-based Gnets tj. agentno zasnovane G-mreže kao proširenje G-mreža (koje je opet
objektno proširenje Petri mreža, Perkusich, de Figueiredo) nude mogućnost
modeliranja složenih multi-agentskih sistema ali i njihovu formalnu proveru
tako zadatom specifikacijom. Slično nudi i PN2 dijalekat Petri mreža, ili
P/T sa MONS proširenjem (Mobile Object Net Systems) za specificiranje
semantike (gde se svakom tokenu dodeljuje nova P/T mreža) - ovo na primer
podržava besplatan Java alat Renew (koji podržava i druge dijalekte Petri
mreža, simulaciju modela, standardno koristi XML za razmenu modela što je
vrlo slično PNML - Petri Net Markup Language), a tu su i PNK (Petri Net
Kernel), PIPE (koji koristi modularan pristup proširavanja funkcionalnosti,
kao i alate za analizu i simulaciju modela, PNML zapis), P3 (P3tool uz PNML
je veoma upotrebljiv) i Protégé dodaci (RDFS Ontology + PAL Constraints).
Mašinsko učenje, inteligentni agenti
9.4
121
Prototip primera
Kao polazni kostur rešenje korišćen je jedan od demo primera, Meeting Scheduler, koji dolazi uz JADE distribuciju. Osnovu čini FIPAContractNet protokol komunikacije sa nekim modifikacijama u klasama MyFipaContractNetInitiator i MyFipaContractNetResponder koje nasled̄uju osnovni
šablon, kao i trie ontologije u klasama MIAPOntology i MIAAOntology za
usaglašavanje proizvoda i atributa, i klasa ReceiverBehaviour za upite (klase
koje definišu ontologije su u paketu mustIA.Ontology, sve ostale su u paketu
mustAgent) i CancelBehaviour kojom se može usaglasiti brisanje atributa (testirano ali se ne koristi trenutno). Klasa kojom se implementira sam agent je
mustGui koji u ovoj realizaciji koristi Swing GUI definisan mainFrame klasom (alternativno, front end bi mogao biti i JSP kod, gde kod agenata postoji
ograničenje da nemogu da dele Java VM sa onom koja izvršava JSP kod što može biti mogući primer nekakve dalje nadgradnje). Ovim ontologijama
se vezuje objekat Osoba sa objektima Proizvod i Atribut (Vrednost bi takod̄e
mogao biti poseban objekat u opštem slučaju), gde atribut može imati više
vrednosti, a proizvod jedan ili više atributa. Cilj je postojećim protokolom
svaku najavu novog proizvoda ili atributa nekog korisnika usaglasiti sa svim
agentima koji su ulogovani jednoglasno prema nekom kriterujumu (trenutno
je ispunjen uvek) i usaglasiti podred̄ene atribute i vrednoti, respektivno. Jedini kriterijum prihvatanja ontologije je da zabranjuje dodavanje proizvoda
ili atributa koji imaju isti naziv kao postojeći naziv koji neki od ulogovanih
agenata već ima spremnog za usaglašavanje u polju za unos, a usaglašavanje
podrazumeva izbacivanje istoimenih atributa ili vrednosti. Ovaj protokol
nudi mogućnost npr. da isti naziv vrednosti atributa ima različite vrednosti
kod različitih agenata i da se onda svi nekako usaglase oko izbora vrednosti
tog atributa, ali se lako može, na primer, proširiti tako da usaglašavanje
podrazumeva i izbor najbolje cene proizvoda koji se nudi ako je najavljen
za prodaju na taj način (primera radi) - ovo čini jednu od osnovnih razlika
izmed̄u distribuirane komunikacije agenata i komunikacije klijent-server tipa
gde bi svi agenti kao klijenti morali da imaju usaglašene podatke.
Objekat Osoba ima osobinu rola koja pre svega izdvaja admin agente
od običnih korisničkih - ideja je da admin agenti ,,pravom veta” utiču
(odobravaju ili ne odobravaju izbor) na rad sistema, i onda bi pre svega
bio potreban bar jedan admin agent da bi sistem radio (mada to trenutno
nije implementirano ali se to može jednostavno realizovati). Očekuje se da
122
Seminarski rad
takvi kontrolni agenti budu na serveru i da nemoraju biti interaktivni za
razliku od korisničkih - sledeća moguća dorada bi bila da takvi ili posebni
agenti istim ontologijama komuniciraju i čuvaju podatke (recimo JDBC ka
HSQLDB ili MySQL bazi) na serveru, što bi činilo sistem perzistentnim i
nakon njegovog ,,gašenja”. Svaki proizvod mora imati bar atribut OCENA.
Njegovu vrednost ocenjujemo pomenutim modelom najbližih suseda pokretanjem upita, i praktično je ravnopravan u odnosu na bilo koji drugi atribut
(model računanja ocene to dopušta, ali bi se mogli neki atributi ponderisati
kako je pomenuto).
Osnovna funkcionalnost ovakvog prototipa je:
• pokretanje JADE okruženja i probnih korisničkih agenata
• GUI za unos proizvoda, atributa i njihovih vrednosti uz usaglašavanje
CFP (ContractNet) protokolom
• pridruživanje dodatnog agenta i njegovog kontejnera uz usaglašavanje
sa drugima (uz ReceiverBehaviour ponašanje) preko MTP
• postavljanje upita o oceni izabranog proizvoda
9.4.1
Pokretanje
Najosnovniji primer pokretanja bi bio dat sledećom komandnom linijom
(runmust.bat):
java -jar mustAgent.jar -nomtp -gui Pera:mustAgent.mustGui
Mika:mustAgent.mustGui
To je varijanta u kojoj se ne koristi MTP - drugi način bi bio pokretanje
posebnog glavnog kontejnera (okidač -gui označava pokretanje DF gui-a,
primer je dat u runadmin.bat):
java -jar mustAgent.jar -gui admin:mustAgent.mustGui
nakon čega se pojavljuje login dijalog:
Mašinsko učenje, inteligentni agenti
123
Pošto se login ne koristi trenutno, dovoljno je pritisnuti enter (ili ok) i pojavljuje se instanca agenta sa njegovim gui-jem:
Nakon toga se može pokrenuti poseban lokalni kontejner sa, recimo, dva
agenta koji se mogu nalaziti bilo gde na mreži tako da se vidi platforma (u
ovom slučaju je ona na računaru lap-zpopovic i default MTP portu 1099):
java jade.Boot -container -host localhost -port 1099
Pera:mustAgent.mustGui Mika:mustAgent.mustGui
uz prethodno podešeno okruženje (za lokalno pokrenut kontejner), kako je
npr. u runlocal.bat:
set classpath=\%classpath\%;c:\java\jade\lib\jade.jar;
c:\java\jade\lib\jadeTools.jar;c:\java\jade\lib\http.jar;
c:\java\jade\lib\iiop.jar;.\mustAgent.jar
124
Seminarski rad
Nakon toga se na izlazu konzole može videti tok izvršavanja JADE okruženja
(kao i na konzoli platforme posebno):
May 22, 2007 12:13:22 PM
jade.core.Runtime beginContainer INFO:
---------------------------------This is JADE3.4 - revision 5874 of 2006/03/09 14:13:11
downloaded in Open Source, under LGPL restrictions,
at http://jade.tilab.com/
---------------------------------------May 22, 2007 12:13:22 PM jade.core.BaseService init INFO: Service
jade.core.management.AgentManagement initialized May 22, 2007
12:13:22 PM jade.core.BaseService init INFO: Service
jade.core.messaging.Messaging initialized May 22, 2007 12:13:22 PM
jade.core.BaseService init INFO: Service
jade.core.mobility.AgentMobility initialized May 22, 2007 12:13:22
PM jade.core.BaseService init INFO: Service
jade.core.event.Notification initialized May 22, 2007 12:13:23 PM
jade.core.AgentContainerImpl joinPlatform INFO:
-------------------------------------Agent container Container-1@JADE-IMTP://lap-zpopovic is ready.
-------------------------------------------*USER:Mika
Agent ’Mika - mustGui’ spreman za rad.
*USER:Pera
Agent ’Pera - mustGui’ spreman za rad.
Known Mika
Receive poslat za init ...
Cancel>block.
ReceiverBehaviour: received (REQUEST :sender ( agent-identifier :name
Mika@lap-zpopovic:1099/JADE :addresses (sequence http://lap-zpopovic:
7778/acc ) :X-JADE-agent-classname mustAgent.mustGui )
:receiver (set ( agent-identifier :name Mika@lap-zpopovic:1099/JADE
:addresses (sequence http://lap-zpopovic:7778/acc ) :X-JADE-agent-cl
assname mustAgent.mus tGui ) )
:language fipa-sl0 :ontology mustIA-Query-Ontology )
REC*REQUEST answerUpit: Cancel>block. ... Mr./Mrs. admin - (agent-ident
ifier :name admin@lap-zpopovic:1099/JADE :addresses (sequence http://l
ap-zpopovic:7778/acc )) registered with DFdf@lap-zpopovic:1099/JADE Mr.
/Mrs. Pera - ( agent-identifier :name Pera@lap-zpopovic:1099/JADE :add
resses (sequence http://lap-zpopovic:7778/acc )) registered with DF df@
lap-zpopovic:1099/JADE Mr./Mrs. Mika - ( agent-identifier :name Mika@la
p-zpopovic:1099/JADE :addresses (sequence http://lap-zpopovic:7778/acc
)) registered with DF df@lap-zpopovic:1099/JADE
...
Nakon toga je moguće recimo pokrenuti iz menija opciju kojom se pregledaju prijavljene osobe na platformi (,,Pogledaj registrovane osobe”):
Mašinsko učenje, inteligentni agenti
125
Svaki gui trenutno koristi Timer objekat da bi povremeno od DF-a saznao za
ulogovane osobe na platformi, a moguće je iz menija pokrenuti i priključivanje
drugih platformi. Okruženje se spušta pravilno iz DF gui-a shutdown komandom:
Naravno, odatle je moguće gasiti i pojedine agente ili kontejnere.
9.4.2
Opis korisničkog interfejsa i primer unosa
Korisnički interfejs prototipa omogućava pre svega unos proizvoda, atributa
i njihovih vrednosti, kao i odabir pojedinih vrednosti. Svaki proizvod ili
atribut se unosi u odgovarajuće polje levo od dugmeta kojim se registruje.
Pre registracije proizcoda ili atributa se može upisati nekakav komentar u
odgovarajuće polje. Nakon registracije proizvod (ili atribut) se distribuira
svim ulogovanim agentima i ako je prihvaćen pojavljuje se u kombo listama
kod svakog agenta. Može se registrovati i postojeći atribut kod proizvoda
gde nije korišćen gde se automatski preuzimaju postojeće vrednosti atributa.
Unos vrednosti nudi mogućnost da se unese samo njena brojna vrednost, a
može se uneti i njen naziv. Odabirom naziva ili unete vrednosti iz liste (ili
unosom i pritiskom na enter) biva odabrana vrednost prethodno izabranog
atributa izabranog proizvoda. Na panelu je prisutno polje za prikaz poruka
126
Seminarski rad
(postoji i dodatno polje na tabu ,,izlaz” gde se npr. dobijaju dodatne informacije ili poruke o greškama). Prostim zatvaranjem prozora se ne deaktivira
agent - u opštem slučaju gui nije neophodan za rad agenta.
Na primer, jedan od mogućih redosleda unosa bi bio: uneti proizvoljan
proizvod u jednom od agenata, prijaviti ga, zatim uneti njegov atribut i
prijaviti ga. Nakon toga u drugom agentu uneti za registrovan atribut neku
vrednost (recimo 2.0) i vrednost ocene unetog proizvoda (recimo 5.0 tj. ,,neodred̄eno”) - postaviti upit (prvi će dobiti odgovor 5.0 a drugi 0.0). Nakon
toga uneti dodatne proizvode i vrednosti atributa u prvom agentu (recimo
2.0) i ponovo postaviti upit za isti proizvod. Tek dodavanjem novih agenata
se dobijaju složenije ocene vrednosti, što je i očekivano (rastom broja instanci
skupa primera algoritam daje bolje rezultate).
9.4.3
Opis postavljanja upita
Postavljanje upita za izabrani proizvod računa prema ranije opisanoj formuli ocenu vrednosti tog atributa u odnosu na susede agenta u kome se
računa. Rezultat se upisuje u polje za ispis poruka.
U samoj funkciji getOcena (gde se vrši računanje na osnovu upita) postoje
parametri kojima se može uticati na računanje, ali na težinske koeficijente se
može uticati i na druge načine.
Mašinsko učenje, inteligentni agenti
9.4.4
127
Ostale moguće dorade
Ovakav primer se može dalje proširivati i usmeravati konkretno za neku
specifičnu primenu. Model najbližeg suseda u ovom primeru predstavlja
specijalan slučaj konceptualizacije objekat-atribut-vrednost (O-A-V) gde proizvod
odgovara objektu, a različiti agenti (korisnici) imaju različita uverenja kako bi
se to moglo opisati logikom uverenja (ali se zaključivanje ne vrši logikom uverenja već modifikovanim modelom najbližih suseda - uopštavanjem konceptualnog modela ovog primera bi se u krajnjem slučaju stiglo do zaključivanja
logikom uverenja agenata). Med̄utim, logika uverenja predstavlja nepotrebno
složen mehanizam zaključivanja u primeru gde se zaključivanje svodi na
računanje pondera.
Pored toga, jedna od osnovnih ideja i prednosti distribuirane komunikacije
nalik P2P i otvorene razmene podataka u različitom obliku čini ovakve sisteme preporučivanja konkurentnim u odnosu na klasične. Iskorištavanjem
pune moći ontološki definisanog sadržaja mogla bi se postići pretraga za
najboljim proizvodom koji je sličan nekom zadatom prema nekim kriterijumima. Mehanizam usaglašavanja CFP protokola nudi fleksibilnije scenarije čekanja (timeout), ali bi se uz upotrebu admin agenata moglo postaviti
sledeće moguće poboljšanje: da se i osobe koje nisu interaktivno ulogovane ali su registrovane (bar jednom ulogovane) izjasne u nekom zadatom
roku o prihvatanju proizvoda ili atributa (trenutno nije tako jednostavnosti
radi). Upotreba admin agenata predstavlja primer načina da se postigne
kompromis izmed̄u P2P i server-klijent komunikacije (neka vrsta hibridne
komunikacije, trenutni prototip to ne nudi ali se lako može proširiti jer je za
to predvid̄en), čime bi se, primera radi, mogao postići optimizovan mrežni
saobraćaj (prilikom upita sada se komunicira sa svim agentima umesto samo
sa jednim od admin agenata), kao i ranije pomenute osobine (čuvanje ranije
unetih vrednosti, dodatna autorizacija i mehanizam odobravanja prilikom
usaglašavanja). Neka od uobičajenih tehničkih poboljšanja su i dodatni
agenti specijalnih namena - agent za monitoring rada sistema (npr. watch
dog koji bi proveravao da li su agenti ,,živi” , posebno admin agenti, i po
potrebi ih oživaljava ili prebacuje s platforme na platformu radi performansi)
i čistač reda poruka (GC - Garbage Collector agent, primer je dat GCAgent
ponašanjem - ako je sistem dovoljno složen i ako se dosta očekuje od čekanja
u ponašanjima, može se desiti da se mnoge poruke gomilaju i ostaju u redu
poruka - ali pre svega za debug potrebe, jer to ipak ne bi trebalo da bude
128
Seminarski rad
očekivan način rada sistema), agenti generisanja sadržaja, i drugi.
9.4.5
Aplet
Tools Internet options Security Trusted Sites:
9.4.6
file:\\lap-zpopovic\java\start.html
To-Do lista
Ukratko, u odnosu na sve pomenuto, razmatram dalje mogućnosti razvoja
ovakvog jednog sistema (jedan od krajnjih ciljeva jeste da se ovakav sistem
ostavi na web-u ,,online” i da na taj način zaživi kao nekakav eksperiment):
• korisniku bi mogao biti ponud̄en konkretan sadržaj koji može i sam
podnositi ili bi se nalazio samo na admin agentima (serverima, npr.
MIDI fajl koji se pamti u bazi CLIPS must.clp kao generatora sadržaja
i atributa, ili koji podnosi korisnik)
• realizacija admin agenata sa pomenutim prednostima i nekom bazom
(HSQLDB ili mySQL recimo), čime bi se omogućilo lakše praviljenje
skupova obučavanja i scenarija testiranja sistema (izmed̄u ostalog)
• autentifikacija (dorada logina) i prava pristupa JADE mehanizmom (i
možda admin agentima)
• isprobavanje mogućnosti JADE platforme u vezi mobilnosti agenata i
glavnih kontejnera (u smislu fail-over stabilnosti)
• integracija sa Weka paketom u cilju upotrebe algoritama klasifikacije
(recimo J48, koji predstavlja varijantu C45 / ID3 - Weka ima otvoren
Java API, a postoji i mogućnost upotrebe batch / ARFF)
Mašinsko učenje, inteligentni agenti
129
• inkrementalno računanje ocena vrednosti atributa za svaki registrovan
novi proizvod ili atribut, kao i druge optimizacije računanja (pitanje:
kako bi se sistem ponašao s realno velikim brojem korisnika i proizvoda)
• dorada sistema tako da koristi HTTP(S) za MTP, pravljenje Web Start
instalacije ili applet-a sa parametrizovanom html stranicom kao način
pokretanja lokalnog agenta
• pravljenje agenta za generisanje sadržaja (pomenuti CLIPS kôd ili npr.
generisanje MIDI fajla na osnovu zvučnog zapisa ili pretrage na web-u)
• kategorije proizvoda, hijerarhija (kao i dorade samog gui-a)
130
Seminarski rad
Knjige korišćene tokom pisanja ovog rada, kao i sajtovi sa dokumentacijom -
Literatura
[TM-ML] Machine Learning, Tom M. Mitchell, 1997.
[intro] Introduction To Machine Learning, Nils J. Nillson
[DMLRW] Does Machine Learning Really Work ? Tom M. Mitchell, AAAI
[VVN] The Nature of Statistical Learning Theory, Vapnik Vladimir N.
[GN] Michael R. Genesereth and Nils J. Nilsson: Logical Foundations of
Artificial Intelligence
[ZR] Predrag Janicic, Elena Djurovic, Angelina Ilic-Stepic, Jasmina Lazic,
Mladen Nikolic, Goran Predovic, Vladan Radivojevic, Zbornik seminarskih radova
[TIS] Tehnologije inteligentnih sistema, Vladan Devedžić, 2004.
[IGP] Intelligent Agents for Data Mining and Information Retrieval, Idea
Group Publishing, 2004.
[DMPMLTT] Data Mining, Practical Machine Learning Tools and Techniques, Morgan Kaufmann, 2005.
[jade] JADE, A White Paper
[apriori] Fast Algorithms for Mining Association Rules, Rakesh Agrawal, Ramakrishnan Srikant, 1994
[Onto101] Ontology Development 101: A Guide to Creating Your First Ontology, Natalya F. Noy and Deborah L. McGuinness, Stanford University
[ICC] Integration Competency Center (An Implementation Methodology),
John Schmidt, David Lyle, 2005.
Mašinsko učenje, inteligentni agenti
131
[CEants] Distributed Asynchronous Algorithm for Cross-Entropy-Based
Combinatorial Optimization, Poul E. Heegaard, Otto Wittner, Victor
F. Nicola, Bjarne Helvik
[MS] Data Mining with Microsoft(R) SQL Server
ence, Claude Seidman
TM
2000 Technical Refer-
[TB] Donald E. Knuth: The TeXbook
[PG] Predrag Janičić, Goran Nenadić: OSNOVI LATEX-A
[WWW]
http://www.aaai.org/home.html
http://www.twocrows.com/booklet.htm http://protege.stanford.edu)c
http://www.ksl.stanford.edu/software/ontolingua
http://www.kdnuggets.com/websites/data-mining.html
http://www.kdnuggets.com/software/suites.html
http://www.inf.ed.ac.uk/teaching/courses/dme/html/software2.html
http://www.kddresearch.org/Groups/Machine-Learning/MLJ/
http://www.cse.unsw.edu.au/~quinlan/ http://magix.fri.uni-lj.si/orange
http://www.cs.cmu.edu/afs/cs/project/theo-11/www/decision-trees.html
http://www.kdd.org/ http://rapid-i.com/ http://www.cs.waikato.ac.nz/ml/weka/index.html
http://www.cald.cs.cmu.edu/ http://datamining.itsc.uah.edu/adam/
http://good-old-ai.fon.bg.ac.yu/ http://www.daml.org http://www.eti.hku.hk/alphaminer/
www.madefast.org www.opengroup.org/RI/java/moa info.webcrawler.com/mak/projects/robots
www.agentsoft.com microsoft.com/intdev/Agent/overview.htm www.firefly.net
www.trl.ibm.co.jp/aglets/ www.objectspace.com/Voyager www.genmagic.com/agents
bf.cstar.ac.com/bf boston.com/thefix/mind/cyber/fmccyb.htm www.ftp.com/cyberagents
http://www15.brinkster.com/p3net
http://en.wikipedia.org/wiki/Data_mining http://en.wikipedia.org/wiki/Machine_learning
http://en.wikipedia.org/wiki/Transductive_Support_Vector_Machine
http://en.wikipedia.org/wiki/Markov_chain_Monte_Carlo
http://en.wikipedia.org/wiki/Generative_Topographic_Mapping
http://en.wikipedia.org/wiki/Linear_discriminant_analysis
http://www.oracle.com/technology/products/bi/odm/odminer.html
http://en.wikipedia.org/wiki/Oracle_Data_Mining
http://en.wikipedia.org/wiki/Java_Data_Mining
http://en.wikipedia.org/wiki/Bootstrap_Aggregating
http://en.wikipedia.org/wiki/Random_forest
http://en.wikipedia.org/wiki/Optimization_%28mathematics%29
http://www.oracle.com/technology/products/bi/odm/index.html
http://svmlight.joachims.org/ http://www.patternrecognition.co.za
http://jmlr.csail.mit.edu/papers/volume1/mangasarian01a/html/node2.html
http://jmlr.csail.mit.edu/papers/volume1/mangasarian01a/html/node3.html
http://www.eas.asu.edu/~mining03/chap5/lesson_6.html http://www.renew.de
http://www.salford-systems.com/landing.php http://www.systinet.com/
http://www.integrationconsortium.org http://www.omg.org http://www.sei.cmu.edu
http://devresource.hp.com/drc/technical_white_papers/WSOrch/WSOrchestration.pdf
http://jade.tilab.com http://www.fipa.org http://www.dmg.org
http://www.eclipse.org http://www.semanticweb.org http://www.aboutai.net
http://msdn2.microsoft.com/en-us/library/ms133839.aspx
http://hsqldb.org/ http://www.myslq.org/