当前位置: 首页 > 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 …...

使用VSCode开发Django指南

使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架&#xff0c;专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用&#xff0c;其中包含三个使用通用基本模板的页面。在此…...

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...

《Playwright:微软的自动化测试工具详解》

Playwright 简介:声明内容来自网络&#xff0c;将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具&#xff0c;支持 Chrome、Firefox、Safari 等主流浏览器&#xff0c;提供多语言 API&#xff08;Python、JavaScript、Java、.NET&#xff09;。它的特点包括&a…...

FastAPI 教程:从入门到实践

FastAPI 是一个现代、快速&#xff08;高性能&#xff09;的 Web 框架&#xff0c;用于构建 API&#xff0c;支持 Python 3.6。它基于标准 Python 类型提示&#xff0c;易于学习且功能强大。以下是一个完整的 FastAPI 入门教程&#xff0c;涵盖从环境搭建到创建并运行一个简单的…...

【决胜公务员考试】求职OMG——见面课测验1

2025最新版&#xff01;&#xff01;&#xff01;6.8截至答题&#xff0c;大家注意呀&#xff01; 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:&#xff08; B &#xff09; A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...

3403. 从盒子中找出字典序最大的字符串 I

3403. 从盒子中找出字典序最大的字符串 I 题目链接&#xff1a;3403. 从盒子中找出字典序最大的字符串 I 代码如下&#xff1a; class Solution { public:string answerString(string word, int numFriends) {if (numFriends 1) {return word;}string res;for (int i 0;i &…...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用

1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...

[Java恶补day16] 238.除自身以外数组的乘积

给你一个整数数组 nums&#xff0c;返回 数组 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法&#xff0c;且在 O(n) 时间复杂度…...

uniapp手机号一键登录保姆级教程(包含前端和后端)

目录 前置条件创建uniapp项目并关联uniClound云空间开启一键登录模块并开通一键登录服务编写云函数并上传部署获取手机号流程(第一种) 前端直接调用云函数获取手机号&#xff08;第三种&#xff09;后台调用云函数获取手机号 错误码常见问题 前置条件 手机安装有sim卡手机开启…...

Oracle11g安装包

Oracle 11g安装包 适用于windows系统&#xff0c;64位 下载路径 oracle 11g 安装包...