机器学习/深度学习——模型的欠拟合和过拟合,正则化方法详解

news2024/12/27 13:42:36

机器学习/深度学习——模型的欠拟合和过拟合,正则化方法 详解

搭配以下文章进行学习:

卷积神经网络:
深度学习——卷积神经网络(convolutional neural network)CNN详解(一)——概述. 步骤清晰0基础可看

深度学习——卷积神经网络(convolutional neural network)CNN详解(二)——前向传播与反向传播过程(特征提取+预测+反向传播更新参数). 步骤清晰0基础可看

简单的神经网络详解:
深度学习——神经网络(neural network)详解(一). 带手算步骤,步骤清晰0基础可看

深度学习——神经网络(neural network)详解(二). 带手算步骤,步骤清晰0基础可看

梯度下降法:
机器学习/深度学习——梯度下降法(Gradient descent)详解. 步骤清晰 0基础可看

1.数据集划分

(1)训练集(Training Set):

用途:用于模型的训练过程,即学习数据特征和进行参数调优。

比例:通常是数据集中的最大部分,常见的比例为60%-70%。

(2)验证集(Validation Set):

用途:用于模型的调整和选择,比如选择模型的超参数、正则化系数等。验证集帮助我们评估模型在训练集之外的数据上的表现,以避免过拟合。

比例:在没有单独测试集的情况下,验证集可以稍大一些,常见的比例为20%-30%。如果存在单独的测试集,验证集可以较小,比如10%-20%。

(3)测试集(Test Set):

用途:用于最终评估模型的性能。测试集应该在整个模型选择和训练过程结束后只使用一次,以确保评估结果的公正性。
比例:测试集应足够大,以提供可靠的性能估计,常见的比例为10%-20%。

(4)交叉验证集(Cross-Validation Set,可选):

用途:在数据量有限的情况下,可以使用交叉验证来更有效地利用数据。交叉验证通过将训练集分割成多个小的子集,每个子集轮流作为验证集,而剩余的数据作为训练集,这样可以减少过拟合的风险并提高模型评估的可靠性。

方法:常见的交叉验证方法有K折交叉验证(K-fold cross-validation),其中K通常取值5或10。

(5)数据集划分的一般比例:

一个常见的划分比例是:训练集70%,验证集20%,测试集10%,即7:2:1。如果数据量很大,可能使用60%的训练集,20%的验证集和20%的测试集,6:2:2

详细知识点请见:深度学习——卷积神经网络(convolutional neural network)CNN详解(一)——概述. 步骤清晰0基础可看

2.欠拟合(Underfitting)

(1)定义:当一个模型在训练数据上都不能获得满意的性能,即模型太简单,没有学习到数据中的潜在结构和模式。

(2)原因:模型过于简单,参数太少;特征选择不当,重要特征缺失;训练时间过短,模型没有收敛到理想状态。
表现:训练误差和测试误差都较大。

(3)解决方法:增加模型复杂度、添加更多的特征、减少正则化强度、使用更复杂的模型或算法、增加训练数据、延长训练时间等。

如图所示:训练集和验证集的误差都很高,并且随着样本数量的增加,误差并没有显著下降,这通常表明模型是欠拟合的。

在这里插入图片描述

3.过拟合(Overfitting)

定义:当一个模型在训练数据上表现得非常好,但是在未见过的新数据上表现差,即模型对训练数据中的噪声和细节学习得太多,失去了泛化能力。

原因:模型过于复杂,拥有过多的参数;训练数据不足够或质量不高;训练时间过长,导致模型学习到数据中的随机误差。

表现:训练误差很小,但验证误差或测试误差较大。

解决方法:获取更多的数据、减少模型复杂度、使用正则化方法(如L1、L2正则化)、应用Dropout(在深度学习中)、使用数据增强、调整模型训练的迭代次数等。

