2024年大数据最新深度学习(四)—— 常见的损失函数_距离图损失函数,2024年最新大数据开发开发经验谈

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

常见的损失函数

在这里插入图片描述
在深度学习中, 损失函数是用来衡量模型参数的质量的函数, 衡量的方式是比较网络输出和真实输出的差异,损失函数在不同的文献中名称是不一样的,主要有以下几种命名方式:

  • 损失函数 (loss function)
  • 代价函数(cost function)
  • 目标函数(objective function)
  • 误差函数(error function)

1 分类任务

在深度学习的分类任务中使用最多的是 交叉熵损失函数

1.1 多分类任务

在多分类任务通常使用 softmax 将 logits 转换为概率的形式,所以多分类的交叉熵损失也叫做 softmax 损失,它的计算方法是:

在这里插入图片描述
其中,y 是样本 x 属于某一个类别的真实概率(onehot编码,0或者1),而 f(x) 是样本属于某一类别的预测分数,S 是 softmax 函数,L 用来衡量 p,q 之间差异性的损失结果。

例如:
在这里插入图片描述

上图中的交叉熵损失为:

在这里插入图片描述
从概率角度理解,我们的目的是最小化正确类别所对应的预测概率的对数的负值,如下图所示:

在这里插入图片描述
在tf.keras中使用CategoricalCrossentropy实现,如下所示:

# 导入相应的包
import tensorflow as tf
# 设置真实值和预测值
y_true = [[0, 1, 0], [0, 0, 1]]
y_pred = [[0.05, 0.95, 0], [0.1, 0.8, 0.1]]# 两个交叉熵求平均值
# 实例化交叉熵损失
cce = tf.keras.losses.CategoricalCrossentropy()
# 计算损失结果
print(cce(y_true, y_pred).numpy()) # 1.176939

1.2 二分类任务

在处理二分类任务时,我们不在使用 softmax 激活函数,而是使用 sigmoid 激活函数,那损失函数也相应的进行调整,使用二分类的交叉熵损失函数:
在这里插入图片描述

跟逻辑回归的损失函数是一样的

其中,y是样本x属于某一个类别的真实概率,而y^是样本属于某一类别的预测概率,L用来衡量真实值与预测值之间差异性的损失结果。

在 tf.keras 中实现时使用 BinaryCrossentropy(),如下所示:

# 导入相应的包
import tensorflow as tf
# 设置真实值和预测值
y_true = [[0], [1]]
y_pred = [[0.4], [0.6]]
# 实例化二分类交叉熵损失
bce = tf.keras.losses.BinaryCrossentropy() # 两个交叉熵求平均值

# 计算损失结果
print(bce(y_true, y_pred).numpy()) # 0.5108254

2 回归任务

2.1 MAE损失

Mean absolute loss(MAE)也被称为 L1 Loss,是以绝对误差作为距离:

在这里插入图片描述
曲线如下图所示:

在这里插入图片描述
特点是:由于 L1 loss 具有稀疏性,为了惩罚较大的值,因此常常 将其作为正则项添加到其他 loss中作为约束。L1 loss 的最大问题是梯度在零点不平滑(不可导),导致会跳过极小值。

在 tf.keras 中使用MeanAbsoluteError 实现,如下所示:

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

获取](https://bbs.csdn.net/topics/618545628)**

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值