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

ML 系列:机器学习和深度学习的深层次总结(08)—欠拟合、过拟合,正确拟合

ML 系列赛:第 9 天 — Under、Over 和 Good Fit

文章目录

  • 一、说明
  • 二、了解欠拟合、过拟合和实现正确的平衡
  • 三、关于泛化
  • 四、欠拟合
  • 五、过拟合
  • 六、适度拟合
  • 七、结论

一、说明

在有监督学习过程中,对于指定数据集进行训练,训练结果存在欠拟合、过拟合的情况,这两个情况都对模型的泛化是不利的,本篇对监督学习的训练的泛化问题进行解释。

二、了解欠拟合、过拟合和实现正确的平衡

在监督式学习中,数据集由输入和输出组成,监督式学习算法学习如何以最佳方式将输入示例映射到输出示例。这个函数是一个数学函数,也叫映射函数,监督学习算法试图找到最合适的函数,换句话说,监督学习被称为函数的近似。在监督学习问题中,我们假设输入和输出数据之间存在未知函数或关系,监督机器学习算法试图近似这个函数。虽然我们假设存在这样的映射函数,但我们对此一无所知,这就是为什么我们称它为近似值。

将输入映射到输出的 True 函数(实际函数)是未知的,通常称为目标(或目标)函数,学习过程的目标是仅使用可用数据(训练数据)来近似目标函数。如果我们知道目标函数,就不需要近似监督机器学习算法。

在机器学习中,从训练数据中学习目标函数被描述为归纳学习。归纳是指从具体示例中学习一般概念,是机器学习旨在解决的问题。同时,在演绎学习中,我们正在寻找从一般规则中学习特定概念。

三、关于泛化

泛化是一种抽象形式,其中特定实例的共同特征被表述为一般概念。机器学习中的泛化是指将模型在学习过程中学到的概念转移到学习过程中没有见过的例子中,机器学习模型的目标是将从训练过程中学到的知识泛化到模型从未见过的数据中。泛化在许多情况下与知识的传递直接相关,要传递的知识通常被称为抽象。

图 1 显示了泛化的一般概念。
在这里插入图片描述

图 1.泛化的一般形式
图 1 意味着我们希望算法对单个树不敏感,而是学习上图所示的树的抽象概念。

四、欠拟合

欠拟合是指我们的模型非常简单且几乎没有复杂性,可以近似一个可以在数据上训练并产生合适结果的函数。换句话说,我们关于数据分布的假设是错误的,而且过于简单化。例如,我们的数据需要 4 次多项式函数,但我们选择的模型是 1 次的函数。这种情况也称为高偏置。这意味着我们的数据太难了,模型无法正确预测,即使是在训练期间已经看到的样本上也是如此。

欠拟合是一个在训练和测试过程中都表现不佳的模型,并且它不能很好地泛化到新数据上。可能的解决方案包括:

• 选择功能更强大的模型,具有更多参数

• 为学习算法选择更好的特征(特征工程)

• 减少模型限制 (例如,减少 “正则化” 约束)

五、过拟合

过拟合也称为模型对于我们打算训练模型的数据来说过于复杂的情况。换句话说,我们关于数据分布的假设是错误的,而且非常复杂。例如,我们的数据是线性的,而我们选择的模型是高阶多项式。这种情况也称为高方差,这意味着算法无法做出准确的预测。

当模型不仅在训练数据上表现良好,而且在很大程度上学习了训练数据中的细节和噪声(对训练数据过度泛化),但模型在测试数据(模型看不到的数据)上的泛化性能非常弱时,就会发生过拟合。

换句话说,训练数据中的噪声或随机波动被模型选择并作为概念学习,问题是这些概念损害了模型的泛化能力。

当模型与数据的复杂度之比非常高时,就会发生过拟合,在可能的解决方案中可以提到以下内容:

• 简化模型并选择参数较少的模型 (例如,线性模型而不是高阶多项式)。

• 减少训练数据中的特征数量

• 限制模型并向模型添加限制,例如“正则化”技术

• 收集更多训练数据

• 减少训练数据中的噪声(例如,消除数据错误和去除异常值)

六、适度拟合

理想情况下,我们希望在过拟合和欠拟合之间的合适点选择一个模型,并且当训练数据和测试数据的误差最小时,调用适当的模型。

为了获得正确的观点,您可以同时查看模型在训练和测试数据上的加班性能。随着时间的推移,随着算法学会减少训练数据上的模型误差,测试数据集上的误差也会减少。如果我们长时间训练模型,模型在训练数据集上的性能可能会继续下降(因为模型过度拟合训练数据,训练数据集中不相关的细节和噪声学习),同时,随着模型的泛化能力下降,测试集误差再次开始增加。最佳点是在测试数据集上的误差开始增长之前,此时模型在训练数据集和测试数据集上都具有良好的技能。图 2 显示了根据误差图的过拟合、欠拟合和良好拟合的概念,其中横轴是指模型的复杂程度,纵轴是指误差量。此外,黄线表示测试数据中的错误,蓝线表示模型在训练过程中的错误。
在这里插入图片描述

