Perplexita

Perplexita je v teorii informace míra, jak dobře rozdělení pravděpodobnosti nebo pravděpodobnostní model predikuje určitý vzorek dat. Perplexita se používá např. pro porovnávání pravděpodobnostních modelů. Čím nižší perplexita, tím lépe model data predikuje.

Perplexita rozdělení pravděpodobnosti

Perplexita diskrétního rozdělení pravděpodobnosti p je definována vztahem

P e r p ( p ) = 2 H ( p ) = 2 x p ( x ) log 2 p ( x ) {\displaystyle \mathrm {Perp} (p)=2^{H(p)}=2^{-\sum _{x}p(x)\log _{2}p(x)}}

kde H(p) je entropie rozdělení (v bitech) a x probíhá přes všechny možné události; základ logaritmu a exponenciální funkce nemusí být 2, ale musí být stejný. V některých oborech se pro tuto míru používá název index diverzity.

Perplexita náhodné proměnné X se definuje jako perplexita rozdělení hodnot x této proměnné.

Ve speciálním případě, kdy p je rovnoměrné rozdělení s k hodnotami (odpovídající např. spravedlivé hrací kostce s k stranami), je perplexita rovna k. Náhodná proměnná s perplexitou k má tedy stejnou nejistotu jako spravedlivá kostka s k stranami. Pokud to není přímo kostka s k stranami, může se jednat o diskrétní rozdělení s více než k hodnotami, u něhož některé hodnoty mají větší pravděpodobnost než 1/k, takže hodnota výsledného součtu bude menší.

Perplexita se často chápe jako míra obtížnosti předvídání událostí, což však není úplně přesné. Pokud máme dvě možnosti, z nichž jedna má pravděpodobnost 0,9, pak šance správného odhadu je při optimální strategii 90 procent. Perplexita je 2−0,9 log2 0,9 - 0,1 log2 0,1= 1,38. Převrácená hodnota perplexity (která pro spravedlivou kostku s k stranami reprezentuje pravděpodobnost uhodnutí), je však 1/1,38 = 0,72, a ne 0,9.

Perplexita je exponenciální funkcí entropie, která je jednoznačnější veličinou. Entropie je míra očekávaného nebo „průměrného“, počtu bitů potřebných pro zakódování výsledku náhodného pokusu pomocí teoreticky optimálního kódu s proměnnou délkou, cf. nebo ji můžeme považovat za očekávaný informační zisk, který přináší znalost výsledku náhodného pokusu, měřený v bitech.

Perplexita pravděpodobnostního modelu

Model q neznámého rozdělení pravděpodobnosti p vytvořený na základě trénovacího vzorku vybraného z p můžeme hodnotit zjišťováním, jak dobře predikuje jiný testovací vzorek x1, x2, ..., xN také vybraný z p. Perplexita modelu q je definována jako

b 1 N i = 1 N log b q ( x i ) {\displaystyle b^{-{\frac {1}{N}}\sum _{i=1}^{N}\log _{b}q(x_{i})}}

kde b {\displaystyle b} je obvykle 2. Lepší modely q neznámého rozdělení p budou přiřazovat testovacím událostem vyšší pravděpodobnosti q(xi) a proto budou mít nižší perplexitu: model je „méně překvapený“ testovacím vzorkem.

Exponent ve výše uvedeném výrazu může být považován za průměrný počet bitů potřebný k reprezentaci testovací události xi, jestliže používáme optimální kód vycházející z q. Modely s nižší perplexitou lépe komprimují testovací vzorky, tj. vyžadující v průměru méně bitů na testovací prvek, protože q(xi) je velké.

Exponent může také být považován za křížovou entropii,

H ( p ~ , q ) = x p ~ ( x ) log 2 q ( x ) {\displaystyle H({\tilde {p}},q)=-\sum _{x}{\tilde {p}}(x)\log _{2}q(x)}

kde p ~ {\displaystyle {\tilde {p}}} označuje empirické rozdělení testovacího vzorku (tj., p ~ ( x ) = n / N {\displaystyle {\tilde {p}}(x)=n/N} , jestliže se x objevilo v testovacím vzorku velikosti N právě n krát).

Perplexita na slovo

Při zpracování přirozeného jazyka lze používat perplexitu jako jednu z možností hodnocení jazykového modelu. Jazykový model je rozdělení pravděpodobnosti celých vět nebo textů.

Při použití definice perplexity pro pravděpodobnostní model je možné například zjistit, že průměrná věta xi z testovacího vzorku by mohla být kódována pomocí 190 bitů (to znamená, že testovací věta má v průměru logaritmus pravděpodobnosti -190). To by dávalo modelu značně velkou perplexitu 2190 na větu. Zpravidla je však obvyklejší normalizovat délku vět, a uvažovat pouze počet bitů na slovo. Jestliže tedy věty testovacího vzorku měly celkem 1000 slov, a mohly by být zakódovány pomocí 7,95 bitů na slovo, můžeme považovat perplexitu modelu 27,95 = 247 na slovo. Jinými slovy, model je tak překvapený testovacími daty, jako kdyby měl vybírat z 247 možností pro každé slovo.

Nejnižší perplexita, která byla publikována pro Brownův korpus (korpus textů různých žánrů a témat v americké angličtině s rozsahem 1 milion slov) z roku 1992 je ve skutečnosti asi 247 na slovo, čemuž odpovídá křížová entropie log2247 = 7,95 bitů na slovo nebo 1,75 bitů na písmeno [1] pomocí trigramového modelu. Pro specializovanější korpusy lze často dosáhnout ještě nižší perplexity, protože jsou předvídatelnější.

Jednoduché hádání, zda další slovo v Brownově korpusu je „the“, má přesnost 7 procent, a ne 1/247 = 0,4 procenta, jak bychom mohli předpokládat při naivním použití perplexity jako míry předvídatelnosti. Tento odhad totiž vychází z unigramové statistiky Brownova korpusu, zatímco trigramové statistika dává perplexitu slova 247. Použitím trigramové statistiky se šance na správný odhad zvyšují.

Reference

V tomto článku byl použit překlad textu z článku Perplexity na anglické Wikipedii.

  1. BROWN, Peter F. An Estimate of an Upper Bound for the Entropy of English. Computational Linguistics. Březen 1992. Dostupné online [cit. 2007-02-07].