Upload
elisa
View
126
Download
1
Embed Size (px)
DESCRIPTION
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. - PowerPoint PPT Presentation
Citation preview
Tema 5: EKSPERTNI SISTEMI, VEŠTAČKE NEURONSKE MREŽE I
SISTEMI ZA PODRŠKU ODLUČIVANJU
SISTEMI ZA PODRŠKU ODLUČIVANJUdoc 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
1. Osnovni pojmovi veštačke inteligencije2. Uvod u ekspertne sisteme3. Mašinsko učenje i veštačke neuronske mreže4. Alati za istraživanje znanja i razvoj ekspertnih
sistema5. Primeri ekspertnih sistema za podršku
odlučivanju6. 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)a pijan(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 simptomaP(si|sj)= P(si) i P(si|sj&d)= P(si |d)
– tada je verovatnoća dijagnozeP(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
1. Nastanak ekspertnih sistema
2. Struktura ekspertnih sistema
3. Vrste ekspertnih sistema
4. 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
1.baza znanja (knowledge base)
2.mehanizam zaključivanja (inference engine)
3.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 pravilaIF uslov THEN zaključak– razumljivo ljudima– jednostavno dodavanje novih pravila– omogućeno predstavljanje neizvesnosti i
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
Primer: baza znanja za pomoć pri kupovini notebook računara
• 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: dva mehanizma zaključivanja
• Zaključivanje unapred (1-2-3-4)– Osnovna namena?
1.obrada teksta2.komunikacije3.multimedija
Odgovor: 1– Način upotrebe?
1.u kancelariji2.na putovanju
Odgovor: 2– Koliki je budžet?
1.<10002.1000..20003.>2000
Odgovor: 2Sistem preporučuje Dell Lattitude X1Obrazloženje: lagan, pogodan za
obradu teksta i putovanja, zadovoljava budžet
• Zaključivanje unazad (npr. od 3)– Koliki je budžet?
1. <10002. 1000..20003. >2000
Odgovor: 2– Osnovna namena?
1. obrada teksta2. komunikacije3. multimedija
Odgovor: 1– Način upotrebe?
1. u kancelariji2. na putovanju
Odgovor: 2Sistem preporučuje Dell Lattitude X1Obrazloženje: lagan, pogodan za
obradu teksta i putovanja, zadovoljava budžet
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);
until sj={};
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 ekspertnih sistema
• 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,
LPA VisiRule)
4. MAŠINSKO UČENJE I VEŠTAČKE NEURONSKE MREŽE 1. Pojam mašinskog učenja
2. Mašinsko učenje klasifikacija
3. Neuronske mreže
4. Mašinsko učenje razumljivog znanja
5. 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
1. učenje memorisanjem (rote learning)– nema zaključivanja ni transformacije (programiranje, baze podataka)
2. 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 programiranja3. 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
4. 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)5. 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 razumljivosti1. korišćenje uz pomoć računara
2. korišćenje uz pomoć računara s obrazlaganjem odluka (objašnjenjima)
3. 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
factorial(0,1). factorial(N,F) :- N>0, N1 is N-1, factorial(N1,F1), F is N * F1.
(defun factorial (N) (if (= N 1) 1 (* N (factorial (- N 1)))))
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
1. Nastavni materijali (prezentacije i uputstva)2. Turban E., Aronson J.E., Liang T., Sharda R., Decision
Support and Business Intelligence Systems, 8th Ed, Pearson Education,Inc, 2007 (poglavlje 12)
3. 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.
4. Charniak E., McDermott D., Introduction to Artificial Intelligence, Reading: Addison-Wesley, 1985.
SISTEMI ZA PODRŠKU ODLUČIVANJU
Tema 5: Ekspertni sistemi, veštačke neuronske mreže i sistemi za podršku odlučivanju
KRAJ