matlab命令窗口输出的obj,top1误差,top5误差的计算

为了方便说明,假设epoch数目为1,有2个batch,cnn_train函数在每一个batch上优化结束之后会分别得到两个数组:

error=[obj, top1, top5]

stats=sum([stats,[0 ; error]],2)

error:obj为一个batch里所有样本的loss,相应地top1和top5分别为一个batch里所有样本的top1和top5误差之和;

stats:在第1个batch上优化结束之后,保存的是第1个batch上得到的error数组。在第2个batch上优化结束后,保存的是2个batch的error数组之和。

matlab命令窗口输出的形如“training: epoch 01: batch   1/600: 174.4 Hz obj:2.3 top1e:0.88 top5e:0.39 [100/100]”的结果是如何计算的,如下:

obj=(stats数组的obj)/n,其中n=当前batch*batchSize,比如优化的是第2个batch的话就是n=2*batchSize,由此可以看出,其实n就是样本数目。top1和top5计算方法相同。

 

Top-5错误率
即对一个图片,如果概率前五中包含正确答案,即认为正确。

Top-5 = (正确标记 不在 模型输出的前5个最佳标记中的样本数)/ 总样本数;

Top-1错误率
即对一个图片,如果概率最大的是正确答案,才认为正确。

Top-1 = (正确标记 与 模型输出的最佳标记不同的样本数)/ 总样本数; 
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值