Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | |||
courses:rg:bayes-with-tears [2009/10/27 00:38] popel |
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í. | ||
Line 23: | 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. | ||
+ |