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

深度学习中的正则化——L1、L2 和 Dropout

正则化是一组技术,可以防止神经网络中的过度拟合,从而在面对来自问题域的全新数据时提高深度学习模型的准确性。
在本文中,我们将介绍最流行的正则化技术,称为 L1、L2 和 dropout。

文章目录

  • 1. 回顾:过拟合
  • 2.什么是正则化?
  • 3. L2正则化
  • 4. L1正则化
  • 5. 为什么 L1 和 L2 正则化有效?
    • 5. 1 Regularization 实现了什么?
  • 6. drop out
  • 7 . 总结

1. 回顾:过拟合

训练神经网络时最重要的方面之一是避免过度拟合。

然而,让我们快速回顾一下:过度拟合是指神经网络对训练数据进行很好的建模但在看到来自同一问题域的新数据时失败的现象。过度拟合是由神经网络在训练过程中拾取的训练数据中的噪声引起的,并将其作为数据的基本概念进行学习。

在这里插入图片描述
然而,这种习得的噪声对于每个训练集都是独一无二的。一旦模型看到来自同一问题域的新数据,但不包含这种噪声,神经网络的性能就会变得更差。

“为什么神经网络首先会接收到这种噪音?”

这样做的原因是这个网络的复杂度太高了。右侧图像显示了具有更高复杂性的神经网络的拟合。

在这里插入图片描述
图 1. 具有良好拟合和高方差的模型。资料来源:https 😕/www.researchgate.net/publication/332412613

具有更高复杂性的模型能够拾取和学习数据中仅由某些随机波动或错误引起的模式(噪声)。网络将能够对分布的每个数据样本进行一个一个的建模,而不会识别描述分布的真实函数。

使用真实函数生成的新任意样本与模型的拟合距离很远。我们还说该模型具有高方差。

另一方面,左侧的复杂度较低的网络通过不太努力地对每个数据模式单独建模来更好地建模分布。

在实践中,过度拟合会导致神经网络模型在训练期间表现非常好,但在面对全新数据的推理期间,表现会变得更差。

简而言之:不太复杂的神经网络不太容易过度拟合。为了防止过度拟合或高方差,我们必须使用称为正则化的东西。

2.什么是正则化?

简单来说:正则化是指一组不同的技术,可以降低神经网络模型在训练过程中的复杂度,从而防止过度拟合。

我们将在下面讨论三种非常流行且有效的正则化技术,称为L1、L2和 dropout。

3. L2正则化

L2 正则化是所有正则化技术中最常见的类型,通常也称为权重衰减或 Ride 回归。

这种正则化的数学推导,以及为什么这种方法可以减少过度拟合的数学解释,是相当长和复杂的。由于这是一篇非常实用的文章,我不想过多地关注数学。相反,我想传达这项技术背后的直觉,最重要的是如何实施它,以便您可以在深度学习项目中解决过度拟合问题。

在 L2 正则化期间,神经网络的损失函数由所谓的正则化项扩展,这里称为Ω。

在这里插入图片描述
正则化项Ω定义为权重矩阵的欧几里德范数(或 L2 范数),它是权重矩阵所有平方权重值的总和。正则化项由标量 alpha 除以二来加权,并添加到为当前任务选择的正则损失函数中。这导致损失函数的新表达式:

在这里插入图片描述
Alpha 有时称为正则化率,是我们引入神经网络的额外超参数。简单地说,alpha 决定了我们对模型进行正则化的程度。

在下一步中,我们可以计算新损失函数的梯度并将梯度放入权重的更新规则中:

在这里插入图片描述
更新规则的一些重新表述导致表达式非常像常规梯度下降期间权重的更新规则:

在这里插入图片描述
唯一的区别是,通过添加正则化项,我们从当前权重(等式中的第一项)中引入了额外的减法。

换句话说,与损失函数的梯度无关,每次执行更新时,我们都会使权重变小一点。

4. L1正则化

在 L1 正则化(也称为套索回归)的情况下,我们只需使用另一个正则化项Ω。此项是权重矩阵中权重参数的绝对值之和:
在这里插入图片描述
与前面的情况一样,我们将正则化项乘以 alpha,并将整个结果添加到损失函数中。

