0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

机器学习挑战:如何避免机器学习模型过拟合?

MATLAB 来源:MATLAB 2023-05-11 09:53 次阅读

分类是机器学习最常见的应用之一。 分类技术可预测离散的响应 — 例如,电子邮件是不是垃圾邮件,肿瘤是恶性还是良性的。 分类模型可将输入数据划分成不同类别。 典型的应用包括医学成像语音识别和信用评估。

选择最合适的分类模型,诊断和纠正过拟合是机器学习的基本技能。 那什么是过拟合? 我们又可以如何防止和避免过拟合呢?

什么是过拟合?

过拟合指当模型与训练数据过于接近贴合,以至于不知道如何对新数据做出响应时发生的一种机器学习行为。 过拟合的原因可能是:

机器学习模型太过复杂; 它记忆了训练数据中非常微妙的的模式,而这些模式无法很好地泛化。

训练数据的规模对于模型复杂度来说太小,和/或者包含大量不相关的信息

您可以通过管理模型复杂度和改进训练数据集来防止过拟合。

过拟合与欠拟合

欠拟合与过拟合正相反。 欠拟合指模型不能很好地与训练数据贴合,也无法很好地泛化到新数据。 在分类模型和回归模型中都可能出现过拟合和欠拟合。 下图说明了过拟合的模型的分类决策边界和回归线如何过于紧密地跟随训练数据,而欠拟合的模型的分类决策边界和回归线又如何不够紧密地跟随训练数据。

76542e86-ef56-11ed-90ce-dac502259ad0.png

与正确拟合的模型相比,过拟合的分类模型和回归模型对训练数据的记忆太好。

当只针对训练数据查看机器学习模型的计算误差时,过拟合比欠拟合更难检测。 因此,为了避免过拟合,在对测试数据使用机器学习模型之前对其进行验证就很重要。

768287ea-ef56-11ed-90ce-dac502259ad0.png

针对训练数据,过拟合模型的计算误差低,而测试数据的误差高。

MATLAB 与 Statistics and Machine Learning Toolbox 和 Deep Learning Toolbox 结合使用,可以防止机器学习模型和深度学习模型的过拟合。 MATLAB 提供了专为避免模型过拟合而设计的函数和方法。 您可以在训练或调整模型时使用这些工具来防止过拟合。

如何通过降低模型复杂度来避免过拟合

使用 MATLAB,您可以从头开始训练机器学习模型和深度学习模型(如 CNN),或利用预训练的深度学习模型。为了防止过拟合,请执行模型验证,以确保为数据选择具有合适复杂程度的模型,或使用正则化来降低模型的复杂度。

模型验证

当对训练数据进行计算时,过拟合模型的误差较低。因此,在引入新数据之前,最好在单独的数据集(即验证数据集)上验证您的模型。对于 MATLAB 机器学习模型,您可以使用 cvpartition 函数将数据集随机划分为训练集和验证集。对于深度学习模型,您可以在训练过程中监控验证准确度。通过模型选择和超参数调整来提高经过正确验证的模型准确度度量应该能够提高模型处理新数据的准确度。

交叉验证是一种模型评估方法,用于评估机器学习算法对新数据集执行预测的性能。交叉验证可以帮助您避免选择过于复杂而导致过拟合的算法。使用 crossval 函数,通过使用常见的交叉验证方法来计算机器学习模型的交叉验证误差估计值。这些常见方法包括如 k 折法(将数据划分为 k 个随机选择的大小大致相等的子集)和留出法(将数据按照指定比率随机划分为两个子集)等。

正则化

正则化是一种用于防止机器学习模型中的统计过拟合的方法。正则化算法通常通过对复杂度或粗糙度应用罚分来实现。通过向模型中引入更多信息,正则化算法可以使模型更加简约和准确,从而处理多重共线性和冗余预测变量。

对于机器学习,您可以在三种流行的正则化方法之间进行选择:lasso(L1 范数)、脊(L2 范数)和弹性网,以用于几种类型的线性机器学习模型。对于深度学习,您可以在指定的训练选项中增大 L2 正则化因子,或在您的网络中使用丢弃层来避免过拟合。

示例和操作方法

正则化

深度学习提示和窍门

如何通过增强训练数据集来避免过拟合

交叉验证和正则化通过管理模型复杂度来防止过拟合。 另一种方法是改进数据集。 深度学习模型比其他机器学习模型更需要大量的数据来避免过拟合。

数据增强

当数据可用性受限时,可使用数据增强方法来向数据集添加现有数据的随机版本从而人为扩展训练数据集的数据点。 使用 MATLAB,您可以增强图像、音频和其他类型的数据。 例如,通过随机化现有图像的缩放比例和旋转来增强图像数据。

