当前位置: 首页 > news >正文

【深度学习】S2 数学基础 P2 线性代数(下)

目录

  • 范数的意义
    • 范数的数学意义
    • 范数之于深度学习的意义
  • L1 范数与 L2 范数
    • L1 范数
    • L2 范数
  • 小结

本节博文是线性代数第二部分,主要内容为 L 1 L1 L1 范数与 L 2 L2 L2 范数;有关线性代数基础知识,请访问:【深度学习】S2 数学基础 P1 线性代数(上)

范数的意义

范数的数学意义

在数学的框架内,范数是一个基本的概念,它为向量空间提供了一个度量方法,使得可以比较向量的大小,并研究向量之间的运算。

范数之于深度学习的意义

而在深度学习中,范数作为正则化项添加到损失函数中,以帮助改善模型的泛化能力。

具体的说,在深度学习中,损失函数由两部分组成:数据损失和正则化损失。数据损失反映了模型预测与真实标签之间的差异(例如,交叉熵损失或均方误差),而正则化损失则旨在惩罚模型的复杂度,抑制模型参数的过度增长,从而提高模型的泛化能力,防止过拟合。

e . g . e.g. e.g. 一个包含均方误差损失函数和 L1 正则化项的损失函数表示为:
L ( w ) = L d a t a ( w ) + λ R ( w ) L(w)=L_{data}(w)+\lambda R(w) L(w)=Ldata(w)+λR(w)

其中 L d a t a ( w ) L_{data}(w) Ldata(w) 为均方误差损失函数; R ( w ) R(w) R(w) 为 L1 正则化损失函数; λ \lambda λ 是正则化系数;

  • L d a t a ( w ) = 1 n ∑ i = 1 n ( y i − y ^ i ) 2 L_{data}(w)=\frac 1 n \sum ^n _{i=1} (y_i-\hat y_i)^2 Ldata(w)=n1i=1n(yiy^i)2

其中, y i y_i yi 是第 i i i 个真实标签, y ^ i \hat y_i y^i 是模型预测的第 i i i 个标签, n n n 是样本数量。

  • R ( w ) = ∑ j ∣ w j ∣ R(w)=\sum _j |w_j| R(w)=jwj

其中, w j w_j wj 是模型参数, ∣ w j ∣ |w_j| wj w j w_j wj 的绝对值。

可以发现,优化算法在训练过程中会同时最小化两部分损失。由于正则化项通常与模型的复杂度成正比,因此在优化算法寻找最小化损失函数的参数时,会倾向于选择那些能够同时减小数据损失和正则化损失的参数。这样,模型的参数值就会更加分散,模型变得更加简单,从而提高了在未见数据上的泛化能力。

如此,便是范数之于深度学习的意义。


L1 范数与 L2 范数

L1 范数

L1 范数,也称 L1 正则化、 “曼哈顿范数”(Manhattan norm),是向量各元素的绝对值之和。通过在损失函数中增加一个 L1 范数的惩罚项,使某些参数变为零,从而鼓励模型拥有更稀疏的权重,防止模型过拟合。

对于向量 x = [ x 1 , x 2 , . . . , x n ] \mathbf{x} = [x_1, x_2, ..., x_n] x=[x1,x2,...,xn],其 L1 范数表示为:
∣ ∣ x ∣ ∣ 1 = ∑ i = 1 n ∣ x i ∣ ||x||_1 = \sum_{i=1}^{n} |x_i| ∣∣x1=i=1nxi

在深度学习 PyTorch 框架中计算 L1 范数,我们将 “绝对值函数” 和 “按元素求和” 组合起来;

torch.abs(u).sum()

L2 范数

L2 范数,也称 L2 正则化、“欧几里得范数”(Euclidean norm)、“平方范数”,是向量的各元素平方和的平方根。同于 L1 正则化,鼓励模型拥有更稀疏的权重;不同于 L1 正则化,L2 正则化不会导致权重(参数)为零,而是减小权重的绝对值。

