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

【AI知识】过拟合、欠拟合和正则化

一句话总结: 过拟合和欠拟合是机器学习中的两个相对的概念,正则化是用于解决过拟合的方法。

1. 欠拟合: 指模型在训练数据上表现不佳,不能充分捕捉数据的潜在规律,导致在训练集和测试集上的误差都很高。欠拟合意味着模型太简单,无法有效地学习数据中的重要特征,导致其预测能力差。

  • 欠拟合的表现: 训练误差较高 / 测试误差较高 / 模型复杂度过低

  • 欠拟合的原因:

    • 模型过于简单,无法捕捉数据中的复杂模式。

    • 模型使用的特征(输入变量)太少,或没有选择合适的特征,导致可能无法捕捉到数据中的重要信息。

    • 训练时间过短,模型还没充分从数据中学习到有用的模式,如迭代次数过少或训练轮次不足。

    • 过度正则化也可能导致欠拟合,正则化是为了防止过拟合,但如果正则化过强,可能会使模型变得过于简单。

    • 如果数据中噪声过大,且模型没有足够的能力来拟合这些噪声的规律时,也可能会表现出欠拟合的现象。

  • 如何解决欠拟合: 增加模型的复杂度 / 增加特征 / 训练时间增加 / 减少正则化强度 / 数据增强

2. 过拟合(Overfitting): 指的是模型在训练数据上表现得非常好,但在新的、未见过的数据(如测试集或验证集)上表现不佳的现象。即模型对训练数据的拟合程度过高,捕捉了数据中的噪声、细节和偶然性,而没有学习到数据的普遍规律,从而失去了对新数据的泛化能力

  • 过拟合的表现: 训练集表现很好,测试集表现差 / 模型的复杂度过高,能够拟合数据的每个小波动和噪声

  • 过拟合的原因:

    • 当模型的参数太多,或者模型的复杂度过高时,它会能够很好地拟合训练集中的所有数据点,包括数据中的噪声和细节。

    • 训练数据量太少,缺乏足够的数据来支持模型的泛化,使得模型无法学习到数据的普遍规律,容易出现过拟合。

    • 训练时间过长,模型可能会开始“记住”训练数据,而不是学习数据的普遍规律,从而出现过拟合。

    • 训练数据中的噪声(如错误的标签、输入的异常值等)可能会导致模型过拟合,模型会尝试拟合噪声,而不是学习有意义的模式。

    • 缺乏正则化,正则化是控制模型复杂度的一种方法,如果没有适当的正则化,模型容易过度拟合训练数据。

  • 如何解决过拟合:

    • 使用简单的模型,减少参数量。

    • 增加训练数据量,更多的数据有助于模型学习到更稳定的模式,而不是记住训练数据中的噪声。

    • 数据增强(Data Augmentation),如果增加数据量不容易实现,可以通过数据增强来生成更多的训练数据。数据增强技术通过对现有数据进行旋转、平移、裁剪、缩放、翻转等操作,来增加数据集的多样性,在图像处理任务中非常常见。

    • 正则化(Regularization),如L1/L2 正则化,Dropout。

    • 交叉验证(Cross-validation),通过将数据集分成多个子集,进行多次训练和验证,模型在不同的验证集上的表现可以帮助评估是否出现过拟合。

    • 早停(Early Stopping),在训练过程中,如果模型在验证集上的性能开始下降,说明模型可能开始过拟合训练数据。早停技术会在模型表现不再提升时停止训练,从而防止过拟合。

    • 集成方法(Ensemble Methods),通过组合多个模型的结果来构建一个更强的模型,常用的方法如随机森林。

    • 降维(Dimensionality Reduction)技术,如主成分分析(PCA)可以通过减少输入数据的维度来降低模型的复杂度,防止模型学习到数据中的噪声。

3. 正则化(Regularization): 是机器学习中用于防止模型过拟合的一种技术,目标是限制模型的复杂性。它通过对模型的参数施加限制或惩罚,避免模型在训练数据上过度“记忆”,而是学到一些更一般化的规律,从而提高模型的泛化能力。通常,正则化方法会在损失函数中增加一个正则化项,使得损失函数不仅考虑模型的预测误差,还考虑模型的复杂度。

