【深度学习详解】Task3 实践方法论-分类任务实践 Datawhale X 李宏毅苹果书 AI夏令营

news2024/12/23 17:12:59

前言

综合之前的学习内容,
本篇将探究机器学习实践方法论
出现的问题及其原因

🍎 🍎 🍎

系列文章导航

【深度学习详解】Task1 机器学习基础-线性模型 Datawhale X 李宏毅苹果书 AI夏令营
【深度学习详解】Task2 分段线性模型-引入深度学习 Datawhale X 李宏毅苹果书 AI夏令营
【深度学习详解】Task3 实践方法论-分类任务实践 Datawhale X 李宏毅苹果书 AI夏令营

本篇目录导航

  • 前言
      • 系列文章导航
  • 实践方法论
    • 问题描述:large loss on training data
      • 模型偏差
      • 优化问题
      • is 模型偏差 or 优化问题 ?
    • 问题描述:large loss on testing data
      • 过拟合【交叉验证】
      • 不匹配
  • Python 分类任务实践
  • Read more

实践方法论

在这里插入图片描述

本篇笔记 General Guide 从原视频课件进行修改:
李宏毅《机器学习/深度学习》2021课程 -> 机器学习任务攻略

问题描述:large loss on training data

训练数据的损失很大,显然它在训练集上面也没有训练好

模型偏差

鼠标右键 -> 在新标签页中打开图像
在这里插入图片描述

原因分析

模型过于简单

  • 该函数的集合太小了, 没有包含任何一个函数,
    可以让损失变低的函数不在模型可以描述的范围内。
  • 想要在大海里面捞针(一个损失低的函数),
    结果针根本就不在海里。
解决方案

给模型更大的灵活性

  • 增加输入的特征,即同时考虑更多训练数据
    (得到更有灵活性 flexibility 的函数)
  • 重新设计一个模型,使用深度学习
    (更多的 layer 层数)
    在这里插入图片描述

优化问题

鼠标右键 -> 在新标签页中打开图像
在这里插入图片描述

原因分析

优化器不给力

  • 优化器(梯度下降)在寻找代价函数最低点的过程,
    会出现局部最小值干扰,无法找到全局最小值。
  • 想要在大海里面捞针(一个损失低的函数),
    针确实在海里,但是无法把针捞起来。
    在这里插入图片描述
解决方案

尝试更强大的优化器,寻找损失低的函数
在这里插入图片描述

is 模型偏差 or 优化问题 ?

判断是 模型偏差 or 优化问题 ?

在这里插入图片描述

问题描述:large loss on testing data

训练数据上面的损失小,但在测试数据上的损失大

过拟合【交叉验证】

鼠标右键 -> 在新标签页中打开图像
在这里插入图片描述

原因分析

模型过于复杂

  • 模型灵活性过大,学习到了训练数据的噪声。
    (模型过于复杂,对数据过度适应)
    在这里插入图片描述
解决方案

增加训练集数据限制住拟合的模型
(往往是最有效的方向)

  • 需要增加额外的训练集数据(不容易。)
  • 不用增加额外的训练集数据(很建议!)
    data augmentation 数据增强:
    根据问题的理解创造出新的合理数据
    在这里插入图片描述

给模型更多的限制性

  • 减少输入的特征,即同时考虑更少训练数据
    (不要过大灵活性 flexibility 的函数)
  • 重新设计一个模型:减少参数 / 共用参数(可以让一些参数有一样的数值)
    eg. 神经元数量
  • 重新设计一个模型:使用更受限的模型。
    eg. 卷积神经网络(Convolutional Neural Network,CNN)
    是比全连接网络(fully-connected network)更有限制的架构
  • Early stopping 早停
  • Regularization 正则化
  • Dropout 丢弃法
    在这里插入图片描述

trade-off(权衡模型的灵活性和限制性)
比较合理选择模型的方法是:
将训练数据分成“训练集”和“进行模型选择的验证集”
即,
在训练集上训练出来的模型
会使用验证集来衡量分数和挑选模型,即基线(baseline)算法
(避免在公开的测试集上面频繁挑选模型导致的过拟合)
在这里插入图片描述

  • Cross Validation 交叉验证
    将训练数据按照百分比随机分成“训练集”和“进行模型选择的验证集”。例如:
    90%训练数据作为“训练集”,
    10%训练数据作为“进行模型选择的验证集”。
    在这里插入图片描述

  • N-fold Cross Validation N 折交叉验证
    将训练数据切成 n 等份,这件事情要重复 3 次:
    n - 1 份作为“训练集”,
    还有 1 份作为“进行模型选择的验证集”。
    在这里插入图片描述

