当前位置: 首页 > 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 天 — 偏差方差权衡中,我们将定义并讨论偏差-方差权衡,它描述了模型的复杂性、预测的准确性以及它对以前未用于训练模型的数据进行预测的能力之间的关系。

相关文章:

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

ML 系列赛:第 9 天 — Under、Over 和 Good Fit 文章目录 一、说明二、了解欠拟合、过拟合和实现正确的平衡三、关于泛化四、欠拟合五、过拟合六、适度拟合七、结论 一、说明 在有监督学习过程中,对于指定数据集进行训练,训练结果存在欠拟合…...

Unity-物理系统-刚体加力

一 刚体自带添加力的方法 给刚体加力的目标就是 让其有一个速度 朝向某一个方向移动 1.首先应该获取刚体组件 rigidBody this.GetComponent<Rigidbody>(); 2.添加力 //相对世界坐标 //世界坐标系 Z轴正方向加了一个里 //加力过后 对象是否停止…...

深入探究PR:那些被忽视却超实用的视频剪辑工具

如果想要了解视频剪辑的工具&#xff0c;那一定听说过pr视频剪辑吧。如果你是新手其实我更推荐你从简单的视频剪辑工具入手&#xff0c;这次我就介绍一些简单好操作的视频剪辑工具来入门吧。 1.福晰视频剪辑 连接直达>>https://www.pdf365.cn/foxit-clip/ 这款工具操…...

Unity-麦克风输入相关

private AudioClip clip; 知识点一 获取设备麦克风信息 string[] strs Microphone.devices; for (int i 0; i < strs.Length; i) { print(strs[i]); } 知识点二 开始录制 参数一&#xff1a;设备名 传空使用默认设备 参数二&#xff1a;超过录…...

NLP--自然语言处理学习-day1

一.初步认识NLP 自然语言处理&#xff08;Natural Language Processing, NLP&#xff09;是计算机科学和人工智能&#xff08;AI&#xff09;的一个交叉领域&#xff0c;旨在使计算机能够理解、分析、生成和处理人类语言的能力。它结合了计算语言学、人工智能、机器学习和语言…...

ER论文阅读-Incomplete Multimodality-Diffused Emotion Recognition

基本介绍&#xff1a;NeurIPS, 2024, CCF-A 原文链接&#xff1a;https://proceedings.neurips.cc/paper_files/paper/2023/file/372cb7805eaccb2b7eed641271a30eec-Paper-Conference.pdf Abstract 人类多模态情感识别&#xff08;MER&#xff09;旨在通过多种异质模态&#x…...

Matlab自学笔记36:日期时间型的概念、分类和创建方法

1.概念 日期时间型&#xff08;Dates and Time&#xff09;数据具有灵活的显示格式和高达毫微秒的精度&#xff0c;并且可以处理时区、夏令时和平闰年等特殊因素 2.日期时间型数据有以下三种表示方式 &#xff08;1&#xff09;Datetime型&#xff0c;表示日期时间点&#x…...

Spring Boot自定义配置项

Spring Boot自定义配置项 配置文件 在application.properties文件添加需要的配置 比如&#xff1a; file.pathD:\\flies\\springboot\\ConfigurationProperties 注解 使用注解ConfigurationProperties将配置项和实体Bean关联起来&#xff0c;实现配置项和实体类字段的关联&…...

【C++篇】C++类与对象深度解析(六):全面剖析拷贝省略、RVO、NRVO优化策略

文章目录 C类与对象前言读者须知RVO 与 NRVO 的启用条件如何确认优化是否启用&#xff1f; 1. 按值传递与拷贝省略1.1 按值传递的概念1.2 示例代码1.3 按值传递的性能影响1.3.1 完全不优化 1.4 不同编译器下的优化表现1.4.1 Visual Studio 2019普通优化1.4.2 Visual Studio 202…...

什么时候用synchronized,什么时候用Reentrantlock

