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. | ||
+ |