不匹配

鼠标右键 -> 在新标签页中打开图像
在这里插入图片描述

原因分析

训练集和测试集的分布不同,
导致模型在测试集上的预测表现不佳。

在这里插入图片描述

解决方案

要对训练数据和测试数据的产生方式有一些理解,
确保重新收集的训练数据与数据数据的分布尽可能一致


Python 分类任务实践

baseline 教程
https://datawhaler.feishu.cn/wiki/M7tqwIHYdiz5ULkRkD9cPPWTntg

数据集 下载
【2023机器学习】的系列资料包括 视频、课件、代码等资源已经系统顺序命名并整理到百度网盘:
https://pan.baidu.com/s/1-zfs0wn5rccTRVk34YZWaA,提取码:2023。
来源:https://blog.csdn.net/qq_39975984/article/details/133103314


Read more

  • 李宏毅深度学习教程 LeeDL-Tutorial(苹果书)
    https://github.com/datawhalechina/leedl-tutorial
    李宏毅《机器学习/深度学习》2021课程(视频教程 24 h 46 min)
    https://www.bilibili.com/video/BV1JA411c7VT/

  • Hung-yi Lee (李宏毅) MACHINE LEARNING 2023 SPRING
    https://speech.ee.ntu.edu.tw/~hylee/ml/2023-spring.php
    作业数据集搬运:
    https://blog.csdn.net/qq_39975984/article/details/133103314
    https://github.com/keepstumz/LHY-ML

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2106402.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

南通网站建设手机版网页

随着移动互联网的迅猛发展,越来越多的人通过手机浏览网页,进行在线购物、信息查询和社交互动。因此,建立一个适合移动端访问的网站已成为企业和个人不可忽视的重要任务。在南通,网站建设手机版网页的需求逐渐增加,如何…

springboot整合Logback

Logback介绍 描述 Logback是由log4j创始人设计的另外一种开源日志组件,性能比log4j要好。相对是一个可靠、通用、快速而又灵活的Java日志框架。 Logback主要分三个模块 1、logback-core:其他两个模块的基础模块 2、logback-classic:它是lo…

基于AIM平台实现对SAP PO平台的监控告警管理及WeLink告警案例

一、客户背景 某集团基于SAP PO平台统一管理的接口量较大,为了方便团队进行后期维护和管理,固上此AIM监控平台系统,用于接口日常运行、SAP PO各类型指标和系统性能方面的监控,多种告警类型渠道满足各种用户需求,采用…

ESP8266下载固件→连接阿里云

一、工具准备 1、ESP8266Wifi模块 2、ESP8266下载器 ESP8266-01模块 二、固件配置 CH340串口工具-烧录ESP8266-01固件_esp8266 ch340烧录-CSDN博客文章浏览阅读444次,点赞6次,收藏3次。CH340会有供电不足的问题,因此需要外部供电_esp…

【leetcode详解】清除数字:栈思想解决字符串问题(思路详解)

实战总结 string的常用方法: pop_back, push_back使得可以直接像操作栈一样操作string类型 注意,上面两个方法只能对单个字符char操作但是‘ ’对 char 和 string 均适用 题面 思路详解: 不妨对比一下其他思路: 双指针&#…

《高等代数》相邻两行(列)相差K倍行列式

说明:此文章用于本人复习巩固,如果也能帮助到大家那就更加有意义了。 注:1)相邻两行(列)相差K倍行列式需要关注行(列)与行(列)之间的关系,运用适当…

《卷积神经网络 CNN 原理探秘》

CNN基本原理详解 卷积神经网络(Convolutional Neural Network,简称CNN),是一种前馈神经网络,人工神经元可以响应周围单元,可以进行大型图像处理。卷积神经网络包括卷积层和池化层。 卷积神经网络是受…

实验室ICPR 2024论文分享┆DS MYOLO:一种基于状态空间模型的驾驶场景可靠目标检测器

论文分享简介 本推文详细介绍了一篇实验室的最新论文成果《DS MYOLO: A Reliable Object Detector Based on SSMs for Driving Scenarios》,该论文已被第27届国际模式识别大会(ICPR)接收,论文的第一作者为李杨。论文提出了一种基…