在这里插入图片描述
新损失函数的导数导致以下表达式,它是旧损失函数的梯度和权重值的符号乘以 alpha 的总和。

在这里插入图片描述

5. 为什么 L1 和 L2 正则化有效?

您现在可能会问自己的问题是:

“为什么所有这些都有助于减少过度拟合问题?”

让我们来解决这个问题。

请考虑 和 函数的绘图,其中表示在 L1 期间执行的操作和在 L2 正则化期间执行的操作。

在这里插入图片描述
L1 功能(红色),L2 功能(蓝色)

在 L2 正则化的情况下,我们的权重参数减小,但不一定变为零,因为曲线在零附近变得平坦。另一方面,在 L1 正则化过程中,权重总是被迫一直趋向于零。

我们也可以对此采取不同的、更数学化的观点。

对于 L2,您可以考虑求解一个方程,其中权重值的平方和等于或小于值s。s是正则化项α的每个可能值都存在的常数。对于两个权重值W1和W2,该等式如下所示:w1^2 + w2^2 ≤ s

另一方面,L1 正则化可以被认为是权重值的模之和小于或等于值s的方程。这看起来像以下表达式:|W1| + |W2| ≤ s

基本上,引入的 L1 和 L2 正则化方程是约束函数,我们可以将其可视化:

在这里插入图片描述
左图显示了 L1 正则化的约束函数(绿色区域),右图显示了 L2 正则化的约束函数。红色椭圆是梯度下降过程中使用的损失函数的轮廓。在等高线的中心有一组最优权重,损失函数具有全局最小值。

在 L1 和 L2 正则化的情况下,W1 和 W2 的估计由椭圆与绿色约束区域相交的第一个点给出。

由于 L2 正则化具有圆形约束区域,交点一般不会出现在轴上,因此 W1 和 W2 的估计值将完全不为零。

在 L1 的情况下,约束区域为带角的菱形。因此,损失函数的轮廓通常会在轴上与约束区域相交。然后发生这种情况,估计值之一(W1 或 W2)将为零。

在高维空间中,许多权重参数将同时为零。

5. 1 Regularization 实现了什么?

  • 执行 L2 正则化鼓励权重值趋向于零(但不完全为零)
  • 执行 L1 正则化鼓励权重值为零

直观地说,较小的权重会减少隐藏神经元的影响。在那种情况下,那些隐藏的神经元变得可以忽略不计,神经网络的整体复杂性得到降低。

如前所述:不太复杂的模型通常会避免数据中的建模噪声,因此不会出现过度拟合。

但你必须要小心。选择正则化项α 时。目标是在模型的低复杂性和准确性之间取得适当的平衡

  • 如果您的 alpha 值太高,您的模型会很简单,但您会面临数据欠拟合的风险。您的模型不会充分了解训练数据以做出有用的预测。
  • 如果您的 alpha 值太低,您的模型将更加复杂,并且您将面临过度拟合数据的风险。您的模型将对训练数据的特殊性了解太多,并且无法泛化到新数据。

6. drop out

除了 L2 和 L1 正则化之外,另一种著名且强大的正则化技术称为 dropout 正则化。dropout 正则化背后的过程非常简单。

简而言之,dropout 意味着在以某种概率P进行训练期间,神经网络的神经元在训练期间被关闭。让我们看一个直观的例子。

在这里插入图片描述
假设在左侧我们有一个没有 dropout 的前馈神经网络。使用 dropout 假设随机神经元在训练期间被关闭的概率P=0.5将导致右侧的神经网络。

在这种情况下,您可以观察到大约一半的神经元不活跃并且不被视为神经网络的一部分。正如您所观察到的,神经网络变得更简单了。

神经网络的更简单版本会降低复杂性,从而减少过度拟合。在每个前向传播和权重更新步骤中应用具有特定概率P的神经元去激活。

