You are on page 1of 9

OSNOVE UMETNE INTELIGENCE

Prostor stanj – usmerjen graf


Vozlišča predstavljajo problemske situacije povezave pa možne poteze.

Problem definira: prostor stanj + začetno vozlišče + končno vozlišče

Rešitev: pot od korena do ciljnega vozlišča

Povezavam lahko dodamo cene in naš cilj je minimizirati ceno rešitve.

Č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).

Preiskovanje prostora stanj

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

Informirane (hevristične) metode:

- Best first search = A*:


Vozlišča dobijo ocenitveni funkcijo f(n) = g(n) + h(n) (g(n)= cena od začetnega vozlišča do n
(Znano); h(n) = ocena optimalne cene od vozlišča n do ciljnega vozlišča). Nižji kot je f(n) bolj
obetavno je vozlišče.
Vrsto urejamo po velikosti f(n) funkcije in jemlemo na začetku. V primeru da generiramo že
generirano vozlišče in ima nov višjo f(n) vrednost, ga lahko ignoriramo.

Algoritem je popoln če vedno najde prvo rešitev optimalno.

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šč).

Prostor: bd (Prostorsko potraten)

- 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/OR Grafi (deli in vladaj)


Ponazarjajo rešitev problema (koren drevesa), ki ga razvijemo do najenostavnejših problemov – listi
drevesa

Problem: Začetno vozlišče + ciljni pogoji.

Rešitve: drevesa, ki rešijo korenski problem.

Cema rešitve: cena celega rešitvenega drevesa.

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

- AO* (posplošitev A*)


F(n) – cena vozlišča. H(n) ocena optimalne cene rešitvenega drevesa tega korena  cena otrok OR-
najmanjša od otrok AND-vsota cen vseh otrok.

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)

Planiranje s sredstvi in cilji


1. Izberemo nerešen cilj po vrsti
2. Izberemo akcijo ki izbran cilj doda v stanje (izberemo tisto z najmanj manjkajočimi pogoji)
3. (rek.) Omogoči izbrano akcijo – rekurzivno dodamo vsak pogoj v vrsto in ga omogočimo
4. Izvedi izbrano akcijo
5. Če je še kakšen nerešen cilj se vrni na 1

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

- Nadzorovano učenje: Primeri imajo podan razred (vemo v kaj klasificiramo)


- Nenadzorovano učenje: primeri nimajo podanega razreda (ne vemo v katere razrede
klasificiramo)

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.

Kriterij uspešnosti hipotez:


- Točnost hipotez
- Razumljivost hipotez (v praksi pomembnejša)

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

Vrste klasifikacijske točnosti:


- Točnost na učnih podatkih
- Točnost na celotnem prostoru
- Točnost na testnih podatkih
Učenje dreves

TDIDT algoritem (ID3 quinlan)


Da naredimo odločitveno drevo T iz učnih podatkov S:
- Če vsi primeri S sodijo v isti razred C naredi list C
- Drugače izberi najučinkovitejši attribut A, in razdeli S po vrednostih A in rekurzivno zgradi
poddrevesa T1 in T2 za podmnožice od S (razdeljene po A).

Kriterij za izbor atributov


Princip: izberi atribut ki razdeli učno množico v čimbolj čiste podmnožice

Mere čistoče:

- Informacijsko teoretična:
Za klasifikacijo objekta potrebujemo določeno količino [bit] informacije I = entropija.

povprečna količina potrebne informacije za klas. Objekta. P(c)


verjetnost razreda (razred je kamor klasificiramo)

Ko izvemo za vrednost atributa A potrebujemo le še preostali del informacije = Ires


(Rezidualna (preostala) informacija po uporabi A) Izberemo atribut A ki minimizira Ires(A)

v so vrednosti atributa A, c razredi

Gain = Doprinos atributa A (informacijski dobitek)

Gain ratio je relativen informacijski dobitek (hočmo čimvečjega)

- 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

o Laplacova ocena verjetnosti


Pc ocenjena verjetnos razreda c; N število vseh primerov; nc
število primerov razreda c; k = število razredov (slabost vsi razredi enako verjetni)

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

