Struktúra predikció ápr. 2. A diák alatti jegyzetszöveget írta: Balogh Tamás Péter ápr. 2.
Struktúra predikció Struktúra lehet Felügyelt tanulási probléma minta IID feltevésének elvetése Felügyelt tanulási probléma Egyedek = struktúrák Struktúra lehet Szekvencia Fa, gráf
slide copyright of Nicolas Nicolov
slide copyright of Nicolas Nicolov
slide copyright of Nicolas Nicolov
slide copyright of Nicolas Nicolov
Szekvenciajelölés Legegyszerűbb struktúra Példa: Minden képkockához rendeljük, hozzá, hogy milyen cselekvést végez az alany
Rejtett Markov Modellek
Rejtett Markov Modellek Diszkrét Markov Folyamat Adott N állapot, a rendszer minden időpontban az egyik állapotban van jelentése, hogy a t-dik időpillanatban a rendszer az Si állapotban van
Rejtett Markov Modellek A rendszer állapota a megelöző állapotoktól függ: Elsőrendű Markov Modell esetén:
Átmeneti valószínűségek Tfh. az átmeneti valószínűségek függetlenek az időtől: Kezdeti valószínűségek:
Megfigyelési valószínűségek Az qt állapotok rejtettek, nem megfigyelhetőek. Viszont rendelkezésre áll egy megfigyelési szekvencia. Amit meg tudunk figyelni annak M értéke lehet: megfigyelései (emissziós) valószínűség:
Rejtett Markov Modellek
RMM példa Tőzsdei előrejelzés S = {derűs, borús, stagnáló} hangulat O = {emelkedő, csökkenő} árfolyam
A RMM három feladata Ismert λ valószínűségek mellett mi egy megfigyeléssorozat előfordulásának valószínűsége? Ismert λ valószínűségek mellett mi a legvalószínűbb rejtett állapot-szekvencia egy megfigyelés-sorozathoz? argmax tanító adatbázis alapján becsüljük meg a λ valószínűségeket !
Kiértékelési (1.) feladat Adott λ és , =?
Kiértékelési (1.) feladat időigény: O(NTT) Forward(-backward) algoritmus erre: forward változók: rekurzív eljárással számítható inicializálás:
Forward algoritmus időigény: O(N2T)
Legvalószínűbb szekvencia megtalálása (2. feladat) Adott λ és , argmax P(Q| λ,O) =? Viterbi algoritmus Dinamikus programozás δt(i) a legvalószínűbb 1..t szekvencia valószínűsége ahol qt=Si
Viterbi algoritmus
Rejtett Markov Modellek
RMM tanulása (3. feladat) Adott (ha Q is ismert lenne simán relatív gyakoriságokkal becsülhetnénk) Maximum likelihood: argmax
RMM tanulása
Backward algoritmus
Baum-Welch algoritmus Annak a valószínűsége, hogy Si-ben vagyunk a t-edik lépésben:
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éz 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
Baum-Welch algoritmus (folytatás) Baum-Welch egy EM algoritmus Rejtett változók: Célváltozók:
Baum-Welch algoritmus E-lépés (forward-backward algoritmussal kiszámoljuk) M-lépés
Diszkriminatív szekvencia jelölők
Diszkriminatív szekvencia jelölők P(D|c) P(c|D)
Maximum Entrópia Markov Modell MEMM Balról jobbra haladva yi=argmax P(y|xi,yi-1)
A label-bias probléma Lokális döntések, a megfigyelés későbbi elemeinek abszolút nincsen hatása a döntésnél
Conditional Random Fields Egyetlen feltételes (exponenciális) modell ami az egész eseményegyüttest kezeli
Lánc (linear-chain) CRF
Dekóder lánc-CRFnél
Viterbi lánc-CRFhez inicializáció:
CRF tanulás gradiens alapú módszerek…
Struktúrált perceptron online tanulás aktuális paraméterekkel (az egész struktúrára vonatkozik a jellemzőtér) dekódolás ha nem egyezik az igazi struktúrával frissítjük a modellt frissítés a két jellemzővektor különbségével
Struktúrált perceptron Viterbi dekóder szekvenciajelölésnél: Paraméterek frissítése:
A szekvenciákon túl...
Fa predikcó - PCFG
Fa predikció – CYK algoritmus