Professional Documents
Culture Documents
Osnove Umetne Inteligence: Prostor Stanj - Usmerjen Graf
Osnove Umetne Inteligence: Prostor Stanj - Usmerjen Graf
Če spreminjamo v prostor stanj graf ga spremenimo v drevo, ki ima podvojena vozlišča (ne vrne se v
vozlišče, ki zaključi cikelj).
Neinformirane metode:
- Iskanje v globino:
Vozlišča jemljemo na začetku vrste in jih razvijemo. Razvita vozlišča dodamo na začetek
vrste. Algoritem ne garantira optimalne rešitve in se lahko zacikla (rešimo če se ne sme vračat
na že obiskane vozlišča) Čas: rek če generiramo vsa naslednja vozlišča = b*d če generiramo le
naslednjega ki ga razvijemo = d ; (b=širina d=globina)
- Iskanje v širino:
Vozlišča vzamemo na začetku vrste jih razvijemo in nove dodamo na konec vrste. Vsako
vozlišče v vrsti je predstavljen s seznamom, ki ima v glavi to vozlišče nadaljuje pa se z potjo do
začetnega vozlišča. Prostorsko potraten bd . Časovno bd . Garantira optimalno rešitev.
- Iterativno poglabljanje:
Algoritem za iskanje v globino z mejo max globine M. Na začetku M=0. Vsakič ko zmanjka
možnih poti, povečamo M za 1. Garantira optimalno rešitev.
- Vzratno iskanje:
Iščemo od cilja proti začetnemu vozlišču. Zato moramo poznati edino možno ciljno vozlišče.
Redefinirati moramo prostor stanj: new_s(X,Y) s(Y,X) (X-starš, Y otrok)
- Dvosmerno iskanje:
(Začetno vozlišče, končno vozlišče) – vsako iteracijo vsakega premaknemo za en nivo bolj
skupaj. Ko sta te2 vozlišča enako imamo celo rešitveno pot. Čas 2bd/2 > bd
Izrek o popolnosti: A* je popoln če je ocena cene h(n) za vsako vozlišče manjša ali enaka
realni optimalni ceni od vozlišča do cilja. (h(0) je popolna funkcija ampak slaba saj ni
prioritetnega zaporedja izbiranja vozlišč).
- IDA*
Podobno kot A*. Imamo mejo cene F=0 na začetku. Jemljemo na začetku vrste. Vozlišča s
ceno večjo od F podčrtamo in jih ne razvijamo. Ko ne moramo razviti nobenega vozlišča več
povečamo F na najmanjšo ceno podčratnih vozlišč (od vseh iteracij).
Funkcija f je monotona če za vsako vozlišče velja f(otroka) >= f(starša) (Potem IDA* spoštuje
prioritetno zaporedje).
AND vozlišče
Označimo ga z lokom čez vse njegove povezave na otroke. Za rešitev tega vozlišča(problema)
moramo rešiti vse njegove otroke. Pri razvijanju razvijamo vse njegove otroke.
OR vozlišče
Za rešitev tega vozlišča moramo rešiti enega od njegovih otrok. Pri razvijanju razvijemo le enega
otroka.
Preiskovalni algoritmi
- Iskanje v globino
- Iskanje v širino
- Iterativno poglablanje
Vsakič razvijemo eno generacijo najcenejše poti. Pri AND razvijamo vse otroke pri or samo
najcenejšega. F(n) se posodablja glede na razvitost. F(n)=H(n)+ [cena poti od starša do n]
Popolnost: če je H(n) manjša ali enaka od realne optimalne cene rešitvenega drevesa tega vozlišča.
Planiranje
Predstavitev problema:
- Cilji
- Začetno stanje (state[])
- Akcije
o Predpogoji: Cond(akcija) = []; v kakšnih pogojih se akcija lahko izvede
o Učinki akcije: add(akcija), del(akcija); katere relacije se dodajo in katere se zbrišejo
ob uporabi akcije
o Omejitve: constrains(akcija); dejstva (npr. kocka(a), X not= Y)
Regresiranje ciljev
1. Če so vsi cilji izpolnjeni – izvedemo zapomnjene akcije nazaj od spodaj proti vrhu (rek.)
2. Če cilji niso izpolnjeni – Izberemo nerešen cilj, zapomnimo si akcijo(nakonc jih izvedemo), ki
ga doda v state. Novi cilji so stari cilji + pogoji zapomnjene akcije (brez takih, ki uničijo že
dosežene cilje)
STRIPS
Kratko viden. Pozna samo pozitivne stanja.
Sussmanova anomalija:
Da splaniramo dodatno nepotrebno potezo zaradi dodajanja ciljev.
Delno planiranje
S puščicam pokažemo katere akcije se morajo zgoditi preden se lahko naslednja. Vsporedno imamo
lahko več niti z neodvisnimi akcijami.
Strojno učenje
Razdelitev glede na razdelitev dela med učencem in učiteljem:
- By being told: učitelj pove vse, problem ga je razumeti
- Iz primerov: induktivno učenje; Učitelj poda primere (čimboljše), učenec posplošuje
- Odkrivanje: učenec planira in izvaja poskuse, zbira podatke, jih posplošuje
- Učenje iz primerov: v praksi najpomembnejše
Tipi napak:
- PP = Pravilno pozitivno klasificiran. (Klas. Kot pozitiven in res je pozitiven)
- PN = Pravilno negativno klasificiran.
- NP = Napačno pozitivno klasificiran.
- NN = napačno negativno klasificiran.
Predstavitev hipotez:
- S pravili
If W>2 (atributni opis) AND W<H (relacijski opis) THEN r1 ELSE r2
- Z odločitvenimi drevesi
V vozliščih pogoj, veji sta True/False
Pristranskost:
- Omejitvena pristranskost (jezikovna): omeji množico hipotez
- Preferenčna pristranskost (preiskovalna): uredi možne hipoteze (npr, čimbolj splošne
hipoteze, čimbolj specifične hipoteze, occamova britev (enostavnejše razlago se preferirane))
Točnost
Je delež pravilnih klasifikacij pravilni(PP+PN)/vsi
Mere čistoče:
- Informacijsko teoretična:
Za klasifikacijo objekta potrebujemo določeno količino [bit] informacije I = entropija.
- Gini indeks
o Izberi atribut ki maksimizira ginijev dobitek
o Interpretiramo ga lahko kot pričakovano klasifikacijsko napako
- Ocene verjetnosti:
o m-ocena
N = število poskusov ; n = število uspešnih poskusov, m = paramter ocene m>=0 (podan);
pa = apriorna verjetnost uspešnega izida
- Normalizacija, binarizacija
Binarizacija: atribut ki ima več kot 2 vrednosti binariziramo tako da njegovo zalogo vrednosti
razbijemo v 2 podmnožici. Manj se fragmira – bolj zanesljiva poddrevesa, lahko večja točnost,
bolj enostaven kriterij izbiranja
Učenje dreves iz šumskih podatkov
Problemi: šum na podatkih in pretirano prilagajanje podatkom povzorči nizko klasifikacijsko točnost
na novih podatkih. Imamo velika in slabo razumljiva drevesa. Rešitev: rezanje dreves
Rezanje dreves
Po rezanju se točnost lahko izboljša – takrat režemo (to se zgodi če je drevo preveč prilagojeno
podatkom = overfitting)
Privzeta klasifikacijska točnost = verjetnost večinskega razreda (more bit vsaj taka točnost ali več)
Ocenjevanje točnosti:
- Nezanesljivost preverjaj v izboljšanju točnosti na pruning test (30% učnih podatkov) če
imamo dovolj učnih podatkov
- REP reduced error pruning: Dobitek = #napačnih klasifikacij do korena - # napaćnih klas. Z
podrevesom. Režemo od spodaj navzgor dokler nimajo vsi negativnega odbitka. (nezanesljiv
pri majhni množici za rezanje)
- MEP minimal error pruning: ne potrebuje posebne množice za ocenjevanje točnosti;
Ocenjuje točnost direktno na množici za izgradnjo drevesa z uporabo bayesove metode
ocenjevanja verjetnosti (Laplacova ocena, m-ocena). Poreži drevo tako da je ocenjena
klasifikacijska točnost maksimalna. Statična napaka e(v) = napaka če odrežemo poddrevo
(verjetnost da bo ta list narobe klasificiran (koliko primerov je iz nevečinskega razreda));
Vzratna napaka E(v): če ne odrežemo poddrevesa E(v)= p1*E(T1) + p2*E(T2) verjetnost da gre
v neko poddrevo * napačnih klasifikacij v njem. Reži če E(T)>=e(t) (= ker hočmo majhna
drevesa)
Učenje regresijskih dreves (za zvezne domene – numerični atributi)
Neznane vrednosti lahko nadomestimo z »unknown«, lahko jih ignoriramo, lahko pa (boljše) primer
razdelimo v toliko primerov, kot je vseh možnih vrednosti tega atributa in jih otežimo z njihovo
verjetnostjo.
Mere nečistosti:
- srednja kvadratna napaka ratreda v vozlišču N: yN= srednja
vrednost trenutnega razreda y v vozlišču. Yi vsi razredi.
- Napovedana vrednost (rezultat) razreda v vozlišču je njegova srednja vrednost.
Učenje pravil
Primer učenja:
Prekrivni algoritem
Input: množica klasificiranih primerov. Output: seznam pravil
Časovno potraten: BD
Ekspertni sistemi
Rešujejo probleme na ožjem področju. Vmesnik engine dostopa do baze znanja in komunicira z
uporabniškim vmesnikom, preko katerega uporabnik vnaša vprašanja. ES komunicira z uporabnikom
med in po reševanju problema. Zastavlja dodatna vprašanja in jih zna argumentirat kot tudi rezultat.
Uporabljamo IF THEN pravila. Zaželjeno modularna, razširljiva, razložljiva. Veriženje naprej iz vzrokov
posledica. Veriženje naprej da bom pršu do cilja morm to morm to…goal driven. Loh se doda
verjetnosti k trditvam.
Bayesove mreže (usmerjen aciklični graf)
Pristop za obravnavanje negotovosti v bazah znanja. Matematično dobro utemeljen v teoriji
verjetnosti. Tipično za bayesove mreže: če vemo da so naketer trditve resnične kako vrjetne so drugo
trditve. Bayesove mreže omogočajo delno naivni bayes.
Bayesova mreža ima spremenljivke /dogodke in povezave ki kažejo odvisnost in starševstvo. Poleg
mreže moramo podati še verjetnosti za vse posamezne dogodke. In vse odvisne dogodke kakšne so
verjetnosti med njimi.
Pri bayesovih mrežah moramo podati verjetnosti za začetna vozlišča brez staršev in za vsa vozlišča s
starši verjetnost da se zgodijo če se je zgodil starš ali če se ni zgodil startš. 2 starša = 4 verjetnosti.
D-ločevanje (d-separation)
Množica E blokira pot med v1 in v2 če na poti med njima obstaja tak V da velja ena od teh:
- V je v E iz njega gresta obe povezavi
- V je v E V
- V ni v E in noben njegov naslednik ni in obe poti kažeta nanj.
Če množica E (evidence kar že vemo da je res) ločuje 2 vozlišči, sta ti vozlišči med seboj neodvisni.