2024年1月12日学习总结
学习目标
- 完成集中学习的readme
- 完成联邦学习的代码编写
- 边学习边总结
学习内容
Introduction to Early Stopping
1、Overfitting
过拟合是所有机器学习,深度学习中可能出现的一个比较严重的问题。具体表现就是:你的模型在训练集上处理的效果非常好,但是在测试集上的表现就非常的差😰
以二元分类问题举例:

可以看出第一个模型可能采用的是简单的线性分类,效果不理想。第二个和第三个都能够正确的分类。但是为什么说第三个模型是过拟合呢?因为此时第三个模型虽然很精确地区分了所有的训练数据,但是他是通过记住训练数据的微小波动来得到这样一个“完美”的训练准确率的,但是此时这个模型只学到了当前训练数据集的特征,没有学到数据的整体特征,他不能成功的表达除了训练数据以外的其他数据,don’t generalize(概括)
2、relation of overfitting with model parameters
根据人的工作年限预测工资的例子(回归):
现在有三个模型,对应的回归曲线:

- 第一个模型只用两个参数就能很好的看出年限和工资的关系了(线性增长)
- 第二个模型有三个参数,它很好地解释了数据,并考虑了二次项
- 第三个模型有四个参数,它就是过度拟合,尽管它经过了所有的训练点,但是不能很好的反应数据的趋势,预测能力严重不足。
这说明了参数越多越容易过拟合,神经网络的参数是非常多的,所以神经网络就是过拟合的重灾区
3、Regularization(正则化)
(1)when do we use regularization?
当我们猜测模型是过拟合状态时就要使用正则化,过拟合状态的显著特点就是验证集具有不好的性能,验证集是模型没有“看到过”的数据,所以如果模型值学到了训练集数据的知识,那么在验证集上将具有很差的性能。所以在训练的过程中我们要不断的检测验证集的指标,如果发现验证集没有显著提升的话,这就是一个警报,告诉我们模型正在过拟合,我们就需要采取regularization techniques
(2)easy stopping
一般解决overfitting问题的策略就是Regularization,easy stopping是其中的一个方法。
这个想法很简单,模型在训练的过程中通过不断的tune(调整)parameters,试图在training data上追踪loss function。我们现在再训练的同时保存一个validation data,同时记录在validation data上的loss function的值,当为我们发现validation set的loss没有提升的话,我们就不要运行完所有的epochs,直接stop。这种基于验证集性能的提前停止策略称为easy stopping。