7 . 总结

  • 过度拟合发生在更复杂的神经网络模型中(很多层,很多神经元)
  • 通过使用 L1 和 L2 正则化以及 dropout 可以降低神经网络的复杂性
  • L1 正则化强制权重参数变为零
  • L2 正则化迫使权重参数趋向于零(但永远不会完全为零)
  • 更小的权重参数使一些神经元可以忽略 → 神经网络变得不那么复杂 → 更少的过度拟合
  • 在 dropout 期间,一些神经元以随机概率P停用→ 神经网络变得不那么复杂 → 不那么过度拟合

相关文章:

FlatBuffers 与 ProtocolBuffers 的区别

背景 FlatBuffers 和 Protocol Buffers(通常简称 Protobuf)都是由 Google 开发的序列化协议,用于在不同的程序或网络间有效地传输和存储结构化数据。尽管它们的目标相似,但在设计和使用上有一些关键的区别。 FlatBuffers 直接访…...

Redis热点key大key

一、热点key问题1、商品秒杀、热点新闻、热点评论等读多写少的场景,可能会造成一个较大的请求Redis量,这种情况下就会造成热点Key问题。2、请求分片集中,超过单台Redis服务器的性能极限。手动分片或者custer分片切分,刚好一致性hash落入同一台redis服务器,数据倾斜,如果瞬…...

Pycharm的Python脚本模板

# @Time : ${DATE} ${TIME} # @Author : HeJinYang # @Description:...

Windows如何通过wsl2迅速启动Docker desktop的PHP的Hyperf项目容器?

一、安装WSL 什么是WSL? 官网:什么是WSL? Windows Subsystem for Linux (WSL) 是一个在Windows 10和Windows 11上运行原生Linux二进制可执行文件的兼容性层。 换句话说,WSL让你可以在Windows系统上运行Linux环境,而无需…...

【汇编语言小练习输入两个数字然后输出它们的和】

这个程序是用汇编语言编写一个简单的程序,它将从键盘输入两个数字,然后输出它们的和。 .MODEL SMALL .STACK 100H.DATAINPUT_MSG1 DB Enter the first number: $INPUT_MSG2 DB 13, 10, Enter the second number: $RESULT_MSG DB 13, 10, The sum is: $N…...

Linux 7修改网卡名称后,配置文件中的默认网关不生效【转载】

背景为了系统统一管理在创建了系统后统一将网卡名称修改为eth0,eth1等格式,并在修改完网卡名称重新编译grub配置文件重启后,添加了静态路由,使用route -n查看系统发现路由可以生效,但是配置的默认网关不生效,记录下排查过程。 检查网卡配置文件并手动配置默认网关在检查了…...

深度学习中的正则化——L1、L2 和 Dropout

正则化是一组技术,可以防止神经网络中的过度拟合,从而在面对来自问题域的全新数据时提高深度学习模型的准确性。 在本文中,我们将介绍最流行的正则化技术,称为 L1、L2 和 dropout。 文章目录1. 回顾:过拟合2.什么是正则…...

数据结构(王卓)(4)附:链表的销毁与清空

销毁 Status 销毁单链表(LinkList L) {LinkList p;while (L){p L;L->next;delete p;}return OK; } 运行逻辑: (1):设定一个指针,让指针指向链表的头指针L (2):让头指针等于头指针里面指向下…...

C++图书管理系统(管理员-读者)

C图书管理系统(管理员-读者) 一、设计一款文字式交互的图书管理系统,要求具备注册登录、浏览图书、借还图书等基本功能; 二、要求以外部文件的形式存储书籍信息、馆藏记录、借阅记录、用户信息等。【可参考提供的书籍清单】 三…...

永磁同步电机恒压频比(V/F)开环控制系统Matlab/Simulink仿真分析及代码生成到工程实现

文章目录前言一、 恒压频比(V/F)控制原理二、永磁同步电机恒压频比开环控制系统Matlab/Simulink仿真分析2.1.仿真电路分析2.1.1.恒压频比控制算法2.1.2.输出处理2.1.3.主电路2.2.仿真结果分析2.2.1.设定目标转速为1200r/min2.2.1.设定目标转速为变化值三…...

基于JSP网上书城的设计与实现

项目描述 临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里根据疫情当下,你想解决的问…...

java计算机毕业设计-学生宿舍故障报修管理信息系统-源程序+mysql+系统+lw文档+远程调试

