2-2 动手学深度学习v2-损失函数-笔记
损失函数,用来衡量预测值和真实值之间的区别。是机器学习里面一个非常重要的概念。
三个常用的损失函数 L2 loss、L1 loss、Huber’s Robust loss
均方损失 L2 Loss
l ( y , y ′ ) = 1 2 ( y − y ′ ) 2 l(y,y^{\prime})=\frac{1}{2}(y-y^{\prime})^{2} l(y,y′)=21(y−y′)2
(除以 2 2 2的时候, 2 2 2和 1 2 \frac{1}{2} 21相互抵消。)


这里说的梯度,其实是经过了一次取绝对值。
绝对值损失函数 L1 Loss
l ( y , y ′ ) = | y − y ′ | l(y,y^{\prime})=|y-y^{\prime}| l(y,y′)=|y−y′|

① 相对L2 loss,L1 loss的梯度就是远离原点时,梯度也不是特别大,权重的更新也不是特别大。会带来很多稳定性的好处。不管离原点多远(预测值和真实值相差多大),梯度它总是以同样的粒度后撤。
② 它的缺点是在零点处不可导,并在零点处左右有±1的变化,这个不平滑性导致预测值与真实值靠的比较近的时候,优化到末期的时候,可能会不那么稳定。
Huber’s Robust loss
l ( y , y ′ ) = { ∣ y − y ′ ∣ − 1 2 , i f ∣ y − y ′ ∣ > 1 1 2 ( y − y ′ ) 2 , o t h e r w i s e l(y,y^{\prime})= \begin{cases} |y-y^{\prime}|-\frac{1} {2 } ,\quad if \ |y-y^{\prime}|>1\\ \frac{1}{2}(y-y^{\prime})^{2}, \quad \ \ otherwise \end{cases} l(y,y′)={∣y−y′∣−21,if ∣y−y′∣>121(y−y′)2, otherwise当真实值和预测值的差大于 1 1 1的时候,损失函数是一个绝对值误差;当真实值和预测值的差小于 1 1 1的时候,损失函数是一个均方误差。(绝对值误差减去二分之一,是为了把曲线连起来)

在 + 1 +1 +1和 − 1 -1 −1之间是一个二次函数,在之外是两条直线。
好处:
- 当预测值和真实值差的比较远的时候,不管怎样,它都会以一个比较均匀的梯度往回撤。
- 在预测值和真实值差的比较小的时候,可以保证梯度下降优化是比较平滑的。
相关文章:
2-2 动手学深度学习v2-损失函数-笔记
损失函数,用来衡量预测值和真实值之间的区别。是机器学习里面一个非常重要的概念。 三个常用的损失函数 L2 loss、L1 loss、Huber’s Robust loss 均方损失 L2 Loss l ( y , y ′ ) 1 2 ( y − y ′ ) 2 l(y,y^{\prime})\frac{1}{2}(y-y^{\prime})^{2} l(y,y′)21…...
非springboot 使用aop 切面
在非Spring Boot应用中使用AOP(Aspect Oriented Programming,面向切面编程)的代码实现需要依赖Spring AOP库。由于Spring AOP库并不直接支持非Spring应用,你需要将Spring AOP库作为依赖项添加到项目中,并使用Spring AO…...
MongoDB 字段中数据类型不一致序列化异常排查与处理
MongoDB 字段中数据类型不一致序列化异常排查与处理 背景如下,因为项目迁移愿意,一个使用Mongodb的业务拥有C#和Java两组Api。Java Api开发和测试都很顺利。上线一段时间后,客服反馈记录都不见了。查看数据库发现,时间字段拥有两…...
网络安全简介
网络安全: 网络安全攻击分为被动攻击和主动攻击。 1. 被动攻击:是指攻击者从网络上窃取了他人的通信内容,通常把这类的攻击称为截获,被动攻击只要有2种形式:消息内容泄漏攻击和流量分析攻击。由于攻击者没…...
【Docker】.NET Core 6.0 webapi 发布上传到Docker Desktop并启动运行访问,接口返回数据乱码解决方法
欢迎来到《小5讲堂》,大家好,我是全栈小5。 这是《Docker容器》系列文章,每篇文章将以博主理解的角度展开讲解, 特别是针对知识点的概念进行叙说,大部分文章将会对这些概念进行实际例子验证,以此达到加深对…...
【Android Gradle 插件】自定义 Gradle 插件模块 ⑤ ( 完整总结 )
一、创建自定义插件类型模块 ( Java or Kotlin Library ) 选择 " 菜单栏 / New / New Module… " 选项 , 在 " Create New Module " 对话框中 , 选择 创建 " Java or Kotlin Library " 类型的依赖库 ; 二、手动导入相关依赖 ( Java | Groovy | …...
浅析现代计算机启动流程
文章目录 前言启动流程概述磁盘分区格式MBR磁盘GPT磁盘隐藏分区 传统BIOS引导传统BIOS启动流程 UEFI引导UEFI引导程序UEFI启动流程 引导加载程序启动操作系统相关参考 前言 现代计算机的启动是一个漫长的流程,这个流程中会涉及到各种硬件的配置与交互,包…...
七月论文审稿GPT第2.5和第3版:分别微调GPT3.5、Llama2 13B以扩大对GPT4的优势
前言 自去年7月份我带队成立大模型项目团队以来,我司至今已有5个项目组,其中 第一个项目组的AIGC模特生成系统已经上线在七月官网第二项目组的论文审稿GPT则将在今年3 4月份对外上线发布第三项目组的RAG知识库问答第1版则在春节之前已就绪至于第四、第…...
Android Studio导入项目 下载gradle很慢或连接超时
AS最常见的问题之一就是下载gradle非常慢,还经常出现下载失败的情况,没有gradle就无法build项目,所以一定要先解决gradle的下载问题,下面教大家两种常用方法 手动下载压缩包并替换 1、关闭Android Studio,复制下面的网…...
如何使用VSCode上运行Jupyter,详细案例过程出可视化图
Python作为最受AI喜欢的语言之一,我们与大家共同学习下如何在VS Code上运行Jupyter,并且用简单案例实现出图。 环境 VS Code version: 1.80.1 Python: 3.12.0 小白安装过程: 在准备好基础环境,小白心想,AI可是霸占科…...
Linux中有名管道和无名管道
无名管道基础 进程间通信介绍 常用通信方式 无名管道(pipe) 有名管道 (fifo) 信号(signal) 共享内存(mmap) 套接字(socket)过时的IPC通信方式 System V IPC 共享内存(sh…...
[SWPUCTF 2021 新生赛]easyupload1.0
发现是上传文件第一想到是文件木马 <?php eval ($_POST[123]);?>木马上传burp修改后缀发现flag里面这个是假的 我们猜想是在phpinfo我们上传<?php eval(phpinfo(););?>木马上传burp修改后缀里面 CtrlF 发现flag...
【Linux网络编程三】Udp套接字编程(简易版服务器)
【Linux网络编程三】Udp套接字编程(简易版服务器) 一.创建套接字二.绑定网络信息1.构建通信类型2.填充网络信息①网络字节序的port②string类型的ip地址 3.最终绑定 三.读收消息1.服务器端接收消息recvfrom2.服务器端发送消息sendto3.客户端端发送消息sendto4.客户端…...
【Rust】字符串,看这篇就够了
这节课我们把字符串单独拿出来讲,是因为字符串太常见了,甚至有些应用的主要工作就是处理字符串。比如 Web 开发、解析器等。而 Rust 里的字符串内容相比于其他语言来说还要多一些。是否熟练掌握 Rust 的字符串的使用,对 Rust 代码开发效率有很…...
单片机和 ARM 的区别
单片机和 ARM 在功能和使用上有一些区别,因此哪个更好用取决于具体的需求和场景。 单片机是一种集成了微处理器、存储器和外设接口的集成电路芯片,通常具有体积小、功耗低、可靠性高、成本低等特点。单片机广 泛应用于各种领域,如智能仪表、工…...
JavaScript从入门到精通系列第三十一篇:详解JavaScript中的字符串和正则表达式相关的方法
文章目录 知识回顾 1:概念回顾 2:正则表达式字面量 一:字符串中正则表达式方法 1:split 2:search 3:match 4:replace 知识回顾 1:概念回顾 正则表达式用于定义一些字符串的…...
23、数据结构/查找相关练习20240205
一、请编程实现哈希表的创建存储数组{12,24,234,234,23,234,23},输入key查找的值,实现查找功能。 代码: #include<stdlib.h> #include<string.h> #include<stdio.h> #include<math.h> typedef struct Node {int data;struct n…...
【VSTO开发-WPS】下调试
重点2步: 1、注册表添加 Windows Registry Editor Version 5.00[HKEY_CURRENT_USER\Software\kingsoft\Office\WPP\AddinsWL] "项目名称"""2、visual studio 运行后,要选中附加到调试,并指定启动项目。 如PPT输入WPP搜…...
git 的基本概念
当使用Git时,一些基本概念包括: 1. **仓库(Repository):** 存储项目文件和版本历史的地方。可以是本地仓库(在你的计算机上)或远程仓库(在服务器上)。 2. **提交&#…...
《统计学习方法:李航》笔记 从原理到实现(基于python)-- 第6章 逻辑斯谛回归与最大熵模型(1)6.1 逻辑斯谛回归模型
文章目录 第6章 逻辑斯谛回归与最大熵模型6.1 逻辑斯谛回归模型6.1.1 逻辑斯谛分布6.1.2 二项逻辑斯谛回归模型6.1.3 模型参数估计6.1.4 多项逻辑斯谛回归 《统计学习方法:李航》笔记 从原理到实现(基于python)-- 第3章 k邻近邻法 《统计学习…...
车内人体健康检测:赋能智能座舱健康,构建联网化驾乘健康生态
随着人工智能与物联网技术的快速迭代,汽车正从传统交通工具加速演进为集安全、健康、舒适于一体的智慧移动空间。其中,车内智能人体健康检测作为智能座舱健康体系的核心支撑,依托车内联网健康监测技术,打破传统座舱的功能边界&…...
Kotlin 2.3.20 正式发布!解构声明不怕写反了
val (email, username) user你确定没写反? 如果 User 的属性顺序是 (username, email),恭喜你,这段代码已经悄悄埋了一个 bug。更可怕的是,两个属性都是 String 类型,编译器不会报任何错误。 Kotlin 2.3.20 刚刚发布…...
OFA模型在VMware虚拟机中的开发测试环境搭建
OFA模型在VMware虚拟机中的开发测试环境搭建 对于很多刚接触AI模型开发的个人开发者或学生来说,最大的门槛往往不是算法本身,而是硬件。一块性能足够的独立GPU价格不菲,让很多人在起步阶段就望而却步。难道没有物理GPU,就真的没法…...
Rust Web开发:ActixWeb实战指南
1. 为什么选择ActixWeb进行Rust Web开发 我第一次接触ActixWeb是在三年前的一个电商项目里,当时团队需要处理每秒上万次的库存查询请求。测试了多个Rust框架后,ActixWeb凭借其卓越的性能表现脱颖而出——在同等硬件条件下,它的QPS(…...
windows版vasp-6.5.1非Cygwin版
推荐使用oneapi版本,这个版本性能要好一点。 1.解压压缩包。 Gromacs&Vasp软.件.交.流:962946828 2.用VASP安装器添加系统环境变量(选择bin目录所在目录的父级目录)。 3.测试命令(在cmd或者powershell执行&#…...
从《阵列天线分析与综合》到HFSS实战:手把手教你仿真4x1微带天线阵(含相位扫描设置)
从理论到实践:HFSS中4x1微带天线阵的建模与相位扫描全解析 微带天线阵列因其低剖面、易集成和成本优势,在现代通信系统中扮演着重要角色。对于刚接触天线设计的工程师和学生而言,如何将《阵列天线分析与综合》等经典教材中的理论概念转化为可…...
别再只画可达空间了!宇树Z1机械臂‘死角’排查与灵活工作空间优化实战
宇树Z1机械臂死角排查与灵活工作空间优化实战指南 当宇树Z1机械臂在自动化产线上执行抓取任务时,工程师们常会遇到一个令人头疼的现象——某些看似可达的位姿却无法实现预期动作。这背后隐藏的往往是机械臂工作空间中的"死角"问题,即那些虽然理…...
BG3 Mod加载异常完全解决方案:从顺序重置到冲突修复的系统指南
BG3 Mod加载异常完全解决方案:从顺序重置到冲突修复的系统指南 【免费下载链接】BG3ModManager A mod manager for Baldurs Gate 3. 项目地址: https://gitcode.com/gh_mirrors/bg/BG3ModManager 博德之门3 Mod管理器故障解决是许多玩家在使用BG3ModManager时…...
AD5144A数字电位器I²C驱动库深度解析与工程实践
1. AD5144A数字电位器驱动库深度解析:面向嵌入式工程师的IC控制实践指南AD5144A是ADI公司推出的四通道非易失性数字电位器,属于AD51xx系列中功能完备、应用灵活的代表型号。该器件通过IC接口实现对四个独立通道的精确电阻调节,支持256级&…...
PyTorch 2.8 实战案例:快速训练一个图像分类模型(附代码)
PyTorch 2.8 实战案例:快速训练一个图像分类模型(附代码) 1. 引言 图像分类是计算机视觉领域最基础也最实用的任务之一。无论是识别猫狗照片、检测医学影像,还是分析卫星图像,都需要可靠的分类模型作为基础。本文将带…...