图 2.根据误差图进行过拟合、欠拟合和正确拟合
图 3 显示了训练后过拟合、欠拟合和正确拟合的概念,以及如何预测模型。

在这里插入图片描述

图 3.训练后的过拟合、欠拟合和良好拟合以及如何预测模型

七、结论

在第 9 部分中,我们讨论了与模式泛化相关的三个重要概念 Underfit、Overfit 和 Good-fit;。在第 10 部分:机器学习系列:第 10 天 — 偏差方差权衡中,我们将定义并讨论偏差-方差权衡,它描述了模型的复杂性、预测的准确性以及它对以前未用于训练模型的数据进行预测的能力之间的关系。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • QT中添加资源文件(一看就会)
  • 开源实时多模态AI聊天机器人Moshi,语音对话延迟低至200毫秒!
  • MySQL面试题——第一篇
  • 信息学奥赛:青少年编程的高光舞台,通向未来科技的敲门砖
  • text2sql(NL2Sql)综述《The Dawn of Natural Language to SQL: Are We Fully Ready?》
  • 【游戏引擎】C++自制游戏引擎 Lunar Game Engine
  • spring与springmvc整合
  • Stable Diffusion 使用详解(13)--- 3D纹理增强
  • 【Qt笔记】QTabWidget控件详解
  • 【我的 PWN 学习手札】House of Botcake —— tcache key 绕过
  • 量化交易----数据透视表----融资融券优惠代码
  • 前端三大框架 Vue、React 和 Angular 的市场占比分析
  • 【AI】简单了解AIGC与ChatGPT
  • Rocky Linux 9 中添加或删除某个网卡的静态路由的方法
  • Vue使用Vue Router路由:通过URL传递与获取参数
  • [Vue CLI 3] 配置解析之 css.extract
  • [分享]iOS开发 - 实现UITableView Plain SectionView和table不停留一起滑动
  • [原]深入对比数据科学工具箱:Python和R 非结构化数据的结构化
  • 《微软的软件测试之道》成书始末、出版宣告、补充致谢名单及相关信息
  • C++回声服务器_9-epoll边缘触发模式版本服务器
  • Docker: 容器互访的三种方式
  • eclipse的离线汉化
  • Git同步原始仓库到Fork仓库中
  • HTTP中的ETag在移动客户端的应用
  • Idea+maven+scala构建包并在spark on yarn 运行
  • Mac转Windows的拯救指南
  • React-生命周期杂记
  • unity如何实现一个固定宽度的orthagraphic相机
  • Vue.js源码(2):初探List Rendering
  • vue2.0一起在懵逼的海洋里越陷越深(四)
  • 京东美团研发面经
  • 正则表达式小结
  • HanLP分词命名实体提取详解
  • ​LeetCode解法汇总307. 区域和检索 - 数组可修改
  • ​补​充​经​纬​恒​润​一​面​
  • ​一文看懂数据清洗:缺失值、异常值和重复值的处理
  • #!/usr/bin/python与#!/usr/bin/env python的区别
  • (003)SlickEdit Unity的补全
  • (04)Hive的相关概念——order by 、sort by、distribute by 、cluster by
  • (Java)【深基9.例1】选举学生会
  • (javascript)再说document.body.scrollTop的使用问题
  • (LNMP) How To Install Linux, nginx, MySQL, PHP
  • (层次遍历)104. 二叉树的最大深度
  • (二)学习JVM —— 垃圾回收机制
  • (解决办法)ASP.NET导出Excel,打开时提示“您尝试打开文件'XXX.xls'的格式与文件扩展名指定文件不一致
  • (切换多语言)vantUI+vue-i18n进行国际化配置及新增没有的语言包
  • (一)Spring Cloud 直击微服务作用、架构应用、hystrix降级
  • (一)模式识别——基于SVM的道路分割实验(附资源)
  • (译) 理解 Elixir 中的宏 Macro, 第四部分:深入化
  • ****** 二十三 ******、软设笔记【数据库】-数据操作-常用关系操作、关系运算
  • .NET Core中Emit的使用
  • .NET 程序如何获取图片的宽高(框架自带多种方法的不同性能)
  • .NET平台开源项目速览(15)文档数据库RavenDB-介绍与初体验
  • @angular/cli项目构建--http(2)
  • @Transactional 参数详解