深度学习中损失函数和激活函数的选择

news/2024/9/24 23:24:05/

文章目录

前言

你需要解决什么问题?

你想预测数值吗?

你想预测分类结果吗?

回归:预测数值

分类:预测二元结果

分类:从多个类别中预测单个标签

分类:从多个类别中预测多个标签

总结表


前言

本篇博客的目的是根据业务目标,为大家提供关于在构建神经网络时,如何根据需求选择合适的最终层激活函数和损失函数的指导和建议。

如果大家还没了解激活函数,可以参考:神经元和激活函数介绍


你需要解决什么问题?

和所有机器学习一样,业务目标决定了你应该如何评估是否成功。

你想预测数值吗?

例如:预测产品的合适价格,或预测每天的销售数量。

如果是这样,你需要用到“回归:预测数值”部分的知识。

你想预测分类结果吗?

比如,你想知道图片中有什么物体,或者对话是关于什么主题的。

如果是的话,接下来你需要考虑你的数据中有多少种不同的类别,以及你想为每个项目找到多少个标签。

如果你的数据是二元的,也就是说,每个项目要么属于某个类别,要么不属于(比如判断是否为欺诈行为、诊断结果、是否可能购买),那么你需要用到“分类:预测二元结果”这部分的知识。

如果你的数据有多个类别(比如,图片中可能有多个物体,电子邮件涉及多个主题,或者多种产品适合进行宣传),而且每个项目只能属于一个类别,那么你需要用到“分类:从多个类别中预测单个标签”这部分的知识。

最后,如果你的数据中的每个项目可能属于多个类别,也就是说,每个项目可以有多个标签,那么你需要用到“分类:从多类别中预测多个标签”这部分的知识。

回归:预测数值

例如:预测产品的价格。

神经网络的最终层将有一个神经元,它返回的值是一个连续的数值。

为了了解预测的准确性,它会与真实值进行比较,真实值也是一个连续的数字。

最终激活函数

线性——这将产生一个我们需要的数值。

ReLU——这将产生一个大于0的数值。

损失函数

均方误差(MSE)——这计算了预测值与真实值之间的平均平方差。

分类:预测二元结果

例如:预测一笔交易是否为欺诈。

神经网络的最终层将有一个神经元,并返回一个介于0到1之间的值,这个值可以被推断为概率。

为了了解预测的准确性,它会与真实值进行比较。如果数据属于该类,真实值为1,否则为0。

最终激活函数

Sigmoid——这将产生一个介于0和1之间的值,我们可以推断出模型对示例属于该类别的信心程度。

损失函数

二元交叉熵——交叉熵量化了两个概率分布之间的差异。

我们的模型预测了一个模型分布 {p,1-p},因为我们有一个二元分布。

我们使用二元交叉熵来将其与真实分布 {y,1-y} 进行比较。

分类:从多个类别中预测单个标签

神经网络的最终层将为每个类别有一个神经元,并返回一个介于0和1之间的值,这个值可以被推断为概率。

输出结果随后形成一个概率分布,因为其总和为1。

为了了解预测的准确性,每个输出都会与其对应的真实值进行比较。

真实值已经过独热编码,这意味着在对应正确类别的列中会出现1,否则会出现0。

最终激活函数

Softmax——这将为每个输出产生介于0和1之间的值,这些值的总和为1。

所以这可以被推断为概率分布。

损失函数

交叉熵——交叉熵量化了两个概率分布之间的差异。我们的模型预测了一个模型分布 {p1,p2,p3}(其中p1+p2+p3=1)。

我们使用交叉熵来将其与真实分布 {y1,y2,y3}进行比较。

分类:从多个类别中预测多个标签

例如:预测图像中动物的存在。

神经网络的最终层将为每个类别有一个神经元,并返回一个介于0和1之间的值,这个值可以被推断为概率。

为了了解预测的准确性,每个输出都会与其对应的真实值进行比较。如果真实值列中出现1,则表示数据中存在它所对应的类别;否则会为0。

最终激活函数

Sigmoid——这将产生一个介于0和1之间的值,我们可以推断出模型对于某个实例属于该类别的信心程度。

损失函数

二元交叉熵——交叉熵量化了两个概率分布之间的差异。对于每个类别,我们的模型都会预测一个模型分布 {p,1-p}(二元分布)。

我们使用二元交叉熵来将这些与每个类别的真实分布 {y,1-y}进行比较,并汇总它们的结果。

总结

以下表格总结了上述信息,以便您能够快速找到适用于您用例的最终层激活函数和损失函数。

参考: 人工智能学习指南


http://www.ppmy.cn/news/1452879.html

相关文章

安卓 app icon大小 安卓app界面尺寸大小

移动应用的界面设计画布尺寸设计多大(特别是Android)、图标和字体大小怎么定、需要设计多套设计稿么、如何切图以配合开发的实现? 本篇将结合iOS和android官方的设计规范、搜集的资料以及工作中的摸索,来分享移动应用界面设计中的…

docker部署小试

一 1.1 需求:根据docker部署nginx并且实现https 1.2 前期准备 准备一台装备好的docker-ce虚拟机,容量至少满足4G/2C,同时做好关闭防火墙的操作 systemctl stop firewalld setenforce 0 1.3 实验部署 1.3.1 创建并进入文件夹 1.3.2 编辑run脚本…

C# Web控件与数据感应之 ListControl 类

目录 关于数据感应 ListControl 类类型控件 范例运行环境 数据感应通用方法 设计 实现 调用示例 数据源 调用 小结 关于数据感应 数据感应也即数据捆绑,是一种动态的,Web控件与数据源之间的交互,诸如 System.Web.UI.WebControls 里…

oracle清空表的delete from和truncate table的優劣

1.使用delete from 優點: 1.保留記錄,delete from不會立即刪除數據而是保留記錄 2.允許回滾,delete from的數據不會立即刪除數據,且會記錄到binlog裡面,後期可以回滾數據 3.可以選擇性的刪除數據 缺點 1.不會釋放…

Meta Llama 3 使用 Hugging Face 和 PyTorch 优化 CPU 推理

原文地址:meta-llama-3-optimized-cpu-inference-with-hugging-face-and-pytorch 了解在 CPU 上部署 Meta* Llama 3 时如何减少模型延迟 2024 年 4 月 19 日 万众期待的 Meta 第三代 Llama 发布了,我想确保你知道如何以最佳方式部署这个最先进的&…

数据结构之链表深度讲解

小伙伴们,大家好呀,上次听我讲完顺序表想必收获不少吧,嘿嘿,这篇文章你也一样可以学到很多,系好安全带,咱们要发车了。 因为有了上一次顺序表的基础,所以这次我们直接进入正题,温馨…

一本专业130+总分400+上海交通大学819考研经验上交电子信息与通信工程上岸,真题,大纲,参考书。

今年专业课819信号系统与信号处理130,总分400,复试表现中规中矩(初试分数查到才开始复习复试,希望大家汲取教训,初试考完就可以录取开始准备复试),交大初试比重很高,良心学校&#x…

1020. 【USACO题库】2.1.1 The Castle城堡

题目描述 以一个几乎超乎想像的运气,农民约翰在他的生日收到了一张爱尔兰博彩的奖券。 这一张奖券成为了唯一中奖的奖券。 农民约翰嬴得爱尔兰的乡下地方的一个传说中的城堡。 吹牛在他们威斯康辛州不算什么,农民约翰想告诉他的牛所有有关城堡的事。 他想知道城堡有多少房间…