Rezanje naprej (od zgoraj)


Končaj rast drevesa ko potencialna korist poddreves ni več jasna (kratkovidno):

- Majhen informacijski dobitek (gain)


- Število primerov v vozlišču je zelo majhno
- Učna množica statistično ni pomembna

Rezanje nazaj (od spodaj)


Poreži nezanesljiva poddrevesa. Za ocenjevanje statične napake lahko uporabimo Laplacovo oceno
ali m-oceno (m , rezanje in velikost šuma so porporcionalni).

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.

Gradnja regresijskih dreves (od zgoraj navzdol)


Podobno kot pri odločitvenih drevesih. V listih je ali srednja vrednost razreda v listih ali (linearna)
regresijska formula za primere v listu.

IZBOR ATRIBUTA: minimiziraj pričakovano nečistost po razdelitvi primerov po vrednostih atributa


(srednja kvadratna napaka) Iexpected = pleft*Ileft + pright*Iright +…

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:

Oranžno pravilo pokriva primera (1,e) in (4,e).

Prekriv je množica pravil, ki pokrije vse primere

Prekrivni algoritem
Input: množica klasificiranih primerov. Output: seznam pravil

Časovno potraten: BD

Obravnavanje šumnih podatkov


Podobno kot pri učenju dreves. Pravila lahko režemo (odstranimo nekatere ali ustavimo dograjevanje
pravil), dovolimo da se pravila le približno ujema s primeri. Tehtamo med dolžino pravila in čistostjo
prekriva.

Pretvorba med pravili in drevesi


Pravila razdelimo po x – leva veja in y – desna tako da so v listih po eno pravilo

Pravila so prožnejša od dreve


Lahko pokrivajo le del prostora, se prekrivajo, možni konfilkti med pravili (loh urejena po vrstnem
redu), možno glasovanje med pravili.
Bayesov klasifikator
Imamo dogodka H(hipoteza/razlaga) in E(evidenca/opažanja simptomi)

Naivni bayesov klasifikator

Poenostavimo kot da bi bili atributi med seboj verjetnostno neodvisni

Ocenjevanje uspešnosti rezultatov učenja


Točnost: verjetnost pravilne klasifikacije
Napaka = 1- točnost
Podatke razdelimo 70:30 na učne in testne podatke, na testnih testiramo točnost, težavno če imamo
malo podatkov (potrebujemo čimveč podatkov za zanesljivo učenje in ocenjevanje točnosti)

Zaupanje v oceno točnosti


Odvisno od velikosti testne množice. Če povečamo število testnih primerov se zaupanje v oceno
poveča zato oceno podamo z manjšim intervalom.

Ponovitve učenja in testiranja


Če imamo malo podatkov si ne mormo prvoščt vzet testne množice, zato izvedemo učenje in
testiranje večkrat ponavadi 10 krat in vsakič izberemo naključno testno množico.

k-kratno prečno preverjanje


Naključno razbij podatke v k podmnožic in za vsako od k množic ponovi učenje in testiranje s to
množico kot testno množico (k ponavadi 10 lahko cel algoritem ponovimo 10kat = 100 in
povprečimo). Končna ocena = povprečje dobljenih k ocen

Izputsti enega (leave one out)


Če imamo zelo malo podatkov  k=št podatkov

Brierjeva mera napake (brier score)


Ko napovedujemo verjetnostno razporeditev za razrede. Večjo verjetnost ko program pripiše
resničnemu razredu manjša je Brierjeva napaka in večjo verjetnost ko program dodeli napačnemu
razredu večja bo Brierjeva napaka.

gremo čez vse testne in seštevamo kvadrat razlike


verjetnosti razreda in dejanskega razreda(1-1=0). Nakoncu povprečimo s številom testnih primerov.

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.

Za n binarnih spremenljivk potrebujemo 2n-1 podatkov o vrjetnostih (preveč) če so vse odvisne.

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.

Časovna zahtevna je odvisna od vozlišč.

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.

You might also like