# Perplexidade

Em teoria da informação, a perplexidade é uma medida de quão bem uma distribuição de probabilidade ou modelo de probabilidade prevê uma amostra. Pode ser usada para comparar modelos de probabilidade. Uma baixa perplexidade indicada que a distribuição de probabilidade é boa em prever a amostra.

## Perplexidade de uma distribuição de probabilidade

A perplexidade de uma distribuição de probabilidade discreta $p$ é definida como:
   $2^{H(p)}=2^{-\sum _{x}p(x)\log _{2}p(x)},$
em que $H(p)$ é a entropia (em bits) da distribuição e $x$ varia sobre os eventos, ou seja, a perplexidade é igual a 2 elevado à entropia ou, mais precisamente, 2 elevado à entropia cruzada, definição esta usada frequentemente na comparação empírica de modelos probabilísticos.
A perplexidade de uma variável aleatória $X$ pode ser definida como a perplexidade da distribuição sobre seus possíveis valores $x$.
No caso especial em que $p$ modela um dado honesto de $k$-faces (uma distribuição uniforme sobre $k$ eventos discretos), sua perplexidade é $k$. Uma variável aleatória com perplexidade $k$ tem a mesma incerteza de um dado honesto de $k$-faces e é considerada "perplexa em $k$-formas" sobre o valor da variável aleatória. A não ser que seja um dado honesto de $k$-faces, mais que $k$ valores serão possíveis, mas a incerteza geral não é maior, porque alguns destes valores terão probabilidade maior que $1/k$, diminuindo o valor geral ao somar.
A perplexidade é algumas vezes usada como uma medida de quão difícil um problema de previsão é. Isto não é sempre preciso. Se você tiver duas escolhas, uma com probabilidade $0,9$, então suas chances de um palpite correto são iguais a $90\%$ usando a estratégia ótima. A perplexidade é $2^{-0,9\log _{2}0,9-0,1\log _{2}0,1}=1,38$. O inverso da perplexidade, que representa a probabilidade de um palpite correto no caso do dado honesto de $k$-faces, é igual à $1/1,38=0,72$, não $0,9$.
A perplexidade é a exponenciação da entropia, que é uma quantidade com contorno mais nítido. A entropia é uma medida do número esperado ou "médio" de bits exigido para codificar o resultado da variável aleatória, usando o código de comprimento variável, ótimo e teórico. Pode ser equivalentemente considerada como o ganho de informação esperado ao aprender o resultado da variável aleatória, em que a informação é medida em bits.

## Perplexidade de um modelo de probabilidade

Um modelo de uma distribuição de probabilidade desconhecida $p$ pode ser proposto com base em uma amostra de treinamento que foi retirada de $p$. Dado um modelo de probabilidade proposto $q$, pode-se avaliar $q$ ao perguntar quão bem ele prevê uma amostra de teste separada $x_{1},x_{2},\ldots ,x_{N}$ também retirada de $p$. A perplexidade do modelo $q$ é definida como:
   $b^{-{\frac {1}{N}}\sum _{i=1}^{N}\log _{b}q(x_{i})},$
em que $b$ é costumeiramente $2$. Modelos melhores $q$ da distribuição desconhecida $p$ tenderão a atribuir probabilidades maiores $q(x_{i})$ aos eventos de teste. Assim, têm menor perplexidade, sendo menos surpreendidos pela amostra de teste.
O expoente acima pode ser considerado como o número médio de bits necessários para representar um evento de teste $x_{i}$ se for usado um código ótimo baseado em $q$. Modelos de baixa perplexidade fazem um melhor trabalho comprimindo a amostra de teste, exigindo poucos bits por elemento de teste em média porque $q(x_{i})$ tende a ser alta.
O expoente pode também ser considerado uma entropia cruzada:
   $H({\tilde {p}},q)=-\sum _{x}{\tilde {p}}(x)\log _{2}q(x)$
em que ${\tilde {p}}$ denota a distribuição empírica da amostra de teste, isto é, ${\tilde {p}}(x)=n/N$, se $x$ tiver aparecido $n$ vezes na amostra de teste de tamanho $N$.

## Perplexidade por palavra

Em processamento de linguagem natural, a perplexidade é uma forma de avaliar modelos de linguagem. Um modelo de linguagem é uma distribuição de probabilidade sobre sentenças ou textos inteiros.
Usando a definição de perplexidade para um modelo de probabilidade, pode-se encontrar, por exemplo, que a sentença média $x_{i}$ na amostra de teste poderia ser codificada em 190 bits, isto é, as sentenças de teste tinham um logaritmo de probabilidade médio igual a -190. Isto daria uma perplexidade de modelo enorme de $2^{190}$ por sentença. Entretanto, é mais comum normalizar o comprimento de sentença e considerar apenas o número de bits por palavra. Assim, se as frases da amostra de teste compreenderem um total de 1.000 palavras e puderem ser codificadas usando um total de 7,95 bits por palavra, poderá se relatada uma perplexidade de modelo de $2^{7,95}=247$ por palavra. Em outras palavras, o modelo é tão confuso em dados de teste quanto se tivesse que escolher uniformemente e independentemente entre 247 possibilidades para cada palavra.
Até 1992, a mais baixa perplexidade publicada no Brown Corpus (lista de 1 milhão de palavras em inglês norte-americano sobre variados tópicos e gêneros) havia sido de fato aproximadamente 247 por palavra, correspondendo a uma entropia cruzada de $\log _{2}247=7,95$ bits por palavra ou 1,75 bits por letra, usando um modelo trigrama. É frequentemente possível conseguir uma perplexidade mais baixa em corpora mais especializados, já que são mais previsíveis.
Novamente, simplesmente prever que a próxima palavra no Brown Corpus é a palavra "the" terá uma precisão de 7%, não de $1/247=0,4\%$, como um uso ingênuo da perplexidade como uma medida de previsibilidade pode levar alguém a crer. Este palpite é baseado na estatística de unigrama do Brown Corpus, não na estatística de trigrama, que produziu a perplexidade de palavra igual a 247. Usar a estatística de trigrama melhoraria posteriormente as chances de um palpite correto.