困惑度 perplexity

在自然语言处理中,困惑度是用来衡量语言模型优劣的一个方法。它的值是对交叉熵损失函数做指数运算后得到的结果。

交叉熵损失函数

单个训练样本的损失:

l o s s = − 1 n ∑ i = 1 n y i l o g y i ^ = − l o g y j ^ loss=-\frac{1}{n}\sum_{i=1}^{n}y_{i}log\hat{y_{i}}=-log\hat{y_{j}} loss=n1i=1nyilogyi^=logyj^

n n n是标签数量,在语言模型中指的是字符总数。 y i ^ \hat{y_{i}} yi^是预测概率, y i y_{i} yi是预测正确概率。假如标签数为3,每个样本只有一个标签,正确预测结果为类别1,则 y 1 = 1 y_{1}=1 y1=1 y 2 = 0 y_{2}=0 y2=0 y 3 = 0 y_{3}=0 y3=0,代入公式得到 l o s s = − l o g y 1 ^ loss=-log\hat{y_{1}} loss=logy1^。可以看到交叉熵损失函数只关心预测正确的概率。

困惑度

p e r p l e x i t y = e l o s s = 1 y i ^ perplexity=e^{loss}=\frac{1}{\hat{y_{i}}} perplexity=eloss=yi^1

  • 最佳情况下,模型总是把标签类别的概率预测为1,此时困惑度为1;
  • 最坏情况下,模型总是把标签类别的概率预测为0,此时困惑度为正无穷;
  • 基线情况下,模型总是预测所有类别的概率都相同。 y i ^ = 1 n \hat{y_{i}}=\frac{1}{n} yi^=n1 p e r p l e x i t y = n perplexity=n perplexity=n。此时困惑度为类别个数。

显然,任何一个有效模型的困惑度必须小于类别个数。在语言模型中,困惑度必须小于词典大小vocab_size

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值