准确率Accuracy与损失函数Loss的关系
目录
- 背景
- 定义
- 关系
背景
在进行一项分类任务训练时,观察到验证集上的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),即在损失函数与优化算法的共同作用下,减小模型的经验风险。
总结准确度和交叉熵会出现以下情况:
- 如果正确标签的概率降低,但这个标签依然是概率最高的,会出现损失增加单准确度不变的结果。
- 如果数据集的标签很不平均,比如90%是类别A,那么模型一味增加预测A的比例,可能会让准确度上升,但loss可能也会以更大幅度上升(cross entropy的幅度可以很大)
- 如果模型非常自信,大多数正确标签的概率都接近1,那如果出现一个错误,准确率可能只会降低很少,但交叉熵可能会非常高。
参考:
https://blog.csdn.net/quiet_girl/article/details/86138489
https://www.zhihu.com/question/264892967
准确率Accuracy与损失函数Loss的关系相关推荐
- 损失函数Loss相关总结(精细版)
目录 Loss损失函数的作用 损失函数loss和准确率accuracy的比较 回归任务中的loss主要包括 Loss损失函数的作用 损失函数用来评价模型的预测值和真实值不一样的程度,深度学习训练模型的 ...
- keras 自定义评估函数和损失函数loss训练模型后加载模型出现ValueError: Unknown metric function:fbeta_score
keras分类回归的损失函数与评价指标 目标函数 (1)mean_squared_error / mse 均方误差,常用的目标函数,公式为((y_pred-y_true)**2).mean() (2) ...
- python垃圾分类准确率计算公式_准确率(Accuracy), 精确率(Precision), 召回率(Recall)和F1-Measure...
机器学习(ML),自然语言处理(NLP),信息检索(IR)等领域,评估(Evaluation)是一个必要的 工作,而其评价指标往往有如下几点:准确率(Accuracy),精确率(Precision), ...
- 【机器学习】准确率(Accuracy), 精确率(Precision), 召回率(Recall)和F1-Measure
在机器学习.数据挖掘.推荐系统完成建模之后,需要对模型的效果做评价. 业内目前常常采用的评价指标有准确率(Precision).召回率(Recall).F值(F-Measure)等,下图是不同机器学习 ...
- 准确率(Accuracy), 精确率(Precision), 召回率(Recall)和F1-Measure(对于二分类问题)
首先我们可以计算准确率(accuracy),其定义是: 对于给定的测试数据集,分类器正确分类的样本数与总样本数之比.也就是损失函数是0-1损失时测试数据集上的准确率. 下面在介绍时使用一下例子: 一个 ...
- [白话解析] 通过实例来梳理概念 :准确率 (Accuracy)、精准率(Precision)、召回率(Recall) 和 F值(F-Measure)
[白话解析] 通过实例来梳理概念 :准确率 (Accuracy).精准率(Precision).召回率(Recall)和F值(F-Measure) 文章目录 [白话解析] 通过实例来梳理概念 :准确率 ...
- 准确率(Accuracy),精确率/查准率(Precision), 召回率/查全率(Recall)和F1-Measure
机器学习(ML), 自然语言处理(NLP), 信息检索(IR)等领域, 评估(Evaluation)是一个必要的工作, 而其评价指标往往有如下几点: 准确率(Accuracy), 精确率(Precis ...
- FP、FN、TP、TN、精确率(Precision)、召回率(Recall)、准确率(Accuracy)评价指标详述
来自微信公众号:小白CV关注可了解更多CV,ML,DL领域基础/最新知识;如果你觉得小白CV对您有帮助,欢迎点赞/收藏/转发 在机器学习领域中,用于评价一个模型的性能有多种指标,其中几项就是FP.FN ...
- 损失函数(Loss function) 和 代价函数(Cost function)
1损失函数和代价函数的区别: 损失函数(Loss function):指单个训练样本进行预测的结果与实际结果的误差. 代价函数(Cost function):整个训练集,所有样本误差总和(所有损失函数 ...
最新文章
- 【♻️markdown之一次编写,到处使用♻️】markdown文件转word
- mailto发送邮件
- python模块:命名空间与重载模块
- [Unity][NodeCanvas] 通过 .value 获取 BBParameter 黑板值
- 《MapReduce 2.0源码分析与编程实战》一第2章 入门
- 相关插件在项目中使用参考
- (半翻译)篡改mac应用后,如何resign签名,重新获得mac系统的信任?
- 【ES实战】ES上的安全性运行方式
- 电子产品“使用”和“放置”哪个寿命更长??
- 计算机win2000如何连接wifi,台式电脑windows7怎么连接wifi
- 斐波那契数列之不死神兔 14
- 八年级英语下册计算机教学总结,初中信息技术教学工作总结
- 2021年5月23日《一开口就让人喜欢你》读后感
- Java安装详细步骤(win10)
- messagrbox自定义按钮c语言,基于dialogbox修改可自定义按钮及事件的弹出框插件
- 日本厚生劳动省核准Invivoscribe的LeukoStrat CDx FLT3突变检测作为第一三共的Quizartinib治疗复发/难治FLT3-ITD AML的伴侣诊断试剂。扩展用途包括EDT
- com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to
- linux学习:解决Ubuntu运行时CPU温度过高导致自动关机保护
- 如何制作一个漂亮的生日祝福网页
- 【汇编】 INT 21H 命令
热门文章
- 学习笔记(5):C#急速入门-单行和多行注释
- openssl 证书验证
- 药品信息api 药品列表查询
- EDIUS怎么制作字幕停留效果?
- Python实现的解压缩软件及excel转图片工具源代码,基于pyqt5
- linux中文件在外存的物理地址放在,Linux文件系统中,文件在外存的物理地址放在 ( ) 中...
- 电脑桌面悬浮窗记事本_安卓悬浮窗便签记事本怎么添加?求安卓手机悬浮窗便签...
- android模拟器跑的时候卡,安卓模拟器运行卡顿原因,和七大解决方法
- C++实现矩阵计算器
- 温梦欣:跨界创业—太空经济时代的创业故事|创新社创新课堂