Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
|
courses:rg:bayes-with-tears [2009/10/27 00:16] popel vytvořeno |
courses:rg:bayes-with-tears [2009/11/02 23:02] (current) popel Ondrovy zápisky z dnešního čtení |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Poznámky k článku ====== | ====== Poznámky k článku ====== | ||
| [[http:// | [[http:// | ||
| + | |||
| + | ===== 1. část (26. října) ===== | ||
| Čtení Kevina Knighta nedopadlo podle mého nijak slavně, ale věřím, že repete příští týden to napraví a vše se v dobré obrátí. | Čtení Kevina Knighta nedopadlo podle mého nijak slavně, ale věřím, že repete příští týden to napraví a vše se v dobré obrátí. | ||
| Co jsme se dozvěděli (prosím opravte mne, pokud něco píšu špatně): | Co jsme se dozvěděli (prosím opravte mne, pokud něco píšu špatně): | ||
| - | * Nečíslovaný seznam | ||
| * dosavadní pstní modely pro EM " | * dosavadní pstní modely pro EM " | ||
| Line 11: | Line 12: | ||
| * nová " | * nová " | ||
| - | * Pavel Pecina je přesvědčen, | + | * Pavel Pecina je přesvědčen, |
| - | * ostatní | + | |
| * prošli jsme si klíčový vzoreček definující P(rule | root(rule), cache) a uvědomili si, že cache se má užívat nezávislá pro různé root(rule), (aby platilo zjednodušení vzorečku na str. 11 uprostřed) čili se dá stejně dobře mluvit o P(rule | cache) pro pevně daný kořen | * prošli jsme si klíčový vzoreček definující P(rule | root(rule), cache) a uvědomili si, že cache se má užívat nezávislá pro různé root(rule), (aby platilo zjednodušení vzorečku na str. 11 uprostřed) čili se dá stejně dobře mluvit o P(rule | cache) pro pevně daný kořen | ||
| Line 19: | Line 19: | ||
| * zabývali jsme se i tím, k čemu jsou odpovědi na tyhle otázky dobré, např. k výběru nejlepší derivace | * zabývali jsme se i tím, k čemu jsou odpovědi na tyhle otázky dobré, např. k výběru nejlepší derivace | ||
| - | * Pavel Pecina nás upozornil, že pořád mluvíme o generování treebanku, a že ale v praxi vůbec takhle generovat nebudeme. Že si jen "v rámci trénování vyladíme parametry" | + | * Pavel Pecina nás upozornil, že pořád mluvíme o generování treebanku, a že ale v praxi vůbec takhle generovat nebudeme. Že si jen "v rámci trénování vyladíme parametry" |
| - | na gramatice strojově vykoukané z treebanku (a co je vůbec gramatika v tomto pojetí?? P_0 a vyplněná cache??), to nevíme. | + | |
| Příště velmi stručně tohle zopakujeme na konkrétním příkladu z bodu 17. Pak | Příště velmi stručně tohle zopakujeme na konkrétním příkladu z bodu 17. Pak | ||
| Line 26: | Line 25: | ||
| O. | O. | ||
| + | |||
| + | ===== 2. část (2. listopadu) ===== | ||
| + | * Vytyčený cíl jsme zvládli! Došli jsme do sekce 26! | ||
| + | |||
| + | * Srovnávali jsme dva typy modelů (**EM model** a **cache model**) na příkladech segmentace a tagování. | ||
| + | |||
| + | * Oba typy modelů se používají v unsupervised metodách. Když mám náhodou už anotovaný korpus, můžu ho použít jako startovní bod EM nebo jako P_0 v cache modelu, jinak je k ničemu. | ||
| + | |||
| + | * Oba typy modelů definují vzoreček, jak se vypočítává pst dané konkrétní derivace (tj. otagované sekvence slov či nasegmentovaného čínského slova): | ||
| + | * EM model potřebuje tabulky podmíněných pstí (podle toho, jak mám model postaven, např. P(w_i | t_i)), které nastřelím uniformně a během " | ||
| + | * Cache model žádné takové tabulky nepotřebuje. Jediným vstupem (krom konstant) je vzoreček pro apriorní pst P_0, který danému stavebnímu dílku (např. čínské slovo) dává jeho pst. Žádoucí je jedině, aby P_0 dávala nenulovou pst všemu. Základním rysem cache modelu je, že v derivacích zohledňuje historii a preferuje často užívané stavební dílky. | ||
| + | |||
| + | |||
| + | * Pod označením " | ||
| + | |||
| + | * " | ||
| + | - (v ideálním světě) projdu všechny derivace a nasbírám fractional counts, z nich vyplním a normalizuju tabulky | ||
| + | - (pro hrubou představu reálného světa) si najdu nějakou dost pravděpodobnou derivaci a nasbírám fractional counts z ní (díky Janě Strakové) | ||
| + | - (asi v praxi) kumuluju počty přes vícero derivací navštívených během GS, viz níže, které na závěr jednou znormalizuju | ||
| + | |||
| + | * Cyklus se používá: | ||
| + | - v EM během trénování | ||
| + | * cyklí se přes //modely// (tj. konkrétní hodnoty v tabulkách) | ||
| + | * v každé iteraci projdu všechny derivace celého korpusu (průchod přes všechny iterace je implicitní, | ||
| + | - v cache modelu při Gibbsově samplingu (GS): | ||
| + | * cyklí se přes // | ||
| + | * vzhledem k tomu, že každý krok derivace ovlivňuje ty následující, | ||
| + | * v aktuální derivaci (začnu náhodnou) navrhnu místo změny | ||
| + | * prozkoumám //všechny možné// derivace, které se od té aktuální liší v daném místě | ||
| + | * přesunu se do souseda vybraného náhodně s pstí odpovídající těm sousedům | ||
| + | |||
| + | * Probrali jsme si trik, který stojí za inkrementálním výpočtem psti souseda dané derivace. Kromě samotné psti aktuální derivace potřebuju ještě udržovat počty dílků použitých v derivaci, tj. cache. | ||
| + | |||
| + | * Eda Bejček docela srozumitelně vysvětlil tu exchangeabilitu (vytrhnu čitatel, tím se ostatní čitatelé musí o jedna posunout, aby zabrali jeho místo, ale ten čitatel nakonec zase vrátím, takže výsledek součinu bude stejný; a stejně se jmenovateli, | ||
| + | |||
| + | * Teď dodatečně mne napadla ještě jiná varianta, jak splnit úlohu " | ||
| + | |||
| + | Uff. | ||
| + | |||
| + | Díky za pomoc, | ||
| + | O. | ||
| + | |||
