machine learning

131
Seminarski rad: Maˇ sinsko uˇ cenje, inteligentni agenti Popovi´ c Zoran Centar za multidisciplinarne studije Univerzitet u Beogradu 23. maj 2007 Saˇ zetak Ovaj tekst je zamiˇ sljen kao pregled sadrˇ zaja knjiga i radova iz oblasti maˇ sinskog uˇ cenja i inteligentnih agenata. Rad je pisan pomo´ cu T E X-a tj. L A T E X-a kao njegovog dijalekta i jfig alata - [PG] i [TB]. Profesor: Vladan Devedˇ zi´ c

Upload: zoran-popovic

Post on 22-Feb-2017

268 views

Category:

Education


8 download

TRANSCRIPT

Page 1: Machine Learning

Seminarski rad: Masinsko ucenje,

inteligentni agenti

Popovic ZoranCentar za multidisciplinarne studije

Univerzitet u Beogradu

23. maj 2007

Sazetak

Ovaj tekst je zamisljen kao pregled sadrzaja knjiga i radova izoblasti masinskog ucenja i inteligentnih agenata. Rad je pisan pomocuTEX-a tj. LATEX-a kao njegovog dijalekta i jfig alata - [PG] i [TB].

Profesor: Vladan Devedzic

Page 2: Machine Learning

Masinsko ucenje, inteligentni agenti 1

Sadrzaj

1 Poglavlje 1 - uvod 41.1 Pojam masinskog ucenja . . . . . . . . . . . . . . . . . . . . . 51.2 Tipovi ucenja i osnovne odlike . . . . . . . . . . . . . . . . . . 61.3 Neuronske mreze i genetski algoritmi . . . . . . . . . . . . . . 8

2 Ucenje koncepta i uredenje od opsteg ka posebnom 102.1 Ucenje koncepta . . . . . . . . . . . . . . . . . . . . . . . . . . 102.2 Algoritam eliminacije kandidata . . . . . . . . . . . . . . . . . 122.3 Induktivni bias . . . . . . . . . . . . . . . . . . . . . . . . . . 152.4 Ucenje drvetom odluke . . . . . . . . . . . . . . . . . . . . . . 15

2.4.1 Reprezentacija . . . . . . . . . . . . . . . . . . . . . . . 162.4.2 Okamova ostrica . . . . . . . . . . . . . . . . . . . . . 182.4.3 Prosirenja ID3 . . . . . . . . . . . . . . . . . . . . . . . 18

2.5 Vrednovanje hipoteze . . . . . . . . . . . . . . . . . . . . . . . 202.5.1 Uporedivanje hipoteza . . . . . . . . . . . . . . . . . . 22

2.6 Ucenje pravila i algoritmi sekvencijalnog pokrivanja . . . . . . 222.6.1 Induktivno logicko programiranje . . . . . . . . . . . . 242.6.2 Kanonski ILP algoritam . . . . . . . . . . . . . . . . . 252.6.3 Indukcija kao inverzna rezolucija . . . . . . . . . . . . 28

2.7 Racunska i statisticka teorija ucenja . . . . . . . . . . . . . . . 302.7.1 Statisticka teorija ucenja . . . . . . . . . . . . . . . . . 302.7.2 ERM princip . . . . . . . . . . . . . . . . . . . . . . . 312.7.3 SRM princip . . . . . . . . . . . . . . . . . . . . . . . . 332.7.4 VAK (PAC) pristup . . . . . . . . . . . . . . . . . . . . 342.7.5 Agnosticko ucenje i VC dimenzija Vapnik-Cervonenkisa 352.7.6 Optimalna granica greske . . . . . . . . . . . . . . . . 362.7.7 Granicno ucenje . . . . . . . . . . . . . . . . . . . . . . 36

3 Statisticko i Bajesovo ucenje 433.1 Bajesovo ucenje . . . . . . . . . . . . . . . . . . . . . . . . . . 43

3.1.1 Veza najverovatnije hipoteze i LMS . . . . . . . . . . . 443.1.2 MDL princip . . . . . . . . . . . . . . . . . . . . . . . 443.1.3 Bajesovi klasifikatori, Gibsov algoritam . . . . . . . . . 453.1.4 Mreze uverenja . . . . . . . . . . . . . . . . . . . . . . 473.1.5 EM algoritam . . . . . . . . . . . . . . . . . . . . . . . 49

3.2 Statisticko ucenje i funkcija gubitka . . . . . . . . . . . . . . . 51

Page 3: Machine Learning

2 Seminarski rad

3.3 Kombinatorna optimizacija, inteligencija roja . . . . . . . . . 533.4 Apriori metoda . . . . . . . . . . . . . . . . . . . . . . . . . . 55

4 Ucenje instancama i metode klasifikacije 584.1 Metod najblizih suseda . . . . . . . . . . . . . . . . . . . . . . 58

4.1.1 Lokalno-tezinska regresija . . . . . . . . . . . . . . . . 604.2 Funkcije radijalne baze . . . . . . . . . . . . . . . . . . . . . . 60

4.2.1 Zakljucivanje izborom slucaja . . . . . . . . . . . . . . 614.3 Nenadgledano ucenje i metode klasterovanja . . . . . . . . . . 624.4 Vremenske instance i problem predvidanja . . . . . . . . . . . 664.5 SVM, masine potpornih vektora . . . . . . . . . . . . . . . . . 68

5 Analiticko ucenje i ucenje objasnjenjima 715.1 Ucenje objasnjenjima (EBL) . . . . . . . . . . . . . . . . . . . 715.2 Analiticko ucenje i deduktivno zakljucivanje . . . . . . . . . . 755.3 Induktivno i analiticko ucenje . . . . . . . . . . . . . . . . . . 76

6 Ucenje ojacavanjem 786.1 Pojam ucenja ojacavanjem . . . . . . . . . . . . . . . . . . . . 786.2 Q-funkcija i ucenje . . . . . . . . . . . . . . . . . . . . . . . . 80

6.2.1 Nedeterministicki slucaj . . . . . . . . . . . . . . . . . 81

7 Otkrivanje znanja i traganje kroz znanje (Data Mining) 827.1 Pojam otkrivanja znanja . . . . . . . . . . . . . . . . . . . . . 827.2 Web Mining . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

8 Arhitektura i tipovi inteligentnih agenata 878.1 Tropisticni agenti . . . . . . . . . . . . . . . . . . . . . . . . . 878.2 Histereticni agenti . . . . . . . . . . . . . . . . . . . . . . . . . 898.3 Agenti nivoa znanja . . . . . . . . . . . . . . . . . . . . . . . . 908.4 Agenti znanja u koracima . . . . . . . . . . . . . . . . . . . . 938.5 Agenti s namerom . . . . . . . . . . . . . . . . . . . . . . . . . 968.6 Promisljeni (racionalni) agenti . . . . . . . . . . . . . . . . . . 100

9 Multi-agentski sistemi i primeri 1029.1 Multi-agentski sistemi . . . . . . . . . . . . . . . . . . . . . . 1029.2 JADE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

9.2.1 FIPA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1099.2.2 FIPA-SL . . . . . . . . . . . . . . . . . . . . . . . . . . 113

Page 4: Machine Learning

Masinsko ucenje, inteligentni agenti 3

9.3 Primer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1169.3.1 Modifikovan model najblizih suseda . . . . . . . . . . . 1169.3.2 Razvojno okruzenje . . . . . . . . . . . . . . . . . . . . 1189.3.3 Alternativna okruzenja . . . . . . . . . . . . . . . . . . 119

9.4 Prototip primera . . . . . . . . . . . . . . . . . . . . . . . . . 1209.4.1 Pokretanje . . . . . . . . . . . . . . . . . . . . . . . . . 1219.4.2 Opis korisnickog interfejsa i primer unosa . . . . . . . . 1249.4.3 Opis postavljanja upita . . . . . . . . . . . . . . . . . . 1259.4.4 Ostale moguce dorade . . . . . . . . . . . . . . . . . . 1269.4.5 Aplet . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1279.4.6 To-Do lista . . . . . . . . . . . . . . . . . . . . . . . . 127

Page 5: Machine Learning

4 Seminarski rad

1 Poglavlje 1 - uvod

Masinsko ucenje kao oblast vestacke inteligencije predstavlja skup para-digmi, algoritama, teorijskih rezultata i primena iz razlicitih oblasti vestackeinteligencije i evolucionih modela (u smislu pretrazivanja) ali i drugih oblasti:statistike i verovatnoce (Bajesov klasifikator, raspodele i testovi) i drugihoblasti matematike, teorije izracunljivosti (mora postojati svest o slozenostiproblema i ogranicenjima koja proisticu iz toga), teorije (adaptivnog) upravljanja,informacione teorije, psihlogije i neurobiologije (neuronske mreze), filozofije,kognitivnih i drugih nauka. Cilj je napraviti programe koji bi bili u stanjuda uce - zasto bi racunari i masine uopste morali da budu u stanju da uce? Pored mogucnosti istrazivanja i isprobavanja razlicitih modela ucenja kodljudi i zivotinja u psihologiji, postoje daleko prakticniji razlozi za tako nesto:

• neki se problemi nemogu jednostavno definisati osim primerima u tokuprakticnog rada (npr. prepoznavanje glasa ili problemi vizije kod kojihje neophodno personalizovati bazu znanja o konkretnom glasu ili licukoji se prepoznaje radi autentifikacije ili zbog optimalnijeg rada) iliako okruzenje u kojem se koristi sistem nije poznato u toku njegovogprojektovanja

• u velikoj kolicini podataka se kriju neocigledni entiteti i relacije medunjima - problem otrivanja znanja (Data Mining): postoje metode ma-sinskog ucenja koje se uspesno primenjuju u mnogim oblastima

• cesto su kolicine podataka i odnosa u njima toliko velike da je ljudimaprakticno nemoguce da znanje u njima u celini obuhvate, koriste ilizapisu - onda je prakticnije, ako je moguce, postupno masinski obuhvatititakvo znanje

• masine i programi koji se prilogadavaju okruzenju koje se menja vremenom(dinamicki sistemi) su cest i potreban zahtev u mnogim oblastima, aza mnoge zadatke je cilj naci resenje koje se fleksibilno prilagodavaumesto da se koriste metode vestacke inteligencije kojima je potrebanreinzenjering nakon svake sustinske promene

Vecina danasnjih prakticno uspesnih sistema masinskog ucenja spada u onekoji su ,,tabula rasa” sto se tice nekakvog predznanja (znanja kojim ucenikraspolaze pre nego sto krene da uci), pored reprezentacije hipoteze i primera- tek neke metode pokazuju potencijal u tom smislu (ucenje objasnjenjima

Page 6: Machine Learning

Masinsko ucenje, inteligentni agenti 5

i Bajesove mreze) i zato je neophodno dalje unapredivanje slicnih metoda.Buducnost masinskog ucenja je i u sistemima koji se ne ticu samo jednogzadatka ili tipa zadataka vec predstavljaju uopstene i fleksibilne sisteme kojiuce dugo (life-long learning: samostalni agenti koji starenjem poboljsavajuperformanse, uce nove reprezentacije, itd.), kao i u razvojnim okruzenjima (imozda prosirenjima programskih jezika) koja sadrze neophodne mehanizmepotrebne za masinsko ucenje. Na kraju, tek je naceto istrazivanje mogucnostiucenja prirodnim jezikom kao izvorom iskustva - najveci deo danasnjeg polustruktuiranogsadrzaja interneta je upravo u obliku nekakvog teksta.

1.1 Pojam masinskog ucenja

Jedna preciznija definicija pojma masinskog ucenja (kako se navodi u[TM-ML]) bi bila:

Definicija 1.1 Program (masina) M uci iz iskustva E u odnosu na klasuzadataka T i meru performansi P (mera je definisana nad osobinom iliskupom osobina koje takode moraju biti definisane), ako se mera performansiP programa poboljsava u vezi zadataka T nakon iskustva E.

U primeru prepoznavanja pisanog teksta T je prepoznavanje i klasifikovanjereci ili slova u datoj slici, P je procenat ispravno prepoznatih, E je skupobucavanja koji cini bazu zadatih slika slova i reci i njihovih klasifikacija.Klasican je primer i Sejmurov program koji uci da igra dame. Mera performansije onda sposobnost da pobedi protivnika nakon iskustva stecenog u igranjuprotiv samog sebe ili protivnika koji ume da igra. Objekat ucenja mogu bitirazlicite konceptualizacije sveta, odnosno izracunljive strukture:

• funkcije - mnogi se problemi mogu svesti na zadatak trazenja preslikavanjaf nad nekim skupovima gde je hipoteza preslikavanje h (iste arnosti)a skup obucavanja S je odreden broj parova zadatih vrednosti domenai f , a cilj je da se h iz neke klase fukcija H sto bolje ,,poklapa” saf (h = f , idealno). Na primer funkcija evaluacije u teoriji igara kojaje obicno predstavljena vektorom parametara (uz npr. LMS praviloucenja)

• logicki programi, frejmovi - osnovni vid konceptualizacije sveta u kojemse trazi resenje nekog problema je jezik PR1 ili nekog od njegovih,,dijalekata” (npr. PROLOG) kao i druge formalizacije

Page 7: Machine Learning

6 Seminarski rad

• produkciona pravila

• konacni automati, formalne gramatike

• neuronske mreze i drugi sistemi koji resavaju probleme

1.2 Tipovi ucenja i osnovne odlike

Osnova podela tipova ucenja vezuje se za ucenje funkcija, ali se uocavaslicno i sa drugim objektima ucenja:

Nadgledano (supervised) - kada su zadate vrednosti funkcije u skupu obucavanja(trivijalan primer moze biti interpolacija ili fitovanje krive)

Nenadgledano (unsupervised) - kada nisu zadate vrednosti funkcije u skupuobucavanja (obicno se svodi na neki problem klasifikovanja tj. kao daje u prethodnom slucaju vrednost zapravo klasa pripadnosti)

Hipoteza kao nauceno znacenje konceptualizacije sveta (okruzenja) i njenatacnost kao polazna mera performansi su zajednicke vecini sistema masinskogucenja. Struktura jednog prototipa takvog klasicnog sistema (npr. mnogiproblemi igara, klase neuronskih mreza, razliciti sistemi prepoznavanja sablonaili klasifikacije, itd.) je prikazana pomocu cetiri povezane celine:

o

(igra sa tablom b)

(game history)

Kriticar

Hipoteza

Parovi

performansamaSistem sa

Generalizator

eksperimenataGenerator

Rezultati

Novi problem

(b, V (b))

Page 8: Machine Learning

Masinsko ucenje, inteligentni agenti 7

Tako je opisan, na primer, program koji igra dame sa funkcijom evaluacije Vkoja ima koeficijente wi i vrednostima stanja table xi kao n-torke b domena tefunkcije kao objekta ucenja. Sistem sa performansama i radnom hipotezomV daje nekakvo resenje (solution trace, npr. lista poteza tj. stanja b iocena njihovih vrednosti) koje preuzima kriticar - postoji skup obucavanjakojeg cine parovi (b, Vo(b)), ali ovima kriticar pridruzuje ,,iskustvo” nastalonakon svake partije tako sto za medupoteze u partiji (pogotovu za koje nemavrednosti u skupu obucavanja) uzima ocenu vrednosti Vo(b) ← V (succ(b))(pravilo ocene vrednosti obuke, gde je succ(b) stanje table nakon potezaprograma, tj. ono kod kojeg se ocekuje sledeci potez protivnika). Ovoje pogotovu korisno ako je jedino iskustvo dostupno nastalo u partijamaodigranim protiv samog sebe (ovo je dodatno korisno kod sistema koji nemoguda prevazidu problem ,,loseg iskustva” kada uce od protivnika koji ne znadobro da igra - Semjuelov primer). Sigurno je poznato samo da je nekodobio ili izgubio partiju, a na ovaj nacin se ocenjuju i meduvrednosti funkcijeevaluacije, ali se i koristi i nauceno znanje. Pokazuje se da je ovo veomaefikasan metod ucenja i u posebnim slucajevima (ucenje sa ojacavanjem)moze se pokazati da obavezno tezi ka najboljem resenju (npr. perceptron, uslucajevima kada takvo resenje postoji). Generalizator je komponenta kojaima ulogu primene stecenog znanja na osnovu pravila ucenja i njegov rezultatje nova hipoteza - npr. LMS (Least Mean Squares) podrazumeva da najboljahipoteza minimizuje zbir kvadrata gresaka (razlike pojedinih vrednosti izskupa obucavanja i hipoteze) E =

∑(b,Vo(b))∈S [Vo(b)− V (b)]2 i to se realizuje,

na primer, sledecim iterativnim pravilom ucenja:

wi ← wi + η[Vo(b)− V (b)]xi

gde je η ∈ (0, 1) parametar brzine ucenja. Nova hipoteza bi trebala dasvakim ovakvim ciklusom (epohom) daje bolje performanse. Na osnovunje, trenutnog skupa obucavanja i strategije ucenja generator eksperimenatakreira novo pocetno stanje (prazna tabla u konkretnom slucaju). U opstemslucaju su moguce mnoge varijacije ovakve strukture ucenja gde se poreddrugacijeg izbora iskustva i generisanja slucajeva moze izabrati drugacijastrategija ucenja koja podrazumeva i drugaciju funkciju evaluacije (koja jeponekad i objekat ucenja, objektivna funkcija) i njenu reprezentaciju, kao idrugaciji algoritam ucenja (npr. gradijent metoda, dinamicko programiranjei drugo) tj. generalizatora. Tu se postavljaju mnoga pitanja - kako realizovatiopisane komponente optimalno, kakav skup obucavanja je potreban (kolikibroj parova, kako raznovrsnost utice na sposobnost generalizacije naucenog

Page 9: Machine Learning

8 Seminarski rad

znanja), kako (i zasto) ograniciti klasu raspolozivih hipoteza i drugo. Takode,veoma je vazan izbor clanova skupa obucavanja i nacin evaluacije performansiucenja - koliko je potrebno parova obucavanja da bi se postiglo optimalnovreme i performanse ucenja ? Ako je skup parova obucavanja ujedno i jediniizvor znanja za sistem koji uci, i jedini izvor za ocene performansi ucenja -kako biti siguran da ce sistem kasnije uspesno raditi i sa nepoznatim parovimavan skupa obucavanja (koliko je u stanju da generalizuje) ? Cest prakticanmetod da se ovo postigne je podela skupa obucavanja na n particija (n folds,gde je n obicno izmedu 3 i 10), gde se u n iteracija jedna particija koristiza ocenu performansi a ostale za ucenje. O nekim drugim metodima cevise detalja biti u narednim poglavljima. Cilj daljeg teksta pre svega jepregled razlicitih metoda ucenja bez posebnog razmatranja detalja osim kaoilustracije nacina primene i pregleda sadrzaja.

1.3 Neuronske mreze i genetski algoritmi

Neuronske mreze i genetski algoritmi (evoluciono programiranje) kao pa-radigme Soft Computing oblasti prirodno podrzavaju mnoge aspekte masin-skog ucenja. Izmedu ostalog, predstavljaju dobar primer sistema u komeje primenjeno masinsko ucenje. Ako se pode od klase NM sa povratnimpropagiranjem (kao i nekih drugih), kod uopstenog prototipa sistema masinskogucenja mogu se prepoznati onda svi njegovi elementi - zadaci koje sistem morada vrsi, performanse sistema koje se mere (recimo, numericka tacnost NMili efikasnost klasifikacije, LMS greska), kao i iskustvo i skupovi obucavanja.Strategije obucavanja i struktura mogu biti i veoma drugacije od opisanogprimera i prototipa sto je obicno posledica specificnog domena i problemakoji se resava ovakvim sistemima. NM pokazuju osobine induktivnih sistemamasinskog ucenja - imaju sposobnost generalizacije na osnovu datih primera.

Genetski algoritmi u opstem slucaju se mogu posmatrati kao algoritmimasinskog ucenja koji uce (odnosno traze) hipotezu gde je prostor hipotezauslovljen specificnim prostorom pretrage konkretnog GA sa svojim zadatkom- postavlja se onda pitanje: kakvu ulogu ima iskustvo kod GA ? Objektivnafunkcija (,,fitnes populacije”) se moze zadati ili menjati primerima, i tadaimamo iskustvo i ucenje - na primer, GA koji generise program (ili neki drugiizracunljivi formalizam) sa iskustvom zadatim osobinama. Tada se nekimmetrikama kao sto su tacnost rezultata na osnovu zadatih ulaza (instanci),duzinom koda ili efikasnoscu definise objektivna funkcija.

Page 10: Machine Learning

Masinsko ucenje, inteligentni agenti 9

Navedeni su samo neki od mnogih primera primene NM i GA u oblastimamasinskog ucenja bez posebnih detalja u vezi istih.

Prvih sest poglavlja ovog rada se odnose na masinsko ucenje i oslanjajuse najvecim delom na knjigu [TM-ML], dok se poslednja dva odnose nainteligentne agente gde se koriste prikazi arhitkture i tipova iz [GN], i primeriiz [TIS] (kao i za sedmo poglavlje o otkrivanju znanja).

Page 11: Machine Learning

10 Seminarski rad

2 Ucenje koncepta i uredenje od opsteg ka

posebnom

Jedno od centralnih pitanja masinskog ucenja je otkrivanje opsteg znanjaili funkcija na osnovu datih specificnih primera (u skupu obucavanja). Akose koncept u smislu deklarativnog znanja moze opisati pozitivnim primerima(sta on jeste) ili negativnim primerima (sta on nije), onda se ucenje konceptamoze formulisati kao pretrazivanje prostora (potencijalnih) hipoteza (verzija,kasnije) sa ciljem pronalazenja hipoteze koja najbolje odgovara datim primerima.Ovo se u mnogim slucajevima moze pojednostavniti koriscenjem strukturetog prostora - uredenjem medu hipotezama od opsteg ka posebnom. Ovo jeujedno i vid primene induktivnog zakljucivanja i ucenja - cesto se ocekujeod sistema koji uci da bude u stanju da uopstava, da zakljuci nesto ako jepotrebno vec na osnovu jednog primera ili da sa naknadno dodatim novimprimerima promeni svoje znanje.

2.1 Ucenje koncepta

Metoda ucenja koncepta (ili pretrazivanja prostora hipoteza) je metodakoja je u osnovnom obliku korisna i kao pojasnjenje problema induktivnogucenja i kao veoma prakticna metoda u nekim poboljsanim varijantama.Moze se posmatrati i kao trazenje Bulove funkcije na osnovu datih primera(svi moguci atributi sa njihovim vrednostima su argumenti funkcije koja imadve vrednosti, sto je zapravo relacija), pa se umesto algebarske strukture injenog 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 ciljnikoncept. Skup (prostor) H hipoteza je zapisan kao vektor uslova (constraint)za te atribute, gde svaki atribut moze imati: konkretnu vrednost u hipotezi,proizvoljnu vrednost (sto se prikazuje jednostavnosti radi sa ,,?”kao nekakavasterisk) ili nijednu (prikazuje se, opet radi jednostavnosti, sa ∅). Instancax ∈ D iz skupa primera D ⊆ X moze tako da zadovolji hipotezu (pozitivna,c(x) = 1) ili da je ne zadovolji (negativna, c(x) = 0). Najopstija hipoteza je

Page 12: Machine Learning

Masinsko ucenje, inteligentni agenti 11

onda oblika (?, ?, ..., ?), a najposebnija je oblika (∅, ∅, ..., ∅) (zapravo, dovoljnoje da bilo koji atribut ima ∅ kao ogranicenje da bi sve instance bile odbacene- veliki broj hipoteza osim ovakvih je semanticki ekvivalentan). Polaznapretpostavka induktivnog ucenja je da je bilo koja hipoteza koju zadovoljavajuzadati primeri (dovoljno veliki broj takvih) u stanju da dobro aproksimiraciljni koncept svim predstavljen primerima (induktivna pretpostavka). Zahipotezu hj se kaze da je opstija ili jednaka hk akko (∀x ∈ X)hk(x) = 1 ⇒hj(x) = 1, i to se zapisuje kao hj ≥g hk. Stroga opstost se definise sa:hj >g hk akko hj ≥g hk ∧ hk g hj , a tako se mogu definisati i odgovarajucerelacije posebnosti. Ovo su relacije parcijalnog uredenja (za svaki lanac vazida postoji donja i gornja granica).

Algoritam (Find-S) koji nalazi maksimalno specificnu (posebnu) hipotezuna 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 sledecim opstijim uslovom koji jezadovoljen sa x (vrednost ili ,,?”)

3. rezultat je hipoteza h

(preuzet primer iz [TM-ML])

Page 13: Machine Learning

12 Seminarski rad

Algoritam u osnovi dobro radi sa prostorom hipoteza koje se sastoje odkonjunkcija uslova (dosad opisane, proste hipoteze) i ako nema pogresnihprimera. Za druge prostore je potrebno dodati backtracking da bi se pokrilii drugi lanci sa svojim maksimalno specificnim hipotezama.

2.2 Algoritam eliminacije kandidata

Ovaj algoritam (Mitchell, prva primena 1979.) pristupa problemu ucenjakoncepta tako sto trazi skup svih hipoteza konzistentnih sa datim primerimaza razliku od prethodnog koji nalazi jedan (i ostaje pitanje da li je to jedinitakav i ispravan). Ovo je poznato i kao metod (i problem) formacije koncepta.Hipoteza h je konzistentna (saglasna) sa skupom primera D (zapisano kaoh ∼ D) akko h(x) = c(x) za svaki primer (x, c(x)) ∈ D. Prostor verzija(mogucnosti) V SH,D je podskup prostora hipoteza H konzistentnih sa primerimau D: V SH,D = h ∈ H| (∀(x, c(x)) ∈ D)h(x) = c(x). Program koji uci(ucenik L) je konzistentan ako daje konzistentne hipoteze. Uopstena granica(ili granica uopstenja, general boundary) je skup maksimalno uopstenih clanovaH konzistentnih sa D, a specificna granica (ili granica posebnosti, specificboundary) je skup minimalno uopstenih hipoteza iz H konzistentnih sa D.Algoritam listaj-pa-eliminisi (list-then-eliminate) uzima prostor verzija kaospisak najpre svih u H a onda eliminise sve koji nisu konzistentni sa svakiprimerom u D redom. Takav algoritam ipak nije pogodan za dovoljno velikiprostoh hipoteza (koji nemora biti konacan uopste).

Definicija 2.2 Opsta granica GH,D, u odnosu na skup dopustivih hipotezaH i skup primera za ucenje D, je skup najopstijih hipoteza iz H saglasnih saprimerima iz D, odnosno:

G = g ∈ H| g ∼ D ∧ (¬∃g′ ∈ H)[(g′ >g g) ∧ g′ ∼ D]

Definicija 2.3 Specificna granica SH,D, u odnosu na skup dopustivih hipotezaH i skup primera za ucenje D, je skup najmanje opstih hipoteza iz H saglasnihsa primerima iz D, odnosno:

S = s ∈ H| s ∼ D ∧ (¬∃s′ ∈ H)[(s >g s′) ∧ s′ ∼ D]

Koristeci kompaktniji prikaz prostora verzija granicama G i S algoritameliminacije kandidata to resava. Teorema reprezentacije prostora verzija

Page 14: Machine Learning

Masinsko ucenje, inteligentni agenti 13

pokazuje da za svaki skup instanci X, hipoteza H , ciljni koncept c i skupprimera D za koje je G i S definisan vazi:

V SH,D = h ∈ H : (∃s ∈ S)(∃g ∈ G) g ≥g h ≥g s

Algoritam eliminacije kandidata je onda:

1. G← (?, ?, ..., ?) (ili inicijalizacija uopstenom granicom)S ← (∅, ∅, ..., ∅) (ili inicijalizacija specificnom granicom)

2. za svaki primer d iz skupa obucavanja:

• 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 uopstenja h od s takva da je:h konzistentno sa d, i neka hipotezaiz G je opstija od h

∗ izuzmi iz S sve hipoteze koje su opstije 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 hipotezaiz S je posebnija od h

∗ izuzmi iz G sve hipoteze koje su manje opste od G

3. rezultat je ogranicen sa S i G.

Primer (uzeto iz [TM-ML], kao i nekoliko jos primera u daljem tekstu):

Page 15: Machine Learning

14 Seminarski rad

Algoritam eliminacije kandidata konvergira ka resenju ako postoji ciljna hi-poteza u prostoru hipoteza koja tacno opisuje ciljni koncept i ako nemagresaka u primerima - idealno dobija se prostor verzija koji sadrzi tacno jednuhipotezu. Ako postoji greska u primerima ili ako prostor hipoteza ne sadrzinijednu hipotezu koja opisuje ciljni koncept dobija se prazan prostor verzija.Brzina konvergiranja je idealno najveca kada se biraju naredni primeri kojimase broj hipoteza u prostoru verzija koji je konzistentan prepolovi - tada bibio dovoljan log2 |V S| primera (eksperimenata). Ako nije do kraja naucen,pozitivan primer se slaze sa svima u S, negativan ni sa jednim u G - aline menja prostor verzija. Ako je broj pozitivnih ili negativnih veci oddrugih u prostoru verzija nedovoljnog naucenog koncepta i ako je prihvatljiva

Page 16: Machine Learning

Masinsko ucenje, inteligentni agenti 15

pretpostavka da su sve hipoteze podjednako verovatne u H , onda se uzimada je proporcionalno verovatno instanca pozitivna, odnosno negativna.

2.3 Induktivni bias

