Qu'est-ce que la perplexité?

42

Je suis tombé sur un terme de perplexité qui fait référence à la probabilité inverse logarithmique sur des données invisibles. Un article de Wikipedia sur la perplexité ne donne pas un sens intuitif pour la même chose.

Cette mesure de perplexité a été utilisée dans le papier pLSA .

Quelqu'un peut-il expliquer la nécessité et le sens intuitif de la mesure de perplexité ?

Apprenant
la source
Comment puis-je calculer la perplexité pour pLSA. J'ai datamatrix X qui a le compte et par l'algorithme TEM p(d) et p(w|d) sont calculés.
Apprenant
3
J'ai vérifié les indices de 5 livres d'exploration de données / apprentissage automatique / analyses prédictives de Nisbett, Larose, Witten, Torgo et Shemueli (plus des coauteurs) et ce terme ne figure dans aucun d'entre eux. Je suis perplexe :)
cycliste
1
Perplexité est un autre nom de fantaisie pour l'incertitude. Cela peut être considéré comme une évaluation intrinsèque contre une évaluation extrinsèque. Jan Jurafsky l'explique avec élégance à l'aide d'exemples conformes à la modélisation de langage, disponibles sur youtube.com/watch?v=BAN3NB_SNHY
bicepjai le
2
@zbicyclist, Si vous cherchez des exemples dans la nature, c'est particulièrement courant dans la PNL, et en particulier pour l'évaluation d'éléments comme les modèles de langage.
Matt Krause
Dans certains domaines (économie, par exemple), on parle d'équivalents numériques, de sorte que, par exemple, H est l'entropie basée sur les logarithmes naturels correspond à un nombre équivalent de catégories également communes. Ainsi, deux catégories, chacune avec une probabilité de 0,5, donnent une entropie de ln 2 et une exponentiation renvoie 2 comme le nombre de catégories également communes. Pour des probabilités inégales, l'équivalent numérique n'est pas en général un entier. exp(H)Hln2
Nick Cox

Réponses:

21

Vous avez consulté l'article de Wikipedia sur la perplexité . Cela donne la perplexité d’une distribution discrète

2xp(x)log2p(x)

qui pourrait également être écrit comme

exp(xp(x)loge1p(x))

c'est-à-dire en tant que moyenne géométrique pondérée des inverses des probabilités. Pour une distribution continue, la somme deviendrait une intégrale.

L'article donne également un moyen d'estimer la perplexité d'un modèle à l'aide de données de testN

2i=1N1Nlog2q(xi)

qui pourrait aussi être écrit

exp(i=1Nloge(1q(xi))N) or i=1N1q(xi)N

ou de diverses autres manières, ce qui devrait rendre plus claire encore la notion de "probabilité inverse logarithmique".

Henri
la source
Existe-t-il une distinction particulière entre le moment où e est utilisé comme exposant plutôt que 2?
Henry E
2
@HenryE: non, et les logarithmes communs en base fonctionneraient aussi - les logarithmes de bases différentes sont proportionnels les uns aux autres et clairement un log a x = b log b x10alogax=blogbx
Henry
Je ai pensé autant. Je suis tombé sur cette réponse en essayant de comprendre pourquoi un morceau de code utilisait e pour calculer la perplexité alors que toutes les autres formulations que j'avais précédemment vues utilisaient 2. Je réalise maintenant à quel point il est important de connaître la valeur d'un framework utilise comme base pour le calcul de la perte de log
Henry E
27

J'ai trouvé cela plutôt intuitif:

La perplexité de tout ce que vous évaluez, sur les données que vous évaluez, vous indique en quelque sorte "cette chose est exacte aussi souvent que le ferait un dé à face x".

http://planspace.org/2013/09/23/perplexity-what-it-is-and-what-yours-is/

pandas Partout
la source
C'est un article intéressant. peut-être pas si en profondeur mais une bonne lecture introductive.
Monica Heddneck
1
J'ai aussi trouvé cet article utile, jamesmccaffrey.wordpress.com/2016/08/16/…
user2561747
11

Je me suis demandé cela aussi. La première explication n’est pas mauvaise, mais voici mes deux mots clés.


Tout d'abord, la perplexité n'a rien à voir avec la caractérisation de la fréquence à laquelle vous devinez quelque chose de bien. Il s'agit davantage de caractériser la complexité d'une séquence stochastique.

Nous examinons une quantité,

2xp(x)log2p(x)

Annulons d'abord le journal et l'exponentiation.

2xp(x)log2p(x)=1xp(x)p(x)

Je pense que cela vaut la peine de souligner que la perplexité est invariante avec la base que vous utilisez pour définir l'entropie. En ce sens, la perplexité est infiniment plus unique / moins arbitraire que l’entropie en tant que mesure.

Relation avec les dés

11212×1212=2

Now what happens when we look at an N sided dice? Perplexity is

1(1N1N)N=N

So perplexity represents the number of sides of a fair die that when rolled, produces a sequence with the same entropy as your given probability distribution.

Number of States

OK, so now that we have an intuitive definition of perplexity, let's take a quick look at how it is affected by the number of states in a model. Let's start with a probability distribution over N states, and create a new probability distribution over N+1 states such that the likelihood ratio of the original N states remain the same and the new state has probability ϵ. In the case of starting with a fair N sided die, we might imagine creating a new N+1 sided die such that the new side gets rolled with probability ϵ and the original N sides are rolled with equal likelihood. So in the case of an arbitrary original probability distribution, if the probability of each state x is given by px, the new distribution of the original N states given the new state will be

px=px(1ϵ)
, and the new perplexity will be given by:

1ϵϵxNpxpx=1ϵϵxN(px(1ϵ))px(1ϵ)=1ϵϵxNpxpx(1ϵ)(1ϵ)px(1ϵ)=1ϵϵ(1ϵ)(1ϵ)xNpxpx(1ϵ)

In the limit as ϵ0, this quantity approaches

1xNpxpx

So as you make make rolling one side of the die increasingly unlikely, the perplexity ends up looking as though the side doesn't exist.

Alex Eftimiades
la source
3
Surely that's only ~1.39 nats worth?
Matt Krause
Can you elaborate how you get
xNpxpx=(1ϵ)1ϵxNpxpx(1ϵ)
? I can only do
xNpxpx=xN(px(1ϵ))px(1ϵ)=xN(1ϵ)px(1ϵ)xNpxpx(1ϵ)
user2740
\prod_x^N\left{(1-\epsilon\right)}^{p_x\left(1-\epsilon\right)}={\left(1-\epsilon\right)}^{\sum_x^N p_x \left(1-\epsilon\right)}={\left(1-\epsilon\right)}^{\left(1-\epsilon\right)\sum_x^N p_x}={\left(1-\epsilon\right)}^{\left(1-\epsilon\right)}
Alex Eftimiades
5

There is actually a clear connection between perplexity and the odds of correctly guessing a value from a distribution, given by Cover's Elements of Information Theory 2ed (2.146): If X and X are iid variables, then

P(X=X)2H(X)=12H(X)=1perplexity (1)

To explain, perplexity of a uniform distribution X is just |X|, the number of elements. If we try to guess the values that iid samples from a uniform distribution X will take by simply making iid guesses from X, we will be correct 1/|X|=1/perplexity of the time. Since the uniform distribution is the hardest to guess values from, we can use 1/perplexity as a lower bound / heuristic approximation for how often our guesses will be right.

user49404
la source