机器学习之数学基础(七)~过拟合(over-fitting)和欠拟合(under-fitting)

news2024/10/6 8:32:16

目录

1. 过拟合与欠拟合

1.1 Preliminary concept

1.2 过拟合 over-fitting

1.3 欠拟合 under-fitting

1.4 案例解析:黑天鹅


1. 过拟合与欠拟合

1.1 Preliminary concept

误差

  • 经验误差:模型对训练集数据的误差。
  • 泛化误差:模型对测试集数据的误差。 

模型泛化能力

模型对训练集以外的预测能力称为模型的泛化能力,追求这种泛化能力是机器学习的目标。

1.2 过拟合 over-fitting

过拟合over-fitting: 是指模型在训练数据上表现非常好,但在测试数据或实际表现中表现较差。

原因:过拟合通常(对,就是还有少数情况是数据不足学错了)在模型过于复杂、学习的太多了-》将个体特征/局部特征作为整体特征的情况下出现。此时模型学习能力太强,以致于将训练集单个样本自身的特点都能捕捉到,并将其认为是“一般规律”,同样这种情况也会导致模型泛化能力下降

  • 模型复杂度高(使用了过多的参数)
  • 训练数据不足,导致模型学到数据中的噪声noise。
  • 训练数据中的局部特征对模型产生了过大影响。

图像:过拟合表现为输出结果的高方差

解决方法增加training dataset;简化模型

  •  增加数据:获取更多的训练数据,有助于模型学习到更一般化的模式。
  • 正则化:通过L1或L2正则化减少模型复杂度。
  • 简化模型:减少模型的参数或使用更简单的模型。
  • 交叉验证:使用交叉验证方法选择最合适的模型超参数。
  • early stop:在training过程中监控验证集误差,当误差开始增加时停止!

1.3 欠拟合 under-fitting

欠拟合under-fitting: 是指模型在训练集和测试集上都表现不佳。

原因:欠拟合通常因为模型过于简单、学习能力太弱!-》无法捕捉到数据的复杂性 此时由于模型学习能力不足,无法学习到数据集中的“一般规律”,因而导致模型泛化能力弱

  • 模型复杂度太低 ~学不进去
  • 特征不充分或特征选择不当。
  • 训练时间不足,模型未能充分学习。

图像:欠拟合主要表现为输出结果的高偏差

解决方法复杂化模型,增强学习能力

  • 增加模型复杂度:使用更复杂的模型(如增加神经网络层数或节点数)。
  • 特征工程:生成更多有用的特征或使用特征选择技术选择更重要的特征。
  • 增加训练时间:延长训练时间,使模型有足够的时间学习数据模式。
  • 调整超参数:优化模型的超参数设置,使其更好地拟合数据。 

1.4 案例解析:黑天鹅

案例1: 现在有一组天鹅的特征数据,然后对模型进行训练。模型通过学习后得知:有翅膀、嘴巴长的就是天鹅。然后,该模型对新数据进行预测。

结果:该模型将所有符合这两个特征的动物都预测为天鹅,比如鹦鹉、山鸡等,这就导致了误差的产生。

=》这就是过拟合情况,没学到。模型学习到的天鹅特征太少了,导致区分标准过于粗糙,从而导致模型不能准确地识别出天鹅。

案例2: 有了案例1的经验之后,我们又增加了一些用于训练的特征,然后对模型进行训练。模型这次学到的内容是:有翅膀、嘴巴长、脖子形状像2的就是天鹅。然后,该模型对新数据进行预测。

结果:当该模型再遇到鹦鹉、山鸡等会被案例1误判的动物时,案例2模型能正确区分它们。

=》这就是拟合状态。模型正确的学习到了足够的天鹅特征。

案例3: 这时模型学嗨了,不肯停止,一直持续学习,学到了很多内容:有翅膀、嘴巴长、脖子形状像2、白色等特征的就是天鹅。然后,该模型再对新数据进行预测。

结果:这时飞过来的黑天鹅被误判为不是天鹅,因为黑色从来没有出现过,这使得模型把颜色这种局部特征过度学习成了全局特征,从而产生了识别误差。

=》这就是过拟合,过犹不及,学多了。 模型学到的特征太过于依赖或太符合训练数据了。

 参考:

https://www.cnblogs.com/taoziTTW/p/15213790.html

机器学习之欠拟合、过拟合详解(附实例和对应解决办法)_过拟合 demo-CSDN博客

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

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

相关文章

基于SpringBoot的“智慧食堂”管理系统设计与实现

你好呀,我是计算机学姐码农小野!如果有相关需求,可以私信联系我。 开发语言:Java 数据库:MySQL 技术:SpringBootVue 工具:IDEA/Eclipse、Navicat、Maven 系统展示 首页 用户管理界面 菜品…

超炫酷, 不用学前端也能自己做网页!这个Python库,3分钟内复刻GPT WEB应用

大家好,我是海鸽。 今天,我要和大家分享如何将请求 GPT 的案例,快速“复刻”成 GPT 网页版。这不仅简单,而且对于我们这些后端开发者来说,简直是福音! 先睹为快 看看这个界面,是不是感觉很熟…

更适合敏感口腔的护理牙刷

最近在用一款清九野小红盾舒敏牙刷,感觉它很适合牙龈敏感的人,让刷牙体验有了显著的提升。这款牙刷的柔软刷毛和精细设计让我的刷牙过程变得轻松愉快。它的内外圈双重植毛技术,在清洁牙齿的同时,还能深入牙缝,温和地去…

