【李沐深度学习笔记】损失函数

news2024/11/30 2:49:45

课程地址和说明

损失函数p2
本系列文章是我学习李沐老师深度学习系列课程的学习笔记,可能会对李沐老师上课没讲到的进行补充。

损失函数

损失函数是用来衡量预测值 y ^ \hat{y} y^ y ′ y' y与真实值 y y y的差别,下面给出常见的损失函数类型:

均方损失函数(L2 LOSS)


【注】蓝色的线是它的二次函数图像,绿色的线是它的似然函数 e − l e^{-l} el, 它的似然函数为高斯分布,橙色的线表示的是损失函数的梯度。当预测值 y ′ y' y和真实值 y y y距离比较远的时候,则损失函数的梯度比较大,参数更新比较多,当预测值越来越靠近真实值,损失函数的梯度会变得越来越小。

【提问】请用通俗的语言解释一下何为似然函数,其用途是什么,什么是高斯分布?
【chatGPT回答】好的,我会尽量用简单的话来解释这些概念。

  • 似然函数
    想象你有一个盒子,里面混合了红球和蓝球。你闭上眼睛摸出了10个球,结果有7个红球和3个蓝球。现在你想知道这个盒子中红球和蓝球的比例,但是你不能直接去数每种球有多少个。
    似然函数就是一个帮你估计这个比例的方法。你根据摸出的球的比例,反过来估计整个盒子里红球和蓝球的比例。似然函数描述了在不同的比例假设下,观察到现有数据(你摸出的10个球的颜色)的可能性。
    用途:似然函数在统计学和机器学习中经常用于参数估计。例如,我们想要估计一个模型的参数,可以通过找到使似然函数最大的参数值来实现。
  • 高斯分布
    高斯分布,也叫正态分布或“钟形曲线”,是一种描述数据分布的方式,特点是中间最高,两边逐渐减小,形状像一个钟。例如,人类的身高分布:大部分人的身高都集中在平均值附近,少数人的身高非常矮或非常高。
    为什么我们经常听到高斯分布?因为在现实生活中,许多随机现象的分布都接近或遵循高斯分布。例如,实验测量误差、人们的考试成绩等。
    高斯分布可以由两个参数描述:均值(平均值)和标准差(描述数据的离散程度)。
    希望这些解释对您有帮助!
    【提问】请加一些具体示例和数学计算
    【chatGPT回答】好的,我们再进一步详细探讨这两个概念。
  • 似然函数
    设想一个简单的场景:你有一枚不公正的硬币,抛出正面的概率是 p p p,抛出反面的概率是 1 − p 1-p 1p。现在你抛了这枚硬币3次,结果观测到了2次正面和1次反面。那么,似然函数就是描述在给定不同的 p p p值(也就是正面出现的概率)下,观察到这组数据(2次正面,1次反面)的概率。
    数学上,这个似然函数可以写成:
    L ( p ) = p 2 ( 1 − p ) L(p) = p^2(1-p) L(p)=p2(1p)
    如果你想知道哪个 p p p值最有可能,就需要找到使得 L ( p ) L(p) L(p)最大的 p p p值。
  • 高斯分布:
    高斯分布的数学形式是:
    f ( x ) = 1 σ 2 π e − 1 2 ( x − μ σ ) 2 f(x) = \frac{1}{\sigma \sqrt{2\pi}} e^{-\frac{1}{2}(\frac{x-\mu}{\sigma})^2} f(x)=σ2π 1e21(σxμ)2
    其中, μ \mu μ是均值, σ \sigma σ是标准差。
    示例:假设某高中学生的数学考试成绩遵循高斯分布,均值是70分,标准差是10分。那么,一个学生分数是80分的概率密度是:
    f ( 80 ) = 1 10 2 π e − 1 2 ( 80 − 70 10 ) 2 f(80) = \frac{1}{10 \sqrt{2\pi}} e^{-\frac{1}{2}(\frac{80-70}{10})^2} f(80)=102π 1e21(108070)2
    计算这个值,你就能知道80分这个成绩在整个分布中的相对位置。
    需要注意的是,上述给出的是概率密度,不是概率。如果想知道一个学生考分数在70到80分之间的概率,需要对上述函数在这个区间内积分。
    希望这些具体的示例和数学计算可以帮助你更好地理解这两个概念!

