首页 > 其他分享 >Datawhale X 李宏毅苹果书 AI夏令营-深度学习入门班-task3-机器学习实践方法论

Datawhale X 李宏毅苹果书 AI夏令营-深度学习入门班-task3-机器学习实践方法论

时间:2024-09-03 21:24:19浏览次数:5  
标签:task3 训练 AI 李宏毅 模型 损失 测试数据 拟合 数据

引入

在简单了解到机器学习的过程,以及模型函数的优化升级之后,我们需要根据一些方法论,解决模型实践过程中会遇到的问题,学会分析模型数据,按照正确的路径优化模型,减少测试误差(Testing Loss)

实践方法论

整体框架

下图是实践方法论的整体框架,下文会根据逻辑顺序一一介绍。

step1:检查训练数据的损失

从训练数据的损失上,我们可以看出模型选择的正确与否和参数确定的准确性。通俗来说,就是先确定模型的大方向是否正确,在确保正确的情况下再进行模型的训练。

训练数据损失大-----跳转step2:确定问题:模型偏差or优化问题

训练数据损失小-----跳转step3:计算测试数据的损失

注:检查数据时一定要先检查训练数据的损失,它是模型构建的基础,检查它才能够发现模型构建是否有问题。

step2:确定问题:模型偏差or优化问题

在训练数据损失大的情况下分析其导致因素,选取一个神经元层数更少的模型,对比其与测试模型损失大小。正常情况下,层数越多,损失越少。若损失数据正常,则证明是模型偏差,即没有找到最合适的模型函数,需要更改模型函数类型;若损失数据反常,则证明是优化问题,即在该模型函数中没有找到最小的损失值,是梯度下降(gradient descent)中的局部最小值问题。

注:不是所有在测试训练中,层数多反而损失大的情况都是过拟合(overfitting),只有在训练数据上的损失小且测试数据上的损失大的情况才是过拟合。

上图所示数据显示,该问题为优化问题,未找到函数中的最小损失。注意其不是过拟合现象,因其在训练数据上的损失也比其层数低的函数大。

  • 模型偏差(model bias)

选取更复杂的模型,使模型函数与训练数据贴合度更高。

  • 优化问题

选取其他计算方法,重新计算在最小损失下的超参数。

step3:计算测试数据的损失

在训练数据损失大的情况下进一步分析测试数据损失,检查其预测能力。

测试数据损失大-----step4:确定问题:过拟合or不匹配

测试数据损失小-----模型测试成功

step4:确定问题:过拟合or不匹配

  • 过拟合

为什么会出现过拟合?

通常有以下几点原因:

1、模型过分得关注训练数据的细节,导致其在新的测试数据中的泛化能力较差。

2、提供训练数据较少,在没有训练模型数据的部分,模型函数的灵活性很大,使其与测试数据之间产生较大的损失。如图:

如何处理过拟合问题?

1、增加训练集:提供给模型更多的训练数据,使其能够“自由发挥”的空间减少。

2、做数据增强(data augmentation):根据自己对问题的理解创造出新的数据,相较于上一方法更为快捷,不需要收取更多信息,但在创造数据时需要符合逻辑。

3、增加模型限制:同样是限制模型的灵活性,但需要找对限制的函数类型,不然可能会弄巧成拙,产生模型偏差问题。这其中有以下方式实现:

①减少参数:我们目前使用的是全连接网络(fully-connected network),具有较强的灵活性,与此对应的卷积神经网络(Convolutional Neural Network,CNN),是一个有限制的架构。

②减少特征:适当减少天数等特征的带入会改善过拟合问题。

③其他方法:如早停(early stopping)正则化(regularization)丢弃法(dropout method)

随着模型越来越复杂,测试数据的损失会在达到一定复杂度时开始暴增,出现过拟合问题。如下图:

那么如何找到一个中间的损失最少的模型函数,成为了问题的焦点。

思路一

取训练集中的模型,在公开测试集中跑一遍,认为损失最小的模型函数就是最好的。

注:这种方法具有极大的随机性,有可能在私人测试集中出现损失较大的情况,不建议此方法。

思路二

采用交叉验证的方法,将训练集分为两部分,分别为训练集(training set)验证集(validation set),在训练集上训练出模型,再使用验证集来衡量它们的分数,根据验证集上面的分数去挑选结果。因为是用验证集来挑模型,所以公开测试集分数就可以反映私人测试集的分数。但如果根据公开测试集去调整模型太多次,就会使公开测试集中的损失小于私人测试集的数据。

验证集的分法也有一定的技巧,可以采用k 折交叉验证(k-foldcross validation)的方法分出验证集,将每个模型在k个验证集中都跑一遍,分别求平均值,找到最好的结果。具体如下图:

  • 不匹配

不匹配(mismatch)是指训练集与测试集分布不同而产生的损失,这种情况是增加数据集没有办法改善的。