js实现数据加密,jwt加密方式

一个简单的数据加密 const crypto require("crypto");// 普通的数据加密 function sign(msg,key){ // 原始信息,密钥 String// "sha256" :加密的算法,key :密钥,msg :要加密的信息,"hex" :转成16…

攻击者开始使用 XLL 文件进行攻击

近期,研究人员发现使用恶意 Microsoft Excel 加载项(XLL)文件发起攻击的行动有所增加,这项技术的 MITRE ATT&CK 技术项编号为 T1137.006。 这些加载项都是为了使用户能够利用高性能函数,为 Excel 工作表提供 API …

【Mac】XnViewMP for Mac(图片浏览查看器)及同类型软件介绍

软件介绍 XnViewMP 是一款多功能、跨平台的图像查看和管理软件,适用于 macOS、Windows 和 Linux 系统。它是经典 XnView 软件的增强版本,更加现代化且功能更强大。XnViewMP 支持数百种图像格式,并提供多种图像处理工具,使其成为摄…

基于Java微信小程序自驾游拼团设计和实现(源码+LW+调试文档+讲解等)

💗博主介绍:✌全网粉丝10W,CSDN作者、博客专家、全栈领域优质创作者,博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌💗 🌟文末获取源码数据库🌟感兴趣的可以先收藏起来,还…

全省高等职业学校大数据技术专业建设暨专业质量监测研讨活动顺利开展

6月21日,省教育评估院在四川邮电职业技术学院组织开展全省高等职业学校大数据技术专业建设暨专业质量监测研讨活动。省教育评估院副院长赖长春,四川邮电职业技术学院党委副书记、校长冯远洪,四川邮电职业技术学院党委委员、副校长程德杰等出席…

集群分布式储存

硬件: 存储柜 软件 : software define storage 分布式存储 是一种独特的系统架构由一组能够通过网络连通,为了完成共同任务而协调任务的计算机节点组成分布式是为了使用廉价的普通的计算机完成复杂的计算和存储任务目的就是利用更多的机…

Sam Altman:从少儿奇才到OpenAI掌舵人

自2022年底发布了ChatGPT以来,OpenAI及其首席执行官Sam Altman迅速成为科技界的焦点人物。Altman的崛起并非偶然,而是长期以来不断追求权力和创新的结果。本文将回顾Altman的成长历程,探索他如何一步步走向OpenAI的顶峰。 童年与教育背景 S…

JavaWeb系列十九: jQuery的DOM操作 上

查找节点, 修改属性 查找属性节点: 查找到所需要的元素之后, 可以调用jQuery对象的attr()方法用来 设置/返回 它的各种属性值 设置属性值 $(“img”).attr(“width”, “300”);返回属性值 $(“img”).attr(“width”); 创建节点 创建节点: 使用jQuery的工厂函数$(): $(html标…

WPS复制后转置粘贴

1. WPS复制后转置粘贴 复制-》右键-》顶部第一行-》粘贴行列转置,如下图: 2. Excel office365 本地版 2. Excel office365 在线版

Linux下执行C++程序

编译 一步到位的编译: g cpp文件 # 此时默认生成一个a.out的可执行程序 g cpp文件 -o 可执行程序名称 # 此时可以自定义可执行程序的名称 分步编译: # 1.预处理(Pre_processing) # 功能:将源程序头文件展开、删除注释、宏替换 g -E cpp文件…

Redis 7.x 系列【6】数据类型之字符串(String)

有道无术,术尚可求,有术无道,止于术。 本系列Redis 版本 7.2.5 源码地址:https://gitee.com/pearl-organization/study-redis-demo 文章目录 1. 前言2. 常用命令2.1 SET2.2 GET2.3 MSET2.4 MGET2.5 GETSET2.6 STRLEN2.7 SETEX2.8…

0625_ARM2

练习: 汇编实现1-100累加,结果保存在r0 .text .global _start start:mov r0,#0mov r1,#1b loop loop:add r0,r0,r1add r1,r1,#1cmp r1,#101bne loop .end思维导图:

EPLAN页属性批量修改

在使用EPLAN软件时,项目数据量大的时候,需要修改页属性,每一页单独修改会很繁琐,这里介绍如何批量修改页属性: 在EPLAN里点击“工具----从外部编辑属性------导出数据” 这里按图示可定义保存位置,和输出方…

感谢5年前的自己

感谢CSDN提醒,惊讶发现在CSDN上写作已经5年了,感叹时光如梭,感谢CSDN提供了这个技术交流分享平台,让我可以在这个平台上搜索到许多疑难问题的解决方案,也让自己在分享中不断加深问题解决方法的理解 初衷 写作初衷大概…

2024年软考架构设计师终于PASS啦

文章目录 系统架构设计师是什么考试要求考试科目个人心得综合知识上午案例下午论文 系统架构设计师是什么 系统架构设计师,属于计算机技术与软件(高级)专业技术资格。考试合格人员能够根据系统需求规格说明书,结合应用领域和技术…

数据增强 data augmentation(在PyTorch中,data_transforms通常用于数据集处理,并且经常用于数据增强)

数据增强是一种在训练深度学习模型时,通过对输入数据进行变换和修改的方法,以增加训练数据集的大小和多样性,从而提高模型的泛化能力和性能。 PS: PyTorch中,data_transforms具体使用代码可以查看这篇文章: pytor…