java计算机毕业设计-学生宿舍故障报修管理信息系统-源程序mysql系统lw文档远程调试 java计算机毕业设计-学生宿舍故障报修管理信息系统-源程序mysql系统lw文档远程调试本源码技术栈: 项目架构:B/S架构 开发语言:Java语言 开发软件&#xf…...

vue学习笔记——简单入门总结(四)

文章目录1.Vue3的特性和变化1.1.创建vue3项目1.2.分析main.js变化:1.3.setup--组合式api的开端1.4.ref函数和reactive函数:1.5.watch监视属性1.5.watchEffect函数1.6.vue3生命周期:1.Vue3的特性和变化 1.1.创建vue3项目 1.这里我们使用脚手架…...

数据结构与算法—数组栈和链表栈

数据结构与算法—数组栈和链表栈 🌈一览众山小数据结构与算法—数组栈和链表栈栈介绍栈图解栈实现数组实现栈实现思路实现代码单链表实现栈实现思路(图解)实现代码栈总结栈力扣栈介绍 栈,存储货物或供旅客住宿的地方,可引申为仓库、中转站,所以引入到计算…...

【应用】Kubernetes

Kubernetesk8s 安装流程安装前配置安装 docker 以及 k8s 组件初始化 k8s 集群测试使用:安装 kubernetes-dashboardk8s 基础概念k8s 核心技术概念k8s 内部组件k8s 中的 IP 地址K8S 服务暴露的三种方式k8s 安装流程 k8s-masterk8s-node01k8s-node02192.168.86.140192…...

GEE:关系、条件和布尔运算

