德清做网站/博客营销案例
学习目标
- 完成集中学习的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学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞Ǵ…...

第8章-第4节-Java中字节流的缓冲流
1、缓冲流:属于高级IO流,并不能直接读写数据,需要依赖于基础流。缓冲流的目的是为了提高文件的读写效率?那么是如何提高文件的读写效率的呢? 在内存中设置一个缓冲区,缓冲区的默认大小是8192字节ÿ…...

NULL是什么?
NULL是一个编程术语,通常用于表示一个空值或无效值。在很多编程语言中,NULL用于表示一个变量或指针不引用任何有效的对象或内存位置。 NULL可以看作是一个特殊的值,表示缺少有效的数据或引用。当一个变量被赋予NULL值时,它表示该变…...

FreeRTOS 基础知识
这个基础知识也是非常重要的,那我们要学好 FreeRTOS,这些都是必不可少的。 那么就来看一下本节有哪些内容: 首先呢就是介绍一下什么是任务调度器。接着呢就是任务它拥有哪一些状态了。那这里的内容不多,但是呢都是非常重要的。 …...

【野火i.MX6NULL开发板】挂载 NFS 网络文件系统
0、前言 参考资料: (误人子弟)《野火 Linux 基础与应用开发实战指南基于 i.MX6ULL 系列》PDF 第22章 参考视频:(成功) https://www.bilibili.com/video/BV1JK4y1t7io?p26&vd_sourcefb8dcae0aee3f1aab…...

在JavaScript中,Object.assign()方法或展开语法(...)来合并对象,Object.freeze()方法来冻结对象,防止对象被修改
文章目录 一、Object.freeze()方法来冻结对象,防止对象被修改1、基本使用2、冻结数组2.1、浅冻结2.1、深冻结 3、应用场景4、Vue中使用Object.freeze 二、Object.assign()方法或展开语法(...)来合并对象1、Object.assign()1.1、语法1.2、参数…...

池化、线性、激活函数层
一、池化层 池化运算是深度学习中常用的一种操作,它可以对输入的特征图进行降采样,从而减少特征图的尺寸和参数数量。 池化运算的主要目的是通过“收集”和“总结”输入特征图的信息来提取出主要特征,并且减少对细节的敏感性。在池化运算中…...

ES-极客学习第二部分ES 入门
基本概念 索引、文档、节点、分片和API json 文档 文档的元数据 需要通过Kibana导入Sample Data的电商数据。具体参考“2.2节-Kibana的安装与界面快速浏览” 索引 kibana 管理ES索引 在系统中找到kibana配置文件(我这里是etc/kibana/kibana.yml) vim /…...

Nodejs软件安装
Nodejs软件安装 一、简介 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。 官网:http://nodejs.cn/api/ 我们关注于 node.js 的 npm 功能,NPM 是随同 NodeJS 一起安装的包管理工具,JavaScript-NPM,Java-Maven&…...

Photoshop 2024 (PS2024) v25 直装版 支持win/mac版
Photoshop 2024 提供了多种创意工具,如画笔、铅笔、涂鸦和渐变等,用户可以通过这些工具来创建独特和令人印象深刻的设计效果。增强的云同步:通过 Adobe Creative Cloud,用户可以方便地将他们的工作从一个设备无缝同步到另一个设备…...

ChatGPT绘画生成软件MidTool:智能艺术的新纪元
在人工智能的黄金时代,创新技术不断涌现,改变着我们的生活和工作方式。其中,ChatGPT绘画生成软件MidTool无疑是这一变革浪潮中的佼佼者。它不仅是一个软件,更是一位艺术家,一位智能助手,它的出现预示着智能…...