目录

  • 背景
  • 定义
  • 关系

背景

在进行一项分类任务训练时,观察到验证集上的accuracy增加的同时,loss也在增加,因此产生了一些疑惑,对accuracy和loss之间的关系进行探索。

定义

在理解他们的关系之前,先来回顾一下什么是交叉熵损失和准确率。交叉熵损失函数:交叉熵输出的是正确标签的似然对数,和准确率有一定的关系,但是取值范围更大。交叉熵损失公式:

其中y^(i)\widehat{y}^{(i)}y​(i)为预测值,y(i)y^{(i)}y(i)为真实标签,可以看出交叉熵损失只关心对正确类别的预测概率。(在这里为简化讨论,我们假设一个样本里只要一个标签,即简单的0-1二分类问题。)
当训练样本为n时,交叉熵损失函数为:

准确率:在分类问题中,准确率的定义简单粗暴,就是看预测的类别是否和真实的类别一致。在分类任务中,对于一个N类任务,输出就是一个N维的向量,向量每一个位置就代表了一种类别,对应位置的值就代表预测的目标属于该类的概率,比如猫狗的分类,输出向量为[0.3, 0.7],就表示输入的图属于猫的概率为0.3,属于狗的为0.7。在输出预测结果时,我们是取概率最大的索引所对应的的标签作为最终预测的结果标签,比如在上个例子中,预测输出:输入的图像类别为狗。

关系

清楚了定义之后,仔细思考就会发现其中的问题,因为准确率是输出最大的概率,因此0.9的概率值和0.5的概率值效果是等价的,只要保证他们是最大概率即可!请看下面的例子:
比如我们现在预测猫和狗的类别,
有一个样本预测输出是[0.1, 0.9], 它的交叉熵损失为loss = -1* log(0.9) = 0.046, 预测结果为:狗
另一个样本的预测输出是[0.4, 0.6], 它的交叉熵损失为loss = -1 * log(0.6) = 0.222, 预测结果为:狗
可以看出两个样本都预测的为狗,但是他们的交叉熵损失差别很大。因此我们在训练时,可能会出现准确率和交叉熵同时上升的情况。
那么问题来了:
既然准确率和损失都是评价模型好坏的,那么用一个不行吗?为什么要用两个并不完全等价的评价指标呢?
这是因为,在分类问题中,可能准确率更加的直观,也更具有可解释性,更重要,但是它不可微,无法直接用于网络训练,因为反向传播算法要求损失函数是可微的。而损失函数一个很好的性质就是可微,可以求梯度,运用反向传播更新参数。即首选损失不能直接优化(比如准确率)时,可以使用与真实度量类似的损失函数。 损失函数的可微性,使得可以采用多种方式进行优化求解,例如牛顿法、梯度下降法、极大似然估计等。另外在分类任务中,使用accuracy可以,但是在回归任务中,accuracy便不再可用,只能使用loss。

  • 通过模型在 dev/test 集上的 accuracy ,计算模型正确分类的样本数与总样本数之比以衡量模型的效果,目标是对模型的效果进行度量。
  • 通过损失函数的计算,更新模型参数,目标是为了减小优化误差(Optimization error),即在损失函数与优化算法的共同作用下,减小模型的经验风险。

总结准确度和交叉熵会出现以下情况:

  1. 如果正确标签的概率降低,但这个标签依然是概率最高的,会出现损失增加单准确度不变的结果。
  2. 如果数据集的标签很不平均,比如90%是类别A,那么模型一味增加预测A的比例,可能会让准确度上升,但loss可能也会以更大幅度上升(cross entropy的幅度可以很大)
  3. 如果模型非常自信,大多数正确标签的概率都接近1,那如果出现一个错误,准确率可能只会降低很少,但交叉熵可能会非常高。

参考:
https://blog.csdn.net/quiet_girl/article/details/86138489
https://www.zhihu.com/question/264892967