对于向量 x = [ x 1 , x 2 , . . . , x n ] \mathbf{x} = [x_1, x_2, ..., x_n] x=[x1,x2,...,xn],其 L2 范数表示为:
∣ ∣ x ∣ ∣ 2 = ∑ i = 1 n x i 2 ||x||_2 = \sqrt{\sum_{i=1}^{n} x_i^2} ∣∣x2=i=1nxi2

在深度学习 PyTorch 框架中计算 L2 范数,使用 norm() 函数;

u = torch.tensor([3.0, -4.0])
torch.norm(u)

小结

L1 范数和 L2 范数的选择取决于具体问题的需求。

在某些情况下,使用 L1 范数可以得到更稀疏的解,这在文本处理和某些类型的图像处理中是有益的。而在其他情况下,L2 范数可能更为合适,因为它能更好地控制模型的光滑度。

在实际应用中,根据不同的场景和问题特性,选择合适的范数非常重要,这关系到算法的性能和效果。


如上;
如有任何疑问,请留言~

2024.2.14

相关文章:

【深度学习】S2 数学基础 P2 线性代数(下)

目录 范数的意义范数的数学意义范数之于深度学习的意义 L1 范数与 L2 范数L1 范数L2 范数 小结 本节博文是线性代数第二部分,主要内容为 L 1 L1 L1 范数与 L 2 L2 L2 范数;有关线性代数基础知识,请访问:【深度学习】S2 数学基础…...

【软考高级信息系统项目管理师--考试内容大纲篇】

🚀 作者 :“码上有前” 🚀 文章简介 :软考高级–信息系统项目管理师 🚀 欢迎小伙伴们 点赞👍、收藏⭐、留言💬 软考高级信息系统项目管理师--考试内容大纲篇 1.信息化发展2.信息技术发展3.信息系…...

C语言——枚举类型

📝前言: 在之前的文章中我们已经讲解了自定义类型中的结构体类型和联合体类型,现在我们再充分学习一下C语言中的枚举类型: 1,什么是枚举类型 2,枚举类型的定义和变量的声明 3,对变量进行赋值 &a…...

linux---内存管理

一 虚拟内存 即使是现代操作系统中,内存依然是计算机中很宝贵的资源,看看你电脑几个T固态硬盘,再看看内存大小就知道了。 为了充分利用和管理系统内存资源,Linux采用虚拟内存管理技术,利用虚拟内存技术让每个进程都有…...

v-model原理

v-model原理 v-model原理表单类组件封装v-model简化代码 v-model原理 1.原理&#xff1a; v-model本质上是一个语法糖。例如应用在输入框上&#xff0c;就是value属性 和 input 事件的合写 <template><div id"app" ><input v-model"msg"…...

波奇学Linux:文件系统

磁盘认识 磁盘被访问的基本单元是扇区-512字节。 磁盘可以看成多个同心圆&#xff0c;每个同心圆叫做磁道&#xff0c;多个扇区组成同心圆。 我们可以把磁盘看做由无数个扇区构成的存储介质。 要把数据存到磁盘&#xff0c;先定位扇区&#xff0c;用哪一个磁头&#xff0c;…...

项目访问量激增该如何应对

✨✨ 欢迎大家来到喔的嘛呀的博客✨✨ &#x1f388;&#x1f388;希望这篇博客对大家能有帮助&#x1f388;&#x1f388; 目录 引言 一. 优化数据库 1.1 索引优化 1.2 查询优化 1.3 数据库设计优化 1.4 事务优化 1.5 硬件优化 1.6 数据库配置优化 二. 增加服务器资源…...

【Linux环境基础开发工具的使用(yum、vim、gcc、g++、gdb、make/Makefile)】