常见的正则化方法:

  • L1 正则化(Lasso): 通过在损失函数中增加参数权重的绝对值和来限制模型的复杂度。L1 正则化的损失函数如下,其中, w i w_i wi是模型的参数,λ 是正则化超参数,控制正则化的强度。
    在这里插入图片描述
    作用和特点:

    • 稀疏性(Sparsity): L1 正则化的一个重要特点是它能够产生稀疏模型。即,通过惩罚权重的绝对值,L1 正则化可以将某些权重压缩为零,从而自动进行特征选择。这意味着一些特征会被“丢弃”,使得模型变得更加简单和高效。

    • 特征选择: L1 正则化适用于特征数很多的情况,尤其是当很多特征可能与输出无关时。通过将不相关特征的权重置为零,L1 正则化有效地选择了最重要的特征。

    • 缺点: 对特征之间的共线性不够鲁棒。如果数据中的特征高度相关,L1 正则化通常会选择其中一个特征,而忽略其他相关特征。

  • L2 正则化(Ridge): 通过在损失函数中增加参数权重的平方和来限制模型复杂度。L2 正则化的损失函数如下,其中, w i w_i wi是模型的参数,λ 是正则化超参数,控制正则化的强度。
    在这里插入图片描述
    作用和特点:

    • 权重的平滑: L2 正则化的作用是将权重的绝对值尽可能地减小,但不会完全使其为零。它鼓励模型权重较小且均匀分布,从而防止某些特征对模型的影响过大,避免过拟合。
    • 不产生稀疏解: 与 L1 正则化不同,L2 正则化不会使得某些权重变为零,而是使所有权重都较小,模型的复杂度得到控制。
    • 对特征间共线性鲁棒: 在特征高度相关的情况下,L2 正则化通常会均匀地分配权重,而不是选择其中一个特征。
    • 缺点: 不具备特征选择功能。与 L1 正则化不同,L2 正则化不会将不相关的特征的权重压缩为零,因此无法自动进行特征选择。
  • Dropout: 是一种常用的神经网络正则化方法。它通过在训练过程中随机“丢弃”一部分神经元(即将其输出设置为零)来防止神经网络过拟合。
    Dropout 使得神经网络在每次训练时都使用不同的子网络进行训练,从而防止网络对特定神经元的依赖,增强了模型的泛化能力。

  • 早停(Early Stopping): 在训练过程中监控验证集的误差,当验证集误差停止改善时,提前停止训练。这可以防止模型在训练数据上训练过长时间,从而避免过拟合。

  • 数据增强(Data Augmentation): 主要用于图像、文本等领域。通过对训练数据进行一系列变换(如旋转、缩放、裁剪、翻转等),生成新的数据样本,从而增加训练集的多样性,降低模型对训练数据的过度依赖,从而防止过拟合。

相关文章:

【AI知识】过拟合、欠拟合和正则化

一句话总结: 过拟合和欠拟合是机器学习中的两个相对的概念,正则化是用于解决过拟合的方法。 1. 欠拟合: 指模型在训练数据上表现不佳,不能充分捕捉数据的潜在规律,导致在训练集和测试集上的误差都很高。欠拟合意味着模…...

计算机毕设-基于springboot的航空散货调度系统的设计与实现(附源码+lw+ppt+开题报告)

博主介绍:✌多个项目实战经验、多个大型网购商城开发经验、在某机构指导学员上千名、专注于本行业领域✌ 技术范围:Java实战项目、Python实战项目、微信小程序/安卓实战项目、爬虫大数据实战项目、Nodejs实战项目、PHP实战项目、.NET实战项目、Golang实战…...

视图、转发与重定向、静态资源处理

目录 视图 默认视图 视图机制原理 自定义视图 请求转发与重定向 静态资源处理 视图 每个视图解析器都实现了 Ordered 接口并开放出一个 order 属性 可以通过 order 属性指定解析器的优先顺序,order 越小优先级越高 默认是最低优先级,Integer.MAX_…...

优选算法——分治(快排)

1. 颜色分类 题目链接:75. 颜色分类 - 力扣(LeetCode) 题目展示: 题目分析:本题其实就要将数组最终分成3块儿,这也是后面快排的优化思路,具体大家来看下图。 这里我们上来先定义了3个指针&…...