Ako se prostor hipoteza izabere tako mu ne pripada hipoteza koja pokrivaciljni koncept (npr. skup konjunktivnih hipoteza, a ciljni koncept je disjunkcijakoja nije pokrivena) onda su pretpostavke o klasi hipoteza prejake i prostorhipoteza nije dovoljno izrazajan dabi se dobio rezultat. Ako prostor hipotezanije dovoljno ili nije uopste uslovljen tj. sadrzi sve raspolozive hipoteze (svekoncepte koji se mogu nauciti - sve podskupove domena X funkcije kojase uci), algoritam nije u stanju vise da generalizuje jer mu upravo biasprostora hipoteza H - tj. uslovi kojima se definise njegova struktura, ilikonceptualni bias - daje za to potrebno ,,znanje”. Bez konceptualnog biasaili nekog drugog uslova se algoritam svodi na skupljanje pojedinih pozitvnihi negativnih primera (,,rote-learner” - S je uvek onda disjunkcija pozitivnihprimera a G negacija disjunkcije negativnih).

Ako je Dc = (x, c(x)) skup primera ciljnog koncepta c, algoritam L kojiuci nakon obucavanja klasifikuje novu instancu xi bilo pozitivno ili negativno,sto se zapisuje kao L(xi, Dc). Ovo je induktivno zakljucivanje (xi ∧ Dc) ≻L(xi, Dc) (klasifikacija se zakljucuje induktivno na osnovu Dc i xi). Pokazujese da je induktivni (ili logicki) bias B algoritma L skup dodatnih pretpostavkidovoljnih da se deduktivnim zakljucivanjem dode do istog rezultata: (B ∧Dc∧xi) ⊢ L(xi, Dc). Za algoritam eliminisanja kandidata to je B = c ∈ H(Find-S ima jos jaci bias). Na taj nacin se svakom induktivnom sistemuzakljucivanja pridruzuje odgovarajuci ekvivalentan deduktivni. Metod formacijekoncepta je tako potpupno odreden kao cetvorka L = (P, N, H, B) - P je skuppozitivnih primera, N je skup negativnih primera, H je konceptualni bias, aB je logicki bias. Poseban izazov predstavljaju algoritmi koji uce i otkrivajusopstveni bias uporedo.

2.4 Ucenje drvetom odluke

Metod slican prethodno opisanom ucenju koncepta koji koristi sistem ialgoritam ID3 (kao i ASSISTANT i C4.5) koji generise pravilo, odnosno drvoklasifikacije za dati koncept sa svojim atributima i njihovim vrednostima.Njegov induktivni bias je prednost malih drveca nad vecim, a u stanju je

Page 17: Machine Learning

16 Seminarski rad

da klasifikuje i disjunktivne koncepte. Ovakav metod moze da bude dalekoefikasniji od drugih sistema za induktivno ucenje, ali i neprimenjiv u nekimslozenim domenima. Postoje varijante (bagging, random forest) koje uporedurazvijaju vise takvih drveta.

2.4.1 Reprezentacija

Ucenje drvetom odluke predstavlja vid aproksimacije funkcije (diskretnevrednosti) atributa i njihovih diskretnih vrednosti. Drvo odluke klasifikujeinstancu prihvatajuci atribute od korena do lista jedne grane, a moze seposmatrati i kao spisak ako-onda pravila (svaka grana predstavlja konjunkcijuuslova nad atributima, a celo drvo disjunkciju). Primer (Quinlan, 1986, zaID3) drveta za PlayTennis koncept:

(primer takode preuzet iz [TM-ML])

koji predstavlja izraz:

(Outlook = Sunny) ∧ (Humidity = Normal)∨ (Outlook = Overcast)

∨ (Outlook = Rain ∧Wind = Weak)

Kao sto se vidi, instance su predstavljene listama parova atribut-vrednost,ciljna funkcija u primeru je Bulova ali se moze prosiriti na diskretnu ili cakrealnu funkciju. Instance primera mogu sadrzati greske (bilo u vrednostiatributa ili klasifikacije) ili nedefinisane vrednosti atributa. Glavno pitanje jeod kojeg atributa krenuti s klasifikacijom - cilj je izabrati najkorisniji atribut

Page 18: Machine Learning

Masinsko ucenje, inteligentni agenti 17

(slicno biranju instance koja polovi prostor verzija u problemu formacijekoncepta), i to se cini ocenjivanjem statisticke osobine informacione dobiti(snage, information gain) koja se definise entropijom skupa S:

E(S) ≡ −p⊕ log2 p⊕ − p⊖ log2 p⊖

gde je p⊕ proporcionalan odnos pozitivnih instanci u S, a p⊖ odnos negativnihu S (ima vrednost nula ako svi primeri pripadaju istoj klasi). Ako ciljniatribut u opstem slucaju ima c diskretnih vrednosti onda je E(S) ≡∑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:

Gain(S, A) ≡ E(S) −∑

v∈V alues(A)

|Sv||S| E(Sv)

Verzija ID3 algoritma za Bulove funkcije (CLS algoritam, Hunt, 1966):

ID3(S, c, atributi)

1. kreiraj cvor 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=najcesca vrednost u primerima

5. inace:

(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 Sviprazan

• onda: ispod dodaj list sa oznakom=najcesca vrednost uprimerima

Page 19: Machine Learning

18 Seminarski rad

• inace: dodaj ispod poddrvo ID3(Svi, c, atributi− A)

6. vrati Koren

Ovakav ID3 algoritam se lako moze uopstiti za funkciju diskretnih vrednosti(oznaka), i koristi se obicno prozor koji cini podskup skupa primera (zadatevelicine) nad kojim se primeni ovakav algoritam, a onda se u prozor unesusvi izuzeci iz skupa primera koji ne odgovaraju klasifikaciji i ako ih imaponovi se postupak. Time se prevazilazi ogranicenje velicine skupa primera.Induktivni bias ID3 algoritma koji proistice iz redosleda i prostora pretrage(bias preferencije ili pretrage) je zapravo taj da preferira krace drvece sacvorovima vece informacione snage blize korenu, dok konceptualnog biasanema (sve konacne diskretne funkcije dolaze u obzir jer mogu predstavitinekim drvetom odluke) - naspram metode formacije koncepta gde mora dapostoji konceptualni bias i gde je induktivni posledica takve reprezentacijehipoteze (bias restrikcije ili jezicki bias), a ne redosleda pretrage. Zato jeID3 nema problem konceptualnog biasa, i posto koristi statisticke ocene svihprimera daleko je manje osetljiv na greske nego formacija koncepta, a lako semoze omoguciti i da prihvata hipoteze koje ne odgovaraju primerima sasvimtacno. Neki sistemi mogu kombinovati biase restrikcije i pretrage, kao kodprimera ucenja funkcije evaluacije igre i LMS ucenja.

2.4.2 Okamova ostrica

Da li je ID3 bias opravdan ? Mnogi filozofi su vekovima razmatrali pitanjeo izboru hipoteze (i dalje raspravljaju) - Okam (William of Occam, 1320) jeto formulisao otprilike ovako: bolja je jednostavnija hipoteza koja odgovarapodacima (eksperimentima, primerima). Fizicari vole ovu hipotezu - cistokombinatornim argumentima moze se pokazati da kracih hipoteza ima dalekomanje nego duzih - ali postoje i kritike: postoje i druge malobrojne klasehipoteza (vestacke), a rezultat zavisi i od interne reprezentacije hipoteze(obicno se onda koristi evolucioni argument da biva izabrana interpretacijakoja ovaj kriterijum cini uspesnijim).

2.4.3 Prosirenja ID3

Za hipotezu h se kaze da overfituje (overfitting) primere ako ima manjugresku nego neka druga hipoteza h′ nad primerima, ali vecu nad ukupnomraspodelom instanci (van skupa primera). Problem nastaje kada postoje

Page 20: Machine Learning

Masinsko ucenje, inteligentni agenti 19

nasumicne greske u podacima kada nakon odredenog broj primera pocinjeda opada ukupna tacnost klasifikacije iako raste na skupu primera. Jedannacin je da se zaustavi rast drveta pre idealne klasifikacije primera, drugije da se nakon klasifikacije potkrese drvo (post-pruning). Kriterijumi u obaslucaja mogu biti:

• obuka i validacija - izdvajanje iz skupa primera jedan podskup na komese testira tacnost izvan skupa primera

• χ-test ili neki drugi statisticki test procene performanse nad celomraspodelom instanci (Quinlan, 1986)

• princip minimalne duzine opisa (Minimum Description Length - MDL,Quinlan i Rivest 1989, Mehta 1995) - kodiranjem drveta i primera naneki nacin dobija se mera slozenosti tj. velicina kodiranja - kada jevelicina minimizovana prekida se rast drveta odluke

Kresanje se vrsi zamenom poddrveta listom sa najcescom (prosecnom) klasifikacijomsve dok se time ne dobija manje performantno drvo odluke. ID3 drzi samojednu hipotezu tokom pretrage za razliku od formacije koncepta, u osnovnomobliku nema backtracking i zato je moguce da nade resenje koje nije globalnonajbolje iako je obicno performantniji od prethodnog. Ovo se takode resavapotkresivanjem.

Postoji tehnika potkresivanja pravila (rule post-prunning, Quinlan 1993)u sistemu C4.5 u sledecim koracima:

1. generisi drvo uz moguce overfitovanje

2. pretoci drvo odluke u niz pravila (za svaku granu, redom)

3. izbaci iz pravila (generalizuj) preduslove ako se time ne narusavajuperformanse

4. sortiraj dobijena pravila prema ocenjenoj tacnosti i razmatraj ih timredosledom tokom klasifikacije instanci

Slicno ovome, moguce je drvo odlucivanja pretociti u optimizovani graf (odlucivanja)kojim se pre svega eliminise redundantno poddrvece i time smanjuje nepotrebanbroj primera.

Page 21: Machine Learning

20 Seminarski rad

Ogranicenje da atributi moraju biti diskretne vrednosti se moze prevazicidodelom karakteristicnih intervala kontinualnim vrednostima, gde se za svakudiskretnu vrednost ciljnog atributa nalazi prag ocenom najvece informacionesnage primera sortiranih po atributu koji se ocenjuje (Fayyad 1991).

Postoji problem kod atributa kao sto je datum - iako nosi veliku informacionusnagu, obicno razdvaja primere u male grupe bez nekog velikog uticaja navrednost ciljnog atributa. Jedno resenje je da se koristi alternativna ocenaatributa - npr. odnos snage (gain ratio, Quinlan 1986) koji je osetljiv nauniformno deljenje primera:

SplitInformation(S, A) ≡ −c∑

i=1

|Si||S| log2

|Si

|S|

GainRation(S, A) ≡ Gain(S, A)

SplitInformation(S, A)

Svaki atribut moze prema nekim kriterijumima imati dodatno cenu Cost(A)gde je cilj da se atributi sa vecom cenom koriste prilikom pouzdane klasifikacije(da bi se povecala zahtevana tacnost). Tada se koristi umesto informacione

snage Gain2(S,A)Cost(A)

ili 2Gain(S,A)−1(Cost(A)+1)w gde je w ∈ [0, 1] parametar koji ocenjuje znacaj

cene u odnosu na informacionu snagu (Tan, Schlimmer 1990-1993, Nunez1991).

Ako ne postoji vrednost nekog atributa A u cvoru u kome treba oceniinformacionu snagu moze se koristiti:

• najcesca vrednost primera u tom cvoru

• najcesca vrednost primera sa vrednoscu ciljnog atributa datog primera

• umesto najcesce vrednosti moze se koristiti vrednost s najvecom procenjenomverovatnocom primera u datom cvoru (Quinlan 1993)

2.5 Vrednovanje hipoteze

Empirijsko vrednovanje tacnosti hipoteze je sustinski znacajno za masinskoucenje. Tri pitanja se postavljaju:

Page 22: Machine Learning

Masinsko ucenje, inteligentni agenti 21

• ako je data tacnost nad skupom primera koji predstavlja manji podskupsvih mogucih instanci, koliko je time dobro procenjena tacnost naddodatnim primerima tj. ostalim instancama ?

• ako neka hipoteza daje bolje performanse od neke druge u skupu primera,koliko je verovatno da je bolja uopste (izvan skupa primera) ?

• kako na najbolji nacin iskoristiti skup primera da bi se naucila hipotezai procenila njena tacnost ?

Izbor instanci u skupu primera (odnosno njihova raspodela u odnosu naukupnu populaciju u statistickom smislu) utice na procenu tacnosti u odnosuna ostatak instanci - bias u izboru stvara bias u proceni. Cak i kada nemabiasa u izboru, postoji disperzija (varijansa) u proceni koja rasta s manjimbrojem elemenata skupa primera. Ako se izbor instanci (bez vrednosti ciljnogatributa) posmatra kao slucjna promenljiva sa nekom zadatom raspodelomnezavisno od izbora ranijih primera ili od hipoteze, onda se postavljajupitanja: koja je procena tacnosti hipoteze h za buduce instance nad tomraspodelom, i kolika je greska takve procene ?

Greska uzorkovanja hipoteze h za ciljnu funkciju f i skup primera S jeeS(h) ≡ 1

n

∑x∈S δ(f(x), h(x)) gde je δ(f(x), h(x)) = 1 samo ako je f(x) =

h(x), inace je δ(f(x), h(x)) = 0. Prava greska da ce hipoteza pogresnoklasifikovati 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 gresaka tj. eS(h) = r/n

bez drugih informacija vazi da je eS(h) = eD(h) i sa verovatnocom N (N ·100%) eD(h) lezi u intervalu poverenja eS(h)±zN

√eS(h)[1−eS(h)]

n(zN je vrednost

argumenta gustine normalne (Gausove) raspodele koja odreduje dvostraniinterval poverenja koji sadrzi N · 100% vrednosti tj. sa verovatnocom Nsadrzi vrednosti iz te raspodele). Greska eD(h) postuje binomnu raspodelu(ako se posmatra verovatnoca da se r puta napravi pogresna klasifikacija svakiput s verovatnocom p tako da je eS(h) = r/n), pa je eS(h) ocena (estimator)

Page 23: Machine Learning

22 Seminarski rad

za eD(h) = p. Ocena je dobra ako nema bias tj. E[eS(h)] − eD(h) = 0 sto i

jeste tacno. Onda je σeS(h) = σr

n=√

p(1−p)n

tj. σeS(h) ≈√

eS(h)(1−eS(h))n

.

2.5.1 Uporedivanje hipoteza

Ako je d = eS1(h1) − eS2(h2) treba oceniti d = eD(h1) − eD(h2). Posto

je σ2bd ≈

eS1(h1)(1−eS1

(h1))

n1+

eS2(h2)(1−eS2

(h2))

n2onda je d ocena za d sa N · 100%

intervalom poverenja d± zNσbd.

Slicno, upotrebom t-raspodele (Student) mogu se uporedivate performansedva razlicita algoritma ucenja ([TM-ML]).

2.6 Ucenje pravila i algoritmi sekvencijalnog pokrivanja

Jedna od reprezentacija funkcije kao formalizma koji predstavlja objekatucenja - kao sto su to Bulove funkcija, drvo odlucivanja, neuronska mreza idrugo - moze biti i kod programa. Moze se pokazati da su neki formalizmiekvivalentni u smislu izrazajnosti (znanje prikazano na jedan nacin mozese prikazati i na drugi nacin), na primer iskazni racun, drveta odlucivanjai Bulove funkcije. Medutim, PR1 je izrazajniji od prethodnih - sustinskarazlika je da moze sadrzati promenljive, a takve su specijalno Hornove klauzule(prvog reda) cije konjunkcije predstavljaju osnovni zapis mnogih logickihjezika medu kojima je i PROLOG programski jezik. Ucenje pravila oblikaako-onda je u mnogo cemu prakticno korisno, ali pre svega je intuitivno blizeljudskom zapisu znanja.

Osnovna klasa algoritama za ucenje ovakvih pravila su algoritmi sekvencijalnogpokrivanja koji otkrivaju pravilo po pravilo u iteracijama, i svakim otkrivenimpravilom se uklanjaju primeri koji su njime pokriveni. Za to je potrebnaprocedura nauci-jedno-pravilo koja otkriva jedno pravilo za dati skup pozitvnihi negativnih primera, gde otkriveno pravilo idealno pokriva samo pozitivneprimere (pokriva ih ako se shvati kao relacija koja je tada ispunjena), alise neki put moze dozvoliti da prihvati i sto manji broj negativnih primera.Iteracije se vrse dokle god ima pozitivnih primera ili sve dok se ne prede zadatiprag performansi pravila - dobijeni skup pravila se moze onda i sortiratiprema performansama (c je ciljni atribut, A skup atributa, E skup primera):

• L ←

Page 24: Machine Learning

Masinsko ucenje, inteligentni agenti 23

• Pravilo ← nauci-jedno-pravilo(c,A,E)

• dokle Performanse(Pravilo,E) > prag:

– L ← L + Pravilo

– E ← E − primeri koji su ispravno klasifikovani pravilom – Pravilo ← nauci-jedno-pravilo(c,A,E)

• sortiraj dobijena pravila u L prema performansama

Posto je ovakvo pretrazivanje prostora hipoteza ,,gramzivo” (greedy - nemabacktracking), nije garantovano da ce biti pronadena optimalna hipoteza.Jedan praktican nacin da se realizuje procedura nauci-jedno-pravilo je pretrazivanjeslicno ID3 od opsteg ka posebnom, ali usmereno uvek granom koja najviseobecava - najvece performanse, npr. da je entropija pokrivenih primeranajmanja ili da je najveca frekvencija uspesno klasifikovanih u odnosu napokrivene primere (umesto da gradi poddrvo za sve vrednosti izabranogatributa). Da bi se smanjio rizik gramzivog pretrazivanja pamti se k najboljihkandidata pri svakom koraku umesto jednog, i to se zove zrakasto pretrazivanje(beam search) - ovakav algoitam koristi CN2 (Clark, Niblett, 1989):

nauci-jedno-pravilo(c,A,E,k)

• Najbolja-hipoteza ← ∅ /* najopstija hipoteza */

• skup-kandidata ← Najbolja-hipoteza

• dokle god skup-kandidata nije prazan:

1. Generisi sledecu specificniju 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

(c) izbaci sve hipoteze iz skupa novi-kandidati koje su ponovljene,nekonzistentne, ili nisu maksimalno specificne

2. Najbolja-hipoteza se menja:

Page 25: Machine Learning

24 Seminarski rad

– 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 premaperformansama

• vrati pravilo oblika:

”Ako Najbolja-hipoteza onda predvidanje”

gde je predvidanje najfrekventnija vrednost ciljnog atributa c meduprimerima E koji odgovaraju hipotezi Najbolja-hipoteza

Varijantu ovakvog algoritma koristi AQ (Michalski, 1986).

2.6.1 Induktivno logicko programiranje

Masinsko ucenje koje koristi logicke programe u PR1 kao objekte ucenjaje ILP (Lavrac, Dzeroski, 1994). Tako se npr. moze realizovati ekskluzivnoili (kao ekvivalentan zapis odgovarajuce Bulove funkcije):

XOR(x,y) :- True(x),¬ True(y)

XOR(x,y) :- ¬ True(x), True(y)

Za ovakav program se kaze da pokriva instance (ulazne vrednosti, argumente)x i y za koje je XOR(x,y)=⊤ tj. tacno (inace ima vrednost ⊥). Program π1 jepotreban (prikazano u primeru ispod) ako pokriva racunanjem samo pozitivneinstance (ali ih nemora sve pokrivati). Program π2 koji pokriva sve pozitivneprimere je dovoljan, sto znaci da moze da pokrije i neke negativne instance(kao pozitivne). U slucaju da su dopustene greske u primerima moguce je dase desi da su pokrivene i neke negativne instance, a da su izostavljene nekepozitivne. U suprotnom, pozeljan je program koji je i potreban i dovoljan.

Page 26: Machine Learning

Masinsko ucenje, inteligentni agenti 25

(definicije i ilustracija preuzete iz [intro])

Slicno kao kod prostora verzija kod ucenja koncepta, program koji jedovoljan ali nije potreban se moze specijalizacijom uciniti i potrebnim - iliobratno, ako je potreban ali nije dovoljan, moze se generalizacijom ondauciniti i dovoljnim. Najopstiji program je oblika [ρ :- ], dok je najposebnijioblika [ρ :- ⊥]. Nacelno su moguca dva metoda - jedan koji polazi odnajopstijeg programa, i drugi koji polazi od najposebnijeg. Ovde ce seobrazloziti metoda koja polazi od [ρ :- ] i koja ga specijalizuje sve dokne postane potreban, ali se moze desiti da nije onda dovoljan (sto se ondaiterativno nadoknaduje takvom generalizacijom da se cuva potrebnost).

2.6.2 Kanonski ILP algoritam

Osnovni operatori ILP algoritma su pomenuta specijalizacija i generalizacija(pored pokrivanja primera).

Postoje tri nacina na koji se moze logicki program generalizovati:

1. Zamenom nekih terma u nekoj klauzuli programa promenljivama (suprotnood postupka supstitucije)

2. Uklanjanjem literala iz tela neke klauzule programa

Page 27: Machine Learning

26 Seminarski rad

3. Dodavanjem klauzule programu

Obratno i dualno postoje tri nacina da se logicki 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 ucenja ce se koristiti metod dodavanjaklauzula za generalizaciju programa i dodavanje literala telu neke klauzuleza specijalizaciju programa. Moguce je uvesti relaciju poretka posebnosti:klauzula c1 je posebnija od klauzule c2 ako je c2 |= c1, i specijalno, ako jeskup literala u c2 podskup skupa literala u c1. Tako se dobija graf rafiniranjaslicno prostoru verzija.

Posto postoji veliki broj nacina da se izabere literal koji treba dodati, ILPalgoritmi obicno koriste neka dodatna ogranicenja, odnosno biraju se samo:

• literali iz pozadinske baze (cinjenice koje dodatno objasnjavaju primere,nezavisne od primera)

• literali ciji su argumenti podskup onih u glavi klauzule

• literali koji uvode novu promenljivu koja se ne nalazi medu onima uglavi klauzule

• literal koji izjednacava promenljivu u glavi klauzule sa jos jednom ilitermom 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 racuna ta relacija:

Ecur ← E

π ← []

ponavljaj

Page 28: Machine Learning

Masinsko ucenje, inteligentni agenti 27

c ← [ρ : −]ponavljaj /* c se cini potrebnim */

izaberi literal l koji treba dodati c/* nedeterministicka tacka 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 moze posmatrati i kao prosirenje CN2 na PR1, gde sepredlaze odabir literala na osnovu informacione snage slicno kao kod metodadrveta odluke (dodavanje kandidata literala L pravilu R):

FOIL Gain(L, R) ≡ t

(log2

p1

p1 + n1

− log2

p0

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’ (dobijenododavanjem L pravilu R), n1 broj negativnih, i konacno, t je broj pozitvnihvezivanja R koja su pokrivena i sa R’. Takode, da bi se omogucili i rekurzivniprogrami, neophodni su neki dodatni uslovi za dodatni literal - jedan nacinje da promenljive koje dodati literal sadrzi ne budu u glavi klauzule.

ILP se takode moze shvatiti i kao vid indukcije drvetom odlucivanja. Akosu Ri relacije pozadinske baze, cilj je onda da ciljnu relaciju R izrazi preko Ri,a ILP se onda moze posmatrati kao indukcija jednog glavnog drveta odlukeciji su corovi opet drveta odluke, a cvorovi ovih poddrveta su relacije Ri kojese slazu s nekim primerima (koji idu ,,desno” narednom cvoru) ili ne (idu,,levo”) sve dok se ne preostane skup samo pozitivnih primera (ovo odgovaraunutrasnjij petlji kanonskog ILP). Glavno drvo se gradi sve dok se ne dobijepoddrvo u kome samo negativne instance bivaju odbacene. Rezultat primeraprikazanog ilustracijom ispod je:

R :- R1, R2, R3

R :- R4, R5

Page 29: Machine Learning

28 Seminarski rad

(preuzeto iz [intro])

2.6.3 Indukcija kao inverzna rezolucija

Ucenje indukcijom se svodi na jednostavnoj prakticnoj pretpostavci daje indukcija suprotna dedukciji, pod izvesnim pretpostavkama. Tacnije,u odnosu na pravilo rezolucije koja odgovara dedukcionom zakljucivanju,pravilo inverzne rezolucije koje odgovara induktivnom zakljucivanju je ondazaista inverzan postupak. Vereov metod polazi od generalizacije kao postupkukoji je suprotan unifikaciji (koja se koristi u rezoluiji ili npr. za uporedivanjesablona u pretrazi), i moze se primenjivati na bazu znanja opisanu klauzulamada bi se doslo do koncepta kao najmanjeg zajednickog generalizatora primera(na primer: poznati svet blokova). Inverznu rezoluciju predlazu kao prakticnoresenje kasnije Muggleton i Buntine, 1988. - ako je rezolventa C data saC = (C1−L1)θ∪ (C2−L2)θ td. je L1θ = ¬L2θ (dobijeno supstitucijomθ za literale L1 i L2 u klauzulama C1 i C2, redom), onda je odgovarajucepravilo inverzne rezolucije (θ = θ1θ2 gde se θ1 odnosi na promenljive u C1, aθ2 na promenljive u C2):

C2 = (C − (C1 − L1)θ1)θ−12 ∪ ¬L1θ1θ

−12

Jednostavan primer rezolucije (levo) i inverzne rezolucije (desno) na nivouiskaznog racuna:

Page 30: Machine Learning

Masinsko ucenje, 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 zakljucak (u gornjem desnom uglu) koji predstavljaklauzulu GrandChild(x, y)← Father(x, z), Father(z, y) na osnovu tri dobraprimera. Prakticno se pokazalo da inverzna rezolucija lako dovodi do kombinatorneeksplozije i zato se razvijaju mnoge alternativne metode. Jednu uspesnuvarijantu koristi sistem PROGOL (Muggleton, 1995) gde se inverzna rezolucijakoristi samo da bi se doslo do jedinstvene najspecificnije hipoteze koja zajednosa pozadinskom teorijom objasnjava primere (deduktivno: za svaki primer(xi, f(xi)) koji nije pokriven sekvencijalnim pokrivanjem se trazi hi takvoda je B ∧ hi ∧ xi ⊢ f(xi)), a onda se ta hipoteza (slicno ILP, tj. FOILsistemu) koristi kao donja granica u pretrazi od opsteg ka posebnom (koristise MDL princip gde je duzina opisa broj literala klauzule, a pretraga slicnaA∗ algoritmu).

Page 31: Machine Learning

30 Seminarski rad

2.7 Racunska i statisticka teorija ucenja

Pored pitanja tezine razlicitih tipova problema ucenja, njihove karakterizacijei pitanja uspesne prakticne izvodljivosti ucenja u realnom vremenu, racunskai statisticka teorija ucenja (algoritamska teorija ucenja) daju odgovore ina pitanja o vezi velicine ili kvaliteta skupa primera, osobina i parametaraalgoritma ucenja i njegove uspesnosti na kraju. Postoje nekoliko osnovnihpristupa:

• VAK, verovatna aproksimativna korektnost (PAC framework: ProbablyAproximatively Correct, Valiant) - gde se identifikuju klase hipotezakoje se mogu ili ne mogu nauciti iz polinomijalnog broja primera (slozenostuzorka - sample complexity), cime se definise prirodna mera kompleksnostiprostora hipoteza kojom se moze ograniciti broj primera potrebnih zainduktivno ucenje

• granica greske (mistaske bound framework) - ispituje se broj napravljenihgresaka u toku ucenja potrebnih da bi se doslo do prihvatljive hipoteze

• Goldov formalni model granicnog ucenja

2.7.1 Statisticka teorija ucenja

Ako je (x1, y1), ..., (xl, yl) skup nezavisnih i jednako rasporedenih (njr)skup obucavanja izabranih prema fiksiranom ali nepoznatom funkcijom raspodeleF (x, y) = F (x)F (y|x) (x ∈ X su odabrani prema F (x)), i vrednosti nepoznateobjektivne funkcije y (supervizora S, ciljnog operatora) prema F (y|x). Hipotezaf se konstruise na osnovu ovog skupa sa merom gubitka (diskrepancijom,greskom aproksimacije) L(y, f(x, α)) izmedu y i hipoteze h = f(x, α). Ocekivanavrednost greske je funkcional:

R(α) =

∫L(y, f(x, α))dF (x, y) = R(f)

Moze se uopstiti za proizvoljan broj nepoznatih (z umesto (x, y): R(α) =∫Q(z, α)dF (z), gde je Q(z, α) je specificna funkcija gubitka). Cilj je naci

funkciju f(x, α0) koja minimizuje R(α) (preko klase funkcija f(x, α)|α ∈Λ). Osnovni podproblemi su prepoznavanje seme (pattern recognition -u osnovi, problem klasifikacije za y ∈ 0, 1, L(y, f(x, α)) = δ(y, f(x, α))- moze se uopstiti i na veci konacan skup klasa), ocena regresije (funkcija

Page 32: Machine Learning

Masinsko ucenje, inteligentni agenti 31

regresije f(x, α0) =∫

ydF (y|x), L(y, f(x, α)) = (y − f(x, α))2) i ocenagustine raspodele (L(p(x, α)) = − log p(x, α)). U tu svrhu se koriste principiindukcije - ERM (princip minimizacije empirijskog rizika), i SRM (principminimizacije strukturalnog rizika).

2.7.2 ERM princip

Umestp R(α) koristi se:

Remp(α) =1

l

l∑

i=1

Q(zi, α)

Postavljaju se pitanja:

• koji su (potrebni i dovoljni) uslovi konzistentnosti (bazirani na ERM)?

• koliko je brza konvergencija ucenja ?

• kako kontrolisati konvergenciju (sposobnost generalizacije, sta utice)ucenja ?

• 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) =α|

∫Q(z, α)dF (z) ≥ c, c ∈ (−∞,∞) vazi konvergencija:

infα∈Λ(c)

Remp(α)→ infα∈Λ(c)

R(α), l →∞

Vazi kljucna teorema masinskog ucenja (Vapnik, Chervonenkis, 1980):

Teorema 1 Ako postoje konstante A i B takve da za sve funkcije u S vaziA ≤ R(α) ≤ B, α ∈ Λ, tada je potreban i dovoljan uslov netrivijalnekonzistentnosti ERM da vazi uniformna jednostrana konvergencija Remp(α)→R(α), α ∈ Λ na S u smislu:

liml→∞

Psupα∈Λ

(R(α)− Remp(α)) > ε = 0, (∀ε > 0)

Page 33: Machine Learning

32 Seminarski rad

Radi odredivanja gornje granice rizika za ERM, uvodi se sledeci pojam (posledicadruge teoreme uniformne konvergencije u vezi sa ε-entropijom, detalji semogu naci u [VVN], kao i Poperova teorija neporecivosti, nonfalsifiability):

Definicija 2.5 Dimenzija Vapnik-Cervonenkisa (VC) skupa indikatorskih funkcijaS jednaka je najvecem broju h vektora z1, ..., zh koji se mogu razdvojiti udve klase na svih 2h mogucih nacina (dihotomija) elementima tog skupa(maksimalan broj vektora koji moze biti pokidan skupom S).

Definicija 2.6 Za dati skup realnih funkcija S (θ je stepena funkcija: θ(x) =0 ako je x < 0, inace θ(x) = 1), skup

θ(Q(z, α)− β)| q ∈ S, α ∈ Λ, β ∈ ∆ = (infz,α

Q(z, α, supz,α

Q(z, α))

je kompletan skup indikatora za dati skup realnih funkcija.

Definicija 2.7 VC dimenzija skupa realnih funkcija S je najveci broj h vektorauzorka nad kojima funkcije iz kompletnog skupa indikatora skupa S mogu darealizuju 2h dihotomija.

Vazi teorema:

Teorema 2 Za sve funkcije skupa ogranicenih nenegativnih funkcija 0 ≤Q(z, α) ≤ B| α ∈ Λ, sa verovatnocom od bar 1 − η vazi nejednakost (h =V C(S)):

R(α) ≤ Remp(α) +Bǫ(l)

2

(

1 +

1 +4Remp(α)

Bǫ(l)

)

ǫ(l) = 4h(ln 2l

h+ 1)− ln η

4

lTakode, ako je αl parametar ERM minimizacije i α0 parametar minimizacijestvarnog rizika, vazi nejednakost sa verovatnocom bar od 1− 2η:

∆(αl) = R(αl)−R(α0) < B

[√− ln eta

2l+ ǫ(l)

(1 +

1 +4Remp(α)

Bǫ(l)

)]

Moguce je odrediti granice rizika i za neogranicene funkcije (uz dodatniuslov):

supα∈Λ

(∫

Qp(z, α)dF (z))1p

∫Q(z, α)dF (z)

≤ τ

Page 34: Machine Learning

Masinsko ucenje, inteligentni agenti 33

2.7.3 SRM princip

Kako je ranije pomenuto, SRM prinicip indukcije se odnosi na kontrolusposobnosti generalizacije programa koji uci malim skupom obucavanja (npr.l/h < 20). Ako je S∗ =

⋃k Sk td. vazi S1 ⊂ S2 ⊂ ... ⊂ Sk ⊂ ... i hk = V C(Sk)

takve da je h1 ≤ h2 ≤ ... ≤ hk ≤ ..., i svaki Sk je ili totalno ogranicen0 ≤ Q(z, α) ≤ Bk, α ∈ Λk, ili njegove neogranicene funkcije zadovoljavaju(za neko (p, τk)):

supα∈Λk

(∫

Qp(z, α)dF (z))1p

∫Q(z, α)dF (z)

≤ τk, p > 2

kaze se da je S∗ dopustiva (admissable) struktura. Treba takode pretpostavitida je S∗ svuda gust u S u smislu metrike:

ρ(Q(z, α1), Q(z, α2)) =

∫|Q(z, α1)−Q(z, α2)|dF (z)

Cilj je pronaci broj n = n(l) za svako l tako da element Sn minimizujeempirijski rizik. Vazi teorema:

Teorema 3 SRM nudi metod aproksimacije Q(z, αn(l)l ) za koje niz rizika

R(αn(l)l ) konvergira ka najmanjem riziku:

R(α0) = infα∈Λ

∫Q(z, α)dF (z)

sa asimptotskom brzinom konvergencije:

V (l) = rn(l) + Tn(l)

√hn(l) ln l

l

ako je n = n(l) odreden sa:

liml→∞

T 2n(l)hn(l) ln l

l= 0

gde je:

1. Tk = Bk za totalno ogranicene Sk

2. Tk = τk za uslovno neogranicene Sk

Page 35: Machine Learning

34 Seminarski rad

rn(l) je mera aproksimacije:

rn = infα∈Λn

Q(z, α)dF (z)− infα∈Λ

Q(z, α)dF (z)

Problem odredivanja rn(l) je vezan za odredivanje n(l) u prethodnoj teoremii zavisi od konkretnog slucaja - vise detalja i primera za neke klase NMmoze se naci u [?]. Interesantan primer SVM, gde se moze pokazati daskup svih razdvajajucih hiperravni sa bar dimenzijom ∆ ima VC dimenzijuh ≤ min (R2

∆2 , n) + 1 (n je dimenzija vektora obucavanja, R je radijus sferekojoj pripadaju). Posledica je (uz Sk definisan sa B2/∆2 ≤ k) je da SVMpostuju SRM princip.

2.7.4 VAK (PAC) pristup

Ako se stvarna greska hipoteze h (true error) u odnosu na ciljni konceptc i raspodelu instanci primera D definise kao verovatnoca (x : D znaci da jex slucajna promenljiva sa raspodelom D):

eD(h) = Px:D(c(x) 6= h(x))

onda se moze definisati pojam VAK-ucljivosti (PAC-learnability):

Definicija 2.8 Za klasu C ciljnih koncepata definisanih nad skupom X instanciduzine n, i program L koji koristi prostor hipoteza H, C je VAK-ucljiva

programom L sa H ako za svako c ∈ C, raspodelu D nad X, ε td. je0 < ε < 1/2 i δ td. je 0 < δ < 1/2, program L sa verovatnocom ne manjomod (1−δ) nade h ∈ H td. je eD(h) ≤ ε u vremenu (u smislu cene racunanja)koje je polinom od 1/ε, 1/δ, n i size(c).

Ovde n i size(c) karakterisu kompleksnost prostora X i klase C - size(c) jeduzina kodiranja koncepta c za neku reprezentaciju klase C kojoj pripada(npr. broj istinitosnih osobina u konjunkciji kojom se definise koncept), aduzina instance n je npr. broj atributa u konjunkciji ili arnost funkcije (gdeje vektor argumenata instanca). Takode, ovim se povezuje velicina skupaprimera i polinomijalna izracunljivost problema ucenja.

Slozenost uzorka (sample complexity) je mera rasta broja primera uodnosu na (prethodno opisanu) slozenost problema. Kao sto je ranije pomenuto,svaki konzistentan ucenik daje hipotezu koja pripada prostoru verzija V SH,D

Page 36: Machine Learning

Masinsko ucenje, inteligentni agenti 35

po definiciji (bez obzira na X, H ili D). Da bi se ogranicio broj primerapotrebnog za bilo kojeg konzistentnog ucenika dovoljno je ograniciti brojprimera tako da prostor verzija ne sadrzi ne[rihvatljive hipoteze. Kaze se daje V SH,D ε-iscrpljen u odnosu na c i D ako (∀h ∈ V SH,D)eD(h) ≤ ε. Vazionda teorema (Haussler, 1988) kojom se uspostavlja veza prostora verzija iovog pojma sa verovatnocom koja ne zavisi od raspodele primera ili definicijeciljnog koncepta:

Teorema 4 Ako je H konacan i D je niz od m ≥ 1 nezavisnih nasumiceodabranih primera za ciljni koncept c, onda je za svako 0 ≤ ε ≤ 1 prostorV SH,D ε-iscrpljen verovatnocom p ≤ |H|−εm.

Odatle sledi m ≥ 1ε(ln |H|+ln 1/δ) gde je δ zeljeni minimalni prag verovatnoce

greske ucenja bilo kojeg konzistentnog ucenika.

2.7.5 Agnosticko ucenje i VC dimenzija Vapnik-Cervonenkisa

Ucenik koji ne pretpostavlja (za razliku od prethodnog) da ciljni konceptpripada prostoru hipoteza vec jednostavno pronalazi hipotezu hbest s najmanjomgreskom ucenja (za date primere) naziva se agnostickim ucenikom (ne pretpostavljada je C ⊆ H). Tada se trazi potreban broj tj. granica broja primera za kojuvazi da stvarna greska ne prelazi ε + eD(hbest). Pokazuje se da onda vazi(opste granice Hefdinga ili aditivne granice Cernofa, Hoeffding, Chernoff):

m ≥ 1

2ε2(ln |H|+ ln 1/δ)

Primeri:

1. konjunkcije literala (|H| = 3n): m ≥ 1ε(n ln 3 + ln 1/δ) (slicno i za

k-termove KNF ili DNF)

2. ucenik 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 VCVapnik-Cervonenkisa (Vapnik-Chervonenkis) gde se kompleksnost H (kapacitetsistema funkcija po Vapniku) ne meri brojem razlicitih hipoteza vec brojemrazlicitih instanci koje se diskriminisu u H . Ovo je, recimo, vazno ako jeprostor hipoteza beskonacan jer se onda prethodne nejednakosti nemoguupotrebiti. Za S ⊆ X, svako h ∈ H daje dihotomiju nad S ako postoje dve

Page 37: Machine Learning

36 Seminarski rad

particije, npr. x ∈ S| h(x) = 0 i x ∈ S| h(x) = 1 (moguce je da bude2|S| dihotomija S nad H). Ako se svaka dihotomija iz S (razbijanje na dveparticije) moze prikazati nekom hipotezom iz H (kao u navedenom primeru),onda se kaze da H kida S. V C(H) je onda velicina (kardinalnost) najveceg(konacnog) podskupa u X kojeg kida H (ako nema konacnog podskupa ondaje V C(H) = ∞). Prakticni detalji o ovome se mogu naci u [intro] i [?].Ranija nejednakost o granici broja primera se moze zameniti onda narednom:m ≥ 1

ε(4 log2 (2/δ)+ 8V C(H) log2 (13/ε)). Moze se naci cak i gornja granica

broja primera (Ehrenfeucht, 1989 - teorema: ako za proizvoljan L i C vaziV 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 od max[

1εlog 1/δ, V C(C)−1

32ε

]

primera). Jedna od prakticnih posledica ovih cinjenica je mogucnost ozbiljnijeteoretske ocene performansi i broja primera razlicitih klasa neuronskih mreza(sto pre toga nije bilo jednostavno) i drugih metoda ucenja.

2.7.6 Optimalna granica greske

Ako je ML(c) maksimalan broj gresaka za ciljni koncept c koji programL moze da napravi uceci c tacno (konzistentno) nad svim mogucim nizovimaprimera. Onda je ML(C) = maxc∈C ML(c) (npr. MF ind−S(C) = n + 1 zaklasu n istinitosnih literala). Optimalna granica greske je onda:

Opt(C) ≡ minL

ML(C)

Pokazuje se (Littlestone, 1987) da je V C(C) ≤ Opt(C) ≤ log2 |C|.

2.7.7 Granicno ucenje

Apstraktna formulacija granicnog ucenja zadaje se modelom problemaidentifikacije. Ovaj odeljak je uglavnom zasnovan na sadrzaju u [ZR] (gde semogu naci dodatni detalji). On se sastoji od sledecih elemenata:

1. Klase objekata: algoritam koji uci treba da identifikuje jedan od ovihobjekata na osnovu pruzenih informacija.

2. Metoda za prezentaciju informacija: u svakom trenutku t algoritamkoji uci dobija informaciju it koja se bira iz skupa I. Skup svih mogcihnizova informacija za neki objekat ω ∈ Ω obelezava se sa I∞(ω).

Page 38: Machine Learning

Masinsko ucenje, inteligentni agenti 37

3. Relacije imenovanja: algoritam treba da identifikuje objekat navodenjemnekog njegovog imena. Relacija imenovanja se sastoji od skupa imenaN i funkcije f : N → Ω.

Problem identifikacije je utvrdivanje pravila koje za svaki objekat ω ∈ Ω isvaki niz iz I∞(ω) daje ime n takvo da je f(n) = ω. Granicna identifikacijapodrazumeva pogadanje objekta u svakom trenutku i zahteva se da postojikonacan vremenski trenutak posle kojeg su sva pogadanja ista za isto ω, itacna. Ne zahteva se da ovaj vremenski trenutak bude poznat. Pogadanjeu trenutku t je odredeno izracunljivom funkcijom pogadanja Gt(i1, i2, ..., it).Ako funkcija Gt nije izracunljiva, govorimo o neefektivnoj granicnoj identifikaciji.Konacna identifikacija podrazumeva da ce algoritam posle konacnog brojakoraka prestati da trazi informacije i da ce dati konacan odgovor o imenuobjekta. Identifikacija u odredenom vremenu podrazumeva identifikaciju uunapred odredenom broju koraka. Ako su skupovi I∞(ω) disjunktni, ondakazemo da je ispunjen uslov razlikovanja. Ako sa Ωt oznacimo skup svihobjekata iz Ω koji su saglasni sa pocetkom datog niza informacija do trenutkat, kazemo da je ispunjen uslov opadanja neizvesnosti ako za svaki objekatω ∈ Ω i svaki niz iz I∞(ω) granicni skup od Ωt kad t→ 1 sadrzi samo ω.

Osnovni metod za granicnu identifikaciju je identifikacija nabrajanjem.Ona se sastoji od formiranja nabrajanja klase objekata na bilo koji nacin(i sa ponavljanjem) i pogadanja da je u koraku t nepoznati objekat upravoprvi objekat u nabrajanju koji se nalazi u Ωt. Funkcija pogadanja ce bitiizracunljiva ako se za svaki konacan niz informacija do trenutka t i za svakipozitivan ceo broj n moze efektivno utvrditi da li je n-ti objekat nabrajanja uΩt i ako postoji efektivan nacin nalazenja imena n-tog objekta u nabrajanju.Ako je Gt funkcija pogadanja, ω ∈ Ω i ι ∈ I∞(ω) definisemo vreme pogadanjaτ(Gt, ω, ι) kao prvi trenutak u kome i posle koga su sva pogadanja funkcije Gt

ista i tacna. Ako takav trenutak ne postoji, onda vreme pogadanja definisemokao ∞. Ako su Gt i G′

t dve funkcije pogadanja, kazemo da je funkcija Gt

uniformno brza od funkcije G′t ako za svako ω ∈ Ω, ι ∈ I∞(ω) vazi:

τ(Gt, ω, ι) ≤ τ(G′t, ω, ι)

i ako za neko ω0 ∈ Ω, ι0 ∈ I∞(ω) vazi:

τ(Gt, ω0, ι0) ≤ τ(G′t, ω0, ι0)

Osnovni nalazi za problem identifikacije su dati u nastavku.

Page 39: Machine Learning

38 Seminarski rad

Teorema 5 Ako su skupovi I i Ω prebrojivi i ako svaki objekat ima bar jednoime, za neefektivnu granicnu identifikaciju uslov razlikovanja je neophodan,a uslov opadajuce neizvesnosti je dovoljan. Ako je skup I∞(ω) prebrojiv zasvako ω, onda je uslov razlikovanja dovoljan za neefektivnu granicnu identifikaciju.

Teorema 6 Ako je Gt funkcija pogadanja koja realizuje identifikaciju nabrajanjem,onda nijedna funkcija pogadanja nije uniformno bolja od Gt.

Jedan od primena i rezultata u oblasti algoritamske teorije uccenja razmatrateorijska ogranicenja sistema za klasifikaciju koji se zasnivaju na predstavljanjuinstanci u vektorskim prostorima i linearnoj separaciji (npr. klasifikacijazasnovana na SVM). Konacan skup koncepata se moze predstaviti pomocumatrice M ∈ 0, 1m×n gde Mij = −1 znaci da je instanca i negativan primerkoncepta j i analogno za pozitivne primere.

Definicija 2.9 Linearni raspored koji predstavlja matricu M ∈ Rm×n je datkolekcijom vektora u1, ..., um, v1, ..., vn ∈ Rd euklidske duzine ||ui||2 = ||vj||2 =1 takvih da je sign(ui, vj) = sign(Mij) za sve i, j. Parametar d se nazivadimenzija rasporeda, mini,j(ui, vj) je minimalna margina, a 1

mn

∑i,j (ui, vj)

srednja margina realizovana rasporedom.

Poznato je da mala dimenzija, odnosno velika margina, obezbeduju malugresku prilikom generalizacije. Donja granica dimenzije i gornja granicamargine za linearne rasporede se mogu odrediti dekompozicijom matrice A ∈Rm×n preko singularnih vrenosti: Neka je r rang matrice A. Uvek postojematrice U ∈ Rm×r i V ∈ Rr×n sa ortonormiranim kolonama i pozitivnimbrojevima σ1(A) ≥ ... ≥ σr(A) > 0, koje nazivamo singularnim vrednostimamatice A, takve da je A = Udiag(σ1(A), ..., σr(A))V T . Podrazumeva seσi(A) = 0 za i > r. Spektralna norma matrice A se definisse kao ||A|| =σ1(A). Donja granica dimenzije data je sledecom 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 rasporedza d ≤ r koji predstavlja matricu M . Tada je:

d

d∑

i=1

σ2i (M) ≥ mn

Odredene su i gornje granice minimalne i srednje margine:

Page 40: Machine Learning

Masinsko ucenje, inteligentni agenti 39

Teorema 8 Ako za matricu M ′ vazi sign(M ′ij) = sign(Mij), onda vazi:

mini,j|(ui, vj)| ≤

√mn||M ′||∑

i,j M ′ij

Teorema 9 1mn

∑i,j |(ui, vj)| ≤ ||M ||√

mn

U prethodnoj teoremi koriscenje M ′ umesto M je pogodnost koja omogucavada se umesto polazne matrice M kojoj odgovara linearni raspored, koristidruga matrica koja daje bolju ocenu. Uslov je da odgovarajuci elementipolazne i nove matrice imaju isti znak (u smislu funkcije sign). U oblastialgoritamske teorije ucenja analiziraju se tehnike uzorkovanja koje bi omogucileizgradnju algoritama masinskog ucenja koji bi iz uvida u instance koje sedobijaju u toku ucenja mogli da odrede dovoljan obim uzorka za ucenje.Problem koji se posmatra je sledeci: neka je D skup instanci iz kojih se ucii B bulovska funkcija nad D. Potrebno je utvrditi verovatnocu pB takvuda je B(x) = 1. Ukoliko je broj instanci u D preveliki za prebrojavanje,pribegava se uzorkovanju i pribliznom odredivanju broja pB na osnovu toguzorka. Pitanje je koliki uzorak je potreban. Prvi cilj je utvrdivanje graniceapsolutne greske ocene. Preciznije, za dato δ > 0 i 0 < ε < 1 cilj je odreditiocenu p′B takvu da je:

P [|p′B − pB| ≤ ε] > 1− δ (1)

Drugi cilj je utvrdivanje granice relativne greske. Za dato δ > 0 i 0 < ε < 1cilj je odrediti p′B takvo da je:

P [|p′B − pB| ≤ εpB] > 1− δ (2)

Treci cilj je odredivanje priblizne ocene za neku funkciju broja pB (npr. uB =pB − 1

2). Preciznije, ako je dat broj δ > 0 i 0 < ε < 1, clij je odrediti ocenu

u′B takvu da vazi:

P [|u′B − uB| ≤ ε|uB|] > 1− δ (3)

Teorema 10 Ako se instance koje cine uzorak obima n biraju uniformno izD i ako je m broj instanci iz uzorka za koje je B(x) = 1 i p′B = m/n, ondaocena p′B zadovoljava uslov (1) ako vazi:

n >1

2ε2ln(

2

δ)

Page 41: Machine Learning

40 Seminarski rad

Takode, ocena p′B zadovoljava uslov (2) ako vazi:

n >3

ε2pBln(

2

δ) (4)

Posto poslednja teorema u oceni obima uzorka koji je neophodan da bi vaziouslov (3) koristi nepoznatu vrednost pB, ona nije korisna za postizanje drugogpostavljenog cilja. Moguce je koristiti sledeci algoritam prilagodljivnog uzorkovanja(**): uzimati uniformno instance iz D sve dok broj instanci za koje jeB(x) = 1 ne dostigne vrednost A. Ako je n ukupan broj instanci kojesu uzete iz D onda se za ocenu p′B uzima A/n.

Teorema 11 Za svako δ > 0 i 0 < ε < 1 vazi uslov (2) ako prilikomprilagodljivog uzorkovanja (**) vazi:

A >3(1 + ε)

ε2ln(

2

δ)

Tada, sa verovatnocom vecom od 1− δ/2 obim uzorka n zadovoljava uslov:

n ≤ 3(1 + ε)

(1− ε)ε2pB

ln (2

δ) (5)

Poredenjem uslova (4) i (5) i uzimajuci u obzir da je ε obicno malo, zakljucujese da je algoritam prilagodljivog uzorkovanja skoro optimalan. Za postizanjetreceg cilja predlaze se sledeci algoritam nemonotonog prilagodljivog uzorkovanja:

• m← 0; n← 0;

• u′B ← 0; α←∞;

• Dok je |u′B| < α(1 + 1/ε) primenjivati sledece korake:

– uzeti x slucajnim izborom sa uniformnom raspodelom iz D;

– m← m + B(x); n← n + 1;

– u′B ← m/n− 1/2;

– α←√

12n

ln (n(n + 1)/δ));

• predloziti u′B kao ocenu za uB;

Page 42: Machine Learning

Masinsko ucenje, inteligentni agenti 41

Teorema 12 Za svako δ > 0 i 0 < ε < 1, nemonotono prilagodljivo uzorkovanjezadovoljava uslov (3). Takode, ako je n obim uzorka, sa verovatnocom vecomod 1− δ, onda vazi:

n ≤ 2(1− 2ε)2

(ε|uB|)2ln(

1

εδ|uB|)

Identifikacija jezika pociva na Goldovom modelu granicne identifikacije kojije vec pomenut. Ako je skup Σ neprazna i konacna azbuka i Σ∗ skup svihniski nad skupom Σ ukljucujuci i praznu, jezik nad azbukom Σ je bilo kojipodskup od L ⊆ Σ∗. Model ucenja jezika se sastoji od tri komponente:

1. Definicije ucenja: jezik L je naucen ako je granicno identifikovan medudopustivim jezicima.

2. Metod prezentovanja informacija: moguce je ucenje iz teksta ili pomocuinformatora. Tekst je niz x : N → L niski jezika L takvih da sesvaka niska jezika L pojavljuje u njemu bar jednom. Razlikujemoproizvoljan, rekurzivan i primitivno rekurzivan tekst. Informator jeniz y : N → Σ∗ × ⊤,⊥ takav da je (α,⊤) njegov element ukolikoα ∈ L, a (α,⊥) ukoliko α ∈ Σ∗ − L, za svako α ∈ σ∗. Moguce su idrugacije, ekvivalentne, formulacije informatora.

3. Vrste imena jezika: svaki jezik moze imati jedno ili vise imena. Algoritamidentifikuje jezik navodeci neko od njegovih imena. Imena jezika suTjuringove masine. Tester za jezik L je Tjuringova masina koja realizujeproceduru odlucivanja za L, odnosno funkciju koja reci iz Σ∗ pridruzuje1 ukoliko je ta rec iz L, a 0 u suprotnom. Generator za L je Tjuringovamasina koja realizuje surjektivno preslikavanje iz skupa prirodnih brojevau L.

Dokazane su teoreme:

Teorema 13 Za bilo koji nacin prezentacije informacija, ako se klasa jezikamoze granicno identifikovati koristeci tester imenovanje, onda se ona mozegranicno identifikovati i koristeci imenovanje generatorom.

Teorema 14 Koristeci prezentovanje informacija pomocu informatora i testerimenovanje klasa primitivno rekurzivnih jezika se moze granicno identifikovati.

Teorema 15 Koristeci prezentovanje informacija pomocu informatora i imenovanjegeneratorom klasa rekurzivnih jezika se ne moze granicno identifikovati.

Page 43: Machine Learning

42 Seminarski rad

Teorema 16 Koristeci prezentovanje informacija pomocu proizvoljnog tekstai tester imenovanje klasa jezika konacne kardinalnosti se moze granicno identifikovati.

Teorema 17 Koristeci prezentovanje informacija pomocu primitivno rekurzivnogteksta i imenovanje generatorom cela klasa rekurzivno nabrojivih jezika semoze granicno identifikovati.

Teorema 18 Koristeci prezentovanje informacija pomocu rekurzivnog tekstai imenovanje generatorom klasa jezika koja sadrzi sve konacne jezike i barjedan beskonacan, se ne moze granicno identifikovati.

Teorema 19 Koristeci prezentovanje informacija pomocu primitivno rekurzivnogteksta i tester imenovanje klasa jezika koja sadrzi sve konacne jezike i barjedan beskonacan, se ne moze granicno identifikovati.

Algoritam RPNI za identifikaciju (i ucenje) regularnih jezika iz pozitivnih(S+) i negativnih primera (S−) postoji, ali zahteva kompletnost uzorka (bezformalne definicije, neophodni su i pozitivni i negativni primeri u dovoljnomobimu da bi identifikacija bila garantovana - algoritam i detalji su u [ZR]).Obim uzorka koji je potreban je u najgorem slucaju manji od n2Σ, a slozenostalgoritma je O((|S+|+|S−|)|S+|2). Nauceni automat je minimalni deterministickiautomat koji prihvata tacno jezik L. Identifikacija kontekstno slobodnihjezika (KSJ) je mnogo ,,tvrdi” problem, i postojeca resenja u okviru Goldoveteorije su bar NP kompletni i neefikasni. Ovim problemom se i dalje mnogoefikasnije bave bajesovski metodi (n-grami i skriveni lacni Markova) i stohastickekontektsno-slobodne gramatike (Smirnof).

Page 44: Machine Learning

Masinsko ucenje, inteligentni agenti 43

3 Statisticko i Bajesovo ucenje

3.1 Bajesovo ucenje

Pored Bajesovog zakljucivanja i mreza uverenja (belief networks, Bajesovemreze specijalno ako koriste Bajesovo pravilo zakljucivanja) kao metode automatskogzakljucivanja, to je i korisna metoda masinskog ucenja jer nudi mogucnostkvantitativnog ocenjivanja alternativnih hipoteza. Bajesovo ucenje je takovezano za algoritme ucenja koji koriste verovatnocu i statistiku kao model.Osnova je izbor hipoteze (MAP - Maximum a posteriori) najverovatnijeuslovne verovatnoce u odnosu na dati skup primera (posmatranja) D i prostorhipoteza H (uz primenu Bajesovog pravila i izuzimanja P (D) kao konstanteza razlicite h):

hMAP ≡ argmaxh∈HP (h|D) = argmaxh∈H

P (D|h)P (h)

P (D)= argmaxh∈HP (D|h)P (h)

Moze se i P (h) izostaviti slicno P (D) ako se pretpostavi da je a prioriverovatnoca 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, inace.

dobija se metod MAP ucenja grubom silom koji pokazuje da je:

P (h|D) =

1|V SH,D| , di = h(xi) za sve di ∈ D;

0, inace.

tj. svaka konzistentna hipoteza (bez gresaka za date primere) je MAP hipoteza.Svaki algoritam ucenja koji proizvodi konzistentne hipoteze je konzistentan.Moze se pokazati da ako je distribucija u H td. je P (hi) ≥ P (hj) ako jehi specificnija od hj (specijalno, uniformna raspodela je uvek takva) ondaalgoritam Find-S daje MAP hipoteze. Tako se moze Bajesovom mrezomkarakterisati i algoritam koji ne koristi verovatnoce - kao sto je induktivnimbiasom karakterisan i zamenjen deduktivnim sistemom, tako moze biti zamenjemBajesovom mrezom uz pretpostavku o raspodeli za H i datim P (D|h), odnosnonjenom gustinom p(D|h).

Page 45: Machine Learning

44 Seminarski rad

3.1.1 Veza najverovatnije hipoteze i LMS

Ako su primeri dati sa nekom ocekivanom greskom m = 0 sa zadatomdisperzijom σ2 td. je di = f(xi) + ei, i ako su primeri medusobno uslovnonezavisni onda je (h = hML, ML - minimum likelihood):

h = argmaxh∈H

n∏

i=1

P (di|h) = argmaxh∈H

n∏

i=1

1√2πσ2

e−1

2σ2 (di−h(xi))2

sto se na kraju svodi (upotrebom logaritma i drugih transformacija - detaljiu [TM-ML] kao i za mnoge druge detalje i dokaze) na:

h = argminh∈H

n∑

i=1

(di − h(xi))2

cime se pokazuje da se najbolja hipoteza dobija minimizovanjem zbira kvadratarazlike - LMS metodom. Konkretnije, ako je di ∈ 0, 1 (diskretan skup) iizbor primera xi uslovno ne zavisi od hipoteze h, moze se pokazati da se i xi

mogu tretirati kao slucajne promenljive, i tada je P (D|h) =∏n

i=1 P (xi, di|h) =∏ni=1 P (di|h, xi)P (xi). Slicnim transformacijama (uz P (di|h, xi) = h(xi)

di(1−h(xi))

1−di) se dobija onda:

h = argmaxh∈HG(h, D), G(h, D) =n∑

i=1

[di ln h(xi) + (1− di) ln (1− h(xi))]

Postoji slicnost ovog izraza sa opstim 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 ucenja realna funkcija.Prirodan model za ovakav sistem (s Bajesovom mrezom) i ucenje su neuronskemreze sa povratnim propagiranjem, gde je pravilo obucavanja NM (spustomniz gradijent) ∆wjk = η

∑ni=1 h(xi)(1− h(xi))(di − h(xi))xijk u slucaju maksimizovanja

G(h, D) zamenjeno jednostavnijim pravilom:

∆wjk = ηn∑

i=1

(di − h(xi))xijk

3.1.2 MDL princip

Ranije pomenut MDL princip je blisko povezan sa verovatnocom i problemomOkamove ostrice. Ideja o MDL je potekla jos 1960-tih kada su Solomonov,

Page 46: Machine Learning

Masinsko ucenje, inteligentni agenti 45

(Solomonoff, 1960: koja je priroda induktivnog zakljucivanja ?) Kolmogorovi Caitin (Kolmogorov, Chaitin, 1965-66: koja je priroda slucajnosti ?) postavilipitanja i temelje statistike i informacione teorije u vezi kompleksnosti algoritma(gde se uocava veza izmedu slucajno generisane niske i slozenosti programa,kao i kompresiji opisa niske programom koji u sebi - ,,intrinsicki” - tako sadrziosobine podataka) - Rissanen 1978. tako predlaze MDL princip induktivnogzakljucivanja. Uz osnovne pretpostavke teorije informacija, moze se protumacitikod

hMAP = argmaxh∈HP (D|h)P (h) = argminh∈H [− log2 P (D|h)− log2 P (h)]

da su krace hipoteze pozeljnije (Shannon, Weaver 1949): ako je LCH(h) =

− log ph broj bitova (duzina opisa) potreban za poruku h kodom C, onda jeMDL princip hMDL = argminh∈H [LC1(h)+LC2(D|h)] (prvi sabirak karakteriseduzinu opisa hipoteze, a drugi duzinu opisa primera s hipotezom kao pretpostavkom- npr. sta su izuzeci). Pokazuje se da ako je C1 = CH optimalno kodiranje zah i C2 = CD|h optimalno kodiranje za D|h, onda je hMAP = hMDL. MedutimMDL ne opravdava posebno najkracu hipotezu jer se za proizvoljna kodiranjaC1 i C2 ne moze opravdati MDL hipoteza kao najbolja (potrebno je znatisve verovatnoce hipoteza da bi se to potvrdilo, a to nije obavezno najboljareprezentacija znanja).

3.1.3 Bajesovi klasifikatori, Gibsov algoritam

Naspram dosadasnjeg pitanja o najverovatnijoj hipotezi, jos je bitnijepitanje najverovatnije klasifikacije nove instance na osnovu zadatih primera.Za skup vrednosti klasifikacija V optimalni Bajesov klasifikator nove instancex ∈ X bira najverovatniju ispravnu klasifikaciju (u problemu ucenja konceptato je kao da se bira klasifikacija nad prostorom verzija uz tezinske koeficijentetj. uslovne verovatnoce):

argmaxvj∈V P (vj|D), P (vj|D) =∑

hi∈H

P (vj|hi)P (hi|D)

Ovaj algoritam ima u proseku najbolje performanse u odnosu na bilo kojidrugi, ali moze biti veoma skup. Gibsov algoritam koristi kompromis (vecagreska uz manju cenu racunanja - Opper, Haussler, 1991):

1. Izaberi proizvoljnu hipotezu h iz H nasumice, ali prema raspodeliuslovne verovatnoce (u odnosu na date primere)

Page 47: Machine Learning

46 Seminarski rad

2. Upotrebi h da ocenis klasifikaciju nove instance

Pokazuje se da je greska klasifikacije ovog algoritma pod odredenim uslovimanajvise dvaput veca od Bajesovog optimalnog klasifikatora (Haussler, 1994).

Naivni Bajesov klasifikator je jedan veoma praktican metod ucenja -u nekim domenima se pokazuje uporedivim po performansama sa NM ilidrvecem odluke. Primenjiv je u zadacima gde se instance izrazavaju kaokonjunkcije vrednosti atributa (a1, ..., an) a kodomen V ciljne funkcije jediskretan (konacan). Bajesov pristup bi onda bio naci najverovatniju vrednostvMAP = argmaxvj∈V P (vj|a1, ..., an) = argmaxvj∈V P (a1, ..., an|vj)P (vj) (uzprimenu Bajesovog pravila). Vrednost P (vj) se moze proceniti frekvencijom(brojanjem) vrednosti u skupu primera, dok za uslovne verovatnoce to nijeprakticno (broj kombinacije je obicno dovoljno velik). Da bi se to prevazislo,naivni klasifikator polazi od pretpostavke da su usllovne verovatnoce atributau konjunkciji uslovno nezavisne tj. izbor vrednosti naivnog Bajesovog klasifikatoraje:

vNB = argmaxvj∈V P (vj)∏

i

P (ai|vj)

gde se frekvencijama vrednosti atributa u primerima za date vrednosti ocenjujeP (ai|vj). Uobicajeno je da se vrednost P (ai|vj) ocenjuje sa nc

ngde je n broj

primera kod kojih je vj , a nc broj takvih kod kojih je ai. Posto broj takvihprimera moze biti suvise mali, koristi se m-ocena nc+mp

n+mgde je m je jednak

broj uzoraka a p verovatnoca izbora date vrednosti atributa (najcesce sepretpostavlja uniformna raspodela td. je za k mogucih vrednosti atributa p =1k, mada moze uopste biti i neka druga raspodela). Na primer, ako je P (ai =

wk|vj) verovatnoca da je i-ta rec teksta jednaka wk (k-ta iz nekog recnika) i daje tekst ocenjen nekom vrednoscu vj , npr. da pripada nekoj diskusionoj listiod ponudenih ciji se tekstovi poruka analiziraju, onda se moze pretpostavitida je P (ai = wk|vj) = P (am = wk|vj) tj. da verovatnoca ne zavisi od pozicije- time se znacajno dodatno smanjuje broj kombinacija mogucih uslovnihverovatnoca, i tada se to moze skraceno obeleziti sa P (wk|vj) = nk+1

n+|V | , gde je

nk broj koliko puta je nadena rec wk medu ukupno n mogucih pozicija (tj.reci) u primerima gde je ciljna vrednost vj (koristi se m-ocena sa m = |V |,|V | je broj reci u recniku V ). Algoritam ucenja onda izgleda ovako:

1. pokupi sve razlicite reci u skup V (tokene, uopste) iz svih tekstovaskupa primera D

Page 48: Machine Learning

Masinsko ucenje, inteligentni agenti 47

2. izracunaj P (vj) i P (wk|vj) izraze verovatnoca:

za svaku vrednost vj ∈ V :

• docsj ← podskup tekstova iz skupa primera D koji sadrze vj

• P (vj)← |docsj ||D|

• textj ← tekst dobijen konkatenacijom tekstova iz docsj

• n← broj razlicitih pozicija reci (broj reci) u textj

• za svaku wj ∈ V :

(a) nk ← broj reci wk u textj

(b) P (wk|vj)← nk+1n+|V |

i onda se klasifikacija vrsi algoritmom:

1. ulazni dokument koji se klasifikuje ima skup pozicija reci P (rec ai jena i-toj poziciji)

2. vNB = argmaxvj∈V P (vj)∏

i∈P P (ai|vj)

3.1.4 Mreze uverenja

Ako je P (X|Y, Z) = P (X|Z) kaze se da su X i Y uslovno nezavisno poduslovom Z. Mrezama uverenja (belief networks) se definisu visedimenzionalne(slozene) raspodele koja se sastoji od n-torke promenljivih (Y1, ..., Yn). Mrezauverenja je onda usmereni aciklicni graf gde su cvorovi slucajne promenljiveu kojem je svaki potomak cvora zavisan od njega, a onaj koji to nije jenezavisan (uz uslov prethodnih cvorova ako ih ima). Tako je rekurzivnodefinisana slozena verovatnoca:

P (y1, ..., yn) =

n∏

i=1

P (yi|Roditelji(Yi))

gde je Roditelji(Yi) skup neposrednih roditelja cvora Yi i kombinacija njihovihvrednosti kao u tabeli u primeru ispod:

Page 49: Machine Learning

48 Seminarski rad

(primer preuzet iz [TM-ML])

gde je prvim slovom u tabli skraceno oznacen odgovarajuci cvor (tabela jevezana za cvor Campfire, a cvorovi imaju dve moguce vrednosti - logickevrednosti). Mreza uverenja je potpuno zadata takvim uslovnim verovatnocamaza svaki cvor (ili npr. faktorima dovoljnosti i potrebnosti za svaki luk da bise formirali logicki iskazi kao pravila, kao sto je to u ekspertnom sistemuPROSPECTOR) i pocetnim (a priori) verovatnocama. Cilj je obicno naciraspodelu verovatnoce n-torke promenljivih na osnovu zadatih raspodelaostalih promenljivih u mrezi (i onda mozda oceniti njihovu vrednost naosnovu nekih zadatih pocetnih verovatnoca (dokaza) ili vrednosti promenljivih).Ovakvo verovatnosno zakljucivanje je u opstem slucaju pokazano kao problemNP klase (Cooper, 1990), cak i u aproksimativnim metodama.

Ucenje mreza uverenja (tj. njihovih uslovnih verovatnoca ili koeficijenata)na efikasan nacin se svodi na (naivni) Bajesov klasifikator ako su sve promenljivesa verovatnocama poznate na osnovu primera, i ako je struktura mrezeunapred poznata. Medutim, ako su vrednosti samo nekih promenljivih (ostalesu ,,skrivene” - skriveni Markovljevi lanci) raspolozive tokom ucenja (uprimerima), onda nije tako jednostavno. Problem je donekle uporediv saproblemom obucavanja neuronskih mreza sa skrivenim slojevima (npr. povratnimpropagiranjem), kao sto se mreze zakljucivanja mogu predstaviti kao vrstaNM u krajnjem slucaju. Jedan nacin je trazenjem najverovatnije hipotezegradijent metodom, odnosno maksimizovanjem P (D|h). Ako je wijk = P (Yi =yij|Ui = uik) uslovna verovatnoca da ce promenljiva Yi imati vrednost yij akon-torka njenih direktnih roditelja Ui ima vrednost uik, pokazuje se da ondavazi:

∂ ln P (D|h)

∂wijk

≡ ∂ ln Ph(D)

∂wijk

=∑

d∈D

P (Yi = yij, Ui = uik|d)

wijk

≡∑

d∈D

P (yij, uik|d)

wijk

Page 50: Machine Learning

Masinsko ucenje, inteligentni agenti 49

Ovim se dobija pravilo ucenja:

wijk ← wijk + η∑

d∈D

Ph(yij, uik|d)

wijk

gde se mora dodatno voditi racuna da je ispunjen preduslov da su wijk

ispravne verovatnoce (wijk ∈ [0, 1] i da je∑

j wijk = 1 za sve i, k), sto se radirenormalizacijom koeficijenata nakon svakog ciklusa promene koeficijenata.

Ucenje strukture mreze je jos tezi problem. Jedan nacin je uvodenjemetrike kojom se ocenjuju mreze alternativne strukture (u odnosu na pocetnui kasnije radnu strukturu - algoritam K2, Cooper, Herskovits, 1992), a drugipoznati nacin je konstruistanjem uslova (constraints) i otkrivanjem relacijazavisnosti na osnovu primera.

3.1.5 EM algoritam

EM algoritam je posebno koristan za primere mreza sa pomenutim skri-venim cvorovima. Problema ocene k-sredina (k-means) je jedan od osnovnihproblema tog tipa - ako su ulazni podaci zadati kao niz brojeva gde jesvaki element niza nasumice uniformno po jednoj od k normalnih raspodelapoznatih jednakih disperzija σ2 i nepoznatih sredina tj. proizvoljan elementniza X ima vrednost po nekoj od k normalnih raspodela N(µj, σ

2)kj=1, asvaki takav element ima i ,,skrivenu” pridruzenu vrednost j (indeks uniformnonasumicno izabrane normalne raspodele sa odgovarajucom sredinom µj , 1 ≤j ≤ k). Cilj problema je otkriti k-torku h = (µ1, ..., µk) sredina kao ispravnuhipotezu za primer od m zadatih vrednosti. Da je skrivena vrednost poznata(da nije skrivena, zapravo) algoritam bi bio jednostavan - za svaki podnizyi ovakvog niza xi cijim je vrednostima pridruzena samo jedna sredina (iodgovarajuca raspodela) trazi se hipoteza µML td. je µML = argminµ

∑mi=1 (yi − µ)2

za sta se pokazuje da je resenje (koje minimizuje ovu sumu) µML = 1m

∑mi=1 yi

(recimo, kao da je dat niz (k + 1)-torki (xi, zi1 , ..., zik) gde zij = 1 ukazujeda je za vrednost xi koriscena normalna raspodela sa sredinom µj - ostalevrednosti zin = 0). EM algoritam za ovaj problem incijalizuje h = (zi1 , ..., zik)(recimo prvih k vrednosti ulaznog niza ili njihova srednja vrednost) i ondaponavlja naredne korake do stabilnog h (po nekom kriterijumu):

Page 51: Machine Learning

50 Seminarski rad

1. izracunaj E[zij ], j = 1, k uz pretpostavku trenutne h:

E[zij ] =p(x = xi|µ = µj)∑k

n=1 p(x = xi|µ = µn)=

e−1

2σ2 (xi − µj)2

∑kn=1 e−

12σ2 (xi − µn)2

2. izracunaj najverovatniju novu hipotezu h′ = (µ′1, ..., µ

′k) uz pretpostavku

da je trenutna vrednost zij , j = 1, k je prethodno izracunata E[zij ] izameni h sa h′:

µj ←∑m

i=1 E[zij ]xi∑mi=1 E[zij ]

Sustina algoritma su ova dva koraka, gde se najpre koristi trenutna hipotezada bi se ocenile skrivene vrednosti, a onda se tako dobijenim skrivenimvrednostima racuna iterativno bolja hipoteza. EM algoritam obavezno konvergiraka lokalno maksimalno verovatnoj (P (D|h)) hipotezi na taj nacin. Uobicejenauopstena formulacija je da se za skup posmatranih vrednosti (observed) X =x1, ..., xm i skrivenih (hidden, unobserved) Z = z1, ..., zm (Y = X

⋃Z je

ukupan, pun skup podataka) posmatra skup parametara θ koji je od interesaza problem. Z se moze posmatrati kao slucajna promenljiva (a time i Y ) cijaraspodela zavisi od nepoznatih parametara θ i poznatih podataka X. Trazi seh′ tako da maksimizuje E[ln P (Y |h′)], tj. Q(h′|h) = E[ln P (Y |h′)|h, X] (kaofunkcija od h′ pod pretpostavkom θ = h). Tada se uopsteni EM algoritamsvodi na sledeca dva koraka:

procena (estimation) (E): racunanje Q(h′|h)

maksimizovanje (maximization) (M):

h← argmaxh′Q(h′|h)

Ako je Q neprekidna onda EM konvergira ka stacionarnoj tacki funkcijeP (Y |h′) (slicno gradijent metodama). U slucaju problema k-sredina vazi:

θ = (µ1, ..., µk), p(yi|h′) = p(xi, zi1 , ..., zik |h′) = 1√2πσ2

e−1

2σ2

Pkj=1 zij

(xi−µ′j)

2

,

pa je ln P (Y |h′) = ln∏m

i=1 p(yi|h′) =∑m

i=1 p(yi|h′), i na osnovu toga je

Q(h′|h) = E[ln P (Y |h′)] =∑m

i=1

(ln 1√

2πσ2− 1

2σ2

∑kj=1 E[zij ](xi − µ′

j)2), pa

je argmaxh′Q(h′|h) = argminh′

∑mi=1

∑kj=1 E[zij ](xi − µ′

j)2.

Page 52: Machine Learning

Masinsko ucenje, inteligentni agenti 51

3.2 Statisticko ucenje i funkcija gubitka

Sve pomenute metode i poznate metode matematicke verovatnoce i statistikenude korisne alate u problemima masinskog ucenja. To se moze i ovakoposmatrati: ako je X slucajna promenljiva nad n-torkama gde je p(X) (apriori) verovatnoca da je to n-torka koju trazimo da klasifikujemo, odnosnogustina raspodele slucajne promenljive X, onda se moze sa p(X|1) i p(X|2)oznaciti gustina raspodele za kategorije 1 i 2 (p(i) je a priori verovatnocakategorije), redom (dalje se sve moze uopstiti jednostavno za proizvoljanbroj kategorija) - raspodele za te dve kategorije se mogu razlikovati. Dveosnovne greske se mogu napraviti: da je data n-torka (uzorak, sema) ukategorji 1 iako pripada kategoriji 2, i obratno. Ozbiljnost napravljene greskese ocenjuje funkcijom gubitka (loss function) λ(i|j) za odabranu kategorijui ako je kategorija j tacna (λ(i|i) = 0). Ocekivana vrednost gubitka zadato x je LX(i) = λ(i|1)p(1|X) + λ(i|2)p(2|X). Kategoriju 1 biramo ako jeLX(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 sekoristi i opstije k(i|j) = λ(i|j)p(j). Naravno, za proizvoljan skup kategorijaC se moze zadatak definisati uopsteno, gde se bira kategorija j ∈ C za kojuvazi:

j = argmini∈CLX(i)

Konkretan kriterijum se dobija izborom pretpostavljene raspodele - dveraspodele su interesantne: Gausova (normalna) i binomna. Matricno zapisanagustina visedimenzionalne normalne raspodele je:

p(X) =1

(2π)n/2|Σ|1/2e

−(X−M)T Σ−1(X−M)2

gde je M = E[X] srednji vektor (vektor srednjih vrednosti), Σ = [σ2ij ]ij

matrica kovarijanse (simetricna, pozitivno definitna), |Σ| = det Σ, σ2ij =

E[(xi −mi)(xj −mj)] (σ2ii 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

Page 53: Machine Learning

52 Seminarski rad

gde je B = 2

(2π)n/2 (1

|Σ2|1/2 − 1|Σ1|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 = (M1M1 −M2M2)/2 konstanta.

Ako su vrednosti slucajne promenljive u skupu 0, 1, i ako su komponenteuslovno nezavisne, p(X|i) = p(x1|i) . . . p(xn|i), moze se zapisati (binomnaraspodela):

p(xi = 1|1) = pi

p(xi = 0|1) = 1− pi

p(xi = 1|2) = qi

p(xi = 0|2) = 1− qi

Page 54: Machine Learning

Masinsko ucenje, inteligentni agenti 53

i onda je pomenuti uslov:

n∑

i=1

xi logpi(1− qi)

qi(1− pi)+

n∑

i=1

log1− pi

1− qi

+ logp(1)

p(2)≥ 0

3.3 Kombinatorna optimizacija, inteligencija roja

Mnogi problemi vestacke inteligencije se resavaju dinamickim programiranjemi metodama bliskim problemima optimizacije. Klasa asinhrono distribuiranihalgoritama koji su inspirisani bioloskim zajednicama, poput mrava u prirodi(slicno genetskim algoritmima), zove se inteligencija roja (swarm intelligence).Primer je TSP problem (putujuceg trgovca) odredivanja optimalnog Hamiltonovogputa datog obelezenog (cenama) grafa. Rubinstajn predlaze metodu kojadaje podklasu ovakvih algoritama (inspirasanu optimizacijom kolonije mrava,Rubinstein, 1999) upotrebom prelazne entropije - ,,PE mravi” (CE-ants,Cross Entropy). Rubinstajnova metoda nije distribuirana (racunanja sene mogu paralelizovati) i spada specijalno zato u klasu centralnih metoda(varijantu koja jeste distribuirana predlozili su Helvik i Wittner, 2001). Schoonderwoerd(kao primenu na osnovu Dorigovog ACO metoda i sistema AntNet, AntColony Optimization) predlaze sistem sa vecim brojem veoma uproscenihagenata (koji vremenom stare) za resavanje mreznih i telekomunikacionihproblema. Medutim, ovaj metod se ne snalazi tako dobro sa NP problemimakao sto je TSP, sto metoda PE-mrava ispravlja uvodenjem koeficijenta zizepretrage.

Broj Hamiltonovih putanja u grafu reda n je (n− 1)! - ideja je iskoristitistatisticke osobine roja koji ostavlja feromonske tragove koji ukazaju blizinuoptimalne putanje, i tako naci resenje sto blize optimalnom. Ovi tragovi sudati matricom prelaska Pt u trenutku t, koja odgovara matrici verovatnocaMarkovljevog lanca. Ako je funkcija cene putanje πi = r1i

, r2i, ..., rni

samatricom cena Lkl (za Hamiltonovu putanju vazi za svako i da je ni = n + 1i r1i

= rni) data sa L(πi) =

∑ni−1j=1 Lrjrj+1

, Rubinstajnovi PE-mravi ovakorade (slicno EM-algoritmu, trazi se matrica prelaska u dva koraka - racunase funkcija ocene performansi, a onda iteracija matrice prelaska):

1. Pt=0 se inicijalizuje uniformno nasumicnim (malim) vrednostima

2. generisi N putanja na osnovu Pt i izracunaj minimalnu Bolcmanovutemperaturu γt kao meru performanse kojom se utice na izbor znacajnijih

Page 55: Machine Learning

54 Seminarski rad

putanja:

γt ≡ argminγ′th(Pt, γ

′t), h(Pt, γ

′t) =

1

N

N∑

k=1

H(πk, γt) > ρ

gde je H(Pt, γ′t) = e

−L(πk))

γt , k = 1, N mera performanse putanje πk, a10−6 ≤ ρ ≤ 10−2 ogranicenje tj. koeficijent zize pretrage (search focus)kao parametar algoritma.

3. za narednu iteraciju Pt+1 = argmaxPt

1N

∑Nk=1 H(πk, γt)

∑i,j, pokazuje

se da je:

Pt+1,ij =

∑r,s∈πk,k=1,N H(πk, γt)∑r∈πl,l=1,N H(πl, γt)

koja minimizuje prelaznu entropiju i postuje ogranicenja γt

4. ponavljaj prethodna dva koraka sve dok ne bude H(π, γt) ≈ H(π, γt+1)gde je π priblizno optimalno resenje (najblize pronadeno)

Distribuirana i asinhrona verzija koristi sledece izmene (autoregresijom):

Pt+1,ij =

∑r,s∈πk,k=1,t β

t−kH(πk, γt)∑r∈πl,l=1,t β

t−lH(πl, γt), γt = argminγ′

th′

t(γ′t) > ρ

h′t(γ

′t) = h′

t−1(γ′t)β + (1− β)H(πt, γt) ≈

1− β

1− βt

t∑

k=1

βt−kH(πk, γt)

gde 0 < β < 1 kontrolise istoriju zapamcenih putanja umesto N (recimo β =0.998, ρ se smanjuje svaki put za 5%). Koraci 2. i 3. algoritma se tako mogunapraviti posle samo jedne nove putanje πt. Dalje poboljsanje algoritmase ogleda u primeni elitnog izbora (elite selection) gde se cena ogranicavarelativno u odnosu na trenutno najbolju nadenu putanju Lnajbolji, t = min∀u≤t L(πu)tako da je:

L(πt) ≤ (1 + ρ2)Lnajbolji, t−1

gde je ρ2 parametar koji se moze i menjati tokom vremena (iteracija). Kadaje ρ2 = 0 resenje se pronalazi brzo ali nije toliko blisko optimalnom. Ideja jevremenom smanjivati ρ2 (cime elitna selekcija postaje restriktivnija) svakiput kada se nade novo bolje resenje (Lnajbolji, t+n < Lnajbolji, t) ili kada

Page 56: Machine Learning

Masinsko ucenje, inteligentni agenti 55

nijedan od Dperiod ,,mrava” (novih putanja - obicno se uzima proizvod n saprosecnim brojem veza po cvoru) nije prihvacen (sto je ekvivalentno postupkupovremenog povecavanja ρ). Dodatna modifikacija uslova elitnog izbora bibila L(πt) < −γt ln ρ koja je posebno korisna ako se dinamicki menjaju tezinelukova i veze cvorova. Detalji se mogu naci u [CEants].

3.4 Apriori metoda

Ova metoda u osnovnom obliku (Agrawal, IBM) ne spada medu metodeucenja instancama narednog poglavlja, ali predstavlja primer statisticki orijentisanemetode nenadgledanog ucenja, i jedan od osnovnih metoda traganja za podacima(i npr. upravljanja transakcijama baza podataka). Instanca je data kaoskup od k elemenata ili niz uredenih elemenata (transakcija, k-instancatj. k-itemset) ciji su elementi atributi sa tacnim istinitosnim vrednostima.Cilj je pronaci pravila oblika A, B, C, ... ⇒ D, E, F, ... sa znacenjem daako su A, B, C elementi instance onda su to i D, E, F, ... najverovatnije.Rezultat algoritma je spisak pravila, takozvanih asocijacija, sa pridruzenimverovatnocama. Algoritam polazi od pojma podrske instance supp(X) kaobroja svih instanci iz skupa primera koji sadrze X (kao podskup), i dvaparametra - minsup kao minimalnu vrednost podrske instance da bi bilavelika (ostale us male), i mincon kao minimalnog odnosa podrske velikeinstance L i njenog nekog podksupa A. Prvi deo algoritma pronalazi svevelike instance (Lk je skup velikih k-instanci, Ck je skup kandidata za Lk):

1. k ← 1, C1 ← sve 1-instance

2. (*) nadi 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∪kLk

Podalgoritam koji generise naredni skup kandidata (*):

• Ck ← ∅• 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 jednomelementu

Page 57: Machine Learning

56 Seminarski rad

• sortiraj Ck leksikografski (ako su elementi instanci vec sortirani, ondase i elementi Ck isto tako sortiraju)

• korak brisanja: svaka k-instanca koja sadrzi malu (k − 1)-instancu sebrise iz Ck

Drugi deo algoritma generise pravila oblika:

A⇒ L−A

ako je supp(L)/supp(A) ≥ mincon. Posto algoritam koristi podrsku kojapredstavlja statisticku karakteristiku instanci, ako asocijacija X ⇒ Y slediiz primera, X + A ⇒ Y ne mora biti iako sledi iz primera jer moze daima malu podrsku. Obicno se prati jedinstveni identifikator svake instance(transakcije) uporedo sa generisanjem kandidata (AprioriTid), a postoje imnoga poboljsanja algoritma u smislu performansi, kao i varijante (AIS,zatim SETM koji koristi SQL). Primer:

Page 58: Machine Learning

Masinsko ucenje, inteligentni agenti 57

(primer preuzet iz [apriori])

Page 59: Machine Learning

58 Seminarski rad

4 Ucenje instancama i metode klasifikacije

Naspram ranije pomenutih metoda, ucenje instancama pamti primere igeneralizuje ih tek unosom nove instance - do tada je ono odlozeno, i zato seove metode nazivaju i ,,lenjim” (lazy) - nasuprot njima su ,,radoznale” (eager)metode. Osnovna prednost metoda ucenja s odlozenim uopstavanjem jenjihova prilagodljivost novim primerima.

4.1 Metod najblizih suseda

Jedan metod ucenja instancama (koji se smatra takode i statistickim) jemetod najblizih suseda ili metod memorije (Dasarathy 1991, Moore 1994).Data je funkcija f : Rn → V gde je V = vi skup kategorija diskretnihvrednosti i funkcije aj : X → R koje dodeljuju vrednost j-tog atributainstance td. je skup primera D = (xi, fi) (kompozicija fi = f(a1(xi), ..., an(xi))se skraceno obelezava sa f(xi)), i onda se za instancu (upit) xq ocenjuje njenakategorija f(xq). Odabiranjem najblizih k suseda vektoru koji se testira uodnosu na skup primera po nekoj metrici, na primer euklidskoj (d(x1, x2) =√∑n

j=1 (aj(x1)− aj(x2))2, ovde npr. aj vrse korekciju koeficijentima koji se

biraju tako da po svakoj dimenziji daju priblizno ujednacen uticaj svakogatributa - ako su vektori normirani bitan je samo ugao i onda se mozeposmatrati njihov skalarni proizvod), bira se kategorija koja je najbrojnijakao ocena kategorije (δ(a, b) = 1 ako a = b, inace je δ(a, b) = 0):

f(xq)← argmaxv∈V

k∑

i=1

δ(v, f(xi))

Sto je gustina tacaka oko instance upita veca, pozeljnija je veca vrednostk. Ova metoda trazi dosta memorije za primere, postoje efikasne primene(kd-tree method, Friedman, 1977), a jos su Kaver i Hart (Cover, Hart 1967)pokazali da je metoda 1-najblizeg suseda po performansama priblizna i vezanaza ranije opisanu metodu minimalne verovatnoce greske. Ispod je prikazanagranica medu kategorijama za metodu 1-najblizeg suseda sto predstavljareprezentaciju implicitno naucene hipoteze (ovakvi se dijagrami nazivajuVoronoj dijagramima):

Page 60: Machine Learning

Masinsko ucenje, inteligentni agenti 59

Varijanta aproksimacije neprekidne funkcije ovakvim algoritmom se dobijaocenom:

f(xq)←∑k

i=1 f(xi)

k

Ocigledno poboljsanje algoritma je da se daje prednost blizim primerimaprilikom glasanja, sto se moze postici sa:

f(xq) = argmaxv∈V

k∑

i=1

wiδ(v, f(xi)), wi ≡1

d(xq, xi)2

tako da ako se xq poklopi sa nekom instancom xi iz skupa primera onda se

dodeljuje f(xq)← f(xi) po definiciji (ako ima vise vrednosti u skupu primeraza istu instancu onda se dodeljuje najbrojnija vrednost). U neprekidnomslucaju to je:

f(xq)←∑k

i=1 wif(xi)∑ki=1 wi

Pomenuti tezinski koeficijenti za vrednosti aj mogu biti korisni ako nekiatributi nisu relevantni (dve instance su veoma udaljene zbog atributa koji neuticu toliko na rezultat, a imaju istu vrednost - ,,prokletstvo dimenzionalnosti”).Odgovarajuca statisticka terminologija:

• regresija predstavlja aproksimaciju neprekidne funkcije realne vrednosti

• funkcija K je jezgro, tako da vazi wi = K(d(xi, xq))

• rezidualna greska aproksimacije je f(x)− f(x)

Page 61: Machine Learning

60 Seminarski rad

4.1.1 Lokalno-tezinska regresija

Jedno uopstenje prethodnog metoda je aproksimacija f u okolini xq (usmislu odabranih primera) nekom funckijom: linearnom (linearna regresija),kvadratnom funkcijom, viseslojnom NM, itd. Lokalno-tezinska linearna regresijatako koristi f(x) = w0 + w1a1(x) + ... + wnan(x). Ako se greska definise takoda se dobije lokalna aproksimacija, moguci su pristupi:

• E1(xq) ≡ 12

∑x∈Dk(xq) (f(x)− f(x))2 gde je Dk(xq) skup k primera iz

D najblizih xq

• E2(xq) ≡ 12

∑x∈D (f(x)− f(x))2K(d(xq, x))

• kombinacija prethodna dva: E3(xq) ≡ 12

∑x∈Dk(xq) (f(x)− f(x))2K(d(xq, x))

i tada je npr. za E3 gradijent pravilo:

∆wj = η∑

x∈Dk(xq)

(f(x)− f(x))aj(x)

Obicno se ne koriste slozenij forme aproksimacije od linearnih i kvadratnihjer su ostale racunski daleko skuplje, a navedene na dovoljno maloj okolinitacke upita imaju u vecini slucajeva zadovoljavajuce performanse.

4.2 Funkcije radijalne baze

Ovaj pristup je blizak prethodnom i ucenju NM - funkcija hipoteza,funkcije radijalne baze - FRB (Radial Basis Function - RBF), je oblika:

f(x) = w0 +

k∑

u=1

wuKu(d(xu, x))

gde je xu instanca u X i Ku jezgro takvo da mu vrednost opada sa rastom

rastojanja d(xu, x). Uobicajen izbor jezgra je Gausovo Ku(d(xu, x)) = e1

2σ2u

d2(xu,x)

(gustina normalne raspodele sa sredinom u xu i disperzijom σ2u, mada to moze

biti kao kod Furijeove transformacije - trigonometrijski polinom ili funkcijakompleksnog argumenta). Funkcije radijalne baze se mogu posmatrati kaokao dvoslojna (neuronska) mreza gde se u prvom sloju nalaze jezgra, au drugom sloju njihova linearna kombinacija. FRB predstavljaju glatkulinearnu kombinaciju lokalnih aproksimacija ciljne funckije. Obucavanje se

Page 62: Machine Learning

Masinsko ucenje, inteligentni agenti 61

obicno vrsi u dve faze: najpre se odreduje broj k skrivenih jedinica i njihovihparametara xu i σ2

u, a onda se se u drugoj fazi odreduju koeficijenti wu tako dase minimizuje globalna greska E. Jedan pristup od mnogih je da se svakomprimeru dodeli jedno jezgro (jednake disperzije σ2) tako da je FRB tacna

za svaki primer (f(xi) = f(xi) za svako xi ∈ D). Drugi pristup je da jebroj jezgara manji od broja primera (pogotovu ako je broj primera veliki)- tada se, zavisno od domena, mogu birati jezgra uniformno rasporedena unekoj oblasti prostora instanci ili oko klastera (grozd - cluster) ili njihovihhijerarhija (vezano za metodu nenadgledanog ucenja). Prednost FRB jejednostavnija obuka nego kod NM sa povratnim propagiranjem.

(ilustracija preuzeta iz [TM-ML])

4.2.1 Zakljucivanje izborom slucaja

Zakljucivanje izborom slucaja (Case-Based Reasoning) polazi od odlozenogzakljucivanja i instanci primera bliskih instanci upita (one udaljene zanemaruje)slicno prethodnim metodama, ali ne koristi instance koje su uredene n-torkeu Rn vec simbolicke zapise u smislu deklarativnog znanja. Primer takvogsistema je CADET (Sycara, 1992).

Page 63: Machine Learning

62 Seminarski rad

4.3 Nenadgledano ucenje i metode klasterovanja

Pored samo-organizujucih mapa (NM), metode klasterovanja su najpoznatijimetod nenadgledanog ucenja. Ako se pode od primera skupa tacaka u ravnina slici ispod:

cilj nenadgledanog ucenja je da se pronade skup particija koji razbija datiskup tacaka tako da su tacke u tim particijama (klasterima) u nekom geometrijskomili drugom smislu bliske tj. postoji kriterijum po kom se izdvajaju od drugihklastera. U prvom slucaju je lako odrediti dva klastera, u drugom jedan, au trecem je to nejasno. Nacelno se ovakav postupak klasterovanja odvija udva koraka:

• najpre se pronalazi R particija E1, ..., ER datog skupa E (i sam broj Rtreba pronaci najcesce)

• algoritam koji klasifikuje nove instance na osnovu prethodnog

Drugi nacelni metod je postupak kojim se otkrivaju klasteri klastera, odnosnohijerarhije klastera. Ako je moguce definisati euklidsku metriku nad instancamaonda je moguce formulisati sledeci algoritam: pokrecu se C1 ... CR pretrazivacipocetnog skupa E neoznacenih instanci gde svaki pretrazivac trazi centar Cj

svog klastera po nekom kriterijumu (izbegavajuci tude).

Page 64: Machine Learning

Masinsko ucenje, inteligentni agenti 63

Za svaku novu instancu Xi, pretrazivac Cj koji je najblizi Xi koriguje svojuvrednost brzinom αj = 1/(1 + mj) (moze biti konstanta a moze opadati s,,masom” mj koja predstavlja broj tacaka u klasteru):

Cj ← (1− αj)Cj + αjXi

(ilustracija preuzeta iz [intro])

Page 65: Machine Learning

64 Seminarski rad

Kada tragaci konvergiraju, klasifikacija se onda moze raditi kao linearnatj. Voronoi oblika (jedna od linearnih metoda klasifikacije je i maksimalnogranicna hiperravan ili SVM, Support Vector Machine):

Greska jednog klastera je onda njegova disperzija Vj = 1mj

∑i∈Cj

(Xi −Mj)2

gde je njegova sredina Mj = 1mj

∑i Xi. Cilj je minimizovati

∑j Vj. Broj

klastera utice na gresku tako da je njegovo odredivanje slicno ranije pomenutomMDL principu.

Moze se poci od ocene verovatnoce tj. slicnosti kao velicine definisanesa 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 slicno, uz pretpostavkuo uslovnoj nezavisnosti komponenti instance). Algoritam koji ovo koristi(Mahadevan, Connel, 1992) bi bio (δ i ε su zadati):

1. dat je skup neoznacenih primera E i prazna lista L, sve slicnosti su 0na pocetku

2. izracunaj S(X, Ci) za novu X, najveca je S(X, Cmax), onda:

• ako je S(X, Cmax) > δ onda Cmax ← Cmax

⋃X, azuriraj promenjeneverovatnoce i predi na 3. korak

• kreiraj nov klaster Cnovi = X i dodaj Cnovi u L

3. spoj klastere Ci i Cj za koje je (Mi−Mj)2 < ε i kreiraj verovatnoce za

nov klaster Cspoj = Ci

⋃Cj

Page 66: Machine Learning

Masinsko ucenje, inteligentni agenti 65

4. ako se verovatnoce nisu promenile nakon iteracije kroz E, onda jerezultat u L, inace predi na 2. korak

Jedan jednostavan metod za hijerarhijsku klasifikaciju je aglomerativnametoda. Sastoji se u sledecem: iz skupa neoznacenih instanci se E biraju dvenajblize tacke (ako se formira binarno drvo) ili vise takvih (trazi se najmanjapovrsina za tri tacke i ternarna drveta, odnosno visedimenzionalna zapreminau opstem slucaju za vise tacaka), i ako su to:

• instance Xi i Xj, onda se formira nov klaster C i umesto njih se u Eubacuje vektor sredine te dve instance

• instanca Xi i klaster Cj onda se formira nov klaster i umesto njih se uE ubacuje vektor sredine s odgovarajucim tezinama (prema masi)

• klasteri Ci i Cj onda se formira nov klaster i umesto njih se u E ubacujevektor sredine s odgovarajucim tezinama (prema masi)

Na kraju ostaje posle odredenog broja iteracija samo jedan klaster - koren.Ako su vijj moguce vrednosti komponente xi instance X, polazeci odverovatnoce da je vrednost te komponente u kategoriji dobro izabrana onda jemera koliko je dobra klasifikacija Z = 1

R

∑k P (Ck)

∑i

∑j (P (vij|Ck))

2 gde jeP (Ck) verovatnoca da je instanca u Ck, a R ukupan broj kategorija (time se,,kaznjava” veliki broj kategorija). Testiranje svih mogucih particija skupaE je izracunljivo neprakticno. Metoda koju koristi COBWEB procedura(Fisher, 1987) koristi algoritam koji kreira drvo ciji je koren obelezen sa E,a svaki naslednik je particija, sve do lisca - singltona iz E, upotrebom Z:

1. Na pocetku imamo samo koren (i kasnije, svaki neprazan cvor ima barjednog praznog naslednika)

2. izaberi Xi iz E - ako nema takve, algoritam se prekida

3. neka je µ ← koren

4. trazi se najbolji domacin za Xi (sa najvecim Z) za svakog naslednikaod µ

5. ako je najbolji η prazan, Xi mu se dodeljuje (kreira se njegov prazannasednik, kao i dodatni prazan naslednik µ)

Page 67: Machine Learning

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 nepraznihlistova

7. ako najbolji η nije list, Xi mu se dodeljuje, onda µ ← η i prelazi se na4. korak

Posto ovakva procedura veoma zavisi od redosleda dodavanja novih instanci,koriste se dve heuristike: spajanje cvorova (ako se Z povecava spajanjem dvanajbolja naslednika, da bi se izbegla kombinatorna eksplozija ispitivanjemsvih ostalih mogucnosti) i razdvajanje (zamenjuje se najbolji cvor nasledniknjegovim singltonima ako to povecava Z).

(ilustracija preuzeta iz [intro])

4.4 Vremenske instance i problem predvidanja

Ako niz instanci X1, ..., Xi, Xi+1, ..., Xm predstavlja dinamicki sistem gdese za n-dimenzionalnu instancu X i neku njenu vrednost z koja se predvidadaje primer (Xi, zi) u trenutku t = i. Zadatak je odrediti ili zi+1 na osnovuXi za bilo koje i, ili zm+1 na osnovu celog niza Xi, gde se odreduje ocenaf(Xi) vrednosti. Ako se odreduje na osnovu razlika f(Xi+1) i f(Xi) (stose pokazuje boljim nego na osnovu razlike zi i f(Xi)), onda je to metoda

Page 68: Machine Learning

Masinsko ucenje, inteligentni agenti 67

vremenske razlike, TD (Temporal Difference). Uzima se da f(X, W ) zavisiod vektora koeficijenata W , pa se za svaki clan niza racuna popravka:

W ← W +m∑

i=1

(∆W )i

gradijent pravilom (LMS):

(∆W )i = η(z − fi)∂fi

∂W

gde je fi = f(Xi, W ) predvidanje za z u t = i. Za f(X, W ) = X ·W sedobija Widrow-Hoff pravilo: (∆W )i = η(z− fi)Xi. Ako je z = fm+1 onda je(z − fi) =

∑mk=i fk+1 − fk i onda je to TD metoda. Jedno uopstenje je:

(∆W )i = η∂fi

∂W

m∑

k=i

λ(k−i)(fk+1 − fk)

i onda je to metoda TD(λ) za parametar 0 ≤ λ ≤ 1. Za λ = 1 to jeprethodno predstavljena TD metoda, za λ = 0 se posebno definise (cemu teziuniformno) TD(0): (∆W )i = η(fi+1 − fi)

∂fi

∂W. Ova klasa metoda se razlikuje

samo u izrazu greske - kod TD(1) to je razlika z i predvidene vrednosti, a kodTD(0) je razlika niza predvidenih vrednosti (TD(1) je potpuno nadgledanametoda, ostale nisu). Popravak se lako moze racunati rekurentno:

(∆W )i = η(fi+1 − fi)ei, ei+1 =∂fi+1

∂W+ λei, e0 = 0

Ovo se moze posmatrati kao lanac procesa Markova - ono sto se uci sunepoznate verovatnoce prelaska iz stanja u stanje (skrivene vrednosti, ilinpr. konacan skup instanci koje se pojavljuju u nizu i vrednosti koje sepredvidaju). Pokazuje se da klasicna Widrow-Hoff metoda TD(1) ne predvidadobro (iako minimizuje gresku na skupu primera), a da linearna TD(0) tezionome sto daje optimalna metoda najvece verovatnoce (Sutton, 1988).

Page 69: Machine Learning

68 Seminarski rad

(dijagram preuzet iz [intro])

U slici iznad se podrazumeva greska predvidanja za najbolje odabran η (iodgovarajuci λ, naravno). Ako se niz popravljenih vrednosti Wi posmatra(kao kod NM), gde je fi+1 = f(Xi+1, Wi), da bi se izbegla zavisnost odpromena W definise se fi = f(Xi, Wi) kod fi+1 − fi, tako da u TD(0) vazi:

Wi+1 = Wi + η(fi+1 − fi)∂fi

∂W

(koristi se u kombinaciji s povratnim propagiranjem kod NM gde se izlazimaocenjuje trazena vrednost).

4.5 SVM, masine potpornih vektora

Support Vector Machine (SVM, Vladimir Vapnik, 1963) poznata je ikao metoda maksimalno granicne hiperravni jer se trazi hiperravan kojarazdvaja hiperprostor primera u dve particije (poluprostora) koje odgovarajudvema kategorijama (moze se uopstiti onda i za veci broj kategorija) takoda je udaljenost te hiperravni od najblizih tacaka podataka maksimalna.Hiperravan je odredena vektorom w i jednacinom w · x − b = 0. Podaci su

Page 70: Machine Learning

Masinsko ucenje, inteligentni agenti 69

linearno separabilni ako postoje dve hiperravni paralelne datoj (u razlicitimpodprostorima) izmedu kojih nema tacaka iz skupa primera, tj. |w·xi−b| ≥ 1,sto se moze opisati i sa ci(w ·xi−b) ≥ 1. Primeri koji leze na ovim paralelnimhiperravnima se nazivaju vektorima nosacima (support vectors) :

Ako se pode od skupa primera oblika (x1, c1), ..., (xn, cn) gde su ci ∈ −1, 1(vrednosti xi je pozeljno normalizovati, recimo xi ∈ [−1, 1], da ne bi uticalena klasifikaciju), zadatak se onda svodi na minimizovanje |w|, tj. na kvadratnuoptimizaciju min 1

2|w|2 uz pomenute uslove sa koeficijentima ci(w ·xi−b) ≥ 1

(i = 1, n). Dualni oblik zadatka pokazuje da problem zavisi samo od vektoranosaca - ako je αi zadato sistemom w =

∑i αicixi, dualni oblik je:

maxn∑

i=1

αi −∑

i,j

αiαjcicjxTi xj , αi ≥ 0

Ako se dozvoli odredena greska klasifikacije ξ onda se dobija meka granica(soft margin):

ci(w · xi − b) ≥ 1− ξi, i = 1, n

pa ako je ocena greske linearna, cilj postaje minimizovanje objektivne funkcije|w|2+C

∑i ξi uz prethodne uslove i C kao parametar (stepen ,,kaznjavanja” gre-

saka u klasifikovanju). To se moze resiti upotrebom metode Lagranzovihkoeficijenata, sto se moze pokazati korisnim kod nelinearnih jezgara, i tada se

Page 71: Machine Learning

70 Seminarski rad

dobija efikasan iterativan algoritam LSVM. SVR (Support Vector Regression)koristi model takve funkcije koji koristi samo deo skupa primera a ostaleignorise. Ako se skalarni proizvod u jednacinama komponuje sa nekomfunkcijom jezgra (polinomijalno homogeno k(x1, x2) = (x1·x2)

k, polinomijalnonehomogeno k(x1, x2) = (x1 · x2 + 1)k, Gausovo, sigmoid, itd.) dobijaju senelinearne varijante metode (Aizerman). SMV je izuzetno efikasna metodau eksploataciji uz date pretpostavke, i nije metoda ucenja instancama uosnovnom obliku. Obuka moze biti zahtevnija za veliki broj primera i kategorija,ali je metoda u sustini linearno kompleksna O(nm) (m je dimenzija prostora)za razliku od ostalih slicnih poznatih metoda masinskog ucenja koje mahomeksponencijalno zavise od m.

Page 72: Machine Learning

Masinsko ucenje, inteligentni agenti 71

5 Analiticko ucenje i ucenje objasnjenjima

Glavna zamerka induktivnim metodama ucenja su njihove lose performansekada je broj primera mali (ili nedovoljan onako kako je to pokazano racunskomteorijom ucenja). Jedan pristup kojim se ovo moze prevazici je analitickoucenje koje podrazumeva da je pored primera dato i nekakvo predznanje opredmetu ucenja i pri tom se koristi deduktivno zakljucivanje.

5.1 Ucenje objasnjenjima (EBL)

Metoda ucenja objasnjenjima (EBL - Explanation Based Learning) koristitakvo predznanje da bi analizirala (objasnila) svaki primer kako bi se zakljuciloda li odgovara ciljnom konceptu i kako - zakljucuje se da li su neke osobinebitne za ciljni koncept ili nisu. Dobar primer za ovakav pristup je igranjesaha - ljudi na osnovu veoma malog broja primera nauce dobro da igrajusah. Neki induktivni sistemi koriste pozadinsku teoriju (npr. CIGOL), alisamo kao mehanizam kojim se obezbeduje slozeniji prostor hipoteza, dokEBL koristi predznanje upravo da bi smanjio slozenost prostora hipoteza(a time i slozenost uzorka) koji se pretrazuje i tako se poboljsava tacnostuopstavanja. Dakle, za razliku od induktivnih sistema, EBL pored skupaprimera E podrazumeva i domensku (pozadinsku) teoriju B, tako da sedobijena hipoteza h iz H slaze i sa primerima iz E i sa B.

Primer:

• prostor instanci X je dat binarnim relacijama objekata i predikatimaType, Color, Volume, Owner, Material, Density, On

• prostor hipoteza cine Hornove klauzule cija je glava ciljni atribut SafeToStack,telo je konjunkcija literala prethodnih predikata i dodatnih predikataLessThan, Equal, GreaterThan, kao i uz terme u kojima ucestvujufunkcije plus, minus, times

• gde su, recimo, elementi skupa primera (preuzeti iz [TM-ML]):

Page 73: Machine Learning

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:Objasnjenje← objasnjenje (dokaz) u terminima pozadinske teorijeB tako da pozitivni-primer zadovaljava Ciljni-koncept

2. Analiziraj:Dovoljni-uslovi← najopstiji skup osobina primera pozitivni-primerdovoljan da zadovolji Ciljni-koncept prema prethodnom dokazuObjasnjenje

3. Rafiniraj:Pravila← Pravila + Nova-Hornova-klauzula, gde je Nova-Hornova-klauzula oblika:

Ciljni-koncept ← Dovoljni-uslovi

Page 74: Machine Learning

Masinsko ucenje, inteligentni agenti 73

• rezultat je u skupu Pravila

Jedini preduslov za ovaj algoritam je da je B korektna (konzistentna) ikompletna teorija. Moze se desiti da postoji vise objasnjenja koja se pretrazujuslicno PROLOG-u unazad.

(preuzeto iz [TM-ML])

Tako se u generalizaciji izbegavaju osobine koje nisu bitne za ciljni konceptna osnovu pozadinske teorije - skupljajuci samo osobine listova objasnjenjadolazi se do klauzule:

SafeToStack(x,y) ← Volume(x,2) ∧ Density(x, 0.3) ∧Type(y,Endtable)

Jos opstija pravila se mogu dobiti racunanjem najslabije predslike (weakestpreimage): najslabija predslika zakljucka C u odnosu na dokaz P je najopstijiskup pocetnih cinjenica A, tako da iz A sledi C prema P . Ovo se racunaregresijom (Waldinger, 1977) - iterativno iduci unazad od poslednjeg korakadokaza i ciljnog koncepta se trazi najslabija predslika, zatim isto za dobijeneizraze i prethodni korak dokaza, i tako sve dok se ne dobije najslabija predslika

Page 75: Machine Learning

74 Seminarski rad

ciljnog koncepta prema literalima u listovima objasnjenja. Primer kako seovako nesto razvija:

(preuzeto takode 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 objasnjenja

• Literal: literal iz granice za kojeg vazi da sledi iz klauzule Pravilo

• θhi: supstitucija koja unifikuje glavu klauzule Pravilo sa odgovarajucimliteralom u objasnjenju

• glava ← glava klauzule Pravilo

Page 76: Machine Learning

Masinsko ucenje, inteligentni agenti 75

• telo ← telo klauzule Pravilo

• θhl ← najopstiji unifikator glave sa literalom Literal tako da postojisupstitucija θ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 sekvencijalnogpokrivanja koja nije pokrivena trenutnim Hornovim klauzulama (hipotezom),objasnjava se novi primer i formira se novo pravilo regresijom.

Ako pozadinska teorija nije sasvim ispravna, ni ovako dobijeni zakljuci nemoraju biti ispravni. EBL se moze posmatrati kao:

• metod uopstavanja primera upravljan pozadinskom teorijom

• kao metod preformulisanja neke teorije upravljan primerima

• kao nacin da se postojece znanje preformulise u neki potrban prakticanoblik, npr. preformulisanje pozadinske teorije tako da se dobijenimopstim pravilima mogu klasifikovati primeri u jednom koraku - kompilacijaznanja (knowledge compilation) gde se transformacijom dobija na efikasnostia ne gubi na tacnosti

Pored ovog, EBL ima lepu osobinu da otkriva i nove osobine koje nisueksplicitno date primerima ali su potrebne da bi se formulisalo opste pravilo(slicno feature detectors procesnim elementima NM).

5.2 Analiticko ucenje i deduktivno zakljucivanje

U sustini je EBL deduktivnog vise nego induktivnog karaktera - hipotezah kao njegov rezultat mora da zadovoljava:

(∀(xi, f(xi)) ∈ E)(h ∧ xi) ⊢ f(xi), E ∧ B ⊢ h

Ako se ovo uporedi sa odgovarajucim ILP uslovom:

(∀(xi, f(xi)) ∈ E)(B′ ∧ h ∧ xi) ⊢ f(xi)

Page 77: Machine Learning

76 Seminarski rad

vidi se da EBL ima jace uslove, gde pozadinska teorija B′ ILP algoritmanije ogranicena za razliku od EBL - pretpostavka zahvaljujuci kojoj postojiobjasnjenje za svaki pozitivan primer je da iz B sledi klasifikacija primera:

(∀(xi, f(xi)) ∈ E)(B ∧ xi) ⊢ f(xi)

sto karakterise znanje potrebno nekom EBL sistemu. Priblizni induktivnibias ove metode je teorija B i preferiranje manjih skupova maksimalno opstihHornovih klauzula. Jedna od cestih primena je i optimizacija upravljanjapretrazivanjem (recimo u pretrazivanju pozicija i baze znanja u sahu) iliproblemima upravljanja procesima (task scheduling) i sl.

5.3 Induktivno i analiticko ucenje

Ukratko, kombinovanjem dveju razlicitih pristupa masinskog ucenja ciljje dobiti metodu koja koristi dobre strane i jednog i drugog pristupa -npr. analiticki metod je dobar za probleme kod kojih moze biti manji brojprimera i gde je pozadinska teorija bez gresaka, dok je induktivni metoddobar ako postoji dovoljan broj primera i dozvoljen je izvestan broj gresakau primerima. Zadatak kombinacije analitickog i induktivnog ucenja je daotkrije hipotezu u datom prostoru H koja najbolje odgovara datim primerimaE sa mogucim greskama i pozadinskom (domen) teorijom B koja takodemoze imati greske. Ako se sa eB(h) obelezi greska u odnosu na B i definisekao verovatnoca da se h ne slaze sa B u klasifikovanju nasumicno odabraneinstance, onda je hipoteza kombinacije definisana kao argminh∈H [kBeB(h)+kDeD(h)], gde se koeficijenti kB i kD pogodno odaberu. Jedan nacin da seklasifikuju razlicite metode kombinovanog ucenja jesu varijacije zajednickihelemenata: pocetne hipoteze h0, skup operatora O kojim se pretrazuje prostorhipoteza i cilje pretrage G:

KBANN - analitickom metodom se pronalazi pocetna hipoteza, a onda sedalje vrsi pretraga induktivnom metodom: primer je KBANN (Know-ledge-Based Artificial Neural Network) gde se ovo koristi uz upotrebupovratnog propagiranja (cilj je da se poklapa s primerima) kao induktivnemetode, a NM se gradi na osnovu B tako sto se za svaki atributinstance uvodi nov ulaz u NM, za svaku Hornovu klauzulu gradi seprocesni element gde se pozitivnim literalima dodeljuje koeficijent w anegativnim −w, a izlaz (glava klauzule) se okida sa pragom w0 = −(n−1/2)w gde je n broj pozitivnih literala; dodatno se svi procesni elementi

Page 78: Machine Learning

Masinsko ucenje, inteligentni agenti 77

(svaki sa svakim izmedu slojeva) tezinskim koeficijentima nasumicnobliskim nuli

EBNN - predznanje se koristi da bi se menjao cilj u toku pretrage: primer jesistem TangentProp (Simard, 1992), kao i sistem EBNN (Explanation-Based Neural Networks - Mitchell, Thrun, 1996) gde se standardnoobucavanje NM spustom niz gradijent modifikuje tako sto se greskadefinise zavisno i od toga koliko hipoteza odgovara pozadinskoj teoriji

FOCL - predznanje utice na izbor koraka, odnosno O, u toku pretrage:FOCL sistem ovo koristi (baziran na sistemu FOIL), gde se umestododavanja jednog novog literala (tokom specijalizacije) moze dodativise literala ako to proistice iz pozadinske teorije

Page 79: Machine Learning

78 Seminarski rad

6 Ucenje ojacavanjem

6.1 Pojam ucenja ojacavanjem

Ucenje ojacavanjem (Reinforcement Learning) se odnosi na zadatak kojise uopste moze opisati kao problem prilagodavanja samostalnog agenta kojiima ,,cula” (funkcija posmatranja spoljnjeg sveta) u svom okruzenju takoda odabere optimalne akcije kojima postize svoj cilj (opisan svojom bazom).Najjednostavniji primer je obuka prostog perceptrona (povremenim korekcijamaza svaki novi primer), a praktican primer bi bilo upravljanje robotom. Zamodel ovakvog ucenja koristicemo agenta koji u interakciji sa okolinom imasvoje stanje si ∈ S koje moze sa posledicu neko stanje ai ∈ A sa vrednoscunagrade ri (kao funkcije odabrane akcije i stanja) tako su vazniji ciljevi agentaodredeni vecom vrednoscu funkcije nagrade:

Agent

....

o 1 2

21o

r

a

r

a

r

a

210 sss

AkcijaNagradaStanje

Okolina

Tada je zadatak ucenja ovakvog agenta naci upravljacku politiku (controlpolicy) kao preslikavanje π : S → A tako da je ukupan (kumulativan)zbir nagrada akcija agenta maksimizovan u nizu stanja koji generise, tacnijer0+γr1+γ2r2+..., gde je 0 ≤ γ < 1 koeficijent smanjenja (ako je γ = 0 onda se

Page 80: Machine Learning

Masinsko ucenje, inteligentni agenti 79

ocekuje da samo prva neposredna nagrada maksimalna). Medutim, problemucenja ojacavanjem se razlikuje od pomenutih zadataka aproksimacije funkcije:

• odlozeno nagradivanje (delayed reward) - posto ne postoji skup primerakao parova (s, π(s)) vec samo niz stanja sa akcijama i vrednostimanagrada, zadatak je otkriti koje su akcije vazne u tom nizu tj. koje suzaista izazvale neke vrednosti nagrade (vremensko dodeljivanje zasluga- temporal credit assingment)

• istrazivanje - izbor primera utice na ucenje u smislu izbora strategijekoja ce doneti vece nagrade - da li odabrati nova, neispitana stanja iakcije, ili odabrati poznata za dalja ispitivanja.

• delimicno vidljiva stanja - iako je idealno posmatrati okolinu agenta kaopotpuno stanje, u prakticnim situacijama je obicno poznat samo deoinformacija koja cine stanje (kao instancu), i zato se uzimaju u obzir iranija posmatranja (i stanja) kao i politike koje favorizuju akcije kojemaksimizuju vidljivost stanja

• dugo ucenje (life-long learning) - potreba za ucenjem vise razlicitihzadataka ili tipova zadataka (predznanje postaje veoma vazno) gdese od agenta ocekuje fleksibilnost, kao i da je u stanju da sto duzepoboljsava performanse (idealno zauvek, i za bilo koju vrstu zadatka)

Uopstena 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 opstemslucaju, funkcije r i σ mogu imati nedeterministicke vrednosti (kao slucajnepromenljive), a skupovi stanja S i akcija A beskonacni, ali cemo koristitideterministicki konacan slucaj. Ako je kumulativna nagrada V π(st) ≡

∑∞i=0 γirt+i

za politiku π(st) = at i pocetno stanje st, onda je optimalna politika kojutreba nauciti (tako da vazi za svako pocetno stanje s iz skupa S):

π∗ ≡ argmaxπVπ(S)

gde se sa V π∗(s) ≡ V ∗(s) skraceno obelezava vrednost politike π. Stanje je

apsorbujuce ako su nagradene samo akcije koje vode ka tom stanju i ako agentostaje u tom stanju kada ga dostigne. Optimalna politika tada usmeravaagenta najkracim putem ka takvom stanju. Posto nisu poznati parovi (si, ai)kao primeri vec nizovi r(si, ai), treba birati stanje s1 ako je V ∗(s1) > V ∗(s2),iako agent bira akciju a ne stanje - to se moze uzeti u obzir na sledeci nacin:

π∗(s) = argmaxar(s, a) + γV ∗(δ(s, a))

Page 81: Machine Learning

80 Seminarski rad

Tako se moze nauciti optimalna politika pod uslovom da su poznate i potpunoodredene(pored odabranog γ) neposredna nagrada r i funkcija prelaska δ, stoje slicno pretpostavci o konzistentnoj i kompletnoj pozadinskoj teoriji u EBLi sto je prakticno najcesce nemoguce.

6.2 Q-funkcija i ucenje

Da bi se prevazisao sledeci problem, problem ucenja agenta se definisekao:

π∗(s) = argmaxaQ(s, a), Q(s, a) ≡ r(s, a) + γV ∗(δ(s, a))

gde je objekat ucenja postao Q(s, a) umesto V ∗. Posto je V ∗(s) = maxa′ Q(s, a′),moguca je rekurzivna jednakost Q(s, a) = r(s, a) + γ maxa′ Q(s, a′) uz kojuje moguce napraviti algoritam iterativne aproksimacije Q-funkcije (Watkins,

1989), gde se hipoteza (aproksimacija) obelezava sa Q:

• inicijalizuj Q(s, a) = 0 i uzmi pocetno stanje s

• Ponavljaj:

• izaberi (narednu) akciju a i izvrsi je

• primi neposrednu nagradu r

• osmotri novo stanje s′

• azuriraj:

Q(s, a)← r(s, a) + γ maxa′ Q(s, a′)

Ovakav algoritam sigurno konvergira ako su nagrade ogranicene |r(s, a)| < ci ako se svaki par akcija-stanje obilazi beskonacno cesto. Korisna posledicaovakvog uslova je da izbor primera ne mora biti uopste optimalan. Akopostoji apsorbujuce stanje onda se svaki niz iteracija ovakvog algoritma odnekog pocetnog stanja do apsurbujuceg naziva epizodom. Ako se definisekriterijum dostizanja apsorbujuceg stanja algoritam moze na kraju svakeepizode ponovo da izabere nasumice neko novo pocetno stanje. Onda jemoguce napraviti poboljsanje (uz zrtvu memorijskih resursa): niz popravakarealizuje se obrnutim redosledom (od apsorbujuceg stanja ka pocetnom).Drugo poboljsanje se ogleda u dodatnom pamcenju ranijih nagrada i promenaaproksimacije (gde se onda ocenjuje da li je bolje nastaviti sa vec obidenimprelascima stanja ili je bolje traziti nova stanja).

Page 82: Machine Learning

Masinsko ucenje, inteligentni agenti 81

6.2.1 Nedeterministicki slucaj

U nedeterministickom slucaju vrednost politike se definise kao:

V π(st) ≡ E

[ ∞∑

i=0

γirt+i

]

i onda se dobija rekurzivna jednakost:

Q(s, a) = E[r(s, a)] + γ∑

s′

P (s′|s, a) maxa′

Q(s′, a′)

Da bi se obezbedila konvergencija i pored nedeterministicke vrednosti rdefinise se iterativno:

Qn(s, a)← (1− αn)Qn−1(s, a) + αn[r(s, a) + γ maxa′

Qn−1(s′, a′)]

gde je s′ stanje nakon s, αn = 11+posetan(s,a)

, i gde je posetan(s, a) je brojac

poseta datog para stanje-akcija do ove n-te iteracije. Dodatni uslov kriterijumukonvergencije je

∑∞i=1 αn(i,s,a) =∞,

∑∞i=1 [αn(i,s,a)]

2 <∞, gde je n = n(i, s, a)iteracija koja odgovara i = posetan(s, a) (i-toj primeni na tom paru).

Da bi se smanjila razlika ne samo izmedu Q za neko stanje i neposrednognaslednika, vec i za neke dalje naslednike moze se preformulisati: Q(n)(st, at) ≡rt +γrt+1 + ...+γn−1rt+n−1 +γn maxa Q(st+n, a). Ideja uopstenja ove funkcijeodgovara ranije pomenutom TD(λ) ucenju:

Qλ(st, at) ≡ (1− λ)[Q(1)(st, at) + λQ(2)(st, at) + λ2Q(3)(st, at) + ...

]

ili rekurzivno:

Qλ(st, at) = rt + γ[(1− λ) maxa

Q(st, at) + λQλ(st+1, at+1)]

Varijanta ovih metoda koristi NM umesto Q funkcije shvacene kao tabele kojane uopstava vrednosti osim onih koje su unete. Mnoge varijante su moguceako su neposredne nagrade i/ili funkcije prelaska poznate i nekako zadate, iobicno predstavljaju primenu dnamickog programiranja i Belmanove jednacine:

(∀s ∈ S)V ∗(s) = E[r(s, π(s)) + γV ∗(δ(s, π(s)))]

Page 83: Machine Learning

82 Seminarski rad

7 Otkrivanje znanja i traganje kroz znanje

(Data Mining)

7.1 Pojam otkrivanja znanja

Baze podataka savremenih informacionih sistema neprestano se uvecavajukako zbog potreba samih poslovnih procesa kojima su namenjeni (recimoContent Management sistemi za upravljanje elektronskom dokumentacijom,ili skladista podatka - Data Warehouses - i Business Intelligence (BI) sistemi),tako i zbog stalnog rasta raspolozivih resursa. Otkrivanje znanja u bazamapodataka (Knowledge Discovery in Databases) je proces otkrivanja znanjakoje nije ocigledno dato u podacima baze podataka. Poznati su i ovakvisinonimi za KDD: ekstrahovanje znanja (knowledge extraction), otkrivanjeznanja (knowledge discovery), arheologija podataka (data archeology), zetvainformacija (information harvesting) ili pattern processing. Pod opstim KDDprocesima se pored DM podrazumevaju i: ucenje novih koncepta, evaluacijaotkrivenog znanja, tretman otkrivenog neizvesnog (verovatnosnog) znanja,izbegavanje gresaka u bazama podataka, optimizacija upita i pravila za njihovutransformaciju. Ispod je skiciran tok procesa otkrivanja znanja koji se odvijaiterativno (neke faze se mogu ponavljati potreban broj puta da bi se doslodo prihvatljivog rezultata):

SabloniPredprocesirani

Predprocesiranje / evaluacijaInterpretacija

DMTransformacijaSelekcija

podaci ZnanjepodaciTransformisani

podaciCiljni

podatakaBaza

(patterns)

Tu se mogu videti faze:

• selekcije (gde se biraju uzorci podataka za dalju analizu) - vazan korakzbog brojnosti i razlicitih stepena prioriteta podataka

• preciscavanje i predprocesiranje - npr. svi podaci se moraju najpreprebaciti iz XML formata u bazu, a moraju dodatno da se ispravenetacni ili nepotpuni podaci tako sto se zamene default vrednostima iliobrisu

Page 84: Machine Learning

Masinsko ucenje, inteligentni agenti 83

• transformacija - npr. dobijeni podaci moraju da promene dodatnoformat nekih polja, potrebno je maskirati bezbednosno osetljive podatke,odreduju se i uklanjaju nebitni atributi ili na osnovu dodatnih ulaznihspecifikacija, ili se iterativno dodaju i oduzimaju atributi koji se daljekoriste

• traganje za podacima (Data Mining, DM) - faza koja je najbitnija, gdese desava pomenuta primena poznatih metoda i algoritama masinskogucenja u skladu sa izabranim zadatkom sistema: klasifikacija i klasterizacija,agregacija i sumiranje, modeliranje zavisnosti, detekcija odstupanja,odredivanje asocijativnih pravila, itd. Dobijeni rezultati se nazivajusablonima, u smislu relacija koje vezuju atribute, njihove vrednostii vrednosti ciljnih atributa (npr. atributi mogu biti: adresa, datumpretrage ili izdavanja dokumenta, autori, kljucne reci, stepen autoritetnosti,jezik i kodna strana, sazetak, naslov, sadrzaj, izlazni linkovi, kategorija,velicina, itd.)

• interepretacija i evaluacija - dobijeni rezultati se moraju prezentovatiu odgovarajucem obliku, dodatno obraditi, odbaciti ili preformulisatiprema zadatim kriterijumima, i u odnosu na date podatke dobijenisabloni mogu uticati na sledecu KDD iteraciju (npr. paznja se preusmeravana jedan deo rezultata, ispunjavanje industrijskih standarda i sl.)

KDD ima zato dosta zajednickog sa Data Warehouse sistemima i teh-nologijama jer takode predstavlja nacin da se iz mase podataka agregirajunovi podaci, a ima i neke slicnosti u fazama pripreme podataka (ETL faze- Extraction, Transformation and Loading). Javljaju se pojmovi skladista iizvora znanja (u smislu predznanja i otkrivenog znanja i sablona, sto odgovaraKnowledge Warehouse i Knowledge Mart DW pojmovima) umesto skladistai izvora podataka. Medutim, Data Warehouse, OLAP i slicne tehnologije nakraju predstavljaju ipak samo nadgradnju informacionog sistema u pogleduprikazivanja podataka i izvestavanja, za razliku od KDD gde se podaci anali-ziraju da bi se pronasle potpuno nove informacije (u fazi DM) koje ne postojeeksplicitno ni u kom obliku u izvornoj bazi podataka. Kod KDD novi podacise ne pronalaze postupcima koji su unapred zadati modelom koji pociva napoznatoj strukturi podataka, novi podaci nisu samo agregiran i novi oblikvec poznatih i ocekivanih podataka.

Page 85: Machine Learning

84 Seminarski rad

Postoje mnoga free i open source razvojna okruzenja za masinsko ucenjei resenja medu kojima su: Java Data Mining (JDM kao deo Java platformeprema JSR 73, 247), Weka (i gotovo resenje saa GUI-em i razvojna biblioteka),YALE, MLJ, Gnome Data Mining Tools, i druga. Jedan od standardaje ARFF, tekstuelni oblik ulaznih podataka specificno namenjen ovakvimsistemima, ali sve vise je zastupljen XML i srodni formati.

Mnoga komercijalna resenja i delovi poslovnih sistema takode implementirajuokruzenja koja omogucavaju primenu metoda masinskog ucenja ili razvojtakvih modela - na primer MATLAB/Netlab, ili recimo Oracle Data Miningkoji je poceo kao opcija za Oracle RDBMS (Enterprise Edition) sa PL/SQLpaketima kojima se realizuju DM algoritmi (za klasifikaciju i klasterovanje,predikciju, asocijacije, regresiju, otkrivanje osobina ili anomalija, i drugi), anaknadno su dodati drugi alati medu kojima je i Oracle Data Miner (GUI,veza ka drugim izvorima podataka - npr. ka ERP i BI paketima, ukljucujucii one drugih proizvodaca kao sto je to SAP BW / BI) - kao i generatorkoda za razlicite DM modele). Oracle nudi besplatan download i koriscenjesoftvera ako se koristi za neposlovnu i licnu svrhu, dok npr. IBM za IntelligentMiner alat nudi besplatnu licencu ako se koristi za akademske svrhe i potrebestudenata. Microsoft nudi neka resenja uz SQL Server (Analysis Services:Decision Support Objects Architecture (DSO) koji uglavnom koristi samodva algoritma (MS Decision Trees (apriori) i MS Clustering), Data TransformationServices, i OLAP alate - ADO/MD, Multidimensional Expressions (MDX),i drugo), zatim tu je Cognos (Scenario, 4Thought, Visualizer), itd. Poredranije pomenutih buducih pravaca razvoja masinskog ucenja kao discipline,ovakvu poslovnu primenu DM svakako ocekuje jos mnogo novih prakticnihprimena, a vodeci proizvodaci baza podataka i poslovnih informacionih sistemasve vise ulazu u njih.

7.2 Web Mining

Posebno je znacajna primena ovakvih sistema i u okruzenju koje predstavljainternet kao izvor podataka - Web Mining (WM) = WWW + Data Mining.Na prvi pogled internet u smislu izvora podataka i nije tako lepo struktuirankao baza podataka, ali ipak nudi mnoge mehanizme za to, sve vise se tezistandardizaciji pored razlicitih markup jezika, i postoje strukture dokumenataza koje se vezuju prakticni Web Mining zadaci: otkrivanje znanja sa zadatimciljem upotrebom inteligentnih agenata, pretrazivaci i indeksiranje sadrzaja

Page 86: Machine Learning

Masinsko ucenje, inteligentni agenti 85

(Web Crawlers, Spiders), automatsko generisanje hijerarhija pojmova, analizalog fajlova razlicitih servisa (prepoznavanje web dinamike, koji korisnici ikako koriste odredene servise na datim internet stranama), i drugo.

Pored HTML i XML dokumenata kao osnove danasnjeg interneta svevise se tezi strukturama semantickog web-a (ontologijama), koje pomazui u resavanju ovakvih zadataka (dokumenti zajedno sa meta podacima uzdostupne recnike ontologija na internetu postaju razumljivi agentima kojicitaju takve dokumente). Slicno tome, pored HTTP protokola i odgovarajucihbrowser-server arhitektura nastaju prosirenja protokola i arhitekture kao stosu to SOAP i SOA (Web Service) koje omogucavaju veci stepen distribuiranostii fleksiblinosti, kao i nezavisnost od platforme - a kao takve pogoduju daljemrazvoju WM i inteligentnih agenata. Klasicni WM zadaci su: otkrivanjeresursa (novih servisa i nepoznatih dokumenata prema nekim kriterijumima)i ekstrakcija informacija (prema nekakvim ciljnim atributima), generalizacija(opstih sablona u dizajnu grupe web strana) i validacija i interpretacija(otkrivnih sablona), klasifikacija (dokumenata prema zadatoj temi) i semantickastruktura (u smislu ekstrakcije sadrzaja za date klase dokumenata). Moguse podeliti na traganje kroz: sadrzaj, kroz strukturu i kroz upotrebu. Jedanprimer zadatka traganja strukture je analiza strukture linkova - za datu temuse traze autoritetni sajtovi (authorities, strane koje imaju trazeni sadrzaj), ihabovi (hubs, strane koje sadrze veliki broj linkova ka autoritetnim stranicama).

Jednostavniji primer jednog takvog algoritma je HITS (Hyperlink-InducedTopic Search) cija bi skica bila: upotrebom internet pretrazivaca se formiralista strana u vezi sa zadatom temom, zatim se prosruje stranicama kojepokazuju na njih, i ovo se onda ponavlja do nekog zadatog broja iteracija(nivoa). Ako su xp nenegativne ocene autoritetnosti strane p, a yp nenegativneocena hab-kvaliteta te strane, njihove pocetne vrednosti se makar proizvoljnoodrede, a onda se iterativno izracunavaju: xp =

∑q→p yq, yp =

∑p→q xq, gde

zapis p→ q znaci da strana p pokazuje na stranu q. Bitan je samo relativanodnos dobijenih tezina na osnovu kojih se bira nekoliko najbolje ocenjenih.Alternativno resenje (i npr. primena u svojevrsnom inteligentnom load balancing-u web servera) nude swarm metode gde, na primer, jednostavni agenti (pcele,bees) tako otkrivaju ,,cvetove” i ,,grane”, i tako onda ocenjuju opterecenje.

Page 87: Machine Learning

86 Seminarski rad

(Pyle, 1999, Srivastava, 2000)

Page 88: Machine Learning

Masinsko ucenje, inteligentni agenti 87

8 Arhitektura i tipovi inteligentnih agenata

Agenti, odnosno njihovi modeli, mogu se posmatrati kao formalni sistemislicni konacnim automatima i Tjuringovim masinama, ali pri tom imaju ineke dodatne osobine. Ovde se kratko razmatraju vrste agenata (prema knji-zi [GN]) koji deluju usamljeni u svetu, iako je u oblasti vestacke inteligencijecest slucaj da ih je vise (razlicitih vrsta) i da interaguju medusobno - npr.logika uverenja, odnosno logika mogucih svetova (jedna od osnova vestackeinteligencije), daje matematicki model kojim je ovo prirodno podrzano (kojise ovde ne razmatra).

8.1 Tropisticni agenti

Tropizam je tendencija biljaka i zivotinja da (odgovaraju) reaguju naspoljasnje uticaje. Tako je i aktivnost ove klase agenata vezana iskljucivoza spoljasnji uticaj. U ovom poglavlju govorimo o agentima sa unutrasnjimstanjima (memorijom), ali za sada cemo ignorisati tu mogucnost.

Razliciti agenti ce opaziti (reagovati) na razlicita spoljasnja stanja, pa re-cimo, u nasem primeru, neki registruju boju blokova, neki njihovu tezinu i sl.Karakterisuci senzorne sposobnosti agenata delimo skup S spoljasnjih stanjau skup T nepovezanih podskupova. Uvodeci funkciju see koja preslikavastanje iz S u particiju kojoj pripada, povezujemo stanja iz S sa odgovarajucimparticijama. Funkciju ove vrste nazivamo senzorna funkcija (sensory function).

see : S → T

Slicno senzornim sposobnostima, razliciti agenti mogu imati i sposobnostipravljenja razlicitih efekata (effectory capabilities). Neki agenti mogu crtatiblokove, ali ih ne mogu pokretati, drugi ih mogu pokretati ali ne mogumenjati njihovu boju i sl. Karakterisuci efekte ovih akcija definisemo funkcijudo koja preslikava svaku akciju i stanje u stanje koje nastaje posle primenedate akcije u prvobitnom stanju. Funkciju ove vrste nazivamo sposobnostdelovanja (effectory function).

do : A× S → S

Posmatrajuci aktivnost agenata definisemo funkciju action koja preslikavaparticiju kojoj stanje pripada u akciju.

action : T → A

Page 89: Machine Learning

88 Seminarski rad

Konacno, definisemo tropisticne agente kao sestorku (S,T ,A,see,do,action)

• S - skup stanja spoljnog sveta

• T - skup particija od S, sluze da bi se opisao tok rada, ,,algoritam”

• A - skup akcija

• see : S → T

• do : A× S → S

• action : T → A

Mozemo ovako sumirati delovanje tropisticnih agenata: u svakom ciklusuagentovo okruzenje je u nekom stanju s ; agent posmatra particiju t koja seodnosi na senzornu funkciju see(s); koristi action da nade akciju a koja jedodeljena particiji t; na kraju izvrsava akciju ,cime produkuje stanje do(a, s);ciklus se ponavlja.

Jednostavan primer jeste Svet lavirinta gde imamo 3×3 povezana kvadratica,kolica i zlato. Cilj je da se u kolica natovari zlato. Postoji 90 mogucih stanja: kolica mogu biti u 9 polja i za svaku takvu mogucnost zlato se moze naci unekom od 9 polja ili u kolicima (razlikuje se situacija kada su zlato i kolica uistom polju i kada je zlato u kolicima). Sa nase tacke gledista, moguce je izbilo kog stanja dostici svako od stanja. Za razliku od toga, inteligentni agentsa senzorima na kolicima moze reci svoju lokaciju, ali kada je u pitanju zlatomoze samo reci da li je zlato u kamionu, u nekom polju ili negde drugde.Ova senzorna ogranicenja dele skup od 90 stanja u 27 podskupova. Stanjeu svakom podskupu se slaze sa pozicijom kolica. Ono se, takode, slaze sapozicijom zlata u odnosu na kolica, ali se ne slaze sa tacnom pozicijom zlatakada je ono locirano u razlicitom polju u odnosu na kolica.

Pored senzorne ogranicenosti, ovi agenti imaju i ograniceno delovanje(ogranicene efekte). U nasem primeru oni mogu pomeriti kolica od polja dopolja i mogu manipulisati zlatom kad god je ono u kolicima ili na nekom polju.

Efekte koje proizvode agenti mozemo grupisati u sedam akcija

• agent moze pomeriti kolica gore, dole, levo i desno ( 4 )

• moze da stavi zlato u kolica

Page 90: Machine Learning

Masinsko ucenje, inteligentni agenti 89

• moze da premesti zlato

• moze da ne proizvodi nikakav efekat (ne radi nista)

Razmotrimo problem dizajniranja akcija za agente sa ovim ogranicenjima.Pretpostavimo da su u pocetnom stanju kolica u gornjem levom polju lavirinta.Cilj nam je da dodemo do zlata koje je u donjem desnom polju.

1. ako su kolica na izlazu i ako je zlato u istom polju, agent ne radi nista

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, agentstavlja zlato u kolica

4. ako kolica nisu na izlazu i ako je zlato u kolicima, agent pomera kolicaka izlazu

5. inace, agent pomera kolica kroz lavirint dok zlato ne bude pronadenoi to tako sto ga pomera prvo kroz prvu vrstu, pa se spusta u krajnjedesno polje druge vrste i na kraju iz prvog polja druge vrste prelazi uprvo polje trece vrste

8.2 Histereticni agenti

Agent moze biti u nekom od stanja iz skupa unutrasnjih stanja I. Pretpostavimoda agent moze dostici bilo koje stanje iz bilo kog drugog stanja te ovdenije potrebno particionisanje skupa I u podskupove (particije) ili definisanjesenzorne funkcije. Isto tako pretpostavimo da agent moze transformisati I uneki od elemenata istog u jednom koraku.

Vazna razlika izmedu tropisticnih i histereticnih agenata je to da funkcijaakcije za histereticnog agenta uzima u obzir interna stanja kao i opazanja udiktirajucim akcijama.

action : I × T → A

Kod histereticnih agenata takode postoji memorija koja pokrece funkcijukoja preslikava unutrasnje i posmatrano stanje u sledece untrasnje stanje.

internal : I × T → I

Page 91: Machine Learning

90 Seminarski rad

Histereticni agenti se definisu kao osmorka

(I, S, T, A, see, do, internal, action)

gde su :

• I skup unutrasnjih stanja

• S skup spoljasnjih 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 nas primer, agenti sa senzornim ogranicenjima deleskup od 90 stanja u tri podskupa. Prvi podskup sadrzi 9 stanja u kojimaje zlato u kolicima. Drugi se odnosi na 9 stanja u kojima su zlato i kolica uistom polju, ali da pri tom zlato nije u kolicima. I treci podskup sadrzi 72stanja u kojima je zlato u drugim poljima i pri to nije u kolicima. Funkcijomsee preslikavamo svako stanje u odgovarajucu particiju (podskup). Sadadefinisemo skup unutrasnjih stanja koja cemo predstaviti brojevima od 1 do9 i koja oznacavaju polja u lavirintu(umesto podataka koji odgovaraju vrstii koloni). I u ovom slucaju ce situacije u kojima su kolica na izlazu a zlatonegde dalje biti nemoguce.

8.3 Agenti nivoa znanja

Problem je sto za ciljeve vestacke inteligencije nije potrebno predstavljatiproblem uvek na visokom nivou, tj. sa mnogo detalja (npr. nije potrebnoznati svako kolo racunara da bismo znali kako racunar radi). Zelimo samodizajn u kojem su fizicki elementi predstavljeni apstraktno.

U ovom poglavlju ispitujemo koncept agenata koje nazivamo nivoi znanjau kojem se sav visak detalja eliminise. U ovoj apstrakciji unutrasnja stanjaagenta sadrze samo baze podataka recenica predikatskog racuna, i agentove

Page 92: Machine Learning

Masinsko ucenje, inteligentni agenti 91

mentalne akcije koje predstavljaju zakljucke koji su dobijeni iz tih bazapodataka. Funkcija akcije ,action, za agenta nivoa znanja, preslikava bazupodataka i particiju skupa stanja T u akciju koja ce biti izvrsena od straneagenta .

action : D × T → A

Funkcija osvezavanja baze podataka database preslikava bazu podataka iparticiju stanja T u novu internu bazu podataka.

database : D × T → D

Agenta nivoa znanja predstavljamo osmorkom. Skup D ovde predstavljaproizvoljan skup predikatskog racuna baze podataka, S je skup spoljasnihstanja, 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 jefunkcija iz D × T u D.

(D, S, T, A, see, do, database, action)

Odavde vidimo da je svaki agent nivoa znanja ujedno i histereticni agent.Celobrojne vrednosti kojima smo oznacili unutrasnja stanja u prethodnompoglavlju ovde zamenjujemo recenicama predikatskog racuna baze podataka.U nasem primeru lavirinta imenujmo 9 polja simbolima AA, AB, AC, BA,BB, BC, CA, CB i CC. Imamo tri moguce particije stanja IC (”in the cart”, ukolicima), SC (”in the same cell”, u istom polju) i EW (”elsewhere”, drugde).Uzmimo relacioni simbol Cart koji oznacava unarnu relaciju koja sadrzi poljena kojem su kolica, i simbol Gold koji oznacava unarnu relaciju koja sadrzionu particiju stanja koja se odnosi na lokaciju na kojoj je zlato. Umestoda startujemo sa 1 kao pocetnim stanjem mi startujemo sa sl. jednoclanimskupom :

Cart(AA)

Posto je unutrasnje stanje promenjeno, treba da redefinisemo agentovu funkcijuakcije tako da ona uzima u obzir bazu podataka umesto brojeva.Takode treba da definisemo funkciju baze podataka koja preslikava bazupodataka i particiju stanja u baze podataka koje odgovaraju celim brojevimau unutrasnjem stanju kod prethodnih agenata.

Za ove agente je karakteristicno ekstremno ogranicenje sposobnosti. Iako jenjihovo ponasanje razlicito shodno polozaju zlata ono predstavlja fiksiranu

Page 93: Machine Learning

92 Seminarski rad

pretragu u nalazenju zlata i sledi fiksiranu putanju do izlaza ako je zlatopronadeno. Modifikacija ove vrste nije moguca bez definisanja potpuno novefunkcije za agenta. Ako zelimo modifikovati fizickog agenta i kao i njegovefunkcije implementirane u hardver, izmena ce biti velika. Alternativa jedefinisanje fleksibilnijih agenata koji ce biti programirani pomocu izmenarecenica u agentovoj bazi podataka. Ilustrujmo, kratko, primerom. Potrebannam je recnik te koristimo simbole R, L, U i D za akcije desno, levo, gore idole. Simbolima I i O oznacimo akcije stavljanja zlata u kolica i izlaska vanlavirinta (in, out), te simbol N za null akciju. Sa Must oznacimo akciju kojuzelimo da preduzme agent u datom trenutku.

Cart(AA) ∧Gold(IC)⇒Must = R

Cart(AA) ∧Gold(SC)⇒Must = I

Cart(AA) ∧Gold(EW )⇒Must = R

...

Cart(CC) ∧Gold(IC)⇒Must = O

Cart(CC) ∧Gold(SC)⇒Must = N

Pretpostavimo da pocetno stanje sadrzi recenicu koja opisuje lokaciju kolicau pocetnom stanju.

Cart(AA)

Definisimo, zatim, pomocnu funkciju e. Levo cemo navesti imena particija adesno akcija.

e = IC( )

( )

( )

e(left) = L

e(right) = R

e(up) = U

e(down) = D

e(in) = I

e(out) = O

e(noop) = N

e = SC

e =EW

Page 94: Machine Learning

Masinsko ucenje, inteligentni agenti 93

Kada baza podataka sadrzi recenicu Cart(σ) i

Cart(σ) ∧Gold(e(t))⇒Must = e(a)

tada agent izvrsava akciju a .

action(, t) = a

Funkcija baze podataka diktira novu bazu koja sadrzi sve recenice stare bazeosim one koja opisuje lokaciju kolica koja se kroz funkciju next prepravlja unovu lokaciju.

database(, t) = (− Cart(σ)) ∪ Cart(next(, t))

Primecujemo da ovaj agent izvrsava opisanu proceduru u svojoj pocetnojbazi, pa zakljucujemo da mozemo izmeniti proceduru menjajuci bazu podataka.Iako je oblik recenica u opisu nesto strozi, mozemo definisati i jednako mocneagente koji ce biti mnogo fleksibilniji, a to cemo videti u sl. poglavlju.

8.4 Agenti znanja u koracima

Agenti opisani u prethodnom poglavlju nisu monotoni: recenice mogu bitiizmenjene ili dodavane u bazu. Razlog za ovo je to sto nas koncept relacijazavisnosti od stanja ne obuhvata stanje - na primer lokacija kolica. Svakabaza opisuje samo jedno stanje; posle svake akcije stanje je promenjeno i opismora biti promenjen tako da se odnosi na stanje koje nastaje posle dejstvaakcije.

Ovo razmatranje namece pitanje da li je moguce dizajnirati monotoneagente u kojima su nove recenice dodane u unutrasnju bazu ali nisu premestane(dodavanje da, premestanje-uklanjanje ne). Ovo je zaista moguce, ali jepotrebno napraviti neke izmene.

Prvo je potrebno primeniti koncept zasnovan na stanjima. Koristicemorelaciju T za opisivanje karakteristika individualnih stanja. Zatim treba dakonvertujemo relacioni simbol, kao sto je Cart, u funkcijski simbol; koristimounarni funkcijski simbol Ext koji oznacava funkciju koja preslikava svaki

Page 95: Machine Learning

94 Seminarski rad

pozitivan ceo broj u spoljasnje stanje ciklusa agentove operacije koji odgovaratom celom broju. Primetimo da Ext preslikava ceo broj u spoljasnje stanjea ne u pariciju stanja. Sa ovim ”recnikom”mozemo opisati pocetno stanjeu primeru Lavirinta. Naravno ovaj opis nece biti kompletan jer ne uzima uobzir polozaj zlata.

T (Cart(AA), Ext(1))

Ovaj ”recnik”mozemo koristiti i za opis agentovih procedura prema prethodnomslucaju. U ovom slucaju koristimo promenljivu n koja oznacava redosledkroz ciklus agentove operacije i imamo konvertovan objekat konstante Mustu funkcijsku konstantu.

T (Cart(AA), Ext(n)) ∧ T (Gold(IC), Ext(n)) ⇒Must(n) = R

T (Cart(AA), Ext(n)) ∧ T (Gold(SC), Ext(n)) ⇒Must(n) = I

T (Cart(AA), Ext(n)) ∧ T (Gold(EW ), Ext(n)) ⇒Must(n) = R

...

T (Cart(CC), Ext(n)) ∧ T (Gold(IC), Ext(n)) ⇒Must(n) = O

T (Cart(CC), Ext(n)) ∧ T (Gold(SC), Ext(n)) ⇒Must(n) = N

Na zalost ove izmene same po sebi nisu dovoljne da dozvole cisto monotonoponasanje. Agent ipak treba da zna koji ciklus se izvrsava da bi koristioinformaciju zabelezenu u bazi podataka. On ne moze cuvati informacijevezane za tekuci ciklus u svojoj bazi, posto se informacije menjaju poslesvake akcije. Alternativa je definisati novu vrstu agenta nivoa znanja u kojemunutrasnje stanje ukljucuje brojac isto kao i njegova baza recenica. Agentinivoa znanja u koracima su osmorka

(D, S, T, A, see, do, database, action)

gde su:

• D -skup baza podataka predikatskog racuna

• S -skup spoljasnjih stanja

• T -skup particija od S

• A -skup akcija

Page 96: Machine Learning

Masinsko ucenje, inteligentni agenti 95

• 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 × Tn u A

Primetimo da je jedina razlika izmedu agenata nivoa znanja u koracimai obicnih agenata nivoa znanja zavisnost baze podataka i funkcija akcijaod agentovog rednog broja ciklusa. Redni broj ciklusa cuva se van bazepodataka.

Sasvim je jednostavno modifikovati akcije i bazu funkcija za programibilneagente u prethodnom poglavlju tako da zadovoljavaju definiciju i uslovezeljenog ponasanja. Oni treba da budu malo komplikovaniji da bi upra-vljali promenljivima u bazi, a inace su identicni.Za cilj analize, cesto je korisno karakterisati kako se unutrasnje stanje, spoljasnjestanje, posmatranje i akcije u agentima nivoa znanja u koracima menjaju sobzirom na redni broj ciklusa. Funkcija int,s preslikava ceo broj n u unu-trasnje stanje koje je rezultat n-tog ciklusa agenta nivoa znanja u koracimasa pocetnom bazom podataka i pocetnm spoljasnjim stanjem s. Funkcijaext,s preslikava ceo broj u spoljasnje stanje koje je rezultat aktivnosti u n-tom ciklusu. Funkcija obs,s preslikava ceo broj n u skup stanja posmatranod strane agenta u n-tom ciklusu. Funkcija act,s preslikava ceo broj n uakciju koju uzima agent u n-tom ciklusu.

Pogledajmo sta se desava sa pocetnim vrednostma. Unutrasnje stanjeprvog ciklusa agentovih opercija je agentova pocetna baza podataka i spoljasnjestanje prvog cikusa je pocetno spoljasnje stanje. Prvo agentovo opazanje seodnosi na primenu funkcije see u pocetnom spoljasnjem stanju, i agentovaprva akcija je odredena njegovom pocetnom bazom oznacenom brojem 1 iagentovim pocetnim opazanjem.

int,s(1) =

ext,s(1) = s

obs,s(1) = see(s)

act,s(1) = action(, 1, see(s))

Page 97: Machine Learning

96 Seminarski rad

Definicije za ove funkcije slede posle prvog ciklusa. Unutrasnje stanje usvakom ciklusu je rezultat delovanja agentove funkcije memorije u prethodnomunutrasnjem stanju, prethodnom (rednom) broju ciklusa, i agentovog posmatranjaprethodnog spoljasnjeg stanja. Spoljasnje stanje je rezultat izvrsavanja akcijeoznacene u prethodnom ciklusu prethodnim spoljasnjim stanjem. Agentovoopazanje (posmatranje) je particija stanja koja sadrzi spoljasnje stanje. Akcijakoja ce biti izvrsena je odredena primenom funkcije action u tekucem unutrasnjemstanju, tekucem broju ciklusa, i agentovim opazanjem tekuceg spoljasnjegstanja.

int,s(n) = database(int,s(n− 1), n− 1, obs,s(n− 1)

ext,s(n) = do(act,s(n− 1), ext,s(n− 1)

obs,s(n) = see(ext,s(n))

act,s(n) = action(int,s(n), n, obs,s(n))

Agent nivoa znanja sa pocetnom bazom i pocetnim spoljasnjim stanjempostoji ako i samo ako njegova baza podataka postoji u svakom ciklusu.Agent nivoa znanja pamti bazu podataka (database retentive) ako i samo akonjegova baza u svakom ciklusu posle prvog logicki implicira bazu prethodnogcikusa.

int,s(n) |= int,s(n− 1)

Jednostavniji tip (database retentive) agenata koji pamte bazu podataka jeonaj kod kojeg su sve recenice iz int,s(n− 1) sadrzane u int,s(n)

8.5 Agenti s namerom

Posmatrajuci agente opisane u prethodnom poglavlju, interesantno jeprimetiti da pod uobicajenom interpretacijom simbola u recniku ovog agentabaza podataka svakog ciklusa korektno opisuje svoje spoljasnje okruzenje.Posto se agent pomeri desno u pocetnom stanju kolica su u polju AB kao sto jespecificirano u bazi podataka tog ciklusa. Ako bi permutovali baze podatakasistematski i modifikovali bazu podataka agenta kao i funkcije akcije, agent biresio problem podjednako dobro, ali recenice u bazi podataka ce biti netacnepod uobicajenom interpretacijom. Sa druge strane, analizirajuci nivo znanjaagenta mi obicno zelimo da pricamo o ponasanju agenta uzimajuci u obzirneke interpretacije ili parcijalne interpretacije za recenice u bazi podataka.Uopste, ne mozemo ocekivati od agenta da se povinuje nasoj interpretaciji

Page 98: Machine Learning

Masinsko ucenje, inteligentni agenti 97

za sve simbole u njegovom recniku. Ipak, interesantno je pogledati agentoveosobine ako pretpostavimo da se slazu sa nama u pogledu nekih simbola unjegovom recniku. Sledece veze su posebno korisne.Funkcija obsrecord preslikava pozitivne cele brojeve n i particiju stanja T uskup recenica tvrdec da je spoljasnje stanje u ciklusu n clan particije T . Uprethodnom primeru posmatranje prvog ciklusa i particije stanja u kome sezlato nalazi na nekom drugom mestu je baza podataka koja se sastoji odjednostruke recenice T (Gold(EW ), Ext(1)).

( )obsrecord 1, =T(Gold(EW),Ext(1))

Da bismo kodirali naredbe u bazi podataka agenta potreban nam jerecnik koji opisuje akcije koje bi agent trebalo da radi. Funkcija mustrecordpreslikava pozitivan ceo broj n i akciju a u skup recenica tvrdeci da bi agenttrebalo da izvrsi akciju a u ciklusu n. Npr. mozemo kodirati cinjenicu da seagent krece desno u svom prvom ciklusu:

mustrecord(1, right) = Must(1) = R

Funkcija mustnotrecord preslikava pozitivan ceo broj n i particiju stanja Tu skup recenica tvrdeci da bi agent trebalo da izbegava akciju a u ciklusu n.Npr.,mozemo kodirati cinjenicu da se agent ne pomera desno u svom prvomciklusu kao sto je prikazano :

mustnotrecord(1, right) = Must(1) 6= R

Funkcija actrecord preslikava pozitivan ceo broj n i akciju a u skup recenicatvrdeci da agent u stvari izvrsava akciju a u ciklusu n. Mozemo npr.,kodiraticinjenicu da se agent pomera desno u svom prvom ciklusu recenicom :

act(1) = R

actrecord(1, right) = Act(1) = R

Kao ostale aspekte operacija agenta, pogodno je da se napravi konceptfunkcija koji definise zapise (record) za opazanje i akcije agenta. Definisemoobsrec,s koja preslikava broj ciklusa u zapis posmatranja za n-ti ciklus

Page 99: Machine Learning

98 Seminarski rad

aktivnosti agenta nivoa znanja sa pocetnom bazom podataka i pocetnimspoljasnjim stanjem s. Funkcija actrec,s preslikava broj ciklusa u odgovarajucizapis akcije. Koristeci terminologiju iz zadnjeg odeljka mozemo definisati

obsrec,s = obsrecord(n, obs,s(n))

actrec,s = actrecord(n, act,s(n))

Kazemo da je agent (observation retentive) pamti opazanja ako i samoako zapisuje svoja zapazanja u svakom ciklusu u svoju bazu, tj. u svakomciklusu, posle prvog, agentova baza logicki povlaci zapis opazanja prethodnogciklusa.

int,s(n) |= obsrec,s(n− 1)

Agent cuva (pamti) akcije (action retentive ) ako i samo ako je zapis njegovihakcija u svakom ciklusu u njegovoj bazi, tj. ako u svakom ciklusu, posle prvog,agentova baza logicki povlaci zapis akcije prethodnog ciklusa.

int,s(n) |= actrec,s(n− 1)

Kazemo da baza podataka zapisuje akciju a u ciklusu n agentoveoperacije (P (, n, a)) ako i samo ako logacki povlaci da akcija mora bitiizvrsena u n-tom koraku.

|= mustrecord(n, a)

Koristeci ovu notaciju mozemo definisati sta se podrazumeva pod zabranjenomakcijom. Kazemo dazabranjuje akciju a u n-tom ciklusu agentovih operacija(F (, n, a), ako i samo ako triangle logicki povlaci da akcija a ne sme bitiizvrsena u koraku n.

|= mustnotrecord(n, a)

Agent nivoa znanja je lokalno ,,veran” (locally faithful) ako i samo akosvaki ciklus njegovih operacija zadovoljava sl.uslove:

1. Agent izvrsava svaku akciju koja je zapisana pomocu agentove bazepodataka i njegovih opazanja u tekucem stanju.

P (int,s(n) ∪ obsrec,s(n), n, a)⇒ act,s(n) = a

2. Agent izbegava (ponistava) svaku akciju koja je zabranjena pomocunjegove baze podataka i njegovog opazanja u tekucem stanju.

F (int,s(n) ∪ obsrec,s(n), n, a)⇒ act,s(n) 6= a

Page 100: Machine Learning

Masinsko ucenje, inteligentni agenti 99

Kod nekih agenata nivoa znanja ovi su uslovi redukovani. Npr. pretpostavimoda agentova baza ima aksiome koje tvrde da postoji samo jedna zapisanaakcija za svaki ciklus i pretpostavimo da, takode, postoje aksiome koje tvrdenejednakost agentovih razlicitih akcija. Tada, ako baza odredi (zapise) akcijeza svaki ciklus, agent zabranjuje sve ostale akcije; i ako baza zabrani sveakcije osim jedne, neophodno je odrediti (zapisati) remaining akcije. Sa drugestrane, ne mozemo izostaviti uslove vezane za zabranjene akcije. Zato postojibaza za zabranjene akcije u kojoj nisu zapisane ostale akcije i mi zelimobiti sigurni da agent nece selektovati zabranjenu akciju. Slicno, ne mozemonista raditi bez zapisanih uslova pa zato postoje baze koje zapisuju nekeakcije koje ne zabranjuju druge akcije i mi ne zelimo da agent izvrsava samonezabranjenu akciju kada postoje neke druge (odredene) zapisane akcije.

Teorema 20 Saglasnost je neophodan uslov za lokalnu vernost.

Istorijski zapis (history record) za partikularne korake agentove operacijeje skup opazanja i akcija koje se zapisuju za svaki korak i za sve prethodnekorake. Funkcija histrec preslikava broj u odgovarajuci istorijski zapis.

histrec,s(n) =

=

n = 0histrec,s(n− 1) ∪ obsrec,s(n) ∪ actrec,s(n) inace

Primetimo da prethodne informacije vezane za istoriju u agentovoj bazicesto dopustaju agentu izvodenje zakljucaka koji inace ne bi bili moguci.Npr., posle uocavanja da zlato nije u celiji AA i posle pomeranja u celiju AB,agent moze zakljuciti da zlato nije locirano u AA, iako on nije dugo razmatraotu cinjenicu. Agent koji razmislja je globalno veran (globally faithful) akkoon postupa u skladu sa njegovom pocetnom bazom, njegovom istorijom itekucim opazanjem, tj.

1. agent izvrsava svaku akciju koja je odedena njegovom pocetnom bazom,istorijom i opazanjem u tekucem stanju

P (∪ histrec,s(n− 1) ∪ obsrec,s(n), n, a)⇒ act,s(n) = a

2. agent izbegava svaku akciju koja je zabranjena njegovom pocetnombazom, istorijom i opazanjem u tekucem stanju

Page 101: Machine Learning

100 Seminarski rad

F (∪ histrec,s(n− 1) ∪ obsrec,s(n), n, a)⇒ act,s(n) 6= a

Teorema 21 Pamcenje baze podataka, opazanja i akcija i lokalna vernostimpliciraju globalnu vernost.

8.6 Promisljeni (racionalni) agenti

U ovom poglavlju definisemo klasu nesto specificnijih agenata nivoa znanjaod globalno vernih. Kljucna ideja u definisanju agenata ove klase je koriscenjemetode automatskog zakljucivanja kao sto su rezolucija u proizvodenju recenicekoja ukazuje na trazenu akciju u svakom ciklusu. Agent ove vrste je promisljenzato sto razmislja u svakom ciklusu o spoljasnjoj akciji koju treba izvrsiti.Ako je u ciklusu n moguce dokazati mustrec(n,a) za tekucu bazu i zapisopazanja koristeci rezoluciju ili neku drugu proceduru zakljucivanja, tadaagent izvrsava akciju a.

action(, n, t) = awhenever ∪ obsrecord(n, t) |= mustrecord(n, a)

Agentova baza je azurirana usled opazanja i akcija u ciklusu.

database(, n, t) = ∪ obsrecord(n, t) ∪ actrecord(n, a)whenever ∪ obsrecord(n, t) |= mustrecord(n, a)

Procedure CD(DB)

Begin CYCLE := 1

Tag 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

End

Page 102: Machine Learning

Masinsko ucenje, inteligentni agenti 101

Program CD uzima pocetnu bazu kao argument i manipulise sa 4promenljive: CYCLE - broj tekuceg satnja, OBS - opisivac stanja, DB - cuvapocetnu bazu, sva opazanja i zapise akcija i ACT - je ime akcije koja ce bitiizvrsena. Agentova senzorna sposobnost je implementirana u potprogramuOBSERVE (argument joj je redni broj ciklusa i kada je izvrsena u stanju svraca kao vrednost obsrecord(n, see(s)) ). Agentov ,,recnik efikasnosti” jeimplementiran u primitivnom potprogramu EXECUTE (argument joj je oznakaakcije i kada je pozvana izvrsava odgovarajucu akciju).

Kod definise jednostavnu slobodno-izlaznu petlju - u svakom trenutkupetlje, agent prolazi kroz jednostavan ciklus njegove istorije. Prvo, okolina jeposmatrana i u bazu je upisana karakteristicna recenica. Tada agent izvodizakljucak nad bazom dok dedukuje akciju za izvodenje. To povlaci akciju iazuriranje baze i trenutnog broja ciklusa. Tada se ciklus ponavlja.

Iz ove definicije lako se vidi da promisljeni agent pamti opazanja, pamtiakcije i pamti bazu podataka.

Stoga imamo:

Teorema 22 Svaki promisljeni agent sa valjanim i kompletnimdokazivacem teoreme je globalno tacan (veran).

Page 103: Machine Learning

102 Seminarski rad

9 Multi-agentski sistemi i primeri

U ranijim poglavljima su dati motivi za upotrebu masinskog ucenja kaonacina resavanja problema velike kolicine podataka. Sve veca kolicina podatakase nalazi na internetu u nedovoljno struktuiranom obliku, i njihov rast jeeksponencijalan. Resavanju tog problema mogu da doprinesu i inteligentniagenti. Inteligentni agenti su softverski entiteti koji na neki nacin primaju(opazaju) informacije u svom okruzenju, a onda prema cilju koji je obicnozadat ugradenom bazom znanja i na osnovu mehanizma odlucivanja biraodgovarajucu akciju kojom moze i da utice na tu okolinu (menja podatke,recimo). Pioniri ove oblasti VI su: Marvin Minsky, Oliver Selfridge, AlanKay, Nicholas Negroponte, Rodney Brooks. U prethodnom odeljku je dataformalna definicija takvih entiteta (PAGE strukture: perceptions, actions,goals, environment), gde je napomenuto da agent mogu imati razlicite osobinei uloge, i da mogu medusobno komunicirati (distribuiranost, naspram izolovanihagenata) u okviru jednog sistema. Agenti mogu biti veoma jednostavnestrukture (reaktivni) ili veoma slozene (racionalni, kada koriste PR1 ili logikuuverenja, a mogu biti i proaktivni, fleksibilni, autonomni, adaptivni i sl.).Ono sto u takvoj definiciji nedostaje jeste osobina medusobne interakcijeagenata, koja sve vise dolazi do izrazaja - gde u uslovima odgovarajucegdistribuiranog okruzenja na internetu predstavljaju veoma praktican mehanizamborbe sa velikom kolicinom podataka. To je presudno vazna osobina - drustvenost- iako predstavljaju cesto posrednike (pomagace, asistente) izmedu korisnika idrugih programa, isto tako su i posrednici izmedu drugih agenata i programakoji predstavljaju deo inteligentnog sistema (agencije, slicno blackboard sistemima).Savremeni agenti imaju i osobinu mobilnosti (naspram stacionarnih agenata),koja znaci da su u stanju samostalno ili prema nekom kriterijumu da menjanjufizicku platformu izvrsavanja (server, radnu stanicu) cuvajuci trenutno stanje.

9.1 Multi-agentski sistemi

Agenti koji cine multi-agentsku platformu (ili ucesnici, actors) su obicnopodeljeni prema ulozi u nekoliko slojeva koje cine distribuiranu platformu:

korisnicki agenti (user agents, inerface agents) - zaduzeni za interaktivnukomunikaciju sa korisnikom, komuniciraju sa srednjim (ili drugim) slojemkoje mogu ciniti izvrsni agenti, odnosno agenti sa zadatkom.

agenti sa zadatkom (task agents) - sloj agenata koji je obicno specijalizovan

Page 104: Machine Learning

Masinsko ucenje, inteligentni agenti 103

da postigne neki cilj u sprezi sa ostalim slojevima, srednji sloj (sinonimi:middle, execution, learning, planning agents) - svaki agent obicno imasvoj mehanizam zakljucivanja i svoju bazu naucenog znanja i predznanja(kao i u drugim slojevima), opciono. Predznanje i mehanizam zakljucivanjau opstem slucaju ne moraju da budu sagasni kod svih agenata, i zatoje neophodan model i mehanizam koordinacije. Medu ovim agentima seobicno nalaze i kontrolni agenti koji su odgovorni za procese koordinacijei komunikacije medu agentima, organizacije, pregovaranja, itd.

informacioni (web) agenti - koriste ,,omotace” (wrappers) kojima se sadrzajdokumenata kojima pristupaju pretvara u izvor podataka koji koristeprethodni slojevi, najcesce kao da se pristupa bazi podataka (omotacisu obicno do izvesne granice zavisni od strukture dokumenata, sto znacida ih treba menjati ako se struktura menja - idealno, ovo treba izbeci)

Ovi agenti se zato cesto 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 uokviru sistema, a pod akvizicijom znanja se podrazumeva proces usvajanjaznanja izvan sistema. Agenti srednjeg sloja komuniciraju protokolom kojipodrazumeva 2 tipa poruka: predloge (proposal) i konsolidacije (consolidate)- svaka poruka ima oznaku cinjenice (predloga koji se kasnije konsoliduje).Podrazumeva se da postoji mehanizam evaluacije znacaja predloga (kao relacijakoja odreduje da je neki vazniji od drugog) i algoritam izvrsavanja protokolasa cekanjem u nekim slucajevima (timeout) na odgovore. Jedna serija itera-cija agenata sve do uspesnog okoncanja protokola (svi agenti su konsolidovalineku novu cinjenicu i nema novih predloga) ili neuspesnog (slucaj kada nemanove konsolidovane cinjenice) se naziva cin (act - slicno epohama ucenja).Tok komunikacije se moze prikazati i standardnim UML dijagramima, a ispodje primer jednog cina u vidu serije grafova stanja (ilustracija iz [IGP]):

Page 105: Machine Learning

104 Seminarski rad

(primer speech-act scenarija u situaciji razmene ponuda)

Ovo je samo jedan od mogucih scenarija komunikacije u ovakvom jednomsistemu. Ovakvi sistemi su robustniji i fleksibilniji nego jedno-agentski i slicniinteligentni sistemi, ali je zato njihovo projektovanje cesto daleko slozenije -javaljaju se novi problemi koordinacije i kontrole agenata, kao i performansicelog sistema. Uobicajen pristup je upotreba referentnih modela strukturei komunikacije (kao sto je to npr. KQML ili FIPA standard koji podrazumevaveliki broj razlicitih scenarija komunikacije, dodatno uz ACL ili slicni transportniprotokol komunikacije medu agentima), kao i implementacije modela u viduokruzenja i alata za razvoj takvih sistema kao sto su JADE (Bellifemine,1999), FIPA-OS, JATLite (Petrie, 1996), ZEUS (Collis, 1998), IBM-ov Aglets,Concordia, Voyager, i drugi. Ovim su najvise pokriveni srednji sloj i kontrolniagenti. 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)))

Page 106: Machine Learning

Masinsko ucenje, inteligentni agenti 105

(preuzeto iz [IGP])

Informacioni agenti zavise od izvora znanja koje se koristi. Informacioniagent moze u opstem slucaju koristiti:

• nestruktuirane ulazne podatke kao izvor znanja - npr. prirodni jezikzadat tekstuelnim dokumentima ili bazama podataka

• polustruktuirane - HTML, XML (standardi za danasnji internet poW3C konzorcijumu) i drugi mark-up jezici sadrze mnoge strukturneelemente kojima se zadaje delimicno znacenje sadrzaja i olaksava njegovaobrada

• struktuirane - semanticki web (Tim Berners-Lee, inace ,,otac www-a”) i ontologije: u najopstijem smislu, ontologija je ,,formalna specifikacijakonceptualizacije” (Gruber, 1993), sto mogu biti i PR1, frejmovi ilisemanticke mreze, ali pre svega pojavom XML standarda nastaju formalizmi

Page 107: Machine Learning

106 Seminarski rad

i jezici koji resavaju pitanje strukture i semantike sadrzaja dokumenta(na web-u), npr. ontoloskim jezicima RDF/RDFS (Resource DefinitionFramweork / Schema), XML/XMLS (XML / Schema), OWL (WebOntology Language), DAML+OIL (DARPA Agent Markup Language,Ontology Interchange Language, svi navedeni osim ovog su po W3Cprihvaceni kao standard semantickog web-a) se mogu definisati ontologijepojmova kojima se predstavlja znanje ali i ontologije pojmova pomocukojih se vrsi opis zahtevanih usluga agenata. Tako shvacene ontologije(uz tehnologije inteligentnih agenata i SOA) cine osnovu naredne generacijeinterneta u buducnosti - semantickog web-a.

Primer modularne strukture informacionog agenta zasnovanog na polustruktuiranomweb sadrzaju uz koriscenje web parsera kao omotaca ([IGP]):

Navedeni modeli, konkretna resenja i uopste MAS okruzenja mogu bitirealizovani razlicitim arhitekturama informacionih sistema i tehnoloskim platformama.Modelovanje softvera tako postaje blize inzenjeringu znanja, i lakse se upravljastabilnoscu, formalnom i prakticnom korektnoscu sistema. Postoji veliki brojrazlicitih resenja i platformi, i vecina postavlja zahtev interoperabilnosti iportabilnosti, gde model neke arhitekture ne zavisi od nacine komunikacijemedu komponentama i ne zavisi od konkretne platforme. Kada bi svi informacionisistemi bili iste arhitekture i radili na istom operativnom sistemu, njihovasama priroda je prakticno dovoljno heterogena i podlozna promenama u

Page 108: Machine Learning

Masinsko ucenje, inteligentni agenti 107

tolikoj meri da bi vremenom morale nastati divergencije i kolaps takvogpristupa. S druge strane, postoje realni zahtevi za standardizacijom i formalizacijommodela i arhitekture informacionih sistema gde bi bila moguca koegzistencijarazlicitih resenja (frameworks) ili njihova medusobna konverzija. Jedno takvoopste resenje koje podrazumeva integraciju razlicitih resenja je MDA (ModelDriven Architecture), koje je poteklo od OMG (Object Management Group,otvoreni, neprofitni konzorcijum za industrijske standarde interoperabilnihinformacionih sistema, a motive nudi i IC - Integration Consortium - zaindustrijske standarde integracije sistema). MDA definise tri pogleda premavrsti i nivou apstrakcije: CIM (Computation Independent Model, slicnoontologijama 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 konkretnojplatformi, gde je cilj pomeriti ljudski rad na prethodna dva modela). Standardikoji se koriste su: MOF (Meta Object Facility, model arhitekture informacionogsistema u 4 nivoa gde je meta-meta-model nivoa M3 - MOF - na vrhu(npr. klasa), zatim sledi meta-model M2 (npr. UML specifikacija), modelkonkretnog sistema nivoa M1 i konkretna instanca, M0), UML i XMI (XMLMetadata Interchange). Primer ovakvog modela je OMG-ov CWM (CommonWarehouse Metamodel), a konkretne platforme (pored operativnog sistema)za realizaciju sistema su recimo J2EE/SE, Microsoft .Net, XML i SOA (Webservisi), itd. Primeri razvojnog okruzenja za ontologije su Protege, Ontolinguai Chimaera, a primer okruzenja za razvoj modela na M1 nivou je npr. UMLCASE alat Rational Rose (odredenim UML semama se generisu baze podataka,XML seme, enterprise bean-ovi, kod i drugo), AIR framework za razvojintelignentnih sistema koristi Eclipse okruzenje i plug-in arhitekturu kojomse realizuju i M2 modeli kao sto je ODM ontoloski metamodel, CWM ili UMLprofili. Medutim, jos uvek ne postoji kompletno MDA resenje.

9.2 JADE

JADE (Java Agent DEvelopment Framework) je Java softversko okruzenjenamenjeno razvoju agenata i izvrsno okruzenje kao srednji sloj koji podrzavasistem agenata (autor je F. Bellifemine, u vlasnistvu je TILAB preduzeca, alicencira se po GNU LGPL principu). Ovo okruzenje omogucava distribuiranuplatformu koja se moze prostirati na vise racunara, i nju cini jedan ili visekontejnera - kontejner predstavlja JVM (Java Virtual Machine) sa kompletnimJADE izvrsnim okruzenjem, gde se agentima omogucava konkurentni rad

Page 109: Machine Learning

108 Seminarski rad

(svaki agent svoju nit, Java Thread). Kontejneri mogu biti na razlicitimracunarima u mrezi (koju mogu biti opet fizicki razlicite platforme, razlicitiOS i verzije JRE - Java izvrsnog okruzenja, pa cak i druga razvojna okruzenja,koja nisu JADE ali postuju FIPA standarde), i nudi se i mogucnost mobilnostiagenata medu kontejnerima (zahvaljujuci dinamickom ucitavanju klasa i perzistentnostistanja agenta). Osnovni transportni protokol (MTP) je JICP koji lezi naJava RMI / IIOP, od verzije 3.2 je dodat i HTTP kao osnovni, a moguceje prosiriti MTP (Message Transfer Protocol) na bilo koji drugi (SMTP naprimer).

Pored toga, nude se i bezbednosni mehanizmi za autentifikaciju agenatai prava pristupa, GUI kojim se prati i upravlja radom izvrsnog okruzenja zaDF (Directory Facilitator), posebno RMA (Remote Agent Managament) iAMS (Agent Management System):

Page 110: Machine Learning

Masinsko ucenje, inteligentni agenti 109

Dummy agent kojim se mogu slati i isprobavati razlicite SL poruke

mnogi dodaci i biblioteke koje olaksavaju razvoj agenata. Cela jedna agentskaplatforma moze se smestiti u jedan Java aplet tako da je dovoljno Java-kompatibilnim browser-om pokrenuti stranicu sa takvim apletom da bi seceo jedan takav MAS pokrenuo.

9.2.1 FIPA

JADE u potpunosti postuje FIPA (Foundation for Intelligent PhysicalAgents, 1997) standarde za inteligentne agente. Osnovu ovih standarda ciniarhitektura izvrsnog okruzenja sa upravljanjem zivotnog veka agenata, gdesu obavezni elementi tj. servisi (koji cine AP - agentsku platformu):

• AMS (Agent Management System) - agent odgovoran za upravljanjeradom celokupne platforme i pracenje (monitoring) svih agenata unjemu i njihovih opisa i ontologija (zove se zato jos i ,,white pages” agent,svaki agent se moze jedinstveno identifikovati imenom)

• DF (Directory Facilitator) - kontrolni agent kome se ostali agenti javljajuda bi oglasili usluge (servise) koje su u stanju da obezbede ili da bi ihpronasli (i zato se zove jos i ,,yellow pages” agent)

Page 111: Machine Learning

110 Seminarski rad

• ACC (Agent Communication Channel) - softverska komponenta kojakontrolise razmenu poruka izmedu agenata u sistemu, MTP (MessageTransfer Protocol) vrsi fizicki prenost poruka izmedu njih (RMI/IIOP,HTTP, SMTP, i sl.)

• MTS (Message Transport Service) - softverska komponenta koju obezbedujeagentska platforma (AP, kontejner), i koja koristi ACL (Agent CommunicationLanguage) za razmenu poruka izmedu agenata iste AP ili razlicitih AP

MTS

MTS. . .

AP

. . . AgentAgentAP

DFAMS

Komunikacija agenata se zasniva na asinhronoj razmeni poruka svojstvenojdistribuiranim i slabo spregnutim sistemima (kakve su recimo i peer-to-peermreze). Struktura poruka je uskladena sa ACL jezikom koji propisuje FIPA.

(payload−length, payload−encoding, ...)

Struktura poruke

Envelope (obvojnica)

Payload (teret)

Message (poruka)

Content (sadrzaj)

Transportnipodaci

Kodirana poruka

Parametri poruke

Sadrzaj poruke

(to, from, date, acl−representation)

Page 112: Machine Learning

Masinsko ucenje, inteligentni agenti 111

Svaki agent moze imati jedno ili vise ponasanja (behaviour - odnosno zadataka,usluga, funkcionalnosti koje implementira - jedno od mogucih ponasanja je iJessBehaviour, koje omogucava integraciju sa Jess okruzenjem) i ontologijakojima se definise kasnije kontekst poruka (npr. agent-management ontology).Postoji standardna biblioteka komunikacionih cinova (aktova) i protokolainterakcije koji predstavljaju sablone i deo ponasanja (apstraktne Java klase)kojima se modeliraju kompleksni oblici protokola komunikacije izmedu agenata(Speech Act Theory, cime je pokriven najveci broj sistema tako da nijepotrebno razvijati aspekte komunikacije koji nisu vezani za aplikacionu logiku)- komunikacioni cinovi su na primer: accept-proposal (prihvatiti ponudnuponudu), agree (prihatiti izvrsenje akcije, moguce u buducnosti), cancel(prekinuti zahtevanu akciju), confirm (potvrda da je ponuda ili iskaz tacan),disconfirm (suprotno prethodnom), query-if (upit da li je iskaz tacan - slicnoproposal poruci u ranije pomenutom KM modelu), request (zahtev za izvr-senjem akcije), propose (podnosenje zahteva za nekom akcijom), query-reg(upit drugom agentu gde se trazi neki objekat zadat izrazom), refuse (odbitizahtevanu akciju), request-when (zahtevati uslovnu akciju), subscribe (stalnoobavestavanje posiljaoca o nekoj vrednosti nakon svake promene), proxy(prosledivanje poruke spisku agenata), itd.

Od osnovnih klasa (primitivnih) ponasanja (Primitive Behaviours - npr.klasa SimpleBehaviour od kojih se mogu graditi prosiviranjem druga, kaoi CyclicBehaviour koje nakon registrovanja od strane agenta ostaje aktivnodo daljnjeg i obicno se njime salju ,,cirkularne” poruke drugim agentima,njegova nadgradnja TickerBehaviour se periodicno moze okidati i zaustavljase metodom stop, zatim OneShotBehaviour i prosirenja, itd.) grade se kompozitnaponasanja (od primitivnih ili drugih kompozitnih podponasanja metodomaddSubBehaviour) koja mogu biti :

• paralelna (ParallelBehaviour, cija se podponasanja desavaju konkurentno)

• sekvencijalna (SequentialBehaviour, gde se podponasanja desavaju redno)

U osnovi sva ponasanja agenta su aktivna paralelno, i svaki agent cita izreda poruka paralelno sve poruke - osnovna komunikacija send i receivemetodima se moze realizovati ponasanjem CyclicBehaviour kao sablonom(primer preuzet iz [jade], postoje i drugi koji su dati uz distribuciju):

Page 113: Machine Learning

112 Seminarski rad

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 ponasanja kojima se komunikacija odvija rafniniranotako da samo odredeni agenti cekaju odgovore drugih odredenih agenata podnekim uslovima (npr. SimpleAchieveREInitiator i SimpleAchieveRERespondernaspram prethodnih, kao i pomenuti ContractNetInitiator i ContractNetResponder).Neki od mehanizama kojima su realizovana takva ponasanja su: cekanje nasledecu poruku (block, sa opcionim vremenom cekanja u milisekundama)i sabloni poruka (MessageTemplate kojim se filtriraju poruke tako da secitaju samo poruke datog tipa, MatchPerformative - REQUEST, INFORM,CFP, REFUSE, itd. - ili date ontologije, ili datog jedinstvenog identifikatorakonverzacije ConversationID, ili logicke kombinacije prethodnih).

Page 114: Machine Learning

Masinsko ucenje, inteligentni agenti 113

Envelope

isExpressedIn

BelongsTo

isExpressedIn

isTransmittedOver

1

1

1 1

1

1

11..*

contains

contains

contains0..*

1

1

1

1..*

1

...contract−netinform, query,request,

String

Ontology

SL

ACL

CL

ACL

Protocol (IP)Interaction

Symbol

ContentSchemeEncodingCL

bit−effXMLString

MessageSchemeEncodingACL

HTTPIIOP

ProtocolTrasportEnvelope

(obvojnica)bit−effXMLIDL

SchemeEncoding

(UML dijagram strukture poruke)

9.2.2 FIPA-SL

FIPA-SL jezik sadrzaja (CL, Content Language) moze imati poruke tritipa (dati su primeri ACL poruka ispod):

• predlog (proposition) - dobro formirana formula (wff) kojoj se mozedodeliti istinitosna vrednost, npr.:

(confirm

:sender (agent-identifier :name i)

:receiver (set (agent-identifier :name j))

:content ((is mammal platypus))

:language fipa-sl )

Page 115: Machine Learning

114 Seminarski rad

• akcija - zahtev da izvrsi 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 udomenu, 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 kojestoje na raspolaganju (na internetu) nezavisno od FIPA okruzenja, i mnoga semogu u skladu sa paradigmom ponovne upotrebljivosti (reusability) ontologijakoristiti za dalji razvoj. Na osnovu komunikacionih cinova su definisaniosnovni sabloni protokola interakcije (a mogu se prosiriti novim po potrebi):FIPAPropose, FIPARequest, FIPAQuery, FIPARequestWhen, FIPAContractNet,FIPAIteratedContractNet, FIPABrokering, FIPARecruiting, IPASubscribe,itd. Na primer:

Page 116: Machine Learning

Masinsko ucenje, inteligentni agenti 115

FIPA−Request Protocol

Initiator Participant

REQUEST

REFUSE

AGREE

FAILURE

INFORM−DONE

INFORM−RESULT

FIPA−iterated−contract−net

FIPA−Contract−Net

cfp (action p1)

not−understood refuse(reason)

propose(p2)

rejectproposal

acceptproposal

failure(reason)

inform(done) cancel

JADE podrazumeva i mnogo vise od komunikacije nalik P2P mrezamazahvaljujuci izrazajnosti SL jezika koja je veoma korisna - pomenuti IREtip poruka nudi i veoma mocan mehanizam predikata i upita nad sadrzajemi ontologijama agenata - recimo, moguce je koristiti postojece PR1 logickepredikate (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.

Page 117: Machine Learning

116 Seminarski rad

Pored ovih FIPA podrazumeva i mnoge opcione specifikacije i standarde,medu kojima su i ontoloski servis, bezbednost i prava pristupa, WAP podrska,QoS (Quality of Service), i drugi.

Za JADE su takode raspolozive mnoge dodatne mogucnosti i alati: upotrebaRDF ili XML kao osnovu MTP, upotreba agenata u JSP (kao Java bean-ovaili tag bibliotekom), upotreba SSL / PKI za MTP, i drugo. JADE je testiranje i koristi se na mnogim platformama medu kojima su i mobilni i PDAuredaji.

9.3 Primer

9.3.1 Modifikovan model najblizih suseda

Algoritam koji koriste mnogi sistemi za preporucivanje na internetu ilislican (recimo www.last.fm ili www.amazon.com, ili reklamiranje na nekimpretrazivacima) koristi model najblizeg suseda: ako su Ri,p ocene korisnikai ∈ I (I je skup svih korisnika) i p ∈ P (P je skup objekata koji se ocenjuju- npr. muzika koja se slusa ili proizvod koji se kupuje - veca ocena jebolja, a moze se posmatrati i kao verovatnoca), rastojanja slusalaca, odnosnokorisnika su, recimo:

Di,j =

∑|P |p=1 (Ri,p − Rj,p)

2

|P |

Nedostajuce ocene se ignorisu. Skup suseda korisnika i, uz dato maksimalnorastojanje L kao parametar, jeste Si = j| Di,j < L. Ako su tezine suseda

Wi,j =L−Di,j

L, predvidanje ocene objekta p za korisnika i je onda:

Ri,p =

∑j∈Si

Wi,jRj,p∑j∈Si

Wi,j

Mnogi internet podcasting sistemi koriste razlicita resenja: Apple iTuneskoristi pretragu prema ogranicenjima, Philips-ov PATS koristi sistem grupisanja(formiraju se grozdovi slicnih elemenata gde svaki element u dinamickomsistemu ima brzinu i koordinate atributa, i gde se onda slicniji medusobnovise privlace), a moze se koristiti i Gausovska regresija ili neka metodakombinatorne optimizacije.

Page 118: Machine Learning

Masinsko ucenje, inteligentni agenti 117

Ideja je iskoristiti grupisanje objekata pronalazenjem suseda da bi seformirala pocetna lista objekata (kao sortirana lista prema ocenama), naprimer na osnovu datog proizvoda ili autora pesme, a onda se daljim dodavanjemobjekata ili izbacivanjem sa liste, i upotrebom (primera radi) ID3 algoritmamogu dobiti drvo odlucivanja i relevantni atributi na osnovu kojih se ponovoodreduje skup suseda i lista objekata. Ako se koristi metoda najblizih susedaonda se dobija predlog na koji utice misljenje suseda, a ako se koristi drvoodlucivanja, onda se dobija predlog na koji ne uticu susedi - stavise, predlogmoze biti prosiren tako i objektima koji nisu prvobitno dobijeni metodomnajblizih suseda. Ovakav pristup je slican onome koji koristi www.pandora.com,ali da bi to bilo moguce neophodna je i baza atributa i vrednosti objekatakao instanci, i ako bi ih sami korisnici unosili pored ocena to bi se razlikovalood pomenutog primera (umesto da ih unosi ekipa obucenih muzikologa, stoodgovara paradigmi ekspertnih sistema). Da bi to bilo moguce, neophodnoje napraviti dodatne izmene modela suseda koje bi uzele u obzir subjektivne

razlike ocena D′ki,j =

P|P |p=1 (Rk

i,p−Rkj,p)2

|P | k-tog atributa Ak (svaki atribut moze

imati vrednosti rastojanja u intervalu (0, M ], pitanje je samo kako ocenitiovo M , pogotovu ako se radi brzine racunanja uzimaju u obzir samo atributiskupa suseda datog korisnika) iz skupa atributa A, gde je onda ispravljeniponder:

W ∗i,j =

L−Di,j

L

|A|∏

k=1

cki,j

M −Dki,j

M

Opet se podrazumeva da se ne racunaju neocenjeni atributi i primeri. Medutim,korisnik moze subjektivno oceniti oceniti sve proizvode skalirano za datiatribut (npr. svim primerima je dao dva puta vece ocene), ili se moze desiti danije jos ocenio atribut primera koji bitno utice na rastojanje. Jedan nacin dase to popravi jeste normalizacija vrednosti ocena atributa prema optimalnomprimeru za date korisnike i najvecoj vrednosti po atributu (efikasnost bi semogla dodatno postici odbacivanjem objekata s malim brojem ocena i DTWalgoritmom):

D∗ki,j = min

q∈P

∑|P |p=1

((

Rki,p

Rki,q− Rk

j,p

Rkj,q

) min [Rki,q, R

kj,q])2

|P |tako da je konacna popravljena vrednost rastojanja atributa:

Dki,j = min [D

′ki,j , D

∗ki,j]

Page 119: Machine Learning

118 Seminarski rad

gde je cki,j dodatno podesavanje razlike uvodenjem tezinskog koeficijenta znacaja

atributa, recimo prema broju unetih ocena |Ski | = |(j, p)|j ∈ Si, p ∈ P, Rk

jp

uneto | primera u susedstvu cki,j =

ski |Sk

i |skj |Sk

j ||Si||Sj | i subjektivnim ocenama (sk

i i

skj ) korisnika (npr. atribut OCENA bi trebao da bude znacajniji od ostalih).

Odavde se vidi da je ocenjena vrednost linearna kombinacija vrednosti ocenasuseda, gde su tezine na pogodan nacin odabrane. Dobra mogucnost jeponuditi korisniku da kreira sopstvene atribute koje deli sa drugima, sto semoze i proveriti u prototipu. Dodatno poboljsanje bi moglo biti i uvodenjetaksonomijske hijerarhije odnosa medu atributima (makar na nivou prostihkategorija proizvoda).

Ovakvi sistemi preporucivanja se u osnovi razlikuju od ekspertnih sistemapo tome sto nije ekspetsko znanje presudno za donosenje predloga vec slicnostukusa korisnika (sto je relativna kategorija u opstem slucaju), ali postoje imnoge slicnosti: nacin prikupljanja znanja (intervjuom), zatim mehanizamodlucivanja koji moze podrazumevati i objasnjenje zasto je predlog donet, ina kraju baza deklarativnog znanja.

9.3.2 Razvojno okruzenje

Za potrebe izrade prototipa prethodno opisanog sistema koriscen je JADEkao multitagentska platforma i Eclipse (verzija 3.2.1) kao Java razvojnookruzenje. Sve sto je potrebno za kompilaciju nekog JADE projekta je da sebiblioteke iiop.jar, http.jar, commons-codec-1.3.jar, jade.jar i JadeTools.jardodaju kao eksterne biblioteke projekta:

Page 120: Machine Learning

Masinsko ucenje, inteligentni agenti 119

9.3.3 Alternativna okruzenja

Protege bi mogao takode biti koristan alat za generisanje JADE ontologija(pomocu Java Bean generatora plugin-a), ali i tacka integracije razvojnogokruzenja ako se koriste ontologije i CLIPS kao mehanizam zakljucivanjaagenata - moze se koristiti i CLIPS tab umesto Jess tab-a sa Protege-om(postoji i Java wrapper za CLIPS - Jess zahteva dodatno licenciranje ilistalnu obnovu privremene licence skidanjem nove verzije, ali zato ima siriopseg funkcionalnosti i mogucnosti od klasicnog CLIPS-a), a postoje i mnogadruga okruzenja za razvoj agenata i njihovih ontologija. Agent-based G-nets tj. agentno zasnovane G-mreze kao prosirenje G-mreza (koje je opetobjektno prosirenje Petri mreza, Perkusich, de Figueiredo) nude mogucnostmodeliranja slozenih multi-agentskih sistema ali i njihovu formalnu proverutako zadatom specifikacijom. Slicno nudi i PN2 dijalekat Petri mreza, iliP/T sa MONS prosirenjem (Mobile Object Net Systems) za specificiranjesemantike (gde se svakom tokenu dodeljuje nova P/T mreza) - ovo na primerpodrzava besplatan Java alat Renew (koji podrzava i druge dijalekte Petrimreza, simulaciju modela, standardno koristi XML za razmenu modela sto jevrlo slicno PNML - Petri Net Markup Language), a tu su i PNK (Petri NetKernel), PIPE (koji koristi modularan pristup prosiravanja funkcionalnosti,kao i alate za analizu i simulaciju modela, PNML zapis), P3 (P3tool uz PNMLje veoma upotrebljiv) i Protege dodaci (RDFS Ontology + PAL Constraints).

Page 121: Machine Learning

120 Seminarski rad

9.4 Prototip primera

Kao polazni kostur resenje koriscen je jedan od demo primera, MeetingScheduler, koji dolazi uz JADE distribuciju. Osnovu cini FIPAContractNetprotokol komunikacije sa nekim modifikacijama u klasama MyFipaContractNetInitiatori MyFipaContractNetResponder koje nasleduju osnovni sablon, kao i trieontologije u klasama MIAPOntology i MIAAOntology za usaglasavanje proizvodai atributa, i klasa ReceiverBehaviour za upite (klase koje definisu ontologijesu u paketu mustIA.Ontology, sve ostale su u paketu mustAgent) i CancelBehaviourkojom se moze usaglasiti brisanje atributa (testirano ali se ne koristi trenutno).Klasa kojom se implementira sam agent je mustGui koji u ovoj realizacijikoristi Swing GUI definisan mainFrame klasom (alternativno, front end bimogao biti i JSP kod, gde kod agenata postoji ogranicenje da nemogu dadele Java VM sa onom koja izvrsava JSP kod - sto moze biti moguci primernekakve dalje nadgradnje). Ovim ontologijama se vezuje objekat Osoba saobjektima Proizvod i Atribut (Vrednost bi takode mogao biti poseban objekatu opstem slucaju), gde atribut moze imati vise vrednosti, a proizvod jedan ilivise atributa. Cilj je postojecim protokolom svaku najavu novog proizvodaili atributa nekog korisnika usaglasiti sa svim agentima koji su ulogovanijednoglasno prema nekom kriterujumu (trenutno je ispunjen uvek) i usaglasitipodredene atribute i vrednoti, respektivno. Jedini kriterijum prihvatanjaontologije je da zabranjuje dodavanje proizvoda ili atributa koji imaju istinaziv kao postojeci naziv koji neki od ulogovanih agenata vec ima spremnogza usaglasavanje u polju za unos, a usaglasavanje podrazumeva izbacivanjeistoimenih atributa ili vrednosti. Ovaj protokol nudi mogucnost npr. da istinaziv vrednosti atributa ima razlicite vrednosti kod razlicitih agenata i da seonda svi nekako usaglase oko izbora vrednosti tog atributa, ali se lako moze,na primer, prosiriti tako da usaglasavanje podrazumeva i izbor najbolje ceneproizvoda koji se nudi ako je najavljen za prodaju na taj nacin (primeraradi) - ovo cini jednu od osnovnih razlika izmedu distribuirane komunikacijeagenata i komunikacije klijent-server tipa gde bi svi agenti kao klijenti moralida imaju usaglasene podatke.

Objekat Osoba ima osobinu rola koja pre svega izdvaja admin agenteod obicnih korisnickih - ideja je da admin agenti ,,pravom veta” uticu(odobravaju ili ne odobravaju izbor) na rad sistema, i onda bi pre svega biopotreban bar jedan admin agent da bi sistem radio (mada to trenutno nijeimplementirano ali se to moze jednostavno realizovati). Ocekuje se da takvi

Page 122: Machine Learning

Masinsko ucenje, inteligentni agenti 121

kontrolni agenti budu na serveru i da nemoraju biti interaktivni za razliku odkorisnickih - sledeca moguca dorada bi bila da takvi ili posebni agenti istimontologijama komuniciraju i cuvaju podatke (recimo JDBC ka HSQLDB iliMySQL bazi) na serveru, sto bi cinilo sistem perzistentnim i nakon njegovog,,gasenja”. Svaki proizvod mora imati bar atribut OCENA. Njegovu vrednostocenjujemo pomenutim modelom najblizih suseda pokretanjem upita, i prakticnoje ravnopravan u odnosu na bilo koji drugi atribut (model racunanja oceneto dopusta, ali bi se mogli neki atributi ponderisati kako je pomenuto).

Osnovna funkcionalnost ovakvog prototipa je:

• pokretanje JADE okruzenja i probnih korisnickih agenata

• GUI za unos proizvoda, atributa i njihovih vrednosti uz usaglasavanjeCFP (ContractNet) protokolom

• pridruzivanje dodatnog agenta i njegovog kontejnera uz usaglasavanjesa drugima (uz ReceiverBehaviour ponasanje) preko MTP

• postavljanje upita o oceni izabranog proizvoda

9.4.1 Pokretanje

Najosnovniji primer pokretanja bi bio dat sledecom 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 nacin bi bio pokretanjeposebnog glavnog kontejnera (okidac -gui oznacava pokretanje DF gui-a,primer je dat u runadmin.bat):

java -jar mustAgent.jar -gui admin:mustAgent.mustGui

nakon cega se pojavljuje login dijalog:

Page 123: Machine Learning

122 Seminarski rad

Posto se login ne koristi trenutno, dovoljno je pritisnuti enter (ili ok) ipojavljuje se instanca agenta sa njegovim gui-jem:

Nakon toga se moze pokrenuti poseban lokalni kontejner sa, recimo, dvaagenta koji se mogu nalaziti bilo gde na mrezi tako da se vidi platforma (uovom slucaju je ona na racunaru lap-zpopovic i default MTP portu 1099):

java jade.Boot -container -host localhost -port 1099

Pera:mustAgent.mustGui Mika:mustAgent.mustGui

uz prethodno podeseno okruzenje (za lokalno pokrenut kontejner), kako jenpr. 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

Page 124: Machine Learning

Masinsko ucenje, inteligentni agenti 123

Nakon toga se na izlazu konzole moze videti tok izvrsavanja JADE okruzenja(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 moguce recimo pokrenuti iz menija opciju kojom se pregledajuprijavljene osobe na platformi (,,Pogledaj registrovane osobe”):

Page 125: Machine Learning

124 Seminarski rad

Svaki gui trenutno koristi Timer objekat da bi povremeno od DF-a saznao zaulogovane osobe na platformi, a moguce je iz menija pokrenuti i prikljucivanjedrugih platformi. Okruzenje se spusta pravilno iz DF gui-a shutdown komandom:

Naravno, odatle je moguce gasiti i pojedine agente ili kontejnere.

9.4.2 Opis korisnickog interfejsa i primer unosa

Korisnicki interfejs prototipa omogucava pre svega unos proizvoda, atributai njihovih vrednosti, kao i odabir pojedinih vrednosti. Svaki proizvod iliatribut se unosi u odgovarajuce polje levo od dugmeta kojim se registruje.Pre registracije proizcoda ili atributa se moze upisati nekakav komentar uodgovarajuce polje. Nakon registracije proizvod (ili atribut) se distribuirasvim ulogovanim agentima i ako je prihvacen pojavljuje se u kombo listamakod svakog agenta. Moze se registrovati i postojeci atribut kod proizvodagde nije koriscen gde se automatski preuzimaju postojece vrednosti atributa.Unos vrednosti nudi mogucnost da se unese samo njena brojna vrednost, amoze se uneti i njen naziv. Odabirom naziva ili unete vrednosti iz liste (iliunosom i pritiskom na enter) biva odabrana vrednost prethodno izabranogatributa izabranog proizvoda. Na panelu je prisutno polje za prikaz poruka(postoji i dodatno polje na tabu ,,izlaz” gde se npr. dobijaju dodatne

Page 126: Machine Learning

Masinsko ucenje, inteligentni agenti 125

informacije ili poruke o greskama). Prostim zatvaranjem prozora se ne deaktiviraagent - u opstem slucaju gui nije neophodan za rad agenta.

Na primer, jedan od mogucih redosleda unosa bi bio: uneti proizvoljanproizvod u jednom od agenata, prijaviti ga, zatim uneti njegov atribut iprijaviti ga. Nakon toga u drugom agentu uneti za registrovan atributneku vrednost (recimo 2.0) i vrednost ocene unetog proizvoda (recimo 5.0tj. ,,neodredeno”) - postaviti upit (prvi ce 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 novihagenata se dobijaju slozenije ocene vrednosti, sto je i ocekivano (rastom brojainstanci skupa primera algoritam daje bolje rezultate).

9.4.3 Opis postavljanja upita

Postavljanje upita za izabrani proizvod racuna prema ranije opisanojformuli ocenu vrednosti tog atributa u odnosu na susede agenta u komese racuna. Rezultat se upisuje u polje za ispis poruka.

U samoj funkciji getOcena (gde se vrsi racunanje na osnovu upita) postojeparametri kojima se moze uticati na racunanje, ali na tezinske koeficijente semoze uticati i na druge nacine.

Page 127: Machine Learning

126 Seminarski rad

9.4.4 Ostale moguce dorade

Ovakav primer se moze dalje prosirivati i usmeravati konkretno za nekuspecificnu primenu. Model najblizeg suseda u ovom primeru predstavljaspecijalan slucaj konceptualizacije objekat-atribut-vrednost (O-A-V) gde proizvododgovara objektu, a razliciti agenti (korisnici) imaju razlicita uverenja kakobi se to moglo opisati logikom uverenja (ali se zakljucivanje ne vrsi logikomuverenja vec modifikovanim modelom najblizih suseda - uopstavanjem konceptualnogmodela ovog primera bi se u krajnjem slucaju stiglo do zakljucivanja logikomuverenja agenata). Medutim, logika uverenja predstavlja nepotrebno slozenmehanizam zakljucivanja u primeru gde se zakljucivanje svodi na racunanjepondera.

Pored toga, jedna od osnovnih ideja i prednosti distribuirane komunikacijenalik P2P i otvorene razmene podataka u razlicitom obliku cini ovakve sistemepreporucivanja konkurentnim u odnosu na klasicne. Iskoristavanjem punemoci ontoloski definisanog sadrzaja mogla bi se postici pretraga za najboljimproizvodom koji je slican nekom zadatom prema nekim kriterijumima. Mehanizamusaglasavanja CFP protokola nudi fleksibilnije scenarije cekanja (timeout), alibi se uz upotrebu admin agenata moglo postaviti sledece moguce poboljsanje:da se i osobe koje nisu interaktivno ulogovane ali su registrovane (bar jednomulogovane) izjasne u nekom zadatom roku o prihvatanju proizvoda ili atributa(trenutno nije tako jednostavnosti radi). Upotreba admin agenata predstavljaprimer nacina da se postigne kompromis izmedu P2P i server-klijent komunikacije(neka vrsta hibridne komunikacije, trenutni prototip to ne nudi ali se lakomoze prosiriti jer je za to predviden), cime bi se, primera radi, mogaopostici optimizovan mrezni saobracaj (prilikom upita sada se komunicirasa svim agentima umesto samo sa jednim od admin agenata), kao i ranijepomenute osobine (cuvanje ranije unetih vrednosti, dodatna autorizacijai mehanizam odobravanja prilikom usaglasavanja). Neka od uobicajenihtehnickih poboljsanja su i dodatni agenti specijalnih namena - agent zamonitoring rada sistema (npr. watch dog koji bi proveravao da li su agenti,,zivi” , posebno admin agenti, i po potrebi ih ozivaljava ili prebacuje splatforme na platformu radi performansi) i cistac reda poruka (GC - GarbageCollector agent, primer je dat GCAgent ponasanjem - ako je sistem dovoljnoslozen i ako se dosta ocekuje od cekanja u ponasanjima, moze se desiti dase mnoge poruke gomilaju i ostaju u redu poruka - ali pre svega za debugpotrebe, jer to ipak ne bi trebalo da bude ocekivan nacin rada sistema),

Page 128: Machine Learning

Masinsko ucenje, inteligentni agenti 127

agenti generisanja sadrzaja, i drugi.

9.4.5 Aplet

Tools Internet options Security Trusted Sites: file:\\lap-zpopovic\java\start.html

9.4.6 To-Do lista

Ukratko, u odnosu na sve pomenuto, razmatram dalje mogucnosti razvojaovakvog jednog sistema (jedan od krajnjih ciljeva jeste da se ovakav sistemostavi na web-u ,,online” i da na taj nacin zazivi kao nekakav eksperiment):

• korisniku bi mogao biti ponuden konkretan sadrzaj koji moze i sampodnositi ili bi se nalazio samo na admin agentima (serverima, npr.MIDI fajl koji se pamti u bazi CLIPS must.clp kao generatora sadrzajai atributa, ili koji podnosi korisnik)

• realizacija admin agenata sa pomenutim prednostima i nekom bazom(HSQLDB ili mySQL recimo), cime bi se omogucilo lakse praviljenjeskupova obucavanja i scenarija testiranja sistema (izmedu ostalog)

• autentifikacija (dorada logina) i prava pristupa JADE mehanizmom (imozda admin agentima)

• isprobavanje mogucnosti JADE platforme u vezi mobilnosti agenata iglavnih kontejnera (u smislu fail-over stabilnosti)

• integracija sa Weka paketom u cilju upotrebe algoritama klasifikacije(recimo J48, koji predstavlja varijantu C45 / ID3 - Weka ima otvorenJava API, a postoji i mogucnost upotrebe batch / ARFF)

Page 129: Machine Learning

128 Seminarski rad

• inkrementalno racunanje ocena vrednosti atributa za svaki registrovannovi proizvod ili atribut, kao i druge optimizacije racunanja (pitanje:kako bi se sistem ponasao s realno velikim brojem korisnika i proizvoda)

• dorada sistema tako da koristi HTTP(S) za MTP, pravljenje Web Startinstalacije ili applet-a sa parametrizovanom html stranicom kao nacinpokretanja lokalnog agenta

• pravljenje agenta za generisanje sadrzaja (pomenuti CLIPS kod ili npr.generisanje MIDI fajla na osnovu zvucnog zapisa ili pretrage na web-u)

• kategorije proizvoda, hijerarhija (kao i dorade samog gui-a)

Page 130: Machine Learning

Masinsko ucenje, inteligentni agenti 129

Knjige koriscene 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 ofArtificial Intelligence

[ZR] Predrag Janicic, Elena Djurovic, Angelina Ilic-Stepic, Jasmina Lazic,Mladen Nikolic, Goran Predovic, Vladan Radivojevic, Zbornikseminarskih radova

[TIS] Tehnologije inteligentnih sistema, Vladan Devedzic, 2004.

[IGP] Intelligent Agents for Data Mining and Information Retrieval, IdeaGroup Publishing, 2004.

[DMPMLTT] Data Mining, Practical Machine Learning Tools andTechniques, 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 FirstOntology, Natalya F. Noy and Deborah L. McGuinness, StanfordUniversity

[ICC] Integration Competency Center (An Implementation Methodology),John Schmidt, David Lyle, 2005.

Page 131: Machine Learning

130 Seminarski rad

[CEants] Distributed Asynchronous Algorithm for Cross-Entropy-BasedCombinatorial Optimization, Poul E. Heegaard, Otto Wittner, VictorF. Nicola, Bjarne Helvik

[MS] Data Mining with Microsoft(R) SQL Server TM 2000 TechnicalReference, Claude Seidman

[TB] Donald E. Knuth: The TeXbook

[PG] Predrag Janicic, Goran Nenadic: 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/