Linux环境基础开发工具的使用yum、vim、gcc、g、gdb、make/Makefile Linux软件包管理器- yumLinux下安装软件的方式认识yum查找软件包安装软件如何实现本地机器和云服务器之间的文件互传卸载软件 Linux编辑器 - vimvim的基本概念vim下各模式的切换vim命令模式各命令汇总vim底行…...

幻兽帕鲁官方更新了,服务器端怎么更新?

幻兽帕鲁官方客户端更新了&#xff0c;那么它的服务器端版本也是需要更新的&#xff0c;不然版本不一致的话&#xff0c;就不能进入游戏了。 具体的更新方法有两种&#xff0c;一是手动输入命令进行更新。第二种是在面板一键更新。 无论你是在阿里云或者腾讯云购买的一键部署…...

axios-retry 响应异常

最近项目中遇到 axios 异步请求异常中断, 错误码为 “ECONNABORTED” 奇怪的是排查前端代码并没有发现有主动调用 abort 取消请求的 由于为何网络请求失败的原因找不到, 但是重试请求就是成功的, 所以计划使用 axios-retry 在网络错误时重新请求 import axiosRetry from axios…...

Vue项目创建和nodejs使用

Vue项目创建和nodejs使用 一、环境准备1.1.安装 node.js【下载历史版本node-v14.21.3-x64】1.2.安装1.3.检查是否安装成功&#xff1a;1.4.在Node下新建两个文件夹 node_global和node_cache并设置权限1.5.配置npm在安装全局模块时的路径和缓存cache的路径1.6.配置系统变量&…...

【机器学习案例3】从科学论文图片中提取标题、作者和摘要【含源码】

在这个项目中,我的目标是从科学论文图片中提取某些部分(标题、作者和摘要)。预期提取部分是科学论文中常见的部分,例如标题、摘要和作者。输入与最终结果。我的输入是将第一页纸转换成图像。最终结果是一个 txt 文件,其中包含标题、作者和摘要部分,如下图1和图2所示。我将…...

【开源】JAVA+Vue.js实现天然气工程运维系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 系统角色分类2.2 核心功能2.2.1 流程 12.2.2 流程 22.3 各角色功能2.3.1 系统管理员功能2.3.2 用户服务部功能2.3.3 分公司&#xff08;施工单位&#xff09;功能2.3.3.1 技术员角色功能2.3.3.2 材料员角色功能 2.3.4 安…...

什么是智慧隧道,如何建设智慧隧道

一、隧道管理的难点痛点 近年来隧道建设规模不断扩大&#xff0c;作为隧道通车里程最多、规模最大的国家&#xff0c;截至2022年底&#xff0c;我国公路隧道共有24850处、2678.43万延米&#xff0c;其中特长隧道1752处、795.11万延米&#xff0c;长隧道6715处、1172.82万延米。…...

jupyter notebook

输入jupyter notebook 停止运行就用ctrlc 全部注释先全选 &#xff0c;在按ctrl/...

MongoDB聚合:$listSearchIndexes

$listSearchIndexes返回指定集合现有Atlas Search索引的信息。 **重要&#xff1a;**该命令只能在托管的MongoDB Allas&#xff0c;并且要求群集层级至少为M10。 语法 db.<collection>.aggregate([{$listSearchIndexes:{id: <indexId>,name: <indexName>}…...

Excel练习:日历

Excel练习&#xff1a;日历 ‍ 题目&#xff1a;制作日历 ‍ ​​ 用rows和columns函数计算日期单元格偏移量 一个公式填充所有日期单元格 ​​ ‍...

【C语言】指针练习篇(上),深入理解指针---指针和数组练习题和sizeof,strlen的对比【图文讲解,详细解答】

欢迎来CILMY23的博客喔&#xff0c;本期系列为【C语言】指针练习篇&#xff08;上&#xff09;&#xff0c;深入理解指针---指针数组练习题和sizeof&#xff0c;strlen的对比【图文讲解,详细解答】&#xff0c;图文讲解指针和数组练习题&#xff0c;带大家更深刻理解指针的应用…...