文章目录 使用 synchronized 的场景使用 ReentrantLock 的场景综合考虑 使用 synchronized 的场景 synchronized 是 Java 内置的同步机制&#xff0c;使用起来比较简单且常用于如下场景&#xff1a; 1、简单的同步逻辑&#xff1a;当你的同步逻辑非常简单&#xff0c;比如只需…...

[ffmpeg]音频格式转换

本文主要梳理 ffmpeg 中的音频格式转换。由于采集的音频数据和编码器支持的音频格式可能不一样&#xff0c;所以经常需要进行格式转换。 API 调用 常用 API struct SwrContext *swr_alloc(void); int swr_init(struct SwrContext *s); struct SwrContext *swr_alloc_set_opt…...

SSRF工具类-SsrfTool

为了帮助开发人员和安全研究人员检测和修复SSRF(Server-Side Request Forgery)漏洞,存在 多种工具。这里我将给出一个简单的工具类示例,这个工具类可以用来检查一个给定的URL是否可 能引发SSRF攻击。请注意,这个工具类主要用于教育目的,并不意味着它可以完全防止所有的…...

python集合运算介绍及示例代码

Python 中的集合&#xff08;set&#xff09;是一种数据类型&#xff0c;用于存储唯一元素的无序集合。集合支持多种运算&#xff0c;如并集、交集、差集和对称差集&#xff0c;方便执行数学上的集合操作。 1. 创建集合 可以使用大括号 {} 或者 set() 函数创建集合&#xff1…...

『功能项目』按钮的打开关闭功能【73】

本章项目成果展示 我们打开上一篇72QFrameWork制作背包界面UGUI的项目&#xff0c; 本章要做的事情是制作打开背包与修改器的打开关闭按钮 首先打开UGUICanvas复制button按钮 重命名为ReviseBtn 修改脚本&#xff1a;UIManager.cs 将修改器UI在UGUICanvas预制体中设置为隐藏 运…...

Linux 常用命令 - more 【分页显示文件内容】

简介 more 命令源自英文单词 more, 表示 “更多”&#xff0c;它是一个基于文本的程序&#xff0c;用于查看文本文件的内容。该命令会逐页显示文件内容&#xff0c;允许用户按页浏览大型文本文件。当用户完成当前页的阅读后&#xff0c;可以通过按键&#xff08;空格键或回车键…...

Kotlin Android 环境搭建

Kotlin Android 环境搭建 1. 引言 Kotlin 已成为 Android 开发的官方语言之一,因其简洁、表达性强和易于维护的特点而受到广大开发者的喜爱。在本教程中,我们将详细介绍如何在您的计算机上搭建 Kotlin Android 开发环境。 2. 系统要求 在开始搭建 Kotlin Android 开发环境…...

常见协议及其默认使用的端口号

在网络通信中&#xff0c;端口号用于标识特定的应用程序或服务。IANA&#xff08;Internet Assigned Numbers Authority&#xff09;负责分配和管理这些端口号。端口号分为三个范围&#xff1a; 熟知端口&#xff08;Well-Known Ports&#xff09;&#xff1a;0到1023&#xf…...

04-Docker常用命令

04-Docker常用命令 启动类命令 启动docker systemctl start docker停止docker systemctl stop docker重启docker systemctl restart docker查看docker状态 systemctl status docker开机启动docker systemctl enable docker帮助类命令 查看docker版本 docker version查…...

数字化转型中的供应链管理优化

在当今全球化和数字化的浪潮下&#xff0c;企业供应链管理面临着前所未有的挑战和机遇&#xff0c;企业在数字化转型过程中&#xff0c;如何优化供应链管理成为提升竞争力的关键。通过应用先进技术如RPA机器人流程自动化、大数据分析、物联网等&#xff0c;企业可以显著提高物流…...

【Python报错已解决】SyntaxError: invalid syntax

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 专栏介绍 在软件开发和日常使用中&#xff0c;BUG是不可避免的。本专栏致力于为广大开发者和技术爱好者提供一个关于BUG解决的经…...

树上差分+lca 黑暗的锁链

