4
15. 11. 2017 1 OSNOVE UMETNE INTELIGENCE razporejanje opravil strojno učenje Planiranje in razporejanje opravil do sedaj (klasično planiranje): kaj narediti in v kakšnem vrstnem redu pristopi: planiranje kot preiskovanje prostora stanj planiranje s sredstvi in cilji 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 delno urejen plan: vrstni red podmnožice aktivnosti je lahko urejen razširimo lahko notacijo (PDDL): Akcija1 Akcija2: pomeni, da se mora Akcija1 zgoditi pred Akcijo2 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 Jobs (AddEngine1 AddWheels1 Inspect1, AddEngine2 AddWheels2 Inspect2 ) Resources (EngineHoists(1), WheelStations(1), Inspectors(2), LugNuts(500)) Action (AddEngine1 , DURATION:30, USE:EngineHoists(1)) Action (AddEngine2 , DURATION:60, USE:EngineHoists(1)) Action (AddWheels1 , DURATION:30, CONSUME:LugNuts(20), USE:WheelStations(1)) Action (AddWheels2 , DURATION:15, CONSUME:LugNuts(20), USE:WheelStations(1)) Action (Inspect i, DURATION:10, USE:Inspectors (1)) Razporejanje opravil 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 začetek (angl. Latest Start) Razporejanje opravil () = 0 = max () + (ℎ) = (ℎ) = min = izračun LS izračun ES časovna zahtevnost algoritma: (), – število akcij, faktor vejanja Razporejanje opravil dodatno: upoštevanje tudi resursov uvede omejitev, da se aktivnosti, ki potrebujeta iste resurse, ne smeta prekrivati sprememba časovne zahtevnosti: () NP-težek problem (!) primer izziv iz leta 1963 nerešen 23 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. optimalna rešitev

OSNOVE UMETNE INTELIGENCE - ucilnica.fri.uni-lj.si · • strojno učenje • uvod v strojno učenje Strojno učenje • angl. machine learning • inteligentni agent se uči, če

  • Upload
    others

  • View
    16

  • Download
    0

Embed Size (px)

Citation preview

15. 11. 2017

1

OSNOVE UMETNE

INTELIGENCE

razporejanje opravil

strojno učenje

Planiranje in razporejanje opravil

• do sedaj (klasično planiranje): kaj narediti in v kakšnem vrstnem redu

• pristopi:

• planiranje kot preiskovanje prostora stanj

• planiranje s sredstvi in cilji

• 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

• delno urejen plan: vrstni red podmnožice aktivnosti je lahko urejen

• razširimo lahko notacijo (PDDL):

• Akcija1 ≺ Akcija2: pomeni, da se mora Akcija1 zgoditi pred Akcijo2

• 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

Jobs (AddEngine1 ≺ AddWheels1 ≺ Inspect1, AddEngine2 ≺ AddWheels2 ≺ Inspect2 )

Resources (EngineHoists(1), WheelStations(1), Inspectors(2), LugNuts(500))

Action (AddEngine1 , DURATION:30,USE:EngineHoists(1))

Action (AddEngine2 , DURATION:60,USE:EngineHoists(1))

Action (AddWheels1 , DURATION:30,CONSUME:LugNuts(20), USE:WheelStations(1))

Action (AddWheels2 , DURATION:15,CONSUME:LugNuts(20), USE:WheelStations(1))

Action (Inspect i, DURATION:10,USE:Inspectors (1))

Razporejanje opravil

• 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 začetek (angl. Latest Start)

Razporejanje opravil

𝐸𝑆(𝑆𝑡𝑎𝑟𝑡) = 0𝐸𝑆 𝐵 = max

𝐴≺𝐵𝐸𝑆(𝐴) + 𝐷𝑢𝑟𝑎𝑡𝑖𝑜𝑛 𝐴

𝐿𝑆(𝐹𝑖𝑛𝑖𝑠ℎ) = 𝐸𝑆(𝐹𝑖𝑛𝑖𝑠ℎ)𝐿𝑆 𝐴 = min

𝐴≺𝐵𝐿𝑆 𝐵 − 𝐷𝑢𝑟𝑎𝑡𝑖𝑜𝑛 𝐴

𝑟𝑒𝑧𝑒𝑟𝑣𝑎 𝑠𝑙𝑎𝑐𝑘 = 𝐿𝑆 − 𝐸𝑆

izračun LS

izračun ES

• časovna zahtevnost algoritma: 𝑂(𝑁𝑏), 𝑁 – število akcij, 𝑏 – faktor vejanja

Razporejanje opravil

• dodatno: upoštevanje tudi resursov

• uvede omejitev, da se aktivnosti, ki potrebujeta iste resurse, ne smeta prekrivati