从图中可以看出
- 随着epochs的增加,训练集的准确率是在一直增加的,很有可能就进入过拟合状态
- 验证集在epoch=8~10左右就饱和了,说明模型可以在此时就停止训练了,easy stopping不仅可以防止过度拟合,而且需要相当少的Epoch来训练。
(3) L1/L2 Regularization
正则化方法是在原目标(代价)函数 中添加惩罚项,对复杂度高的模型进行“惩罚”,通过对权重系数进行缩减
通常我们的损失函数是: l o s s = f ( p r e d s , y ) loss = f(preds,y) loss=f(preds,y),其中 y y y是目标输出, p r e d s preds preds是预测值
线性回归问题的预测值可以表示为: p r e d s = W X + b preds=WX+b preds=WX+b
L1/L2 regularization就是在这个损失函数的基础上加上一个惩罚项(penalty term) Ω ( W ) \Omega(W) Ω(W),可理解为模型“规模”的某种度量,参数 α \alpha α控制控制正则化强弱
l o s s = f ( p r e d s , y , W ) + α Ω ( W ) L 1 : Ω ( W ) = ∣ ∣ W ∣ ∣ 1 = ∑ i ∣ W i ∣ L 2 : Ω ( W ) = ∣ ∣ W ∣ ∣ 2 = ∑ i W i 2 loss = f(preds,y,W)+\alpha \Omega(W)\\ L1:\Omega(W)=||W||_1=\sum_i |W_i|\\ L2:\Omega(W)=||W||_2=\sum_i W_i^2\\ loss=f(preds,y,W)+αΩ(W)L1:Ω(W)=∣∣W∣∣1=i∑∣Wi∣L2:Ω(W)=∣∣W∣∣2=i∑Wi2
L1正则化使一些系数为零,这意味着模型将忽略这些特征。忽略最不重要的特征有助于强调模型的基本特征。
L2正则化技术试图保持模型的权重接近于零,但不是零,这意味着每个特征对输出的影响应该很小,而模型的精度应该尽可能高。
easy stopping的一些参数
- monitor:需要被监视的量。默认就是validatin loss
- min_delta:监视的量的最小的提升量。
- patience:如果训练已经有patience个epochs没有提升了,那么训练停止
- mode:one of {“auto”,“min”,“max”}这是一个最大化问题还是最小化问题,我们最大化精确度,最小化损失。
- restore_best_weights:是否使用最优的模型权重或者最后一个epoch时的模型权重
相关文章:
2024年1月12日学习总结
学习目标 完成集中学习的readme 完成联邦学习的代码编写 边学习边总结 学习内容 Introduction to Early Stopping 1、Overfitting 过拟合是所有机器学习,深度学习中可能出现的一个比较严重的问题。具体表现就是:你的模型在训练集上处理的效果非常好&…...
PCL 使用克拉默法则进行四点定球(C++详细过程版)
目录 一、算法原理二、代码实现三、计算结果本文由CSDN点云侠原创,PCL 使用克拉默法则进行四点定球(C++详细过程版),爬虫自重。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫与GPT生成的文章。 一、算法原理 已知空间内不共面的四个点,设其坐标为 A (…...
前端导致浏览器奔溃原因分析
内存泄漏 内存泄漏(Memory Leak)是指程序中已动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果。(程序某个未使用的变量或者方法,长期占…...
力扣:209.长度最小的子数组
1.题目分析: 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 连续子数组 [numsl, numsl1, ..., numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。 示例 …...
常见类型的yaml文件如何编写?--kind: Service
基本说明 在 Kubernetes 中,Service 是一种抽象的方式,用于定义一组 Pod 的访问方式和网络服务。Service 提供了一个稳定的网络端点(Endpoint),使得其他服务或外部用户可以通过 Service 来访问被管理的 Pod。 负载均…...
linux环境下安装postgresql
PostgreSQL: Linux downloads (Red Hat family)postgresql官网 PostgreSQL: Linux downloads (Red Hat family) 环境: centos7 postgresql14 选择版本 执行启动命令 配置远程连接文件 vi /var/lib/pqsql/14/data/postgresql.conf 这里将listen_addresses值由lo…...
专业课145+合肥工业大学833信号分析与处理考研经验合工大电子信息通信
今年专业课145也是考研科目中最满意的一门,其他基本相对平平,所以这里我总结一下自己的专业课合肥工业大学833信号分析与处理的复习经验。 我所用的教材是郑君里的《信号与系统》(第三版)和高西全、丁玉美的《数字信号处理》&…...
FreeRtos Queue (一)
本篇主要讲队列的数据结构和初始化 一、队列的数据结构 二、队列初始化完是什么样子的 队列初始化的函数调用关系:xQueueGenericCreate->prvInitialiseNewQueue->xQueueGenericReset 所以,最终初始化完的队列是这样的 假设申请了4个消息体&…...
深入理解 Hadoop (五)YARN核心工作机制浅析
概述 YARN 的核心设计理念是 服务化(Service) 和 事件驱动(Event EventHandler)。服务化 和 事件驱动 软件设计思想的引入,使得 YARN 具有低耦合、高内聚的特点,各个模块只需完成各自功能,而模…...
优化 - 重构一次Mysql导致服务器的OOM
概述 优化了一次前后端处理不当导致的CPU的一次爆机行为,当然,这和服务器的配置低也有着密不可分的关系,简单的逻辑学告诉我们,要找到真正的问题,进行解决,CPU爆机的关键点在于前后端两个方面,…...
【光波电子学】基于MATLAB的多模光纤模场分布的仿真分析
基于MATLAB的多模光纤模场分布的仿真分析 一、引言 (1)多模光纤的概念 多模光纤(MMF)是一种具有较大纤芯直径的光纤结构,其核心直径通常在10-50微米范围内。与单模光纤(SMF)相比,…...
0104 AJAX介绍
Ajax 的全称是 Asynchronous Javascript And XML (异步 JavaScript 和 XML )。 通俗的理解:在网页中利用 XMLHttpRequest 对象和服务器进行数据交互的方式,就是 Ajax Ajax 能让我们轻松实现网页与服务器之间的数据交互。 浏览器…...
代码随想录算法训练营第24天 | 理论基础 77. 组合
目录 理论基础 什么是回溯法 回溯法的效率 回溯法解决的问题 如何理解回溯法 回溯法模板 77. 组合 💡解题思路 💻实现代码 理论基础 什么是回溯法 回溯法也可以叫做回溯搜索法,它是一种搜索的方式。 回溯法的效率 虽然回溯法很难ÿ…...
【深度学习环境搭建】Windows搭建Anaconda3、已经Pytorch的GPU版本
目录 搭建Anaconda3搭建GPU版本的Pytorch你的pip也要换源,推荐阿里源打开conda的PowerShell验证 搭建Anaconda3 无脑下载安装包安装(自行百度) 注意点: 1、用户目录下的.condarc需要配置(自定义环境的地址(…...
基于WebFlux的Websocket的实现,高级实现自定义功能拓展
基于WebFlux的Websocket 一、导入XML依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-webflux</artifactId> </dependency><!-- 或者引入jackson --> <dependency><group…...
使用 LLVM clang C/C++ 编译器编译 OpenSSL 3.X库
1、下载 OpenSSL 3.X 库的源代码放到待编译目录 2、解压并接入 OpenSSL 3.X 库源码的根目录 3、复制 ./Configure 一个取名为 ./Configure-clang 4、修改 ./Configure-clang 找到配置段: CC CXX CPP LD 把它们改成 CC > "/usr/bin/clang-…...
【信息安全】hydra爆破工具的使用方法
hydra简介 hydra又名九头蛇,与burp常规的爆破模块不同,hydra爆破的范围更加广泛,可以爆破远程桌面连接,数据库这类的密码。他在kali系统中自带。 参数说明 -l 指定用户名 -L 指定用户名字典文件 -p 指定密码 -P 指…...
uniapp中uview组件库丰富的CountTo 数字滚动使用方法
目录 #平台差异说明 #基本使用 #设置滚动相关参数 #是否显示小数位 #千分位分隔符 #滚动执行的时机 #API #Props #Methods #Event 该组件一般用于需要滚动数字到某一个值的场景,目标要求是一个递增的值。 注意 如果给组件的父元素设置text-align: cente…...
inflate流程分析
一.inflate的三参数重载方法else里面逻辑 我们先看到setContentView里面的inflate的调用链: public View inflate(LayoutRes int resource, Nullable ViewGroup root) {return inflate(resource, root, root ! null);}public View inflate(LayoutRes int resource…...
数据挖掘实战-基于机器学习的电商文本分类模型
🤵♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞Ǵ…...
日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻
在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...
springboot 百货中心供应链管理系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,百货中心供应链管理系统被用户普遍使用,为方…...
ElasticSearch搜索引擎之倒排索引及其底层算法
文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...
CMake 从 GitHub 下载第三方库并使用
有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...
在QWebEngineView上实现鼠标、触摸等事件捕获的解决方案
这个问题我看其他博主也写了,要么要会员、要么写的乱七八糟。这里我整理一下,把问题说清楚并且给出代码,拿去用就行,照着葫芦画瓢。 问题 在继承QWebEngineView后,重写mousePressEvent或event函数无法捕获鼠标按下事…...
JS设计模式(4):观察者模式
JS设计模式(4):观察者模式 一、引入 在开发中,我们经常会遇到这样的场景:一个对象的状态变化需要自动通知其他对象,比如: 电商平台中,商品库存变化时需要通知所有订阅该商品的用户;新闻网站中࿰…...
华为OD机考-机房布局
import java.util.*;public class DemoTest5 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseSystem.out.println(solve(in.nextLine()));}}priv…...
适应性Java用于现代 API:REST、GraphQL 和事件驱动
在快速发展的软件开发领域,REST、GraphQL 和事件驱动架构等新的 API 标准对于构建可扩展、高效的系统至关重要。Java 在现代 API 方面以其在企业应用中的稳定性而闻名,不断适应这些现代范式的需求。随着不断发展的生态系统,Java 在现代 API 方…...
React从基础入门到高级实战:React 实战项目 - 项目五:微前端与模块化架构
React 实战项目:微前端与模块化架构 欢迎来到 React 开发教程专栏 的第 30 篇!在前 29 篇文章中,我们从 React 的基础概念逐步深入到高级技巧,涵盖了组件设计、状态管理、路由配置、性能优化和企业级应用等核心内容。这一次&…...
Canal环境搭建并实现和ES数据同步
作者:田超凡 日期:2025年6月7日 Canal安装,启动端口11111、8082: 安装canal-deployer服务端: https://github.com/alibaba/canal/releases/1.1.7/canal.deployer-1.1.7.tar.gz cd /opt/homebrew/etc mkdir canal…...
