[STRUCE1] Gradivo
Stark
U nadi da nisam jedini koji ima ovo za položiti na jesenskim rokovima, i da ima ljudi koji imaju volje sudjelovati, otvaram ovu temu. Mislim da je zgodnije da imamo jednu temu za oba jesenska roka jer su međusobno blizu, pa da se pitanja ne ponavljaju.
Može pomoć s b) zadatkom?
Koliko shvaćam, prostor inačica su sve hipoteze koje ispravno rade klasifikaciju. To su sve one za koje vrijedi da je x>=w? I kako odrediti VS?
InCogNiTo124
Stark
Vektor optimalnih težina je okomit na ovaj crtež i prolazi ovom središnjom crvenom točkom?
InCogNiTo124
Stark ne, vektor optimalnih tezina je vektor koji spaja ishodiste i upravo tu crvenu tocku te lezi u ravnini crteza
Stark
Kako se izračuna ovo pod c)? Nisam nigdje našao a nemam ideju kako.
micho
\begin{aligned} & softmax \left( \begin{bmatrix} 1 & 1 & 1 & 1 \end{bmatrix} \times \begin{bmatrix} 1 & 4 & -2 \\ 2 & 4 & -3 \\ 2 & 1 & 4 \\ 3 & 0 & 5 \end{bmatrix} \right) = \\\\ & softmax \left( \begin{bmatrix} 8 & 9 & 4 \end{bmatrix} \right) = \\\\ & \begin{bmatrix} 0.268 & 0.727 & 0.005 \end{bmatrix} \end{aligned}
Ovo se nalazi više manje u 7. natuknicama s predavanja
Stark
Općenito me dosta bune ovi zadaci kad treba nacrtati pogrešku učenja i ispitnu pogrešku. Znam kako izgleda nazovimo to defaultni graf s prvog predavanja ali kad ulaze ovi hiperparametri nije mi jasno. Vidim da ima dosta takvih zadataka pa ako bi netko mogao objasniti bio bih zahvalan.
Nabas
Kako se rješavaju Bayesove mreže? Ima negdje postupak, primjer? U google dokumentu od domaće zadaće i ishoda učenja nema.
Treći zadatak ZI 19/20, sličan je i u ZIR 2020
InCogNiTo124
TUTORIAL
Učenje Bayesove mreže (PGM) iz dataseta
Za potrebe ovog tutoriala izmislio sam svoj neki model i u numpyju generirao dataset. To radim da a) imate ovaj gore zadatak za vjezbu (jer je zadatke izgleda nemoguće za naci na internetu) i b) ovaj moj je općenitiji. Takoder, molio bih da sve sto sam napisao provjerite i da se moguce greske prijave ili meni ili administratoru ili pritiskom na objavu->prijavi pa da se popravi.
Problem:
Zajednicka distribucija raspisana je na sljedeci nacin:
P(A,B,C,D) = P(A)P(B | A)P(C | A,B)P(D|C)
Nauciti parametre pomocu sljedeceg dataseta:
\begin{array}{ |c|c|c|c| }
A & B & C & D \\
\hline
0 & 3 & 1 & 1 \\
1 & 3 & 1 & 0 \\
1 & 1 & 0 & 1 \\
1 & 2 & 1 & 0 \\
1 & 1 & 1 & 0 \\
1 & 1 & 0 & 0 \\
1 & 3 & 1 & 0 \\
0 & 2 & 0 & 0 \\
1 & 2 & 1 & 1 \\
1 & 3 & 0 & 0 \\
0 & 2 & 1 & 1 \\
0 & 2 & 0 & 0
\end {array}
Zadatak 1
Nacrtati model
Zadatak 2
Nauciti distribucije varijabli pomocu dataseta.
Prvo ponavljanje ViSa, sto je (diskretna) distribucija? To je u biti tablica s jednim retkom, gdje stupci odgovaraju vrijednostima, a u tablici se nalaze odgovarajuce vjerojatnosti stupaca. Suma svih vrijednosti u jednom retku mora biti, dakako, 1.
Zadatak se rjesava redom, od prvog cvora ka ostalima (haha streberi bi rekli topoloski sortiranim grafom). Tako se u ovom slucaju prvo odreduje distribucija od A. A moze poprimiti samo 2 vrijednosti, 0 ili 1, od toga 8 jedinica a 4 nule. Therefore
A \sim
\begin{array}{ c|c }
0 & 1 \\
\hline
4 & 8
\end{array}
Pazljivi citatelj ce primjetiti “cekaj malo pa suma u retku nije 1” i to je istina. Razlog za to je osobni: ja uvijek prvo popisem brojnost svih vrijednosti pa onda na kraju kad sve provjerim, samo dodam /12
ili koji vec broj. Drugi razlog je Laplaceovo zagladivanje - ali to necemo sad spominjat sve do samog kraja.
Okej sad, kad imamo P(A), iduca je po redu P(B). No, ovaj puta ona ne dolazi sama - ona je uvjetovana varijablom A. Kako se to odražava na njenu tablicu distribucije? Pa jako puno u biti - vise nema samo jedan redak, vec je jedan redak po mogucoj realizaciji uvjeta. Da ponovim: tablica uvjetne distribucije neke varijable ima onoliko redova koliko njen uvjet ima razlicitih vrijednosti. To znaci da ce nam tablica P(B|A) imati dva retka, a stupaca koliko ona ima razlicitih vrijednosti (tocno 3).
Prvo uzmemo, recimo, kad je uvjet A=0 ispunjen (konkretno 1, 8, 11, 12 redak (ako retke indeksiramo od 1 :) )). Vidimo da se B realizirala jednom kao 3, triput kao 2 i nijednom kao 1. Pravimo tablicu:
B|A \sim
\begin{array}{ c||c|c|c }
A & 1 & 2 & 3 \\
\hline
0 & 0 & 3 & 1
\end{array}
A sad gledamo sve one retke di je uvjet A=1 ispunjen. Ovdje se pak B realizirala triput kao 1, dvaput kao 2 i triput kao 3. Dakle nadopunjujemo nasu tablicu:
B|A \sim
\begin{array}{ c||c|c|c }
A & 1 & 2 & 3 \\
\hline
0 & 0 & 3 & 1\\
1 & 3 & 2 & 3
\end{array}
Sanity check - suma svih vrijednosti je 12, sto je jednako svim broju primjera. All gucci. Prije iduce varijable, kratka neobavezna digresija:
Ovo nekog mozda podsjeti na zajednicku distribuciju dvije varijable P(A, B) i to i nije toliko daleko od istine jer su obje tablice, u biti, funkcija od dvije varijable (i zbog tog dvije dimenzije (P(A) je imala samo jednu dimenziju :) ) Razlika je u tome sto u tablici zajednicke distribucije suma bas svih elemenata mora bit 1, dok je u uvjetnoj suma jednog retka 1. No, zasad ionako samo pisemo brojnosti
Moving on. E sad problem moze biti sto ovaj put varijabla ima dva roditelja, stoga ponavljam recenicu:
InCogNiTo124 tablica uvjetne distribucije neke varijable ima onoliko redova koliko njen uvjet ima razlicitih vrijednosti
Koliko razlicitih vrijednosti mogu imati A i B? Odgovor je velicina skupa koji je kartezijev produkt skupova domene slucajnih varijabli A i B. Fensi rječnik za reći 2 \cdot 3 = 6. Dakle, plan rada je ic po svim kombinacijama A i B i pisat kakve se sve vrijednosti od C pojavljuju. Sad necu vise ici korak po korak, nego cu u spojler stavit rjesenje. Napominjem kako je ful bitno pokusati samostalno rijesiti.
SAJK! fkt je bitno da solo probas rijesit. ako ti je samo do tocnog rjesnja, osudujem. Ako pak imas rjesenje, nadam se da sam stavio smjesak na tvoje lice i izvinjavam se zbog neugodnosti
C|A,B \sim
\begin{array}{ c|c||c|c }
A & B & 0 & 1 \\
\hline
0 & 1 & 0 & 0\\
0 & 2 & 2 & 1\\
0 & 3 & 0 & 1\\
1 & 1 & 2 & 1\\
1 & 2 & 0 & 2\\
1 & 3 & 1 & 2\\
\end{array}
Yet another sanity check, suma vrijednosti u desnom dijelu tablice je 12 kao sto bi i trebao biti
Also fun fact: s obzirom da imamo cak 2 uvjeta, ovo bi u teoriji trebao biti tenzor treceg reda (kao matrica samo kockica) no ovo je kakti ispeglani prikaz tog istog tenzora. All is still gucci.
I sad zadnja tablica, D uvjetovan po C, ako ste prezivili proslu tablicu ova je komadić torte. Ukratko, opet ista stvar, idemo po uvjetu, gledamo njegove vrijednosti i gledamo koliko se dogodilo kakvih realizacija nase ciljne varijable.
D|C \sim
\begin{array}{ c||c|c }
C & 0 & 1 \\
\hline
0 & 4 & 1\\
1 & 4 & 3
\end{array}
I za kraj su nam ostale dvije stvari. Prva je to “zloglasno” Laplaceovo zagladivanje koje je u biti najlaksa stvar na svijetu - samo idete po svim brojevima u svim tablicama i dodate +1. Zasto se to radi? Najbolje je objasnit na primjeru uvjetne distribucije P(B|A). Naime u nasem datasetu se nikad nije pojavilo dogadaj A=0 \land B=1. Znaci li to da se to nikad nikad nikad nece desit? pa ne bas - vise je vjerojatno da imamo sh*tan sampling. Zbog tog pretpostavimo da su se svi dogadaji bar jednom desili. To je nase vjerovanje - nasa pristranost, takoder pod nazivom prior probability. To je ono sto vjerujemo da je istina bez da ista znamo o stvanom svijetu. Onda taj nas prior napadnemo s nasim podacima, i dobimo nesto izmedu, tzv. posterior. Novi fun fact:
Kakve veze Laplace ima s time? pa on je u biti takoreci izmislio cijelo podrucje vjerojatnosti i dokazao brdo teorema i svasta. Jedan dan su ga iz fore pitali “ej cika pjer, a kolka je vjerojatnost da ce sutra svanut sunce?” a on se tog ozbiljno uhvatio. Na kraju je rekao da problem nije moguce rjesiti bez nekih dodanih pretpostavki te je kao odgovor predlozio 1 - \frac1{n+1} gdje je n broj dana koji su prosli od pocetka svemira. Tako da, dosta su velike sanse da ce se ovaj ispit ipak pisat, ali opet nisu bas 100% 😛
I zadnja stvar koja nam je ostala je sad sve te tablice (s dodanim jedinicama!) pretvorit u actual distribucije na nacin da dijelimo svaki redak sa sumom u tom retku. Rezultati se nalaze u spoileru:
A \sim
\begin{array}{ c|c }
0 & 1 \\
\hline
\frac{5}{14} & \frac{9}{14}
\end{array}
B|A \sim
\begin{array}{ c||c|c|c }
A & 1 & 2 & 3 \\
\hline
0 & \frac17 & \frac47 & \frac27\\
1 & \frac4{11} & \frac3{11} & \frac4{11}
\end{array}
C|A,B \sim
\begin{array}{ c|c||c|c }
A & B & 0 & 1 \\
\hline
0 & 1 & \frac12 & \frac12 \\
0 & 2 & \frac35 & \frac25\\
0 & 3 & \frac13 & \frac23\\
1 & 1 & \frac35 & \frac25\\
1 & 2 & \frac14 & \frac34\\
1 & 3 & \frac25 & \frac35\\
\end{array}
D|C \sim
\begin{array}{ c||c|c }
C & 0 & 1 \\
\hline
0 & \frac57 & \frac27\\
1 & \frac59 & \frac49
\end{array}
Umro sam dok sam sve ovo pretipko u \LaTeX 🙃
Nabas
InCogNiTo124 Hvala puno na tutorialu. Kad je pitanje procjenite MAP procjeniteljem npr. ovdje P(C|A,B) odgovor bi bio C=1 za A=1 i B=2 jer je vjerojatnost 0.75?
InCogNiTo124
Nabas da, tako je
Stark
Za ovaj zadatak
Kako bi išao crtež? Nekako ovako? Svi su linearni osim logističke?
I onda kad se doda primjer (8,1) koji je duboko u području crvenih, što se dogodi?
Evo ako treba prazna slika za crtanje:
[obrisani korisnik]
Stark Budući da prilikom korištenja linearne regresije kao klasifikatora primjeri koji su ispravno klasificirani isto tako budu kažnjeni i to što su “ispravnije” klasificirani, to će biti više kažnjeni, funkcija linearne regresije će se pomaknuti prema tom primjeru kao bi se smanjilo kvadratno odstupanje. Svi ostali će ostati (više-manje) isti.
Red_Baron
Stark Mislim da linearna regresija nije dobra na slici. Puno bi bolja bila funkcija y=2; ona dakle prolazi kroz skroz lijevu točku, a kod ostalih minimizira udaljenost; time je ukupna pogreška 2 (ako me matematika ne vara), a po ovom tvojem je 4 (opet, ako me mentalna matematika ne vara).
a_ko_si_ti
Di se nalazi kviz o kojem je profesor pricao?
[obrisani korisnik]
Čini mi se da bi se ovisno o odabiru hipoteza na ovo pitanje moglo odgovoriti i sa c i sa d. Recimo ako prva hipoteza odvaja 3 pozitivna i 2 negativna + 1 pozitivan uljez, a druga margina odvaja jedan negativan i 4 pozitivna + 1 negativan uljez, tada bi odgovor bio pod c. Ako bi prva hipoteza odvajala isto kao druga, ali s drugim negativnim primjerom, tada bi točan odgovor bio pod d. Je li to zaista tako?
Svarog
[obrisani korisnik] Neka me netko ispravi ako sam napravio negdje lapsus, ali evo mog obrazloženja zašto je d.
Prvo, primijetimo da je skup primjera linearno neodvojiv, stoga prvi model nikada neće moći točno klasificirati sve primjere. S druge strane, ako bi mogli koristiti dvije hipoteze iz prvog modela, tj. ravnine, onda bi u potpunosti točno klasificirali sve primjere koristeći presjek potprostora koje te dvije ravnine omeđuju. Presjek ta dva potprostora možemo, koristeći indikatorske funkcije, predstaviti s množenjem te dolazimo do ovog drugog modela koji je upravo to. Zbog toga što će postupak optimizacije egzaktno pronaći optimalnu hipotezu, zaključujemo da drugi model može u potpunosti točno klasificirati ovaj skup primjera i slijedno tomu klasificira strogo točnije u odnosu na prvi model.