我们通常用困惑度(perplexity)来评估语言模型的好坏。可以探索一下交叉熵损失函数的定义。困惑度是对交叉熵损失函数做指数运算后得到的值。特别地:
- 最佳情况下,模型总是把标签类别的概率预测为1,此时困惑度为1;
- 最坏情况下,模型总是把标签类别的概率预测为0,此时困惑度为正无穷;
- 基线情况下,模型总是把预测所有类别的概率都相同,此时困惑度为类别个数。
显然,任何一个有效模型的困惑度必须小于类别个数。
假定交叉熵损失函数为:
H(y(i),y^(i))=−j=1∑qyj(i)logy^j(i)困惑度计算公式为
per=eH(y(i),y^(i))在最佳情况下,
H(y(i),y^(i))=0,可以知道
e0=1;
在最坏情况下,
H(y(i),y^(i))=无穷大,因此困惑度为无穷大;
在基线情况下,
H(y(i),y^(i))=−n1,因此困惑度为n,也就是类别个数。