2048游戏C++板来啦!

个人主页&#xff1a;PingdiGuo_guo 收录专栏&#xff1a;C干货专栏 大家好呀&#xff0c;我是PingdiGuo_guo&#xff0c;今天我们来学习如何用C编写一个2048小游戏。 文章目录 1.2048的规则 2.步骤实现 2.1: 初始化游戏界面 2.1.1知识点 2.1.2: 创建游戏界面 2.2: 随机…...

2000-2021年县域指标统计数据库

2000-2021年县域统计数据库 1、时间&#xff1a;2000-2021年 2、来源&#xff1a;县域统计年鉴 3、范围&#xff1a;2500县 5、指标&#xff1a; 地区名称、年份、行政区域代码、所属城市、所属省份、行政区域土地面积平方公里、乡及镇个数个、乡个数个、镇个数个、街道办…...

内存分配函数malloc kmalloc vmalloc

内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...

安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件

在选煤厂、化工厂、钢铁厂等过程生产型企业&#xff0c;其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进&#xff0c;需提前预防假检、错检、漏检&#xff0c;推动智慧生产运维系统数据的流动和现场赋能应用。同时&#xff0c;…...

oracle与MySQL数据库之间数据同步的技术要点

Oracle与MySQL数据库之间的数据同步是一个涉及多个技术要点的复杂任务。由于Oracle和MySQL的架构差异&#xff0c;它们的数据同步要求既要保持数据的准确性和一致性&#xff0c;又要处理好性能问题。以下是一些主要的技术要点&#xff1a; 数据结构差异 数据类型差异&#xff…...

leetcodeSQL解题:3564. 季节性销售分析

leetcodeSQL解题&#xff1a;3564. 季节性销售分析 题目&#xff1a; 表&#xff1a;sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...

涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战

“&#x1f916;手搓TuyaAI语音指令 &#x1f60d;秒变表情包大师&#xff0c;让萌系Otto机器人&#x1f525;玩出智能新花样&#xff01;开整&#xff01;” &#x1f916; Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制&#xff08;TuyaAI…...

Android15默认授权浮窗权限

我们经常有那种需求&#xff0c;客户需要定制的apk集成在ROM中&#xff0c;并且默认授予其【显示在其他应用的上层】权限&#xff0c;也就是我们常说的浮窗权限&#xff0c;那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...

SiFli 52把Imagie图片,Font字体资源放在指定位置,编译成指定img.bin和font.bin的问题

分区配置 (ptab.json) img 属性介绍&#xff1a; img 属性指定分区存放的 image 名称&#xff0c;指定的 image 名称必须是当前工程生成的 binary 。 如果 binary 有多个文件&#xff0c;则以 proj_name:binary_name 格式指定文件名&#xff0c; proj_name 为工程 名&…...

比较数据迁移后MySQL数据库和OceanBase数据仓库中的表

设计一个MySQL数据库和OceanBase数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...

破解路内监管盲区:免布线低位视频桩重塑停车管理新标准

城市路内停车管理常因行道树遮挡、高位设备盲区等问题&#xff0c;导致车牌识别率低、逃费率高&#xff0c;传统模式在复杂路段束手无策。免布线低位视频桩凭借超低视角部署与智能算法&#xff0c;正成为破局关键。该设备安装于车位侧方0.5-0.7米高度&#xff0c;直接规避树枝遮…...

认识CMake并使用CMake构建自己的第一个项目

1.CMake的作用和优势 跨平台支持&#xff1a;CMake支持多种操作系统和编译器&#xff0c;使用同一份构建配置可以在不同的环境中使用 简化配置&#xff1a;通过CMakeLists.txt文件&#xff0c;用户可以定义项目结构、依赖项、编译选项等&#xff0c;无需手动编写复杂的构建脚本…...