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

ML2001-2 机器学习/深度学习 过拟合(overfit)

该文档是李宏毅关于机器学习过拟合(overfit)的指导方针,主要内容如下:

1. 机器学习框架与过拟合问题介绍

  • 机器学习框架:包含训练数据和测试数据,可应用于语音识别、图像识别、说话人识别、机器翻译等任务。
  • 过拟合现象:训练数据上损失小,测试数据上损失大。可能出现模型偏差(model bias)或优化问题(optimization issue)。

2. 模型偏差与优化问题的判断及解决方法

  • 判断方法
    • 模型偏差:模型太简单,可能在训练数据上损失大,表现为 “大海捞针但无针” 的情况。
    • 优化问题:从较浅网络(或其他模型)开始,如果更深网络在训练数据上不能获得更小损失,则可能存在优化问题。
  • 解决方法
    • 模型偏差:重新设计模型使其更灵活,如增加特征、采用深度学习(更多神经元、层数)。
    • 优化问题:采用更强大的优化技术(下一次讲座内容)。

3. 过拟合的处理方法

  • 一般指导方针
    • 模型选择:将训练数据分为训练集和验证集进行模型选择。
    • 模型调整
      • 若测试数据上损失大,可简化模型;若训练数据上损失大,可使模型更复杂。
      • 增加训练数据(作业中不要求,除作业 11 外)、进行数据增强(data augmentation)。
  • 针对不同模型的处理
    • 灵活模型:可能导致过拟合,可增加训练数据、进行数据增强。
    • 受限模型:如减少特征、提前停止(early stopping)、正则化(regularization)、采用 Dropout、减少参数及共享参数(适用于 CNN 和全连接网络)。

4. 模型选择方法

  • 介绍了交叉验证(Cross Validation),包括 N - fold 交叉验证,用于选择合适的模型,避免使用公共测试数据结果选择模型导致的问题。

5. 案例分析

  • 以预测 2/26 的观看次数为例,展示不同层数模型在 2017 - 2020 年和 2021 年的损失情况,并对比实际值和预测值。同时提到训练和测试数据分布不同(mismatch)的问题,仅增加训练数据可能无法解决,需注意数据生成方式。

幻灯片 1:封面

  • 标题为 “General Guidance”,作者为 Hung - yi Lee(李宏毅)。
  • 幻灯片 2:机器学习框架

  • 展示了机器学习的框架,包括训练数据和测试数据,并列举了语音识别、图像识别、说话人识别、机器翻译等应用领域。
  • 幻灯片 3 - 4:训练与测试数据的使用及上传

  • 提到训练数据用于训练模型,测试数据用于评估模型。可能会涉及将模型上传到 Kaggle 平台进行评估。
  • 幻灯片 5:模型偏差与过拟合 - 训练数据损失大

  • 当训练数据上损失大时,可能是模型偏差问题,模型可能太简单,解决方法是使模型更复杂,如增加特征或采用深度学习(更多神经元、层数)。
  • 幻灯片 6:模型偏差与过拟合 - 测试数据损失大

  • 当测试数据上损失大时,可能出现过拟合现象,解决方法包括简化模型、增加训练数据(作业中一般不要求,除作业 11 外)以及数据增强。同时强调要将训练数据分为训练集和验证集用于模型选择。

