Top5误差率

深度学习模型训练除却常见的PRF指标,在多分类的图像识别方面,还有两个误差率,也是公认的图片分类评价标准,即top1 err和top5 err。
比如AlexNet训练分类图片在top1和top5上的误差率分别降低到了39.7%和 18.9%。VGG在top5上的错误率为7.5%。

top1 err-----模型返回预测矩阵里概率最大对应的标签和正确标签不一致样本数/总样本数。其实这个就是 1-Accuracy

top5 err-----概率向量最大的前五中没有出现正确标签的样本数/总样本数
以上两个指标都是越小代表模型效果越好。

在计算top5 err时需要进行正确标签(对应的索引值)是否在返回的预测矩阵前五大概率(对应的索引值)中判断,用到以下tensorflow函数。

correct=tf.nn.in_top_k(logits,tf.argmax(labels, 1), 5)  #logits是模型返回

上面是计算概率向量最大的前五中出现正确标签的样本数,最终记得转换过来:
*top5 err = (1-total_correct/num_sample)100

函数解释

tf.nn.in_top_k(predictions, targets, k, name=None)

这个函数是判断targets目标值是否在预测值predictions的前k个位置中,返回数据类型为bool类型,len与predictions同。例

predictions=[[0.52509776, 0.5892755 , 0.74725628, 0.76582739],
       [0.50402326, 0.61583285, 0.29059194, 0.02758617],
       [0.0509672 , 0.86364328, 0.65484514, 0.47734828]]
targets=[1 2 2]
out =  tf.nn.in_top_k(predictions, targets, 2)   # 这里简单一点 设置成前2大

输出参数

out = [False False True]  #后面可以进行类型转换,计数True的个数

本篇链接:
https://blog.csdn.net/weixin_42385606/article/details/105590792
参考:
1、https://blog.csdn.net/wuguangbin1230/article/details/72820627
2、https://www.cnblogs.com/wuzhitj/p/6431381.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值