准确率Accuracy与损失函数Loss的关系相关推荐

  1. 损失函数Loss相关总结(精细版)

    目录 Loss损失函数的作用 损失函数loss和准确率accuracy的比较 回归任务中的loss主要包括 Loss损失函数的作用 损失函数用来评价模型的预测值和真实值不一样的程度,深度学习训练模型的 ...

  2. keras 自定义评估函数和损失函数loss训练模型后加载模型出现ValueError: Unknown metric function:fbeta_score

    keras分类回归的损失函数与评价指标 目标函数 (1)mean_squared_error / mse 均方误差,常用的目标函数,公式为((y_pred-y_true)**2).mean() (2) ...

  3. python垃圾分类准确率计算公式_准确率(Accuracy), 精确率(Precision), 召回率(Recall)和F1-Measure...

    机器学习(ML),自然语言处理(NLP),信息检索(IR)等领域,评估(Evaluation)是一个必要的 工作,而其评价指标往往有如下几点:准确率(Accuracy),精确率(Precision), ...

  4. 【机器学习】准确率(Accuracy), 精确率(Precision), 召回率(Recall)和F1-Measure

    在机器学习.数据挖掘.推荐系统完成建模之后,需要对模型的效果做评价. 业内目前常常采用的评价指标有准确率(Precision).召回率(Recall).F值(F-Measure)等,下图是不同机器学习 ...

  5. 准确率(Accuracy), 精确率(Precision), 召回率(Recall)和F1-Measure(对于二分类问题)

    首先我们可以计算准确率(accuracy),其定义是: 对于给定的测试数据集,分类器正确分类的样本数与总样本数之比.也就是损失函数是0-1损失时测试数据集上的准确率. 下面在介绍时使用一下例子: 一个 ...

  6. [白话解析] 通过实例来梳理概念 :准确率 (Accuracy)、精准率(Precision)、召回率(Recall) 和 F值(F-Measure)

    [白话解析] 通过实例来梳理概念 :准确率 (Accuracy).精准率(Precision).召回率(Recall)和F值(F-Measure) 文章目录 [白话解析] 通过实例来梳理概念 :准确率 ...

  7. 准确率(Accuracy),精确率/查准率(Precision), 召回率/查全率(Recall)和F1-Measure

    机器学习(ML), 自然语言处理(NLP), 信息检索(IR)等领域, 评估(Evaluation)是一个必要的工作, 而其评价指标往往有如下几点: 准确率(Accuracy), 精确率(Precis ...

  8. FP、FN、TP、TN、精确率(Precision)、召回率(Recall)、准确率(Accuracy)评价指标详述

    来自微信公众号:小白CV关注可了解更多CV,ML,DL领域基础/最新知识;如果你觉得小白CV对您有帮助,欢迎点赞/收藏/转发 在机器学习领域中,用于评价一个模型的性能有多种指标,其中几项就是FP.FN ...

  9. 损失函数(Loss function) 和 代价函数(Cost function)

    1损失函数和代价函数的区别: 损失函数(Loss function):指单个训练样本进行预测的结果与实际结果的误差. 代价函数(Cost function):整个训练集,所有样本误差总和(所有损失函数 ...

最新文章

  1. 【♻️markdown之一次编写,到处使用♻️】markdown文件转word
  2. mailto发送邮件
  3. python模块:命名空间与重载模块
  4. [Unity][NodeCanvas] 通过 .value 获取 BBParameter 黑板值
  5. 《MapReduce 2.0源码分析与编程实战》一第2章 入门
  6. 相关插件在项目中使用参考
  7. (半翻译)篡改mac应用后,如何resign签名,重新获得mac系统的信任?
  8. 【ES实战】ES上的安全性运行方式
  9. 电子产品“使用”和“放置”哪个寿命更长??
  10. 计算机win2000如何连接wifi,台式电脑windows7怎么连接wifi
  11. 斐波那契数列之不死神兔 14
  12. 八年级英语下册计算机教学总结,初中信息技术教学工作总结
  13. 2021年5月23日《一开口就让人喜欢你》读后感
  14. Java安装详细步骤(win10)
  15. messagrbox自定义按钮c语言,基于dialogbox修改可自定义按钮及事件的弹出框插件
  16. 日本厚生劳动省核准Invivoscribe的LeukoStrat CDx FLT3突变检测作为第一三共的Quizartinib治疗复发/难治FLT3-ITD AML的伴侣诊断试剂。扩展用途包括EDT
  17. com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to
  18. linux学习:解决Ubuntu运行时CPU温度过高导致自动关机保护
  19. 如何制作一个漂亮的生日祝福网页
  20. 【汇编】 INT 21H 命令

热门文章

  1. 学习笔记(5):C#急速入门-单行和多行注释
  2. openssl 证书验证
  3. 药品信息api 药品列表查询
  4. EDIUS怎么制作字幕停留效果?
  5. Python实现的解压缩软件及excel转图片工具源代码,基于pyqt5
  6. linux中文件在外存的物理地址放在,Linux文件系统中,文件在外存的物理地址放在 ( ) 中...
  7. 电脑桌面悬浮窗记事本_安卓悬浮窗便签记事本怎么添加?求安卓手机悬浮窗便签...
  8. android模拟器跑的时候卡,安卓模拟器运行卡顿原因,和七大解决方法
  9. C++实现矩阵计算器
  10. 温梦欣:跨界创业—太空经济时代的创业故事|创新社创新课堂