小结

通过本章的学习,有明确的优化模型步骤,能够基本搭建起机器学习模型创建的实践方法架构,能够处理一些简单的模型损失过大的情况。

标签:task3,训练,AI,李宏毅,模型,损失,测试数据,拟合,数据
From: https://blog.csdn.net/Miss569284/article/details/141866867

相关文章

  • 利用LangChain构建MySQL数据库问答代理
    引言随着自然语言处理技术的飞速发展,尤其是大型语言模型(LLM)的应用日益广泛,人们对于如何更高效地与这些模型交互产生了浓厚的兴趣。LangChain是一个旨在简化与语言模型集成的开源框架,它使得开发者能够轻松地构建出强大的应用程序。本文将介绍如何使用LangChain结合MySQL数据......
  • Datawhale X 李宏毅苹果书 AI夏令营 Task3-机器学习实践方法论
    在上一章介绍完机器学习模型后,我们接着讨论模型中可能存在的一些问题。首先我们需要明确一件事,就是Kaggle上的测试结果不好,可能有多个原因。第一,如果模型在运行训练模型时,所产生的损失就很大,那么有可能是模型偏差(modelbias)或优化(optimization)问题。第二,如果模型在运行训......
  • Datawhale X 李宏毅苹果书 AI夏令营-深度学习入门篇-Task3《深度学习详解》- 实践方法
     核心学习目标:通过《深度学习详解》和李宏毅老师21年的机器学习课程视频,入门机器学习,并尝试学习深度学习,展开代码实践(选修)。该书保留了李宏毅老师公开课中大量生动有趣的例子,帮助读者从生活化的角度理解深度学习的概念、建模过程和核心算法细节,包括卷积神经网络、Transform......
  • 使用docker部署tensorrtllm推理大模型baichuan2-7b
    简介大模型的推理框架,我之前用过vllm和mindie。近期有项目要用tensorrtllm,这里将摸索的过程记录下,特别是遇到的问题。我的环境是Linux+rt3090准备docker环境本次使用docker镜像部署,需要从网上拉取:dockerpullnvcr.io/nvidia/tritonserver:24.08-trtllm-python-py3Th......
  • AI大模型系列之大模型原理科普(深度万字好文)
    天地转,光阴迫。一万年太久,只争朝夕。数字时代,要顺势而为,让我们系统性掌握AI大模型家族的技术本领,成为行业翘楚!今天,我们突然发现,AI可以帮忙生成文字、图片、音频和视频等等内容了,而且让人难以分清背后的创作者到底是人类还是AI。这些AI生成的内容被叫做AIGC,它是AIgenerated......
  • 数据库实验 SQL server sduwh caohai
    问题一:根据E-R图写出关系模式,标注主键和外键 学生关系模式:Student(StudentNum,StudentName,StudentSex,StudentAge,StudentPhone,StudentBrith,Speciality)其中主键为学号StudentNum,没有外键。课程关系模式:Course(Coursenum,CourseName,Credit,Classhour,ClassType)其中主键为......
  • 使用LangChain加载Project Gutenberg电子书:实用指南
    使用LangChain加载ProjectGutenberg电子书:实用指南引言ProjectGutenberg是一个提供免费电子书的在线图书馆,拥有超过60,000本电子书。对于自然语言处理(NLP)和文本分析项目来说,这是一个宝贵的资源。本文将介绍如何使用LangChain的GutenbergLoader来加载ProjectGutenberg的......
  • 使用LangChain与OctoAI集成:构建强大的AI应用
    使用LangChain与OctoAI集成:构建强大的AI应用引言在当今快速发展的AI领域,如何高效地利用大型语言模型(LLM)构建应用已成为开发者面临的重要挑战。本文将介绍如何使用LangChain框架与OctoAI服务相结合,轻松构建强大的AI应用。我们将深入探讨OctoAI的特性,以及如何通过Lang......
  • Python教程(十七):协程、 asyncio与 aiohttp【异步IO】
    文章目录专栏列表1.异步IO的基本概念1.1同步与异步1.2协程1.3asyncio1.4aiohttp2.携程2.1定义协程2.2运行协程3.asyncio3.1事件循环解释3.2获取文件示例3.2并发获取文件示例4.aiohttp:异步HTTP客户端/服务器4.1安装aiohttp4.2异步HTTP请求4.3异......
  • 超强总结,AI大模型八种解决过拟合的技巧!!
    前言当模型在训练数据上表现良好,但对未见数据的泛化效果不佳时,就会出现过拟合的现象。过拟合是机器学习中一个非常常见的问题,已有大量文献致力于研究防止过拟合的方法。下面,我将介绍八种缓解过拟合的简单方法,每种方法只需对数据、模型或学习算法进行一次修改即可。数据与其将所有数......