困惑度

困惑度

我们通常用困惑度(perplexity)来评估语言模型的好坏。可以探索一下交叉熵损失函数的定义。困惑度是对交叉熵损失函数做指数运算后得到的值。特别地:

  • 最佳情况下,模型总是把标签类别的概率预测为1,此时困惑度为1;
  • 最坏情况下,模型总是把标签类别的概率预测为0,此时困惑度为正无穷;
  • 基线情况下,模型总是把预测所有类别的概率都相同,此时困惑度为类别个数。

显然,任何一个有效模型的困惑度必须小于类别个数。

假定交叉熵损失函数为:

[Hleft(y^{(i)}, hat{y}^{(i)} ight)=-sum_{j=1}^{q} y_{j}^{(i)} log hat{y}_{j}^{(i)} ]

困惑度计算公式为

[per=e^{Hleft(y^{(i)}, hat{y}^{(i)} ight)} ]

  • 在最佳情况下,(Hleft(y^{(i)}, hat{y}^{(i)} ight)=0),可以知道(e^0=1);
  • 在最坏情况下,,因(Hleft(y^{(i)}, hat{y}^{(i)} ight)=无穷大),此困惑度为无穷大;
  • 在基线情况下(Hleft(y^{(i)}, hat{y}^{(i)} ight) = -n*frac{1}{n}logfrac{1}{n}=logn),因此困惑度为n,也就是类别个数。
作者:鄂河
声明:本博客所有文章均来源于网络或本人原创,仅用于学习用途,欢迎评论区讨论,会逐一完善内容。
原文地址:https://www.cnblogs.com/panghuhu/p/14237498.html