Generatív (Bayesi) modellezés márc. 30.
B. Freeman, Tomasz Malisiewicz, Tom Landauer and Peter Foltz, Slides by (credit to): David M. Blei Andrew Y. Ng, Michael I. Jordan, Ido Abramovich, L. Fei-Fei, P. Perona, J. Sivic, B. Russell, A. Efros, A. Zisserman, B. Freeman, Tomasz Malisiewicz, Thomas Huffman, Tom Landauer and Peter Foltz, Melanie Martin, Hsuan-Sheng Chiu, Haiyan Qiao, Jonathan Huang Thank you!
Generatív modellezés Felügyelet nélküli tanulás … túl a klaszterzésen Hogyan írjuk le/modellezzük a világot a számítógépnek? Bayes háló!
Bayes hálók Irányított körmentes gráfok, aminek csúcspontjában valószínűségi változók vannak Élek közvetlen (irányított) valószínűségi függőséget fejeznek ki
Bayes hálók Teli csúcsok: megfigyelhető változók Üres csúcsok: rejtett (nem megfigyelhető) változók Zi wi1 w2i w3i w4i
Bayes hálók tömörített ábrázolása Keretezett részek többszörözést jelölnek Pl. N jellemző és M egyed esetén: Zi wi1 w2i w3i w4i
Generatív (Bayesi) modellezés Találjuk meg a paramétereket amikkel a modell a legjobban „rekonstruálja” a megfigyelt adatot Modell „Generatív sztori” ADAT
A háló struktúráját előre megadjuk Modell „Generatív sztori” Modell = Bayes háló A háló struktúráját előre megadjuk Az egyes változók (szülőben feltételes) eloszlásának alakját előre megadjuk Az eloszlások paramétereit megfigyelésekből (adatból) becsüljük
Paraméterbecslés Bayes hálóban – csak megfigyelhető változók Bayes háló feltevése: az egyes változók kizárólag a szülőiktől függenek → az egyes változók eloszlásainak paraméterbecslései egymástól függetlenül végrehajthatóak Maximum Likelihood (vagy Bayes becslés)
Expectation-Maximisation (EM) Maximum Likelihood kiterjesztése arra az esetre ha vannak rejtett változóink is Keressük azt a Φ paramétervektort ami a megfigyelhető X és rejtett Z változók együttes előfordulásának valószínűségét maximalizálják
Expectation-Maximisation (EM) Iteratív algoritmus. l-edik lépésben: (E)xpectation lépés: megbecsüljük Z értékeit (várható érték) Φl alapján (M)aximization lépés: Maximum likelihood a Z értékeinek rögzítésével Bizonyítottan konvergál:
EM példa Adott két cinkelt pénzérme. Egyszerre dobunk, de csak a fejek összegét tudjuk megfigyelni: h(0)=4 h(1)=9 h(2)=2 Mennyire cinkelt a két érme? Φ1=P1(H), Φ2=P2(H) ?
EM példa egyetlen z rejtett változó: a h(1)=9 esetből hányszor volt az első érme fej init Φ10=0,2 Φ20=0,5 E-lépés
EM példa M-lépés
A dokumentum klaszterzés/osztályozás probléma Szöveges dokumentumokat sorolunk be témákba vagy Képekről tanuljuk meg, hogy mi szerepel rajtuk „Szózsák modell” A term-dokumentum mátrix:
Kép „Szavak” zsákja
A szótár M db szót tartalmaz N db dokumentum: D={d1, … ,dN} A szótár M db szót tartalmaz W={w 1 , … ,w M} A term-dokumentum mátrix mérete N * M, az egyes szavak (termek) dokumentumbeli előfordulását tartalmazza term lehet 1 szó, többszavas frázis vagy képrészlet is Előfordulást jellemezhetjük gyakorisággal, binárisan stb.
A szózsák modell problémái Sorrendiség és pozíció elveszik Szinonímák: sok féleképen hivatkozhatunk egy objektumra (fogalomra), pl: álmos-kialvatlan → gyenge fedés Poliszémia: a legtöbb szónak több jelentése van, pl: körte, puska → gyenge pontosság
képi szinonímák
Dokumentumok klaszterezése Minden dokumentumhoz rendeljünk egy „topic” a topic-ok rejtett változók
Generatív sztori az „unigram modell”hez Hogyan generálódik(ott) egy dokumentum? „Dobjunk” egy topicot Minden kitöltendő szópozícióra „dobjunk” egy szót a kiválasztott topichoz TOPIC szó ... szó
Unigram modell Minden M db dokumentumhoz, dobjunk egy z topicot. Zi wi1 w2i w3i w4i not clear what the plates are and what N and M are, and how you relate this to a naïve bayes model/ between this slide and the previous one, add a slide introducing the naïve bayes model. add a slide explaining why naïve bayes is not good (you are picking a single class for each document). you need to say more precisely what the plate means, i.e., parameter sharing in the cpts Minden M db dokumentumhoz, dobjunk egy z topicot. Dobjunk N szót, egymástól függetlenül multinomiális eloszlásból z függvényében Minden dokumentumhoz egy topicot rendelünk
EM algoritmus klaszterezésre E-lépés M-lépés
Valószínűségi LSA pLSA Probabilistic Latent Semantic Analysis Minden dokumentumot egy valószínűségi eloszlás ír le a topicok felett Minden topicot egy valószínűségi eloszlás ír le a szavak felett Az eloszlások interpretálhatóak
Viszony a klaszterzéshez… A dokumentumok nem pontosan egy klaszterbe sorolódnak be Topicok egy eloszlását határozzuk meg minden dokumentumhoz → sokkal flexibilisebb
Generatív sztori a pLSA-hoz Hogyan generálódik(ott) egy dokumentum? Generáljunk egy topic-eloszlást Minden kitöltendő szópozícióra „dobjunk” egy topicot a topic-eloszlából „Dobjunk” egy szót a kiválasztott topichoz TOPIC eloszlás ... TOPIC TOPIC szó ... szó
Példa money money loan bank DOCUMENT 1: money1 bank1 bank1 loan1 river2 stream2 bank1 money1 river2 bank1 money1 bank1 loan1 money1 stream2 bank1 money1 bank1 bank1 loan1 river2 stream2 bank1 money1 river2 bank1 money1 bank1 loan1 bank1 money1 stream2 .8 loan bank bank loan .2 TOPIC 1 .3 DOCUMENT 2: river2 stream2 bank2 stream2 bank2 money1 loan1 river2 stream2 loan1 bank2 river2 bank2 bank1 stream2 river2 loan1 bank2 stream2 bank2 money1 loan1 river2 stream2 bank2 stream2 bank2 money1 river2 stream2 loan1 bank2 river2 bank2 money1 bank1 stream2 river2 bank2 stream2 bank2 money1 river bank river .7 stream river bank stream TOPIC 2
A modell illesztése (tanulása, paraméterbecslés) ? DOCUMENT 1: money? bank? bank? loan? river? stream? bank? money? river? bank? money? bank? loan? money? stream? bank? money? bank? bank? loan? river? stream? bank? money? river? bank? money? bank? loan? bank? money? stream? TOPIC 1 ? DOCUMENT 2: river? stream? bank? stream? bank? money? loan? river? stream? loan? bank? river? bank? bank? stream? river? loan? bank? stream? bank? money? loan? river? stream? bank? stream? bank? money? river? stream? loan? bank? river? bank? money? bank? stream? river? bank? stream? bank? money? ? TOPIC 2
pLSA Megfigyelt adat- termek eloszlása topicok eloszlása eloszlások a topicok felett topicok eloszlása dokumentumonként For that we will use a method called probabilistic latent semantic analysis. pLSA can be thought of as a matrix decomposition. Here is our term-document matrix (documents, words) and we want to find topic vectors common to all documents and mixture coefficients P(z|d) specific to each document. Note that these are all probabilites which sum to one. So a column here is here expressed as a convex combination of the topic vectors. What we would like to see is that the topics correspond to objects. So an image will be expressed as a mixture of different objects and backgrounds. Slide credit: Josef Sivic
Látens szemantikai analízis (LSA)
Generatív sztori a pLSA-hoz Hogyan generálodott egy dokumentum? Generáljunk egy topic-eloszlást Minden kitöltendő szópozícióra „dobjunk” egy topicot a topic-eloszlából „Dobjunk” egy szót a kiválasztott topichoz TOPIC eloszlás ... TOPIC TOPIC szó ... szó
pLSA modell Minden d dokumentum minden szópozíciójára: Dobjunk egy z témát egy multinominális eloszlásból ami a d indextől függ Dobjunk egy szót multinomális eloszlásból, ami z-től függ. pLSA-ban a dokumentumokhoz topicok egy eloszlását rendeljünk. d zd1 zd2 zd3 zd4 between this slide and the previous one, add a motivating example where you have a latent variable in naïve bayse show an unrolled bn for this model using your running example (text classification) wd1 wd2 wd3 wd4
pLSA példa w N d z D “szem” Sivic et al. ICCV 2005
pLSA – paraméterbecslés
pLSA – E-lépés A paraméterek ismerete mellett, mi a rejtett változók (z, topicok) eloszlása
pLSA – M-lépés Rögzítsük p(z|d,w)-ket és
EM algoritmus Lokális maximumhoz konvergál Megállási feltétel? Adatbázis és/vagy ismeretlen példákra való illeszkedés?
Közelítő következtetés Az E-lépés nagy hálókban nagyon lassú (kivárhatatlan) Ekzakt következtetés (=E-lépés) helyett közelítő megoldást is használhatunk Egy közelítő következtetési megoldás: Dobjunk a Bayes hálónak megfelelően mintákat A felvett változóértékek gyakoriságával becsüljük az együttes eloszlások várható értékét
Markov Lánc Monte Carlo módszer (MCMC) MCMC egy közelítő valószínűségi következtető módszer A következő minta függ az előző mintáktól (azaz ne véletlenül és egymástól függetlenül dobáljunk mintákat) Gibbs mintavételezés a legismertebb MCMC módszer: a következő mintát úgy kapjuk, hogy az egyes változókat kidobjuk a többi változó aktuális értékének rögzítése mellett
Kitekintés
pLSA problémái Korábban nem látott dokumentumokra újra kell számítani a teljes halmazon. A paraméterek száma az adathalmaz méretével nő d tulajdonképpen csak egy index, nem illik a generatív sztoriba
1990 1999 2003
2010
Objektumok azonosítása képekről Találjuk meg milyen objektumok szerepelnek a képgyűjteményben, felügyelet nélküli módon! Ezeket utána új képeken is ismerjük fel! Automatikusan találjuk meg, hogy milyen jellemzők fontosak az egyes tárgyak azonosításához!
Összegzés Generatív (Bayesi) modellezés: tetszőleges valószínűségi modell kézi megadása (klaszterezés csak egy példa!) EM algoritmus egy általános eszköztár ha a modellben vannak nem megfigyelhető változók