当预测值和真实值离得较远的时候,不一定要用大梯度来更新参数,所以用下面的损失函数:

绝对值损失函数(L1 LOSS)


【注】蓝色的线是损失函数曲线,绿色是似然函数,橙色是梯度。

鲁棒损失函数

【提问】用通俗的语言列出并解释深度学习常见的损失函数及其用法
【chatGPT回答】深度学习中的损失函数是衡量模型预测结果与真实值之间差异的一种方法。选择适当的损失函数对于模型的性能至关重要。下面是一些常见的损失函数及其通俗解释和应用场景:

  • 均方误差损失(Mean Squared Error, MSE):
    通俗解释:计算模型预测值与真实值之间的平方差的平均值。差异越大,损失值越高。
    用途:常用于回归问题,如预测房价、股票价格等。
    MSE = 1 n ∑ i = 1 n ( y i − y i ^ ) 2 \text{MSE} = \frac{1}{n} \sum\limits_{i=1}^n (y_i - \hat{y_i})^2 MSE=n1i=1n(yiyi^)2
  • 交叉熵损失(Cross Entropy Loss):
    通俗解释:衡量模型预测的概率分布与真实的概率分布之间的差异。差异越大,损失值越高。
    用途:常用于分类问题,如图像识别、文本分类等。
    CrossEntropy = − ∑ i = 1 n y i log ⁡ ( y i ^ ) \text{CrossEntropy} = -\sum\limits_{i=1}^n y_i \log(\hat{y_i}) CrossEntropy=i=1nyilog(yi^)
  • 二元交叉熵损失(Binary Cross Entropy Loss):
    通俗解释:是交叉熵损失的特殊情况,适用于二分类问题。
    用途:如垃圾邮件识别、病症检测等。
    BinaryCrossEntropy = − ∑ i = 1 n ( y i log ⁡ ( y i ^ ) + ( 1 − y i ) log ⁡ ( 1 − y i ^ ) ) \text{BinaryCrossEntropy} = -\sum\limits_{i=1}^n (y_i \log(\hat{y_i}) + (1 - y_i) \log(1 - \hat{y_i})) BinaryCrossEntropy=i=1n(yilog(yi^)+(1yi)log(1yi^))
  • 绝对平均误差损失(Mean Absolute Error, MAE):
    通俗解释:计算模型预测值与真实值之间的绝对差的平均值。差异越大,损失值越高。
    用途:也常用于回归问题,与MSE损失类似。
    MAE = 1 n ∑ i = 1 n ∣ y i − y i ^ ∣ \text{MAE} = \frac{1}{n} \sum\limits_{i=1}^n |y_i - \hat{y_i}| MAE=n1i=1nyiyi^
  • Hinge 损失
    通俗解释:常用于“最大间隔”分类,尤其是支持向量机(SVM)。
    用途:用于二分类问题,也可以扩展到多分类问题。
    Hinge Loss = ∑ i = 1 n max ⁡ ( 0 , 1 − y i ⋅ y i ^ ) \text{Hinge Loss} = \sum\limits_{i=1}^n \max(0, 1 - y_i \cdot \hat{y_i}) Hinge Loss=i=1nmax(0,1yiyi^)
  • Huber 损失
    通俗解释:是均方误差与绝对误差的结合,对于较小的误差使用平方误差,对于较大的误差使用线性误差。
    用途:用于回归问题,尤其是在存在噪声数据时。
    Huber Loss = { 1 2 ( y i − y i ^ ) 2 , 对于  ∣ y i − y i ^ ∣ ≤ δ   δ ( ∣ y i − y i ^ ∣ − 1 2 δ ) , 其他 \text{Huber Loss} = \begin{cases} \frac{1}{2}(y_i - \hat{y_i})^2,\text{对于 } |y_i - \hat{y_i}| \le \delta \ \\\delta(|y_i - \hat{y_i}| - \frac{1}{2}\delta) , \text{其他} \end{cases} Huber Loss={21(yiyi^)2,对于 yiyi^δ δ(yiyi^21δ),其他
    这些损失函数在训练深度学习模型时扮演着至关重要的角色,帮助优化算法找到使损失最小的模型参数。选择适当的损失函数可以大大提高模型的性能和准确性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1051979.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

9.30号作业

1.消息队列实现进程间的通信 服务端 #include <myhead.h>#define ERR_MSG(msg) do{\fprintf(stderr,"__%d__:",__LINE__);\perror(msg);\ }while(0)typedef struct{ long msgtype; //消息类型char data[1024]; //消息正文 }Msg;#define SIZE sizeof(Msg)-s…

网站被上传webshell

1。原因 2.工具使用 3.步骤

1038 统计同成绩学生

输入样例&#xff1a; 10 60 75 90 55 75 99 82 90 75 50 3 75 90 88 输出样例&#xff1a; 3 2 0 solution #include <stdio.h> int main(){int n, d, k, hash[101] {0}, a[100000];scanf("%d", &n);for(int i 0; i < n; i){scanf("%d&quo…

SpringCloud网关服务

为什么需要网关 官网&#xff1a; https://cloud.spring.io/spring-cloud-static/spring-cloud-gateway/2.1.3.RELEASE/single/spring-cloud-gateway.html 使用 导入依赖 <dependency><groupId>org.springframework.cloud</groupId><artifactId>s…

第7讲:v-bind属性绑定,v-model双向绑定,v-on事件监听使用

目录 1.v-bind双向绑定 2.v-model双向绑定 3.v-on事件绑定 一.v-bind双向绑定 1.v-bind 指令可以在其名称后面带一个参数&#xff0c;中间放一个冒号隔开&#xff0c;这个参数通常是HTML元素的特性&#xff08;attribute&#xff09;&#xff0c;Vue官方提供了一个简写方式…

阿里云ACP知识点(三)

1、弹性伸缩不仅提供了在业务需求高峰或低谷时自动调节ECS实例数量的能力&#xff0c;而且提供了ECS实例上自动部署应用的能力。弹性伸缩的伸缩配置支持多种特性&#xff0c;例如______,帮助您高效、灵活地自定义ECS实例配置&#xff0c;满足业务需求。 标签、密钥对、 实例RAM…

侯捷 C++ STL标准库和泛型编程 —— 3 容器(关联式容器)

3.3 关联式容器 3.3.0 RB-Tree 红黑树&#xff08;Red-Black Tree&#xff09;是一种自平衡的二叉搜索树 BST&#xff08;AVL 是另一种&#xff09; rb-tree 提供遍历操作和 iterators&#xff0c;按中序遍历遍历&#xff0c;便可以得到排序状态 不能用 iterator 去改变元素的…

CCC标准——PHY

1.介绍 UWB物理层使用基于频带受限脉冲的脉冲无线电信号波形。UWB物理层主要用于测距&#xff0c;但也可以用于数据通信。在CCC标准中&#xff0c;物理层的具体定义依然基于IEEE 802.15.4z标准中的HRP UWB PHY&#xff0c;支持更高的脉冲重复频率。 对于增强测距设备&#xf…

华为云云耀云服务器L实例评测|云耀云服务器L实例搭建个人镜像站

华为云云耀云服务器L实例评测&#xff5c;云耀云服务器L实例搭建个人镜像站 一、云耀云服务器L实例介绍1.1 云耀云服务器L实例简介1.2 云耀云服务器L实例特点 二、Apache介绍2.1 Apache简介2.2 Apache特点 三、本次实践介绍3.1 本次实践简介3.2 本次环境规划 四、远程登录华为云…

Springboot对MVC、tomcat扩展配置

Springboot在web层的开发基本都是采用Springmvc框架技术&#xff0c;但是Springmvc中的某些配置在boot是没有的&#xff0c;我们就应该根据自己的需求进行对mvc扩展配置 Springboot1.x版本如何配置 通过注解Configuration一个类&#xff0c;继承webmvcconfigureradapter&#…

AutoAnimate - 无需任何配置,一行代码自动为元素添加优雅的过渡动画,可以搭配 Vue / React 和 Sevelt 使用

这个动画库只要一行代码就可以自动在我们的组件中添过渡动画&#xff0c;为什么这么省事高效呢&#xff1f; AutoAnimate 是一个无需任何配置&#xff0c;自动为我们开发的 Web 项目添加平滑过渡动画的 JavaScript 工具库。AutoAnimate 和之前推荐的一些 js 动画库相比&#x…

贪婪的互联网电视让用户忍无可忍,广电总局出手了

广电总局要求电视需要在今年底前实现开机就看电视&#xff0c;开机广告、关机广告将不再被允许&#xff0c;这对于饱受互联网电视无孔不入的广告困扰的消费者来说无疑是一大利好&#xff0c;他们早已无法忍受越来越多的广告。 一、贪婪的互联网电视 互联网电视企业曾以羊毛出在…

Java下的序列化和反序列化(写出和读入)

代码如下&#xff1a; public class MyWork {public static void main(String[] args) throws IOException, ClassNotFoundException {//序列化File f new File("testFile/testObject.txt");ObjectOutputStream oos new ObjectOutputStream(new FileOutputStream(…

【聊天系统的优化】RPC方式的优化

RPC方式的优化 聊天系统的中RPC的选择Jsonprotobufmsgpack 聊天系统的中RPC的选择 在RPC方式中&#xff0c;常用的三种方式&#xff1a;Json&#xff0c;protobuf&#xff0c;Msgback 设定一个简单的加和服务&#xff0c;客户端发送一个list给服务端&#xff0c;需要将list的…

<Xcode> Xcode IOS无开发者账号打包和分发

关于flutter我们前边聊到的初入门、数据解析、适配、安卓打包、ios端的开发和黑苹果环境部署&#xff0c;但是对于苹果的打包和分发&#xff0c;我只是给大家了一个链接&#xff0c;作为一个顶级好男人&#xff0c;我认为这样是对大家的不负责任&#xff0c;那么这篇就主要是针…

Centos 7分区失败,进入 dracut 页面,恢复操作

1. 问题场景&#xff1a; 分区失败&#xff0c;重启了虚拟机&#xff0c;导致系统进入 dracut 页面。开机显示 直接回车&#xff0c;等待重启失败的页面 自动进入了 dracut 模式(救援)。 2. 临时解决进入系统 查了一下&#xff1a;如果出现 “dracut” 提示、进入 dracut…

【分布式计算】三、虚拟化 Virtualization

1.什么是虚拟化 1.1.非虚拟化 我们首先来认识什么是非虚拟化   1.一台机器、一个操作系统、几个应用程序   2.应用程序可能会相互影响。   3.机器利用率较低&#xff0c;正常情况下低于25%。 关于X86平台&#xff1a; 1.服务器基础设施利用率低&#xff08;10-18%&#…

【网络协议】IP

当连接多个异构的局域网形成强烈需求时&#xff0c;用户不满足于仅在一个局域网内进行通信&#xff0c;他们希望通过更高一层协议最终实现异构网络之间的连接。既然需要通过更高一层的协议将多个局域网进行互联&#xff0c;那么这个协议就必须为不同的局域网环境定义统一的寻址…

《C和指针》读书笔记(第十四章 预处理器)

目录 0 简介1 预定义符号2 #define2.1 宏2.2 #define替换2.3 宏与函数2.4 带副作用的宏参数2.5 命名约定2.6 #undef2.7 命令行定义 3 条件编译3.1 是否被定义3.2 嵌套指令 4 文件包含4.1 函数库文件包含4.2 本地文件包含4.3 嵌套文件包含 5 其他指令6 总结 0 简介 编译一个C程…

Leetcode 662. 二叉树最大宽度

文章目录 题目代码&#xff08;9.30 首刷看解析&#xff09; 题目 Leetcode 662. 二叉树最大宽度 代码&#xff08;9.30 首刷看解析&#xff09; class Solution { public:int widthOfBinaryTree(TreeNode* root) {unsigned long long res 1;using pr pair<TreeNode*, u…