数据生成

合成数据生成是扩展数据集的另一种方法。 使用 MATLAB,您可以使用生成对抗网络 (GAN) 或数字孪生(通过仿真生成数据)来生成合成数据。

数据清洗

数据噪声会导致过拟合。 减少不想要的数据点的一种常见方法是使用 rmoutliers 函数从数据中删除离群值。

示例和操作方法

使用增强的图像训练网络

增强深度学习的点云数据

使用条款 GAN 生成的合成信号

设置参数并训练卷积神经网络

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • matlab
    +关注

    关注

    175

    文章

    2922

    浏览量

    228441
  • 语音识别
    +关注

    关注

    37

    文章

    1635

    浏览量

    111835
  • 模型
    +关注

    关注

    1

    文章

    2704

    浏览量

    47687
  • 机器学习
    +关注

    关注

    66

    文章

    8122

    浏览量

    130564
  • 数字孪生
    +关注

    关注

    4

    文章

    991

    浏览量

    11800

原文标题:机器学习挑战:如何避免机器学习模型过拟合?

文章出处:【微信号:MATLAB,微信公众号:MATLAB】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    机器学习基础知识 包括评估问题,理解过拟合、欠拟合以及解决问题的技巧

    本章涵盖了以下主题: · 分类和回归之外的其他类型的问题; · 评估问题,理解过拟合、欠拟合,以及解决这些问题的技巧; · 为深度学习准备数据。 请记住,在本章中讨论的大多数技术都是机器
    发表于 07-12 09:28 743次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b>基础知识 包括评估问题,理解过<b class='flag-5'>拟合</b>、欠<b class='flag-5'>拟合</b>以及解决问题的技巧

    机器学习模型评估指标

    机器学习模型指标在机器学习建模过程中,针对不同的问题,需采用不同的模型评估指标。
    发表于 09-06 12:51 451次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b><b class='flag-5'>模型</b>评估指标

    缓解拟合(1)#机器学习

    机器学习
    未来加油dz
    发布于 :2023年07月14日 16:55:01

    缓解拟合(2)#机器学习

    机器学习
    未来加油dz
    发布于 :2023年07月14日 16:56:35

    拟合和欠拟合(1)#机器学习

    机器学习
    未来加油dz
    发布于 :2023年07月14日 17:15:38

    【下载】《机器学习》+《机器学习实战》

      312索引  313版权声明  316工程师和数据科学家处理大量各种格式(如传感器、图像、视频、遥测、数据库等)的数据。他们使用机器学习来寻找数据中的模式,并建立基于历史数据预测未来结果的模型
    发表于 06-01 15:49

    Python机器学习常用库

    分布和模型收敛的诊断工具,也包含一些层次模型。四、GensimGensim被称为“人们的主题建模工具”,其焦点是狄利克雷划分及变体,其支持自然语言处理,能将NLP和其他机器学习算法更容
    发表于 03-26 16:29

    tensorflow机器学习日志

    tensorflow学习日志(四)机器学习(泛化,拟合, 数据集,验证集,测试集)
    发表于 04-14 06:32

    机器学习模型之性能度量

    机器学习模型的性能度量
    发表于 05-12 10:27

    深度学习拟合/欠拟合的问题及解决方案

    的数据可以对未来的数据进行推测与模拟,因此都是使用历史数据建立模型,即使用已经产生的数据去训练,然后使用该模型拟合未来的数据。 在我们机器学习
    发表于 01-28 06:57

    微型机器学习

    人工智能 AI 正在加快速度从云端走向边缘,进入到越来越小的物联网设备中。而这些物联网设备往往体积很小,面临着许多挑战,例如功耗、延时以及精度等问题,传统的机器学习模型无法满足要求,那
    发表于 09-15 09:23

    什么是机器学习? 机器学习基础入门

    另一方面,机器学习是向计算机提供一组输入和输出,并要求计算机识别“算法”(或用机器学习的说法称为模型)的过程,这种算法每次都将这些输入转化为
    发表于 06-21 11:06

    部署基于嵌入的机器学习模型

    1、如何在生产中部署基于嵌入的机器学习模型  由于最近大量的研究,机器学习模型的性能在过去几年里
    发表于 11-02 15:09

    六个构建机器学习模型避免的错误

    近年来,机器学习在学术研究领域和实际应用领域得到越来越多的关注。但构建机器学习模型不是一件简单的事情,它需要大量的知识和技能以及丰富的经验,
    发表于 05-05 16:39 1272次阅读

    机器学习算法汇总 机器学习算法分类 机器学习算法模型

    机器学习算法汇总 机器学习算法分类 机器学习算法模型
    的头像 发表于 08-17 16:11 727次阅读