幻灯片 7:模型偏差与优化问题的判断

  • 说明大损失并不总是意味着模型偏差,还有可能是优化问题。通过对比不同层数网络在训练数据和测试数据上的损失情况来判断是模型偏差还是优化问题。如果从较浅网络开始,更深网络在训练数据上不能获得更小损失,则可能存在优化问题。
  • 幻灯片 8 - 9:模型偏差与优化问题的解决方法

  • 对于模型偏差,解决方法是重新设计模型使其更灵活;对于优化问题,需要采用更强大的优化技术(下一次讲座内容)。
  • 幻灯片 10 - 11:过拟合的进一步讨论

  • 再次强调过拟合是训练数据上损失小,测试数据上损失大的现象,并给出一个极端例子:某个函数在训练数据上损失为零,但在测试数据上损失很大。
  • 幻灯片 12 - 13:灵活模型的过拟合处理

  • 对于灵活模型导致的过拟合,可增加训练数据和进行数据增强,但有些情况下增加训练数据可能无法实现(如作业中不要求)。
  • 幻灯片 14 - 16:受限模型的过拟合处理

  • 对于受限模型,可采用减少特征、提前停止、正则化、Dropout、减少参数及共享参数等方法来处理过拟合问题,适用于 CNN 和全连接网络。
  • 幻灯片 17 - 18:模型选择与偏差 - 复杂性权衡

  • 通过不同模型在训练集和测试集上的均方误差(mse)展示了模型偏差 - 复杂性权衡问题。在选择模型时,需综合考虑训练损失和测试损失。同时提到作业中可能会涉及此类问题,如根据给定的模型在不同数据集上的表现选择合适的模型。
  • 幻灯片 19 - 20:交叉验证介绍

  • 介绍了交叉验证的概念,包括一般交叉验证和 N - fold 交叉验证。强调不推荐使用公共测试数据结果来选择模型,因为这可能会导致公共集表现优于私人集的问题。通过示例展示了如何使用 N - fold 交叉验证来选择模型,即比较不同模型在各个验证集上的平均均方误差。
  • 幻灯片 21:预测案例

  • 以预测 2/26 的观看次数为例,展示了不同层数模型在 2017 - 2020 年和 2021 年的损失情况,并对比了实际值和预测值。
  • 幻灯片 22 - 23:训练与测试数据分布不匹配

  • 指出训练和测试数据可能存在分布不同的问题(mismatch),这种情况下仅增加训练数据可能无法解决问题,需要注意数据的生成方式。这一问题在大多数作业中不存在,除作业 11 外。同时展示了训练数据和测试数据的示例图片,以说明可能存在的差异。

http://www.kler.cn/a/380425.html

相关文章:

  • 杨传辉:云+AI 时代的一体化数据库|OceanBase发布会实录
  • 矩阵的奇异值分解SVD
  • windows XP,ReactOS系统3.4 共享映射区(Section)---1
  • 关于wordpress instagram feed 插件 (现更名为Smash Balloon Social Photo Feed)
  • 相机硬触发
  • net core Autofac 替换默认的服务容器 DI,微软自动的容器 不支持命名选项的
  • Qt中的Model与View5: QStyledItemDelegate
  • 【含文档+源码】基于SpringBoot+Vue的新型吃住玩一体化旅游管理系统的设计与实现
  • 【格式化查看JSON文件】coco的json文件内容都在一行如何按照json格式查看
  • Hadoop生态系统主要包括哪些组件以及它们的作用
  • 探索 MarsCode:代码练习-AI助你提升编码/算法能力
  • OpenCV图像基础
  • 红队知识学习入门(3)Shodan使用6
  • 算法:图的相关算法
  • CMFCMaskedEdit 类和CIPAddressCtrl 类
  • 论负载均衡技术在Web系统中的应用论文
  • JMeter与大模型融合应用之jmeter.properties配置文件新增配置
  • Rust 力扣 - 1493. 删掉一个元素以后全为 1 的最长子数组
  • 基于卷积神经网络的水稻叶片病害识别系统(pytorch框架,python源码)
  • Typora在ubuntu上通过Picgo-core来进行Github图床上传(超详细)
  • 介绍目标检测中mAP50和mAP50-95的区别
  • SQL CASE表达式与窗口函数
  • Unity 中winform端转webGL异常处理
  • 100种算法【Python版】第43篇——优化算法之模拟退火算法
  • OpenCV视觉分析之目标跟踪(9)计算扩展相关系数computeECC()的使用
  • 【C语言】C程序的编译+链接