如图所示:在训练集数目较小的时候,非常容易出现过拟合情况,所以我们可以看到曲线的开始部分,验证集误差很高,可是训练集误差却很小,这是典型的过拟合现象,表明在训练集上出现的超低误差是因为模型过度学习训练集造成的。但是随着训练集样本的增多,过拟合情况缓解,验证集的误差逐步降低,训练集的误差逐步升高。

过拟合

4.正则化是什么?

正则化是在模型的损失函数中添加一个额外的项,这个项通常与模型参数的某种度量(如参数的大小或复杂度)成比例。通过这种方式,正则化有助于简化模型,避免模型过于复杂而学习到数据中的噪声。

常见类型:

(1) L1 正则化(Lasso 正则化)

向损失函数添加参数的绝对值之和,促使模型学习到的权重尽可能稀疏(即有更多的参数变为零),这有助于特征选择。
L1

(2) L2 正则化(Ridge 正则化)

向损失函数添加参数的平方和,促使模型学习到的权重尽可能小,这有助于模型平滑。
L2

(3)弹性网(Elastic Net)正则化

结合了L1和L2正则化,同时考虑参数的绝对值和平方。
弹性网正则化

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2046173.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

WHD温湿度控制器:智能守护,让电力设备远离“温湿”困扰,安全运行每一刻

​在电力系统的庞大网络中,中高压开关柜、端子箱、环网柜及箱变等关键设备,其稳定运行直接关系到电力供应的安全与效率。WHD系列温湿度控制器以智能化、精准化的温湿管理方案,为电力设备筑起了一道坚不可摧的安全防线。 WHD系列温湿度控制器搭…

【Spring Boot】全局异常处理

目录 背景 前言 设计步骤 1.定义异常信息类: 2.自定义异常: 3.创建全局异常处理类 4.在控制器中抛出异常 5.输出 捕获 Valid 校验异常 背景 去面试的时候被问到SpringBoot项目中,如何处理全局异常的,也就是如何捕获全局异…

软件包管理器以及NFS

一.YUM 1.1 YUM介绍 学习YUM 软件仓库,可以完成安装、卸载、自动升级 rpm 软件包等任务,能够自动 查找并解决 rpm 包之间的依赖关系,而无须管理员逐个、手工地去安装每个 rpm 包,使管 理员在维护大量 Linux 服务 器时更加轻松自…

MS Visual Studio使用ACLLib库

目录 前言 二、MS Visual Studio使用ACLLib库 1.拿到库文件 2.新建VS项目 1)打开VS Studio 2)新建Windos 桌面向导文件 3)创建 4)选择空项目 5) 新建main.c文件 3.将得到的acllib.c 与 acllib.h文件复制到项目…

HNU-2024计算机系统-小班讨论6

写在前面: 本次讨论课的选题主要围绕着程序性能优化章节中的分支预测部分,我个人感觉这板块是CSAPP教材中最不好理解的部分,需要大家多看教材,多讨论分析。 本文所有题目由全组同学共同完成,感谢每一位同学的支持与付…

【C++】序列与关联容器(二)序列容器

【C】序列与关联容器(二)序列容器 一、C 标准库中的序列容器模板二、array 容器模板三、vector元素模板 一、C 标准库中的序列容器模板 每种容器的实现方法的难易不同,特性不同,适用的应用场景不同 array :元素个数固…

11.4.软件系统分析与设计-算法的分析与设计