使用Cloudflare构建RAG应用;端到端语音开源大模型;AI幻灯片生成器,等六个开源项目

✨ 1: Cloudflare RAG 如何使用Cloudflare构建一个完整的RAG应用,结合多种搜索技术和AI服务。 Cloudflare RAG(Retrieval Augmented Generation)是一个全栈示例,展示如何使用 Cloudflare 构建 RAG 应用程序。该项目结合了 Cloud…

新能源车“卖电”有多赚?多地试点反向充电

新能源车“卖电”有多赚?多地试点车对桩反向充电 据经济观察报了解,在不同的城市,新能源车主参与车网互动获得的收益差异颇大。同时,有的车主担心增加充放电次数影响电池寿命,不愿意参与。 今年入夏以来,随…

C#实战|大乐透选号器[2]:初始化动态生成大乐透红球区选择球

哈喽,你好啊,我是雷工! 红球区和篮球区的选择球可以通过拖拽控件一个一个的拖放实现,但该方法太浪费时间,可以使用循环动态生成; 只要通过观察找到每个球的位置坐标的规律,就可以通过循环生成,这样即使有再多球也不至于一个一个的拖放实现了; 以下为初始化动态生成大乐…

Redis在Spring Boot中的应用详细讲解和案例示范

深入理解Redis在Spring Boot中的应用 Redis 作为一种高性能的键值数据库,常被用于缓存、会话管理和其他需要快速访问的数据存储场景中。在 Spring Boot 项目中集成 Redis,可以显著提高应用的性能和可扩展性。本篇文章将深入探讨如何在 Spring Boot 中使…

几千块考的证,公司根本不认,「PMP证书」是智商税吗?

有很多小伙伴们担心,自己的公司并不认可PMP证书,觉得考这个证书没什么用。 真的是这样吗🤔?但据观察来看,PMP主要是北上广深等发达城市的认可度更高,有75%都是来自于北上广深以及江苏、浙江等经济发达地区。…

内裤洗衣机是鸡肋吗?五大品质拔尖的佳品一览

当代年轻人对生活品质的追求日益迫切,现在许多用户都开始注重整理和清洗衣物,举例来说,通常会把婴儿的小件衣物分开洗,将不同类型的衣物分开洗,甚至是将内衣也分开洗,主要由于大型洗衣机的卫生问题又堪忧&a…

Android OpenGLES开发:EGL环境搭建

努力,不是为了要感动谁,也不是要做给哪个人看,而是要让自己随时有能力跳出自己厌恶的圈子,并拥有选择的权利,用自己喜欢的方式过一生! EGL是什么? 谈到openGL开发我们就不得不说EGL&#xff0c…

eetrade:黄金分哪几种,什么金最好

随着黄金价格的持续走高,越来越多的消费者开始关注黄金的购买。市场上出现了多种黄金类型,如足金、千足金、万足金、3D硬金、古法黄金等,让人感到困惑。本文将为您详细解析这些黄金的种类及其含金量,帮助您更好地理解和选择。 一…

备忘录在哪添加图片?桌面备忘录能保存图片吗

在快节奏的生活中,备忘录app已成为我们日常工作和学习的得力助手。它帮助我们规划任务、提醒重要事件,确保一切井然有序。但备忘录的用途远不止于此,随着科技的发展,现在的备忘录功能已经越来越强大。 很多人习惯在备忘录中记录文…

2.门锁_STM32_舵机设备实现

概述 需求来源: 门锁的开启和关闭,就是电机来控制。这里不进行实际门锁机械结构的设计,选择用舵机或者电机转动一定的角度,就代表门锁开启。 舵机开发整体思路: 使用STM32裸机开发舵机,使得舵机可以实现…

悟空有枪:玩家解包文件发现《黑神话》有AK47

今日,Reddit的《黑神话》子版的一位玩家分享了本作的全新震撼内容:AK47。据他描述,这是一位中国玩家解包发现的,页面描述十分搞笑:不能化身白衣秀士,捻诀念咒,什么也不会发生,快慢机…

【有啥问啥】抽象语法树(Abstract Syntax Tree, AST)的原理详解

抽象语法树(Abstract Syntax Tree, AST)的原理详解 引言 在编译器设计、编程语言解析以及静态分析工具中,抽象语法树(AST)是一个至关重要的概念。AST是一种树状结构,用于表示源代码的抽象语法&#xff0c…