11/13/017 Planiranje in razporejanje opravil OSNOVE UMETNE INTELIGENCE do sedaj (klasično planiranje): kaj narediti in v kakšnem vrstnem redu pristopi: planiranje kot preiskovanje prostora stanj planiranje z regresiranjem ciljev skozi akcije v realnosti imamo številne dodatne omejitve: časovne omejitve (začetki aktivnosti, trajanja aktivnosti, roki zaključkov) resursi (omejeno število procesorjev, kadra, bencina, denarja, surovin, ) razporejanje opravil strojno učenje odločitvena drevesa delno urejen plan: vrstni red podmnožice aktivnosti je lahko urejen razširimo lahko notacijo (PDDL): Akcija1 Akcija: pomeni, da se mora Akcija1 zgoditi pred Akcijo Resources podaja števila razpoložljivih resursov DURATION opredeljuje trajanje posamezne akcije CONSUME opredeljuje (trajno) porabo določene količine resursov USE opredeljuje (začasno) zasedenost količine resursov med izvajanjem akcije za začetek: samo časovne omejitve metoda kritične poti kritična pot: pot, ki je najdaljša in določa dolžino trajanja celotnega plana (krajšanje vzporednih poti ne vpliva na trajanje plana) vsaki akciji priredimo par [ES, LS]: ES najbolj zgodnji možen začetek (angl Earliest Start) LS najbolj pozen možen zaključek (angl Latest Start) Jobs (AddEngine1 Addheels1 Inspect1, AddEngine Addheels Inspect ) Resources (Engineoists(1), heelstations(1), Inspectors(), LugNuts(500)) Action (AddEngine1, DURATION:30, USE:Engineoists(1)) Action (AddEngine, DURATION:60, USE:Engineoists(1)) Action (Addheels1, DURATION:30, CONSUME:LugNuts(0), USE:heelStations(1)) Action (Addheels, DURATION:15, CONSUME:LugNuts(0), USE:heelStations(1)) Action (Inspect i, DURATION:10, USE:Inspectors (1)) ES(Start) = 0 ES B = max ES(A) Duration A A B LS(Finish) = ES(Finish) LS A = min LS B Duration A B A rezerva slack = LS ES dodatno: upoštevanje tudi resursov uvede omejitev, da se aktivnosti, ki potrebujeta iste resurse, ne smeta prekrivati izračun LS izračun ES optimalna rešitev časovna zahtevnost algoritma: O(Nb), N število akcij, b faktor vejanja sprememba časovne zahtevnosti: O(Nb) NP-težek problem (!) primer izziv iz leta 1963 nerešen 3 let: resursi: 10 strojev, 10 nalog, 100 akcij preizkušene metode: simulirano ohlajanje, tabu search, razveji in omeji, primerna hevristika: algoritem najmanjše časovne rezerve (angl minimum slack algorithm) na vsaki iteraciji izberi akcijo, ki ima izpolnjene vse predhodnike in ima najmanj časovne rezerve, nato posodobi [ES in LS] za celotni graf in ponovi 1
11/13/017 Pregled Diskusija: Kakšen je rezultat simulacije algoritma najmanjše časovne rezerve na obravnavanem problemu? Ali je rešitev enaka optimalni? Zakaj? Kako upoštevati omejitve v zaporedju akcij pri pristopih za planiranje? Kako upoštevati omejitve v omejenem številu resursov? planiranje planiranje s "klasičnim" preiskovanjem prostora stanj planiranje z regresiranjem ciljev razporejanje opravil strojno učenje uvod v strojno učenje učenje odločitvenih dreves Strojno učenje Vrste učenja angl machine learning inteligentni agent se uči, če z opazovanjem okolja (z "izkušnjami") postaja bolj učinkovit pri prihodnjih nalogah zakaj narediti učečega se agenta in ne ga takojnaučiti vsega? razvijalci programske opreme ne morejo predvideti vseh možnih situacij (različne problemske situacije), razvijalci ne morejo predvideti sprememb okolja skozi čas (prilagodljivost), razvijalci ne znajo sprogramirati agenta z znanjem (npr razpoznava obrazov?) ocena uspešnosti povratna informacija uspešnost učenje učni cilji spremembe znanje odločanje induktivno učenje: učenje, pri katerem iščemo posplošeno funkcijo, ki opisuje množice vhodnih podatkov (učenje iz primerov) učni primeri, atributi, ciljna spremenljivka učenje z odkrivanjem (learning by discovery): agent izvaja poskuse, zbira podatke, formulira problem, posplošuje podatke nadzorovano učenje (angl supervised learning): učni primeri so podani kot vrednosti vhodov in izhodov (učni primeri so označeni); učimo se funkcije, ki preslika vhode v izhode (npr odločitveno drevo) nenadzorovano učenje (angl unsupervised learning): učni primeri niso označeni (nimajo ciljne spremenljivke); učimo se vzorcev v podatkih (npr gručenje) vzpodbujevano učenje (angl reinforcement learning): inteligentni agent se uči iz zaporedja nagrad in kazni problemske situacije akcije Primeri Nadzorovano učenje nadzorovano učenje: podana: množica učnih primerov x 1, y 1, x, y,, (x N, y N), kjer je vsak y j vrednost neznane funkcije y = f x naloga: najdi funkcijo h, ki je najboljši približek funkciji f x j so atributi (vrednost ali vektor) funkcijo h imenujemo hipoteza nenadzorovano učenje: primeri hipotez skozi dve množici točk: vzpodbujevano učenje:
11/13/017 Atributna predstavitev podatkov učna množica: čakanje na prosto mesto v restavraciji ciljna spremenljivka: čakamo (T) ali ne čakamo (F) razpoznavanje užitnih gob atributa (x): (width) in (height) razred (y): strupena (-), užitna () IF > and <4 and < TEN "edible" ELSE "poisonous" ali pa prostor hipotez vsebuje več hipotez vse prikazane hipoteze so konsistentne z učno množico dobra hipoteza je dovolj splošna (general), kar pomeni, da pravilno napoveduje vrednost y za nove (še nevidene) primere IF > TEN "poisonous" ELSE IF > 6 TEN "poisonous" ELSE "edible" IF < 3 (-3) ELSE "poisonous" TEN "edible" kam klasificirati ta primer? (glede na 1 in je -, glede na 3 je )?? kako izbrati primerno hipotezo? Princip Ockhamove britve (Ockham s razor) (illiam o Ockham, 130, angleški filozof): prava hipoteza je najbolj preprosta hipoteza Entities should not be multiplied unnecessarily Given two explanations of the data, all other things being equal, the simpler explanation is preferrable Primer Vrste problemov podoben problem je tudi pri drugačnih primerih (iskanje funkcije, ki opisuje podane točke) klasifikacija in regresija klasifikacija: y pripada končnem naboru vrednosti (je diskretna spremenljivka) npr y {užitna, strupena}, y {sonce, oblačno, dež}, y {zdrav, bolan} y imenujemo razred (angl class) napovedovanje vremena iz podatkov prejšnjih let diagnosticiranje novih pacientov na osnovi znanih diagnoz za stare paciente klasifikacija neželene elektronske pošte napovedovanje vračila kredita drevo, zgrajeno iz 139 učnih primerov; višja klasifikacijska točnost kot zdravniška 3
11/13/017 Vrste problemov Prostor hipotez regresija: y je število (običajno y R, je zvezna spremenljivka) npr y je temperatura, y imenujemo označba (angl label) napovedovanje razmnoževanja alg medicinska diagnostika napovedovanje vremena napovedovanje koncentracije ozona napovedovanje gibanja cen delnic denimo, da imamo binarno klasifikacijo n binarnih atributov sledi: n različnih učnih primerov n hipotez (denimo, da lahko hipotezo opišemo s tabelo napovedi za vse primere) primer: za 10 atributov izbiramo med 10 308 možnimi hipotezami za 0 atirbutov izbiramo med 10 300000 možnimi hipotezami v resnici: hipotez je že več, izračunavajo lahko isto funkcijo potrebujemo: zavedanje o pristranosti hipotez algoritme za gradnjo "dobrih" hipotez metode za ocenjevanje hipotez / ocenjevanje učenja zakonitosti razmnoževanja alg Evalviranje hipotez Pregled pomembni kriteriji: konsistentnost hipotez s primeri razumljivost (interpretability, comprehensibility) hipotez točnost hipotez: točnost na učnih podatkih? (pristranost hipotez?) točnost na novih podatkih? točnost na testnih podatkih? ocenjevanje uspešnosti pri klasifikaciji: planiranje planiranje s "klasičnim" preiskovanjem prostora stanj planiranje z regresiranjem ciljev razporejanje opravil FP TN FN TP FN FP TP pravilno pozitivno klasificirani primeri (angl true positive) TN pravilno negativno klasificirani primeri (angl true negative) FP napačno pozitivno klasificirani primeri (angl false positive) FN napačno negativno klasificirani primeri (angl false negative) klasifikacijska točnost (angl classification accuracy): TP TN TP TN CA = = TP TN FP FN N pravi (ciljni, neznani) pojem naučena hipoteza strojno učenje uvod v strojno učenje učenje odločitvenih dreves Odločitveno drevo Gradnja odločitvenega drevesa ponazarja relacijo med vhodnimi vrednostmi (atributi) in odločitvijo (ciljna spremenljivka razred ali označba) notranja vozlišča: test glede na vrednost posameznega atributa listi: odločitev (vrednost ciljne spremenljivke) pot: konjunkcija pogojev v notranjih vozliščih na poti, ki vodi do lista poseben primer: binarna klasifikacija (razred ima dve možni vrednosti (npr pozitivni/negativni, strupen/užiten itd) cilj: zgradi čim manjše drevo, ki je konsistentno z učnimi podatki prostor iskanja: kombinatoričen, vsa možna drevesa (neučinkovito!) hevristični požrešni algoritem s strategijo razveji in omeji: izberi najbolj pomemben atribut tisti, ki najbolj odločilno vpliva na klasifikacijo primera in razdeli primere v poddrevesa glede na njegove vrednosti, rekurzivno ponovi za poddrevesa, če vsi elementi v listu pripadajo istemu razredu ali vozlišča ni možno deliti naprej (ni razpoložljivih atributov), ustavi gradnjo imenovano tudi Top Down Induction of Decision Trees (TDIDT) primeri implementacij: ID3, CART, Assistant, C45, C5, M5, atribut A A=V1 A=V poddrevo poddrevo T1 T 4
11/13/017 Izbor najbolj pomembnega atributa najboljši atribut je tisti, ki razdeli učno množico v najbolj "čiste" podmnožice (glede na razred) uporabimo lahko mero entropije mera nečistoče oz mera nedoločenosti naključne spremenljivke (Shannon in eaver, 1949) enota: količina informacije v bitih, ki jo pridobimo met kovanca: 1 bit informacije poskus s štirimi enako verjetnimi možnimi izidi: bita informacije poskus z dvema izidoma, od katerih je eden 99%: ~0 bitov informacije = p k log p k k dejansko nas zanima znižanje entropije (nedoločenosti) ob delitvi učne množice glede na vrednosti atributa A primer: entropija za dvorazredni problem glede na verjetnost prvega razreda Informacijski prispevek znižanje entropije ob delitvi učne množice glede na vrednosti atributa A atribut A informacijski prispevek: Gain = I I res V1 učna množica V v v vrednost atributa, c razred V3 I res = p v p c v log p c v c informacija (entropija) I rezidualna informacija (entropija) I res najbolj informativni atribut maksimizira informacijski prispevek (minimizira I res) alternativne mere: druge informacijske mere, Gini indeks, ocene verjetnosti itd Izbor najbolj pomembnega atributa Primer naučeno odločitveno drevo (levo) je krajše od ročno zgrajenega drevesa (desno) slab atribut (slabo loči pozitivne in negativne primere) dober atribut (glej vrednosti None in Some) znižanje entropije ob delitvi učne množice glede na vrednosti atributa A Gain = I I res I = p T log p T p F log p F = 6 1 log 6 1 6 1 log 6 1 = log 1 = 1 I res Type = 1 1 log 1 1 log 1 1 1 log 1 1 log 1 4 1 4 log 4 4 log 4 4 1 4 log I res Patrons = 1 0 4 1 0 6 1 6 log 6 4 6 log 4 6 0,46 Gain Type = 1 1 = 0 Gain Patrons = 1 0,46 = 0,54 4 4 log 4 = 1 obe drevesi sta konsistentni s primeri v zgrajenem drevesu ne nastopajo vsi atributi (npr Raining in Reservation), zakaj? Učenje dreves, rezanje, šumni podatki 5