算法的分析与设计 涉及到的考点: C语言数据结构(树、链表)–考的不多时间复杂度和空间复杂度的计算排序算法四大经典算法 程序设计语言的基本成分 数据成分:指一种程序设计语言的数据和数据类型。数据分为常量(程序运行时不可改变&#x…

让IP实现https访问的方法

IP SSL证书是主要保护公网ip地址的一种专属信任SSL证书,相比而言IP SSL证书体现的定位很明确。 IP SSL证书是一种数字证书,用于保护网络服务器和网络浏览器之间的通信。它是由受信任的证书颁发机构(CA)颁发的安全套接字层(SSL)证书。证书用于验证服务器…

day 26网络编程—协议

1、协议:通信双方约定的一套标准 2、国际网络通信协议标准: 1.OSI协议: 应用层 发送的数据内容 表示层 数据是否加密 会话层 是否建立会话连接 传输层 数据传输的…

丑数的计算

丑数 就是只包含质因数 2、3 和 5 的正整数。 给你一个整数 n ,请你判断 n 是否为 丑数 。如果是,返回 true ;否则,返回 false 。 示例 1: 输入:n 6 输出:true 解释:6 2 3 示…

Linux---DHCP和FTP(原理+实操)

文章目录 DHCP和FTP(原理实操)DHCP使用DHCP(自动分配IP)的好处分配方式租约过程第一次重新登录更新租约DHCP服务可分配的地址信息主要包括 DHCP安装和配置实验目的实验环境:网络环境:系统环境:具体操作实操注意一、将三台虚拟机网…

数据结构——排序(4):归并排序+计数排序

目录 一、归并排序 (1)思想 (2)过程图示 (3)代码实现 (4) 代码解释 (5)复杂度 二、非比较排序(计数排序) (1)操作步骤 &#x…

《新一代数据可视化分析工具应用指南》正式开放下载

2024年8月12日,由DataEase开源项目组编写的《新一代数据可视化分析工具应用指南》白皮书正式面向广大用户开放下载。 《新一代数据可视化分析工具应用指南》是DataEase开源项目组为了支持企业落地并推广BI工具、推进企业数据可视化建设而编著的指导手册。通过本白皮…

【生成式人工智能-十二-影像生成原理】

文字生成影像的原理 影像生成的应用影像 是怎么生成的图片生成图片:影像生成影像文字生成图片按照文字AT的方式生成NAT 文字生成视频 怎么评价影像生成的好坏引入CLIP模型文字生成图片的难点文字生成视频的难点解决办法减少attention数目分迭代生成 前段时间sora生成…

前端字体没有授权,字体版权检测(是否为方正字体)

1.截图系统中的首页和登录页面,主要是有字体的地方 2.在线字体版权检测地址:字体版权自动检测-求字体网 3.上传照片,开始对图片进行检测,每个账号有三次免费次数 4.检测完,直接查看检测报告即可, 报告中…

[Spring] Spring事务与事务的传播

🌸个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 🏵️热门专栏: 🧊 Java基本语法(97平均质量分)https://blog.csdn.net/2301_80050796/category_12615970.html?spm1001.2014.3001.5482 🍕 Collection与…

借助 Aspose.Words,在 Word 文档中创建表格

Word 文档中的表格是一种强大的工具,可用于以清晰、结构化的格式组织和呈现数据。表格由行和列组成,行和列相交形成可包含文本、数字、图像或其他元素的单元格。在本文中,我们将学习如何使用 C# 以编程方式在 Word 文档中创建表格。本文通过代…

虚幻5|高级运动实现基础的翻滚Roll 基础篇

一,调整项目设置——输入 1.我设置了翻滚是同时按W+Shift按键,如果你有更好的按键安排,评论区留言 二,打开角色蓝图,打开图表—基础移动(你的放图表就行了,我这里是安排了很多排版的…

LDRA Testbed(TBrun)软件单元测试_实例讲解(局部静态变量)

系列文章目录 LDRA Testbed软件静态分析_操作指南 LDRA Testbed软件静态分析_自动提取静态分析数据生成文档 LDRA Testbed软件静态分析_Jenkins持续集成(自动静态分析并用邮件自动发送分析结果) LDRA Testbed软件静态分析_软件质量度量 LDRA Testbed软件…

使用Hugging Face构建大型语言模型应用

在本文中,我们将介绍如何使用Hugging Face的大型语言模型(LLM)构建一些常见的应用,包括摘要(Summarization)、情感分析(Sentiment analysis)、翻译(Translation&#xff…