负对数似然 交叉熵 mse mae的区别
交叉熵的介绍见https://blog.csdn.net/jzwei023/article/details/115496906?spm=1001.2014.3001.5501
交叉熵 vs 二阶Loss函数
逻辑回归一些简单的网络中,我们会使用MSE(均方误差mean-square error)这样的二阶Loss函数。然而二阶loss函数,会存在一个问题。
ANN被设计的一个最大优势在于可以根据误差进行学习来调整参数。误差越大,则希望调整的幅度越大,从而收敛速度越快。而二阶loss函数则有可能误差越大,参数调整的幅度可能更小,训练更缓慢。
MSE的公式定义:
对于一个样本,其损失函数简化为:
调参的方式采用梯度下降算法(Gradient descent),沿着梯度方向调整参数大小。
w和b的梯度推导如下:
其中z是神经元的输入。从以上公式可以看出,w和b的梯度跟sigmoid函数的梯度成正比,sigmoid函数的梯度越大,w和b的梯度也越大,即大小调整得越快,训练收敛得就越快。
我们知道sigmoid函数的曲线如下:
从上图中我们可以看到,对于误差大的值(比如误差是0.98:输出值是0.98,真实值是0),相比误差小的值(比如误差是0.82:输出值是0.82,真实值是0)的下降速度更慢。
那我们看下当个样本中交叉熵中w和b的梯度:和
(见https://blog.csdn.net/jasonzzj/article/details/52017438)
可以看到二阶loss函数的w梯度公式中的σ'(z)没有了。σ(z)-y表示输出值与实际值之间的误差。所以,当误差越大,梯度就越大,参数w和b调整得越快,训练速度也就越快。
实际情况也证明,交叉熵代价函数带来的训练效果往往比二次代价函数要好。
mse和mae的区别
https://www.jianshu.com/p/1ff7ae7ea9ef
为什么分类问题不能使用mse损失函数?
1. 在线性回归中用到的最多的是MSE(最小二乘损失函数),这个比较好理解,就是预测值和目标值的欧式距离。
而交叉熵是一个信息论的概念,交叉熵能够衡量同一个随机变量中的两个不同概率分布的差异程度,在机器学习中就表示为真实概率分布与预测概率分布之间的差异。交叉熵的值越小,模型预测效果就越好。以交叉熵本质上是概率问题,表征真实概率分布与预测概率分布差异,和几何上的欧氏距离无关,在线性回归中才有欧氏距离的说法,在分类问题中label的值大小在欧氏空间中是没有意义的。
所以分类问题不能用mse作为损失函数。
2. 分类问题是逻辑回归,必须有**函数这个非线性单元在,比如sigmoid(也可以是其他非线性**函数),而如果还用mse做损失函数的话:
mse已经是非凸函数了,有多个极值点,所以不适用做损失函数了。
3. mse作为损失函数,求导的时候都会有对损失函数的求导连乘运算,对于sigmoid、tanh,有很大区域导数为0的,导致容易梯度消失。
梯度消失问题存在2个地方:
1.损失函数对权值w求导,这是误差反向传播的第一步,mse的损失函数会在损失函数求导这一个层面上就导致梯度消失;而使用交叉熵损失函数则在这一步不会导致梯度消失
2.误差反向传播时,链式求导也会使得梯度消失。使用交叉熵损失函数也不能避免反向传播带来的梯度消失,此时规避梯度消失的方法有使用ReLU、输入归一化、层归一化等。
负对数似然 交叉熵 mse mae的区别相关推荐
- 交叉熵损失函数、修正Huber损失、极大似然估计、负对数似然、似然与交叉熵、KL散度
交叉熵损失函数.修正Huber损失.极大似然估计.负对数似然.似然与交叉熵.KL散度 目录
- 损失函数-负对数似然和交叉熵(Pytorch中的应用)
文章目录 1.负对数似然损失函数 1.1.似然 1.2.似然函数 1.3.极大似然估计 1.4.对数似然 1.5.负对数似然 1.6.pytorch中的应用 2.交叉熵损失函数 2.1.信息量 2.2 ...
- 负对数似然(negative log-likelihood, NLL)
目录 1. 似然 2. 最大似然估计 3. 对数似然 4. 负对数似然 5. 补充说明 Reference 1. 似然 似然与概率不同.概率是指一个事件发生的可能性,描述的是对象是事件:似然是指影响事 ...
- 损失函数——负对数似然
阅读本文可以了解如下内容: 似然 似然估计 对数似然 负对数似然 1. 似然 在开始之前需要区分一个知识:似然(likelihood)和概率(probability).概率是一个事件发生的可能性,而似 ...
- 极大似然估计(Maximum Likelihood Estimattion Theory)是什么?极大似然估计的本质思想是什么?为什么极大似然可以作为损失函数使用?负对数似然损失函数(Negative
极大似然估计(Maximum Likelihood Estimattion Theory)是什么?极大似然估计的本质思想是什么?为什么极大似然可以作为损失函数使用?负对数似然损失函数(Negative ...
- 负对数似然(negative log-likelihood)
negative log likelihood 文章目录 negative log likelihood 似然函数(likelihood function) Overview Definition 离 ...
- 深入理解Pytorch负对数似然函数(torch.nn.NLLLoss)和交叉熵损失函数(torch.nn.CrossEntropyLoss)
在看Pytorch的交叉熵损失函数torch.nn.CrossEntropyLoss官方文档介绍中,给出的表达式如下.不免有点疑惑为何交叉熵损失的表达式是这个样子的 loss ( y , clas ...
- 熵(Entropy),交叉熵(Cross-Entropy),KL-松散度(KL Divergence),似然(Likelihood)
1.介绍: 我们如何去衡量y,y`的接近程度? 在这里我们介绍一下一种衡量方式交叉熵(Cross-Entropy),然后说明一下为什么这种方式适用于分类问题. 2.熵(Entropy): 熵的概念来自 ...
- Pytorch踩坑记之交叉熵(nn.CrossEntropy,nn.NLLLoss,nn.BCELoss的区别和使用)
目录 nn.Softmax和nn.LogSoftmax nn.NLLLoss nn.CrossEntropy nn.BCELoss 总结 在Pytorch中的交叉熵函数的血泪史要从nn.CrossEn ...
最新文章
- OpenCV+Tensorflow实现实时人脸识别演示
- pandas基于时序数据计算模型预测推理需要的统计数据(累计时间、长度变化、变化率、方差、均值、最大、最小等):范围内的统计量、变化率、获得数据集最后的几条数据的统计量、变化率、获得范围内的统计量
- 马莉 - 人神共愤的处女座
- [转]中国CIO的空前机会和空前责任
- maven实战总结,工作中常见操作
- 边缘化搭建DotNet Core 2.1 自动化构建和部署环境
- 计算机三级数据库er图试题里,2019年3月计算机三级数据库考试基础试题及答案006...
- nodejs不同浏览器跳转问题
- Educational Codeforces Round 56 (Rated for Div. 2) F. Vasya and Array
- php pdo setfetchmode,PDOStatement::setFetchMode
- UserWarning: h5py is running against HDF5 1.10.5 when it was built against 1.10.4
- java 40期_【40期】说一下线程池内部工作原理
- 扫盲:什么是steam令牌验证器?哪些行为会触发steam交易限制
- 彻底拿下QSPI双闪存W25Q256| STM32H750| QSPI 双FLASH |cubeIDE |下载算法(二)
- 苹果邮箱格式_3个小工具,让PDF格式不仅能编辑还能转成word 、execl、 ppt
- 2019年04月02日清明上海迪士尼游
- Could not enlist in transaction on entering meta-aware object
- 谭波 oracle,行动营复盘
- 解决Ubuntu16.04耳机没声音问题
- windows SVN server