ee.Image对象具有一组用于构建决策表达式的关系、条件和布尔运算方法。这些方法可以用来掩膜、绘制分类地图和重新赋值。 本文记录了在GEE(Google Earth Engine)平台上的关系运算符和布尔运算符,分别应用到了三个不用的场景(筛选低…...

Java项目:SSM的KTV管理系统

作者主页:源码空间站2022 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 项目介绍 主要功能包括: 登陆页,房间信息,房间管理,开取房间,房间查询,会员管理,食物管理,查看订单,查询订单,查看房间消费使用情况等功能。…...

包装类-Wrapper

包装类的分类 针对八种基本数据类型相应的引用类型-包装类有了类的特点,就可以调用对应的类中的方法 装箱和拆箱 Java是一种面向对象的编程语言,学习Java时就被明确灌输了一个概念:OOP,即面向对象编程。一切皆对象。但是基本…...

计算机网络——运输层【重点】

运输层概述 概念 进程之间的通信 从通信和信息处理的角度看,运输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层。当网络的边缘部分中的两个主机使用网络的核心部分的功能进行端到端的通信时&…...

ADSP-21569/ADSP-21593的开发入门(上)

作者的话 ADI的SHARC系列DSP,目前已经出到5系列了,最新的一颗叫2159x,按照ADI的说法,这颗DSP的性能是21569的两倍,但又能和21569做P2P的替换,所以下面我们就以21593为例,写一点资料&#xff0c…...

【Android App】在线直播之搭建WebRTC的服务端(图文解释 简单易懂)

有问题或需要源码请点赞关注收藏后评论区留言私信~~~ 一、WebRTC的系统架构 WebRTC(网页即时通信)是一个支持浏览器之间实时音视频对话的新型技术,WebRTC体系由应用于实时通信的编程接口和一组通信协议组成,已成为互联网流媒体通…...

x265 帧间预测

帧间编码入口函数: 从 Analysis::compressCTU 是ctu编码的入口函数,根据 slice 类型判断是 I 还是 BP,如果是BP则执行帧间编码函数 Analysis::compressInterCU_rdx_x::/*压缩分析CTU过程:1.为当前CTU加载QP…...

【sciter】安全应用列表控件总结

一、效果图 二、功能点 实现电脑文件拖拽进入到安全桌面,读取文件路径,生成应用。可以配置允许拖拽进入安全桌面的文件应用。点击添加图标,可以添加应用到安全桌面中。在安全桌面列表中每一个应用实现双击、失去焦点,获取焦点、右键事件在安全桌面列表中每一个应用可以实现…...

一篇文章让你搞懂Java顺序表

目录 一、 线性表的基本介绍 二、顺序表 1、顺序表的概念 2. 创建顺序表类(ArrayList) 2. 增加元素 3. 删除元素 4. 修改某个元素 5. 查找元素 Main类 在数据结构体系中我们将整个数据结构分为两类,一类是线性结构; 线性…...

小白必知必会的几个IP协议知识

小白必知必会的几个IP协议知识1.IP地址属于网络层协议2.路由控制3.数据链路的抽象化4.IP属于面向无连接型1.IP地址属于网络层协议 在计算机通信中,为了识别通信对端,必须要有一个类似于地址的识别码进行标识。 MAC地址是用来标识同一个链路中不同计算机…...

【45-线程的实现方式-线程池的创建方式-线程池的执行顺序-CompletableFutrue异步处理】

一.知识回顾 【0.三高商城系统的专题专栏都帮你整理好了,请点击这里!】 【1-系统架构演进过程】 【2-微服务系统架构需求】 【3-高性能、高并发、高可用的三高商城系统项目介绍】 【4-Linux云服务器上安装Docker】 【5-Docker安装部署MySQL和Redis服务】…...

前馈神经网络与支持向量机实战 --- 手写数字识别

前馈神经网络与支持向量机实战 — 手写数字识别 文章目录前馈神经网络与支持向量机实战 --- 手写数字识别一、前馈神经网络介绍二、支持向量机介绍三、数据集说明四、环境准备五、实验要求六、Python代码tutorial_minst_fnn-keras.py:使用TensorFlow的Sequential实现…...

idea导入eclipse项目的时候,Java图标变成黄色小J了,怎么解决?

凯哥今天导入一个15年时候写的小项目,当时使用的是eclipse写的。最近好几年都在使用idea,习惯了idea的,在用eclipse,不习惯,不顺手,就导入到idea中。发现,Java文件的图标变成了黄色的J。如下图&…...

Redis配置与优化

1 关系数据库与非关系型数据库概述 1.1 关系型数据库 一个结构化的数据库,创建在关系模型(二维表格模型)基础上 一般面向于记录 SQL 语句(标准数据查询语言)就是一种基于关系型数据库的语言 用于执行对关系型数据库中…...

管理团队相关的梳理

管理团队是跟踪团队成员工作表现,提供反馈,解决问题并管理团队变更,以优化项目绩效的过程。本过程的主要作用是,影响团队行为、管理冲突以及解决问题等方式,实现团队管理。 输入 1.项目管理计划 --------资源管理计划 2. 项目文件 --------问题日志、经验教训登记册、项…...

HTML5期末大作业【红色的电影售票平台网站】web前端 html+css+javascript网页设计实例 企业网站制作

HTML实例网页代码, 本实例适合于初学HTML的同学。该实例里面有设置了css的样式设置,有div的样式格局,这个实例比较全面,有助于同学的学习,本文将介绍如何通过从头开始设计个人网站并将其转换为代码的过程来实践设计。 文章目录一、网页介绍一…...

【三维目标检测】Part-A2(一)

Part-A2是商汤在CVPR 2020上发布的三维点云目标检测模型,来源于PointRCNN同一作者,论文名称《From Points to Parts 3D Object Detection from Point Cloud with Part-aware and Part-aggregation Network》。从名称可以看出,Part代表的是目标…...

C++输出四舍五入的一些小问题

嗯…今天刚去练了一会简单题 就我大一刚上学做的那种题,嗯,然后我发现我还是得调试,想骂人了,就啥样的题呢, 嗯,就这样的题,虽然我大一可能也过不了这种题,hh 现在题目里面要求一些四舍五入的问题 刚才没整…...

详解设计模式:责任链模式

责任链模式(Chain of Responsibility Pattern)也被称为职责链模式,是在 GoF 23 种设计模式中定义了的行为型模式。 责任链模式 是将链中的每一个节点看作是一个对象,每个节点处理的请求不同,且内部自动维护一个下一节点…...

Python源码剖析笔记1-整数对象PyIntObject

1、PyIntObject 对象 [intobject.h] typedef struct {PyObject_HEADlong ob_ival; } PyIntObjectPyIntObject是一个不可变(immutable)对象。Python内部也大量的使用整数对象,我们在自己的代码中也会有大量的创建销毁整型对象的操作&#xff…...

求一个网页设计作业——个人博客(HTML+CSS)

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…...

HTML5期末大作业:基于html+css+javascript+jquery实现藏族文化15页【学生网页设计作业源码】

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…...

2. IMU原理及姿态融合算法详解

文章目录2. IMU原理及姿态融合算法详解一、组合二、 原理a) 陀螺仪b) 加速度计c) 磁力计三、 旋转的表达a) 欧拉角b) 旋转矩阵c) 四元数d) 李群 SO(3)\text{SO}(3)SO(3) 及 李代数 so(3)\text{so}(3)so(3)四、 传感器的噪声及去除a) 陀螺仪b) 加速度计c) 磁力计五、姿态解算原理…...

【能效管理】安科瑞远程预付费系统在江西某沃尔玛收费管理的应用

摘要:文章根据用电远程管控原理,设计了用电预付费远程管理终端及管理系统,该系统以智能远程预付费电表、智能网关以及预付费管理软件实现了商业综合体的用电管理,实现了欠费自动分闸,充值后自动合闸,并辅助…...

HTML+CSS+JS做一个好看的个人网页—web网页设计作业

个人网页设计个人网页(htmlcssjs)——网页设计作业带背景音乐(The way I still Love you)、樱花飘落效果、粒子飘落效果页面美观,样式精美涉及(htmlcssjs),下载后可以根据自己需求进…...

【MySQL】表的增删改查(一)

你可以了解世间万物,但追根溯源的唯一途径便是亲身尝试。——《心灵捕手》 前言: 大家好,我是拳击哥,今天给大家讲解的是mysql表GRUD操作中的新增数据、查询数据以及表中数据的排序、去重等。因篇幅过长,分为两期来讲解…...

HTML5期末考核大作业、HTML个人主页界面设计源码

🎉精彩专栏推荐👇🏻👇🏻👇🏻 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业…...

计算机毕业设计Java酒店信息管理(源码+系统+mysql数据库+lw文档)

计算机毕业设计Java酒店信息管理(源码系统mysql数据库lw文档) 计算机毕业设计Java酒店信息管理(源码系统mysql数据库lw文档)本源码技术栈: 项目架构:B/S架构 开发语言:Java语言 开发软件:idea eclipse 前端技术:La…...

ARM 汇编编写 LED 灯

一、一步步点亮LED 1. 硬件工作原理及原理图查阅 LED 本身有 2 个接线点,一个是 LED 的正极,一个是 LED 的负极。LED 这个硬件的功能就是点亮或者不亮,物理上想要点亮一颗 LED 只需要给他的正负极上加正电压即可,要熄灭一颗 LED…...

用python编写远程控制程序

1.前言 远程控制是网络安全的一个极为重要的内容,无论是网络安全的维护者还是破坏者都会对此进行研究。维护者的目标是保证远程控制的安全,而破坏者的目标是希望能够凭借各种手段实现对目标设备的远程控制。 本文主要研究三个内容。 1.如何编写一个基于…...

安装docker,docker-compose

安装docker,docker-composeLinux时间不对ARM同步时间X86同步时间centos8更换源安装dockerARM安装dockerX86安装dockerdocker设置阿里镜像源docker 下载拉取报错安装docker-composeARM X86安装docker-composemac安装docker-composeLinux时间不对 ARM同步时间 # 安装chrony yum…...

一文带你深入理解【Java基础】· 泛型

写在前面 Hello大家好, 我是【麟-小白】,一位软件工程专业的学生,喜好计算机知识。希望大家能够一起学习进步呀!本人是一名在读大学生,专业水平有限,如发现错误或不足之处,请多多指正&#xff0…...

RabbitMQ学习笔记

目录 尚硅谷mq视频学习笔记 1.1. MQ 的相关概念 1.1.1. 什么是MQ 1.1.2. 为什么要用MQ 1.1.3. MQ 的分类 1.ActiveMQ 2.Kafka 3.RocketMQ 4.RabbitMQ 1.1.4. MQ 的选择 1.Kafka 2.RocketMQ 3.RabbitMQ 1.2. RabbitMQ 1.2.1. RabbitMQ 的概念 1.2.2. 四大核心概念…...

Java安全-CC1

CC1 这里用的是组长的链子和yso好像不太一样&#xff0c;不过大体上都是差不多的。后半条的链子都是一样的&#xff0c;而且这条更短更易理解。yso的CC1过段时间再看一下。 环境 Maven依赖&#xff1a; <dependencies><dependency><groupId>commons-colle…...

【得到日期对象NSDate的各个部分 Objective-C语言】

一、得到日期对象NSDate的各个部分,年月日时分秒 1.例如,我这儿有1个NSDate对象, NSDate *date = [NSDate date]; 这个日期里面是不是有年、有月、有日、有时、有分、有秒 我想单独的拿到这个日期里面的年,该怎么拿 用date.year属性,行吗,不行,因为没有这个属性 用…...

前端面试常考 | CSS垂直居中解决方案

文章目录一. 前言二. flx布局实现三. Grid布局实现四. 绝对定位transform五. 绝对定位负margin五. 绝对定位calc六. 定位加margin一. 前言 前段时间刷到一篇帖子&#xff0c;说面试竟然遇到了CSS的考点&#xff0c;让回答CSS实现垂直居中的方式有哪些?&#xff0c;都2022年了…...

Flink中的UDF的实现

Flink 的 Table API 和 SQL 提供了多种自定义函数的接口&#xff0c;以抽象类的形式定义。当前 UDF 主要有以下几类&#xff1a; 标量函数&#xff08;Scalar Functions&#xff09;&#xff1a;将输入的标量值转换成一个新的标量值&#xff1b;表函数&#xff08;Table Funct…...

Linux教程

Linux 目录结构 /bin&#xff1a;&#xff08;binary&#xff09;存放的是一些二进制文件&#xff0c;但是在Linux中二进制文件是可以被执行的。这个目录中的命令文件是给普通用户使用&#xff08;非超级管理员用户&#xff09;。 /etc&#xff1a;Linux下所有的配置文件都会…...

1.3 Apache Hadoop的重要组成-hadoop-最全最完整的保姆级的java大数据学习资料

文章目录1.3 Apache Hadoop的重要组成1.3 Apache Hadoop的重要组成 HadoopHDFS(分布式文件系统)MapReduce(分布式计算框架)Yarn(资源协调框架)Common模块 Hadoop HDFS&#xff1a;&#xff08;Hadoop Distribute File System &#xff09;一个高可靠、高吞吐量的分布式文件系统…...

【蓝桥杯】第十四届模拟赛第一期及第二期填空汇总

目录 1.A题&#xff08;进制位数&#xff09; 位运算符 第一期 问题描述 解析 第二期 解析 代码 2.B题&#xff08;日期问题&#xff09; 第一期 问题描述 解析 代码实现 执行结果 第二期 问题描述 解析 3.C题&#xff08;数学问题&#xff09; 第一期 问题…...

Go学习之路-环境搭建

默认运行设备系统&#xff1a;MacOS 安装 安装包下载地址&#xff08;下面3个都可以&#xff09;&#xff1a; https://studygolang.com/dl https://golang.google.cn/dl/ https://golang.org/dl/ 我这里选择 pkg包、一键安装、默认的安装路径 /usr/local/go 环境 设置go语言…...

2024.5.8

widget.h:登录界面头文件(组件、信号、槽) public:Widget(QWidget *parent nullptr);~Widget();QLabel *lb1;//背景图QLineEdit *le1;//账号QLineEdit *le2;//密码QPushButton *bt1;//登录按钮QPushButton *bt2;//退出按钮signals:void jump();//登录跳转信号 public slots:v…...

[公开课学习]台大李宏毅-自注意力机制 Transformer

自注意力机制 存在一些问题&#xff0c;将vector set/sequence作为input&#xff0c;例如&#xff1a; 文字处理&#xff1a;将文字用one-hot表示&#xff0c;或者向量空间的向量表示&#xff0c;然后进行翻译任务等语音处理&#xff1a;25ms音频作为一个向量&#xff0c;10m…...

【Git】Git学习-14:VSCode中使用git

学习视频链接&#xff1a;【GeekHour】一小时Git教程_哔哩哔哩_bilibili​编辑https://www.bilibili.com/video/BV1HM411377j/?vd_source95dda35ac10d1ae6785cc7006f365780 在vscode中打开文件 code . 自行修改内容&#xff0c;在源代码管理器中测试下...

C语言 动态内存管理

目录 1. C/C程序的内存分配2. 动态内存分配的作用3. malloc - 分配内存4. free - 释放内存5. calloc - 分配并清零内存6. realloc - 调整之前分配的内存块7. 常见的动态内存的错误7.1 对空指针解引用7.2 对动态开辟空间的越界访问7.3 对非动态开辟内存使用free7.4 使用free释放…...

02-Fortran基础--Fortran操作符与控制结构

02-Fortran基础--Fortran操作符与控制结构 0 引言1 操作符1.1 数学运算符1.2 逻辑运算符1.3 关系运算符 2 控制流程2.1 条件结构2.2 循环结构2.3 分支结构 0 引言 运算符和控制流程对编程语言是必须的,Fortran的操作符和控制流程涉及到各种数学运算符、逻辑运算符以及控制结构。…...

js 在一个字符串中查找 从某个字符开始到另一个字符的子字符串

1、在这个例子中&#xff0c;findSubstringBetween函数接收一个字符串str&#xff0c;以及要查找的起始字符startChar和终止字符endChar; 2、函数首先找到startChar的位置&#xff0c;并从该位置加上startChar的长度获取开始子字符串的起始索引; 3、然后从这个起始索引开始&…...

APP广告变现:自刷的秘密与规则

在移动互联网时代&#xff0c;广告已成为众多APP盈利的主要方式之一。对于开发者和运营者而言&#xff0c;如何通过广告变现提高收益是他们必须关注的问题。然而&#xff0c;在众多的变现方法中&#xff0c;“自刷广告”这一概念可能让一些人感到迷惑。实际上&#xff0c;只要在…...

【Kubernetes集群一主二从安装教程】

文章目录 环境准备主机间做信任安装ansible工具 升级内核版本使用elrepo源升级内核查看最新版内核安装最新的内核版本设置系统默认内核设置默认内核为我们刚才升级的内核版本 初始化关闭防火墙关闭selinux关闭swap修改主机名修改hosts文件将桥接的IPv4流量传递到iptables的链配…...

hadoop学习---基于Hive的教育平台数据仓库分析案例(三)

衔接第一部分&#xff0c;第一部分请点击&#xff1a;基于Hive的教育平台数据仓库分析案例&#xff08;一) 衔接第二部分&#xff0c;第二部分请点击&#xff1a;基于Hive的教育平台数据仓库分析案例&#xff08;二) 学生出勤模块&#xff08;全量分析&#xff09;&#xff1a…...

技术分享 | 京东商品API接口|京东零售数据可视化平台产品实践与思考

导读 本次分享题目为京东零售数据可视化平台产品实践与思考。 主要包括以下四个部分&#xff1a; 1.京东API接口介绍 2. 平台产品能力介绍 3. 业务赋能案例分享 01 京东API接口介绍 02 平台产品能力介绍 1. 产品矩阵 数据可视化产品是一种利用数据分析和可视化技术&…...

JUC并发编程(更新中)

1. 线程基础知识复习 ●1把锁&#xff1a;synchronized&#xff08;后面细讲&#xff09; ●2个并&#xff1a; ○并发&#xff08;concurrent&#xff09;&#xff1a;是在同一实体上的多个事件&#xff0c;是在一台机器上“同时”处理多个任务&#xff0c;同一时刻&#xff…...

EventFilter函数,屏蔽Up、Down等键盘事件

首先需要有EventFilter函数&#xff1a; https://blog.csdn.net/qq_46630245/article/details/135472802 .h protected://void paintEvent( QPaintEvent *painter );bool eventFilter(QObject *obj,QEvent *event);.cpp //事件过滤器 bool form1::eventFilter(QObject *watc…...