470 likes | 996 Views
Tema 5: EKSPERTNI SISTEMI, VE ŠTAČKE NEURONSKE MREŽE I SISTEMI ZA PODRŠKU ODLUČIVANJU. SISTEMI ZA PODRŠKU ODLUČIVANJU doc dr Vladislav Mi š kovic Fakultet za informatiku i menadžment 2009/2010. Tema 5 : Ekspertni sistemi, veštačke neuronske mreže i sistemi za podršku odlučivanju.
E N D
Tema 5:EKSPERTNI SISTEMI, VEŠTAČKE NEURONSKE MREŽE I SISTEMI ZA PODRŠKU ODLUČIVANJU SISTEMI ZA PODRŠKU ODLUČIVANJU doc dr Vladislav Miškovic Fakultet za informatiku i menadžment 2009/2010
Tema 5:Ekspertni sistemi, veštačke neuronske mreže i sistemi za podršku odlučivanju • Osnovni pojmovi veštačke inteligencije • Uvod u ekspertne sisteme • Mašinsko učenje i veštačke neuronske mreže • Alati za istraživanje znanja i razvoj ekspertnih sistema • Primeri ekspertnih sistema za podršku odlučivanju • Ekspertni sistemi na Webu
1. OSNOVNI POJMOVI VEŠTAČKE INTELIGENCIJE • Veštačka inteligencija • Mašinsko učenje • Znanje • Predstavljanje znanja • Zaključivanje • Ekspertni sistem
Veštačka inteligencija • Područje računarskih nauka, koje se bavi ponašanjem računara koje se, kada ga izvršava ljudsko biće, naziva inteligentnim • Primer: • šahovski program Deep Blue je 1997. godine pobedio svetskog šampiona Garija Kasparova • igranje šaha je igra koja zahteva inteligenciju • Turingov test
Obeležja inteligentnog ponašanja • Učenje ili razumevanje na osnovu iskustva • Shvatanje dvosmislenih ili kontradiktornih poruka • Brzo i uspešno regovanje u novim situacijama • Korišćenje zaključivanja u rešavanju problema i • Snalaženje u nepredvidivim situacijama • Razumevanje i zaključivanje na običan, racionalan način • Upotreba znanja za manipulisanje okruženjem • Mišljenje i rezonovanje • Prepoznavanje relativne važnosti različitih elemenata neke situacije
Mašinsko učenje • proces u kome sistem poboljšava svoje performanse na datom zadatku bez dodatnog programiranja [Hart,1989] • Induktivno učenje • učenje na osnovu primera (learning by examples) i • učenje posmatranjem i samostalnim otkrivanjem (learning by observation and discovery) • Induktivno učenje koncepata • indukcija logičkih zakonitosti koje zadovoljavaju "princip razumljivosti" (principle of comprehensibility)
Znanje • Znanje • Kontekstno zavisna, relevantna i delatna informacija • Razumljivost znanja • Najviši stepen razumljivosti omogućava korišćenje naučenog znanja bez pomoći računara
Predstavljanje znanja • eksplicitno znanje • objektivno, racionalno, tehničko, lako se formalizuje • predstavlja se matematičkom logikom, produkcionim pravilima, frejmovima i sl. • implicitno (distribuirano) znanje, teško se formalizuje • subjektivno, empirijsko, teško se formalizuje • npr. predstavljeno u obliku neuronskih mreža • predstavljanje znanja • deklarativno (opisno) • proceduralno • metaznanje
Zaključivanje • Zaključivanje (inference) može biti • induktivno (od pojedinačnog ka opštem) • deduktivno (od opšteg ka pojedinačnom) • abduktivno (od konkretnog ka konkretnom) • Primer abdukcije: if a & b if pijan(x) & not hoda-pravo(x) b not hoda-pravo(Petar) apijan(Petar) • Zaključivanje u uslovima neizvesnosti - verovatnost i statistika • Postoje različite forme zaključivanja (logike)
Zaključivanje i teorija verovatnoće: Bayesova formula • u kontekstu ekspertnih sistema, tražimo verovatnoću nekog oboljenja d na osnovu simptoma s P(d|s)= P(d)·P(s|d) / P(s) • aproksimacija verovatnoća relativnim frekvencijama • oboljenja imaju više simptoma P(d|s1&..&sn) = P(d) · P(s1&..&sn|d) / P(s1&..&sn) • pretpostavlja se međusobna nezavisnost simptoma P(si|sj)= P(si) i P(si|sj&d)= P(si |d) • tada je verovatnoća dijagnoze P(d|s1&..&sn)= P(d) · (P(s1|d) · .. · P(sn|d)) / (P(s1) · .. · P(sn))
Ekspertni sistem • Ekspert • osoba koja poseduje specijalističko znanje, iskustvo i rasuđivanje • Ekspertiza • specifično znanje eksperata, stečeno na osnovu učenja, obuke i prakse • Ekspertni sistem • računarski zasnovan sistem koji je namenjen rešavanju problema za koje je potrebno ekspertsko znanje
2. UVOD U EKSPERTNE SISTEME • Nastanak ekspertnih sistema • Struktura ekspertnih sistema • Vrste ekspertnih sistema • Alati za razvoj ekspertnih sistema
3.1 Nastanak ekspertnih sistema • Prvi uspešni ekspertni sistemi • DENDRAL - ekspertni sistem (Stanford,1965) • pomoć u identifikaciji molekula u organskoj hemiji na osnovu masenih spektrograma • MYCIN - dijagnostički ekspertni sistem (Stanford,1970) • dijagnostika bakterijskih infekcija i propisivanje doza antibiotske terapije • oko 600 pravila, oko 69% ispravnih terapija (prevazišao uspešnost lekara) • prerastao u ljusku KEE i sistem CADUCEUS
3.2 Struktura ekspertnih sistema • baza znanja (knowledge base) • mehanizam zaključivanja (inference engine) • korisnički interfejs • pomoćni podsistemi • sistem za prikupljanje znanja (knowlege acquisition) • sistem za objašnjenja • sistem za poboljšanje baze znanja • radni prostor (workplace)
Baza znanja • Najčešći način predstavljanja znanja u bazi znanja su produkciona pravila IF uslov THEN zaključak • razumljivo ljudima • jednostavno dodavanje novih pravila • omogućeno predstavljanje neizvesnostii probabilističko zaključivanje • Logički izrazi • Semantičke mreže
Mehanizam zaključivanja • Zaključivanje unapred (forward chaining) • traži se odgovarajući uslov pravila(uslov), koji odgovara činjenicama • na osnovu zadovoljenja svih uslova, bira se dalji put zaključivanja • Zaključivanje unazad (backward chaining) • počinje se od zaključka i pretpostavlja istinitost • identifikuju se svi uslovi i testira njihova istinitost • ako su svi uslovi istiniti, prihvata se istinitost zaključka, inače se zaključak odbacuje
Rule 1: IF namena=obrada teksta AND način upotrebe=na putovanju THEN težina=lagan Rule 2: IF namena=obrada teksta AND način upotrebe=u kancelariji THEN težina=nije bitna Rule 3: IF budžet<=2000 AND budžet>1000 AND težina=lagan THEN model=Dell Lattitude X1 Rule 4: IF budžet<1000 AND težina=nije bitna THEN model=Toshiba Satellite A10 Primer: baza znanja za pomoć pri kupovini notebook računara
Zaključivanje unapred (1-2-3-4) Osnovna namena? obrada teksta komunikacije multimedija Odgovor: 1 Način upotrebe? u kancelariji na putovanju Odgovor: 2 Koliki je budžet? <1000 1000..2000 >2000 Odgovor: 2 Sistem preporučuje Dell Lattitude X1 Obrazloženje: lagan, pogodan za obradu teksta i putovanja, zadovoljava budžet Zaključivanje unazad (npr. od 3) Koliki je budžet? <1000 1000..2000 >2000 Odgovor: 2 Osnovna namena? obrada teksta komunikacije multimedija Odgovor: 1 Način upotrebe? u kancelariji na putovanju Odgovor: 2 Sistem preporučuje Dell Lattitude X1 Obrazloženje: lagan, pogodan za obradu teksta i putovanja, zadovoljava budžet Primer: dva mehanizma zaključivanja
Ilustracija: agoritam zaključivanja bayesian bayesian(s) { for each di Pcurr(di)= P(di); repeat sj= s[1]; s= s\{s[1]}; for each di Pcur(di)= Pcur(di)*I(di|sj); untilsj={}; List top N diseas by Pcur } Napomena: si su simtomi, di dijagnoze, P(d|s1&..&sn)= P(d)·Пi=1..nP(si|d), I(d|s)=P(s|d)/P(s)
3.3 Vrste ekspertnihsistema • Ekspertni sistemi zasnovani na pravilima (rule-based) • Ekspertni sistemi zasnovani na okvirima (frames) • Hibridni ekspertni sistemi • više načina predstavljanja znanja istovremeno • Ekspertni sistemi zasnovani na modelima (model-based) • koriste se modeli za simulaciju strukture i funkcionisanja sistema • Ekspertni sistemi opšte namene (off-the-shelf) • sistemi opšte namene • Ekspertni sistemi sistemi posebne namene (custom-made) • izrađeni prema posebnim zahtevima krajnjih korisnika • Ekspertni sistemi u realnom vremenu (real-time) • stroga ograničenja vremena odziva sistema
3.4 Alati za razvoj ekspertnih sistema • programski jezici opšte namene • C++, Prolog, LISP • ljuske ekspertnih sistema • Exsys CORVID, CLIPS, JESS, e2go • gotova rešenja za određene primene • osiguranje, medicina, planiranje (Haley, ILOG, LPAVisiRule)
4. MAŠINSKO UČENJE I VEŠTAČKE NEURONSKE MREŽE • Pojam mašinskog učenja • Mašinsko učenje klasifikacija • Neuronske mreže • Mašinsko učenje razumljivog znanja • Primena mašinskog učenja u otkrivanju znanja i razvoju ekspertnih sistema
Pojam mašinskog učenja (machine learning) • definicije • proces u kome sistem poboljšava svoje performanse na datom zadatku bez dodatnog programiranja [Hart,1989] • skup procesa, gde spadaju: prikupljanje novog deklarativnog znanja, razvoj i usavršavanje motornih i saznajnih sposobnosti kroz praksu, strukturisanje postojećeg znanja i otkrivanje novih činjenica i teorija posmatranjem i aktivnim eksperimentisanjem [Michalsky,1983] • ustanovljavanje zavisnosti u raspoloživim podacima [Cherkassky,2007]
Forme mašinskog učenja Učenje se može posmatrati kroz dve osnovne forme: • prikupljanje znanja (knowledge acquisition), koje predstavlja učenje nove, simboličke informacije, tako da se ona može efektivno primeniti • tako čovek uči teorijska znanja, npr. fiziku • uvežbavanje (training), koje obuhvata poboljšavanje nekog stečenog znanja, mentalne ili motorne koordinacije, kroz praktično ponavljanje i korekciju odstupanja od željenog ponašanja • tako čovek uči različite veštine - vožnju bicikla ili sviranje na klaviru, pri čemu prvu fazu učenja predstavlja prikupljanje znanja Smatra se da je učenje kod čoveka mešavina obeju formi, s tim da mentalne aktivnosti potenciraju prvu, a motorne aktivnosti u većoj meri drugu formu učenja
Forme mašinskog učenja prema strategiji učenja • učenje memorisanjem (rote learning) • nema zaključivanja ni transformacije (programiranje, baze podataka) • učenje na osnovu rečenog (learning by being told) • transformacija u internu formu predstavljanja i integracija sa postojećim znanjem, koje sistem upotrebljava bez dodatnog programiranja • učenje po analogiji (learning by analogy) • veći obim zaključivanja - novo znanje se stiče transformacijom i proširivanjem postojećeg znanja u takav obliku da se može upotrebiti za rešavanje novih problema, koji su u određenoj meri slični već rešenim • učenje na osnovu primera (learning by examples) učenje s učiteljem • zahteva induktivno zaključivanje - generalizacija rešenih primera i kontraprimera neke klase pojava (pojma, koncepta) • učenje posmatranjem i samostalnim otkrivanjem (learning by observation and discovery), učenje bez učitelja • naviše zaključivanja - sistem samostalno da otkriva nove i značajne klase objekata (pojmove, koncepte), postavlja i proverava hipoteze, stvara teorije
Induktivno mašinsko učenje • obuhvata • učenje na osnovu primera (učenje s učiteljem, supervised learning) • učenje posmatranjem i samostalnim otkrivanjem (učenje bez učitelja, unsupervised learning) • Učenje na osnovu primera • analizom i generalizacijom rešenih primera i kontraprimera neke klase pojava (pojma, koncepta), dolazi se do pravila, teorije ili opisa, koji objašnjava (gotovo) sve primere i (gotovo) nijedan kontraprimer • primeri su obično vektori vrednosti atributa • znanje može biti približno (aproksimativno), u obliku stabala, pravila, neuronskih mreža, ...
Indukcija i induktivno zaključivanje • Indukcija predstavlja izvođenje opštih zakonitosti na osnovu uvida u konkretne pojave, odnosno slučajeve • Važan element ljudskog mišljenja, ali i naučnog metoda, procesa kojim se dolazi do naučnih saznanja o određenim pojavama • Naučni metod se sastoji od prikupljanja podataka putem posmatranja i eksperimentisanja, formulisanja pretpostavki ili hipoteza, te njihove provere u praksi putem eksperimenata • Istinitost induktivnih tvrdnji se ne može formalno dokazati • Još je Aristotel razlikovao aproksimativno i egzaktno zaključivanje i razdvojio abduktivno, deduktivno i induktivno zaključivanje, kao i složene forme zaključivanja kao što je analogija
Mašinsko učenje klasifikacija • Induktivno učenje pravila klasifikacije (razvrstavanja) objekata u klase • objekti mogu biti problemi odlučivanja (npr. podaci o novim ili ranijim pacijentima) • klase mogu biti odluke (npr. dijagnoze) • Induktivno učenje koncepata • indukcija logičkih zakonitosti koje zadovoljavaju "princip razumljivosti" (principle of comprehensibility)
Primeri primene • učenje dijagnostičkih pravila na osnovu genskih ekspresija • prepoznavanje ljudskih fizionomija • pretraživanje/analiza teksta (Web) • struktura molekula if D26018_at > 40 then ... if D26129_at < 16.4 then .. ...
Veštačke neuronske mreže(detalji na predmetu VI) • ideja - nervni sistem • struktura - višeslojna mreža veštačkih neurona, s težinama • algoritam učenja • primena
Mašinsko učenje razumljivog znanja • učenje logičkih zakonitosti koje treba da budu razumljive čoveku • stepeni razumljivosti • korišćenje uz pomoć računara • korišćenje uz pomoć računara s obrazlaganjem odluka (objašnjenjima) • korišćenje naučenog znanja bez pomoći računara (npr. objavljivanje naučenog znanja kao naučnog rezultata)
5. ALATI ZA ISTRAŽIVANJE ZNANJA I RAZVOJ ES • programski jezici opšte namene • ljuske ekspertnih sistema • sistemi za otkrivanje znanja • gotova rešenja za određene primene
Programski jezici opšte namene • algoritamski • C/C++ • funkcionalni • LISP • logičko programiranje • PROLOG • (defun factorial (N) • (if (= N 1) 1 • (* N (factorial (- N 1))))) factorial(0,1). factorial(N,F) :- N>0, N1 is N-1, factorial(N1,F1), F is N * F1.
Sistemi za otkrivanje znanja • samostalni integrisani alati (data mining) • WEKA (open source) • Knowledge Miner (komercijalni) • IBM Intelligent Miner (komercijalni) • samostalni algoritmi učenja • CART (stabla odlučivanja) • delovi sistema poslovne inteligencije (BI) - učenje stabala odlučivanja, neuronskih mreža i modela nosećih vektora • ORACLE • IBM • MICROSOFT
Primer: WEKA • open-source (Java) • veliki broj metoda • učenje klasifikacija • predviđanje kontinualnih vrednosti (regresija) • učenje otkrivanjem (grupisanje) • analiza asocojacija • vizualizacija
Primer: WEKA • primer učenja pravila i stabala odlučivanja • analiza glasanja u američkom kongresu
Ljuske ekspertnih sistema • ekspertni sistemi bez baze znanja • baza znanja se razvija za konkretno područje postupkom prikupljanja ili izvlačenja znanja (knowledge acquisition, knowledge elicitation) • primeri: • EMYCIN (empty MYCIN) • Exsys CORVID • e2g • ...
6. PRIMERI EKSP. SISTEMA ZA PODRŠKU ODLUČIVANJU • oblasti primene • primeri primene
Oblasti primene • Interpretacija - opis nastale situacije • Predviđanje - predviđanje posledica situacije • Dijagnostika - na osnovu posmatranja stanja • Projektovanje - uz poštovanje ograničenja • Planiranje - usklađenost s ciljevima • Nadzor - otkrivanje odstupanja/neispravnosti • Opravke - upravljanje otklanjanjem neispravnosti • Učenje - pomoć studentima • Upravljanje - funkcionisanjem sistema
Primeri • dijagnostika u medicini • Medical Expert http://www.med-expert.net/ • nadzor berzi-sprečavanje zloupotreba • SONAR - Securities Observation, News Analysis, and Regulation • dijagnostika složenih tehničkih sistema
7. EKSPERTNI SISTEMI NA WEBU • upotreba ES posredstvom Web-a • Exsys www.exsys.com (inteligentni Web baner, banner with brains) • e2go - www.expertise2go.com (demonnstracije) • upotreba ES za funkcionisanje Web-a
Primeri sistema • e2go - www.expertise2go.com • XpertRule www.xpertrule.com • Corvid www.exsys.com • WEKA www.weka.com • Knowledge Miner http://www.knowledgeminer.com • CART http://salford-systems.com/ • http://www.kdnuggets.com/software/
Literatura • Nastavni materijali (prezentacije i uputstva) • Turban E., Aronson J.E., Liang T., Sharda R., Decision Support and Business Intelligence Systems, 8th Ed, Pearson Education,Inc, 2007 (poglavlje 12) • Hart, A.,"Machine induction as a form of knowledge acquisition in knowledge engineering", in Forsyth, R. (ed), Machine Learning: Principles and techniques, Chapman and Hall, London, 1989. • Charniak E., McDermott D., Introduction to Artificial Intelligence, Reading: Addison-Wesley, 1985.
SISTEMI ZA PODRŠKU ODLUČIVANJUTema 5:Ekspertni sistemi, veštačke neuronske mreže i sistemi za podršku odlučivanju KRAJ