当前位置:网站首页>略解损失函数
略解损失函数
2022-08-08 06:24:00 【hithithithithit】
一、什么是损失函数?
损失函数用来衡量神经网络中的预测值和标签值的差异程度,可以作为一个神经网络好坏的评估标准,然后我们根据这个标准去优化模型的参数。
二、L1 损失函数(又称MAE,平均绝对值误差)

如上面的公式所示,可以知道L1损失函数实际上就是对所有样本的预测值和真实值之间的误差取平均值,其中n表示的是样本的个数,
表示的是真实值(0或1的离散值),
表示的是预测值(0-1之间的连续值),后面不再提及。
# Pytorch实现
import torch
loss = torch.nn.L1Loss()(pre, label)三、L2损失函数(又称MSE,均方损失函数)

L2损失函数就是对所有预测样本的预测值和真实值之间的误差平方取均值,其中n表示的是样本的个数。
import torch
loss = torch.nn.MSELoss()(pre, label)四、交叉熵损失函数(Cross Entropy Loss Function)
熵的定义:熵被用来形容一个系统的内在混乱程度,越混乱熵越大。为了方便记忆,可以用一个人的年龄来记忆,即一个人的熵和年龄是成正比的,人的年龄越大,内部系统越紊乱,熵也同时增加。所以熵增不是我们所需要的,可以类比到我们的损失函数,即损失越大熵越大,神经网络的优化也是朝着熵减的情况下进行的。
香农熵(信息熵):Shannon认为“信息是用来消除随机不确定性的东西”。

其中i标记概率空间中所有的样本,
表示的该样本出现的规律,
是常数。
交叉熵:

由以上公式可知,此公式表示的是预测为真的概率。交叉熵损失函数经常被用于分类问题。此外由于交叉熵涉及到每个类别的概率,所以经常和softmax函数和sigmoid函数搭配使用,特别是softmax函数。主要就是在神经网络中神经网络的最后一层得到每个类别的得分scores或者是logits,然后softmax计算获得概率输出,然后与one-hot形式的真实标签进行交叉熵损失函数的计算。
import torch
loss = torch.nn.CrossEntropyLoss()(pre, label)五、相对熵(Kullback-Leibler散度,KL散度)
相对熵(relative entropy),又被称为Kullback-Leibler散度(Kullback-Leibler divergence)或信息散度(information divergence),是两个概率分布(probability distribution)间差异的非对称性度量 。在信息理论中,相对熵等价于两个概率分布的信息熵(Shannon entropy)的差值 。
相对熵可以衡量两个随机分布之间的距离,当两个随机分布相同时,它们的相对熵为零,当两个随机分布的差别增大时,它们的相对熵也会增大。 所以相对熵可以用于比较文本的相似度,先统计出词的频率,然后计算相对熵。另外,在多指标系统评估中,指标权重分配是一个重点和难点,也通过相对熵可以处理

其中,p表示真实的随机分布,q表示模型所预测的分布。例如p表示预训练出来的类别[1,0,0],然后模型推理时得到了样本q的分布[0.7,0.2,0,1]。相对熵越小,p分布和q分布就越接近。
import torch
loss = torch.nn.KLDivLoss()(pre, label)参考文献
[1] 损失函数|交叉熵损失函数 - 知乎 (zhihu.com)
[2] 损失函数(Loss Function) - 知乎 (zhihu.com)
[3] 交叉熵(Cross Entropy) - 简书 (jianshu.com)
[4] 熵(统计物理与信息论术语)_百度百科 (baidu.com)
[6] 如何理解K-L散度(相对熵) - 简书 (jianshu.com)
[7] 一文搞懂交叉熵在机器学习中的使用
边栏推荐
- 在Mysql的 left/right join 添加where条件
- Food Industry Report: Research Analysis and Development Prospect Forecast of Chili Market
- MongoDB常用命令整理
- 简悦音乐播放器用到的相关技术点都在这里了(一)
- 课堂作业--黑客语解密
- Chemical Industry Research: Current Situation and Scale Analysis of Organic Silica Gel Market
- @Autowired和@Resource区别
- [GWCTF 2019]我有一个数据库1
- 节流与防抖
- 二. Redis 数据类型
猜你喜欢
随机推荐
Neo4j service configuration
3.SQL底层执行原理
ER图是什么?
bugku 速度要快
六.Redis 持久化之 RDB
Flask学习笔记
必知必会的VGG网络(含代码)
redis笔记
Part 10:iOS的数据持久化(2),Sqlite,CoreData
课堂作业--验证码较验
八.Redis 主从复制
[WUSTCTF2020]CV Maker1
2. TF2 FAQ
消费品行业报告:化妆品容器市场现状研究分析与发展前景预测
Mysql 事务
Mac下按装php的MongoDB扩展
树基础入门
市场调研报告-食品添加剂行业产量为974万吨
用原生js写轮播图(并实现手动及自动切换图片)
玫瑰精油市场研究:目前市场产值超过23亿元,市场需求缺口约10%

![[极客大挑战 2019]RCE ME 1](/img/10/b7e4f37c6e0c47f30a591ff4f46300.png)



![[GWCTF 2019]我有一个数据库1](/img/03/46c1cc42414e37d0d98cd714e950c2.png)