• sprememba časovne zahtevnosti: 𝑂(𝑁𝑏) NP-težek problem (!)

• primer izziv iz leta 1963 nerešen 23 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.

optimalna rešitev

15. 11. 2017

2

Razporejanje opravil

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?

Pregled

• planiranje

• planiranje s "klasičnim" preiskovanjem prostora stanj

• planiranje s sredstvi in cilji

• planiranje z regresiranjem ciljev

• razporejanje opravil

• strojno učenje

• uvod v strojno učenje

Strojno učenje

• 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?)

povratna

informacija

spremembe

znanjeučni

cilji

ocena uspešnosti

uspešnost

učenje

problemske

situacije

akcije

odločanje

Vrste učenja

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

• spodbujevano učenje (angl. reinforcement learning):

inteligentni agent se uči iz zaporedja nagrad in kazni

Primeri

• nadzorovano učenje:

• nenadzorovano učenje:

• spodbujevano učenje:

Nadzorovano učenje

• podana: množica učnih primerov

𝑥1, 𝑦1 , 𝑥2, 𝑦2 , … , (𝑥𝑁 , 𝑦𝑁),kjer je vsak 𝑦𝑗 vrednost neznane funkcije 𝑦 = 𝑓 𝑥

• naloga: najdi funkcijo ℎ, ki je najboljši približek funkciji 𝑓

• 𝑥𝑗 so atributi (vrednost ali vektor)

• funkcijo ℎ imenujemo hipoteza

• primeri hipotez skozi dve množici točk:

15. 11. 2017

3

Atributna predstavitev podatkov

• učna množica: čakanje na prosto mesto v restavraciji

• ciljna spremenljivka: čakamo (T) ali ne čakamo (F)

Primer: gobe

• razpoznavanje užitnih gob

• atributa (x): W (width) in H (height)

• razred (y): strupena (-), užitna (+)

H

W

H

W

IF W>2 and W<4 and H<2 THEN "edible" ELSE "poisonous"

• ali pa …

Primer: gobe

H

W

H

W

IF H > W THEN "poisonous"ELSE IF H > 6 – W THEN "poisonous" ELSE "edible"

IF H < 3 – (W-3)2 THEN "edible"ELSE "poisonous"

? ?

H

W

H

W

Primer: gobe

• 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 𝑦 za nove (še nevidene) primere

• kako izbrati primerno hipotezo? Princip Ockhamove britve (Ockham‘s razor) (William o

Ockham, 1320, 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.

kam klasificirati ta primer?

(glede na H1 in H2 je -, glede na H3 je +)

Primer

• podoben problem je tudi pri drugačnih primerih (iskanje funkcije, ki opisuje podane

točke)

Vrste problemov

• klasifikacija in regresija

• klasifikacija:• 𝑦 pripada končnem naboru vrednosti (je diskretna spremenljivka)

• npr. 𝑦 ∈ {𝑢ž𝑖𝑡𝑛𝑎, 𝑠𝑡𝑟𝑢𝑝𝑒𝑛𝑎}, 𝑦 ∈ {𝑠𝑜𝑛𝑐𝑒, 𝑜𝑏𝑙𝑎č𝑛𝑜, 𝑑𝑒ž}, 𝑦 ∈ {𝑧𝑑𝑟𝑎𝑣, 𝑏𝑜𝑙𝑎𝑛}• y imenujemo razred (angl. class)

• primeri:

• 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

15. 11. 2017

4

Vrste problemov

• regresija:• 𝑦 je število (običajno y ∈ ℝ, je zvezna spremenljivka)

• npr. y je temperatura,

• y imenujemo označba (angl. label)

• primeri:

• napovedovanje razmnoževanja alg

• medicinska diagnostika

• napovedovanje vremena

• napovedovanje koncentracije ozona

• napovedovanje gibanja cen delnic

zakonitosti razmnoževanja alg

Prostor hipotez

• denimo, da imamo• binarno klasifikacijo

• 𝑛 binarnih atributov

• sledi:

2𝑛 različnih učnih primerov

22𝑛

hipotez (denimo, da lahko hipotezo opišemo s tabelo napovedi za vse primere)

• primer:• za 10 atributov izbiramo med 10308 možnimi hipotezami

• za 20 atirbutov izbiramo med 10300.000 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

Evalviranje hipotez

• 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:

+

+

+

+

+

+

++

−−−−

−−

−−

−−

naučena hipoteza

pravi (ciljni, neznani) pojem

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):

𝑪𝑨 =𝑻𝑷 + 𝑻𝑵

𝑻𝑷 + 𝑻𝑵 + 𝑭𝑷+ 𝑭𝑵=𝑻𝑷 + 𝑻𝑵

𝑵

FP

FP

FN FNTP

TN

Učenje dreves, rezanje,

šumni podatki