【Linux系统】文件系统

Windows 和 Linux 的文件系统: windows:NTFS —> NTFS:磁盘大于目录:目录是磁盘的一部分。ubuntu :EXT4 —> EXT4: 目录大于磁盘:磁盘是目录的一部分。 Windows文件系统的特点 基于分区的文件系统: Windows…...

javaweb的基础

文章的简介: 页面的展示(HTML)页面的修改、绑定、弹窗(js的dom、bom等)页面的请求(Ajax) 1、在HTML中用标签和css样式实现了浏览器页面。 2、用JS实现页面内容(图片,复选框、文本颜色内容)的修改和弹框&…...

家里养几条金鱼比较好?

金鱼,作为备受喜爱的家庭水族宠物,其饲养数量一直是众多养鱼爱好者关注的焦点。究竟养几条金鱼最为适宜,实则需要综合考量多方面因素,方能达到美观、健康与和谐的理想养鱼境界。 从风水文化的视角来看,金鱼数量有着诸…...

写作词汇积累:差池、一体两面、切实可行极简理解

差池 【差池】可以是名词,是指意外的事或错误。 【差池】也可以是形容词,是指参差不齐、差劲或不行。 1. 由于操作不当,导致这次实验出现了【差池】,我们需要重新分析原因并调整方案。(名词,表示意外的事…...

移远EC200A-CN的OPENCPU使用GO开发嵌入式程序TBOX

演示地址: http://134.175.123.194:8811 admin admin 演示视频: https://www.bilibili.com/video/BV196q2YQEDP 主要功能 WatchDog 1. 守护进程 2. OTA远程升级 TBOX 1. 数据采集、数据可视化、数据上报(内置Modbus TCP/RTU/ASCII,GPS协…...

LEED绿色建筑认证最新消息

关于LEED绿色建筑认证的最新消息,可以从以下几个方面进行概述: 一、认证体系更新与发展 LEED认证体系不断更新和完善,以更好地适应全球绿色建筑的发展趋势。例如,LEED v4能源更新已通过投票,并于2024年3月1日全面启用…...

SpringBoot中集成常见邮箱中容易出现的问题

本来也没打算想写得。不过也是遇到一些坑&#xff0c;就记录一下吧&#xff0c;也折腾了小半天 1.maven配置 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId></dependency>2…...

webstorm开发uniapp(从安装到项目运行)

1、下载uniapp插件 下载连接&#xff1a;Uniapp Tool - IntelliJ IDEs Plugin | Marketplace &#xff08;结合自己的webstorm版本下载&#xff0c;不然解析不了&#xff09; 将下载到的zip文件防在webstorm安装路径下&#xff0c;本文的地址为&#xff1a; 2、安装uniapp插…...

C# 探险之旅:第七节 - 条件判断(三元判断符):? : 的奇妙冒险

嘿&#xff0c;勇敢的探险家们&#xff01;欢迎来到 C# 编程世界的奇妙之旅的第七节。今天&#xff0c;我们要探索的是一个神秘而强大的宝藏——三元判断符 ? :。别怕&#xff0c;它听起来复杂&#xff0c;但实际上比找宝藏还简单&#xff01; 场景设定&#xff1a;宝藏的选择…...

FlinkCDC实战:将 MySQL 数据同步至 ES

&#x1f4cc; 当前需要处理的业务场景: 将订单表和相关联的表(比如: 商品表、子订单表、物流信息表)组织成宽表, 放入到 ES 中, 加速订单数据的查询. 同步数据到 es. 概述 1. 什么是 CDC 2. 什么是 Flink CDC 3. Flink CDC Connectors 和 Flink 的版本映射 实战 1. 宽表查…...

debug小记

红框&#xff1a; 步过&#xff1a;遇到方法不想进入方法 绿框&#xff1a;代码跑在第几行也可以看见 蓝框&#xff1a;可以显示变量的值&#xff0c;三种方式都可以看变量的值...

Qt C++ 显示多级结构体,包括结构体名、变量名和值

文章目录 mainwindow.hmainwindow.cppstructures.hmain.cpp QTreeView 和 QStandardItemModel 来实现。以下是实现这一功能的步骤和示例代码&#xff1a; 定义多级结构体&#xff1a; 假设你有一个多级结构体&#xff0c;如下所示&#xff1a; struct SubStruct {int subValue…...

【JAVA】旅游行业中大数据的使用

一、应用场景 数据采集与整合&#xff1a;全面收集旅游数据&#xff0c;如客流量、游客满意度等&#xff0c;整合形成统一数据集&#xff0c;为后续分析提供便利。 舆情监测与分析&#xff1a;实时监测旅游目的地的舆情信息&#xff0c;运用NLP算法进行智能处理&#xff0c;及…...

【AI+网络/仿真数据集】1分钟搭建云原生端到端5G网络

导语&#xff1a; 近期智慧网络开放创新平台上线了端到端网络仿真能力&#xff0c;区别于传统的网络仿真工具需要复杂的领域知识可界面操作&#xff0c;该平台的网络仿真能力主打一个小白友好和功能专业。 https://jiutian.10086.cn/open/​jiutian.10086.cn/open/ 端到端仿…...

微服务-01【续】

1.OpenFeign 上篇文章我们利用Nacos实现了服务的治理&#xff0c;利用利用RestTemplate实现了服务的远程调用。但是远程调用的代码太复杂了&#xff1a; 而且这种调用方式&#xff0c;与原本的本地方法调用差异太大&#xff0c;编程时的体验也不统一&#xff0c;一会儿远程调用…...

测试工程师八股文01|Linux系统操作

一、Linux系统操作 1、gzip tar和gzip结合使用 $ tar czf b.tar.gz *txt 以gzip方式打包并且压缩 $ tar xzf b.tar.gz -C btar 以gzip方式解压并解包&#xff0c;如果 btar 目录不存在&#xff0c;则需要先手动创建该目录。 代码第二行&#xff1a;如果没有指定 -C …...

C++实现分布式网络通信框架RPC(3)--rpc调用端

目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中&#xff0c;我们已经大致实现了rpc服务端的各项功能代…...

centos 7 部署awstats 网站访问检测

一、基础环境准备&#xff08;两种安装方式都要做&#xff09; bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats&#xff0…...

Linux简单的操作

ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...

电脑插入多块移动硬盘后经常出现卡顿和蓝屏

当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时&#xff0c;可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案&#xff1a; 1. 检查电源供电问题 问题原因&#xff1a;多块移动硬盘同时运行可能导致USB接口供电不足&#x…...

2025盘古石杯决赛【手机取证】

前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来&#xff0c;实在找不到&#xff0c;希望有大佬教一下我。 还有就会议时间&#xff0c;我感觉不是图片时间&#xff0c;因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...

【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)

骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术&#xff0c;它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton)&#xff1a;由层级结构的骨头组成&#xff0c;类似于人体骨骼蒙皮 (Mesh Skinning)&#xff1a;将模型网格顶点绑定到骨骼上&#xff0c;使骨骼移动…...

【论文阅读28】-CNN-BiLSTM-Attention-(2024)

本文把滑坡位移序列拆开、筛优质因子&#xff0c;再用 CNN-BiLSTM-Attention 来动态预测每个子序列&#xff0c;最后重构出总位移&#xff0c;预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵&#xff08;S…...

什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南

文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/55aefaea8a9f477e86d065227851fe3d.pn…...

使用Matplotlib创建炫酷的3D散点图:数据可视化的新维度

文章目录 基础实现代码代码解析进阶技巧1. 自定义点的大小和颜色2. 添加图例和样式美化3. 真实数据应用示例实用技巧与注意事项完整示例(带样式)应用场景在数据科学和可视化领域,三维图形能为我们提供更丰富的数据洞察。本文将手把手教你如何使用Python的Matplotlib库创建引…...

LLMs 系列实操科普(1)

写在前面&#xff1a; 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容&#xff0c;原视频时长 ~130 分钟&#xff0c;以实操演示主流的一些 LLMs 的使用&#xff0c;由于涉及到实操&#xff0c;实际上并不适合以文字整理&#xff0c;但还是决定尽量整理一份笔…...