//** 太久不写了&#xff0c;感觉很难受。。。比赛最近打得也不好&#xff0c;课内任务又重&#xff0c;还要忙着做项目。何去何从。 今天又写了一题&#xff0c;用了树上差分的知识。下面来整理整理。 1.首先让我们学一下lca&#xff08;最小公共父节点&#xff09; 我用的…...

opencv4.5.5 GPU版本编译

一、安装环境 1、opencv4.5.5 下载地址&#xff1a;https://github.com/opencv/opencv/archive/refs/tags/4.5.5.ziphttps://gitee.com/mirrors/opencv/tree/4.5.0 2、opencv-contrib4.5.5 下载地址&#xff1a;https://github.com/opencv/opencv_contrib/archive/refs/tags/4…...

线性跟踪微分器TD详细测试(Simulink 算法框图+SCL完整源代码)

1、ADRC线性跟踪微分器 ADRC线性跟踪微分器(ST+SCL语言)_adrc算法在博途编程中scl语言-CSDN博客文章浏览阅读784次。本文介绍了ADRC线性跟踪微分器的算法和源代码,包括在SMART PLC和H5U平台上的实现。文章提供了ST和SCL语言的详细代码,并讨论了跟踪微分器在自动控制中的作用…...

LabVIEW闪退

LabVIEW闪退或无法启动可能由多个原因引起&#xff0c;特别是在使用了一段时间后突然发生的问题。重启电脑后 LabVIEW 和所有 NI 软件都无法打开&#xff0c;甚至在卸载和重装时也没有反应。这种情况通常与系统环境、软件冲突或 NI 软件组件的损坏有关。 1. 检查系统和软件冲突…...

【WPF】03 动态生成控件

说明 今天记录一篇关于动态生成控件的方法&#xff0c;也是反复查了一些资料&#xff0c;逐步完善成自己需要的方法&#xff0c;感觉还是比较好用的。通过这个需求&#xff0c;在网上也找了一些资料&#xff0c;发现了一个开源图形UI组件HandyControl&#xff0c;觉得比较好&a…...

调试LTE模块碰到的4字节对齐问题

在调试LTE模块&#xff0c;有两个模块&#xff0c;碰到两种4字节对齐问题&#xff0c;其错误提示都是类似如下的内容&#xff1a; DWC_OTG: dwc_otg_hcd_urb_enqueue urb->transfer_buffer address not align to 4-byte 0xee419e8e 都是USB控制器处理的数据时需要4字节对齐…...

一篇讲完HTML核心内容

一、HTML 1、 HTML概念 网页&#xff0c;是网站中的一个页面&#xff0c;通常是网页是构成网站的基本元素&#xff0c;是承载各种网站应用的平台。通俗的说&#xff0c;网站就是由网页组成的。通常我们看到的网页都是以htm或html后缀结尾的文件&#xff0c;俗称 HTML文件。 2、…...

2024icpc(Ⅱ)网络赛补题 G

2024icpc(Ⅱ)网络赛补题 G 题目链接&#xff1a;The 2024 ICPC Asia EC Regionals Online Contest (II) G、Game 题意&#xff1a; 给定Alice和Bob的每一轮的概率 p 0 , p 1 p_0, p_1 p0​,p1​ 给定Alice和Bob的初始数字 x , y x,y x,y。 对于每一轮&#xff1a; 如果Al…...

AIGC时代!AI的“iPhone时刻”与投资机遇

AIGC时代&#xff01;AI的“iPhone时刻”与投资机遇 前言AI的“iPhone时刻”与投资机遇 前言 AIGC&#xff0c;也就是人工智能生成内容&#xff0c;它就像是一股汹涌的浪潮&#xff0c;席卷了整个科技世界。它的出现&#xff0c;让我们看到了人工智能的无限潜力&#xff0c;也…...

Kubernetes调度单位Pod

Kubernetes调度单位Pod 1 Pod简介 不直接操作容器container。 一个 pod 可包含一或多个容器&#xff08;container&#xff09;&#xff0c;它们共享一个 namespace&#xff08;用户&#xff0c;网络&#xff0c;存储等&#xff09;&#xff0c;其中进程之间通过 localhost 本地…...