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

Datawhale X 李宏毅苹果书 AI夏令营 Task3 深度学习详解 -2 机器学习框架攻略

实践方法论

模型训练结果不佳的原因

  • 模型偏差: 模型过于简单,无法在已知的函数集合中找到符合条件的函数,这里的符合条件是指能让损失变低的函数。
  • 优化问题: 梯度下降等优化算法可能陷入局部最优解,无法找到全局最优解。

如下图所示
在这里插入图片描述
再来看另外一种情况
在这里插入图片描述
这个集合包括了一些函数,其中有损失低的函数,但问题是梯度下降这种办法找不到损失低的函数,只能找到局部解,找不到最优,就是找到一个就返回,但可能返回的这个解不是最优解

接下来我们来思考:

  1. 训练数据的损失不够低,这个时候思考方向有哪些?
  • 模型偏差?
  • 优化问题?
  1. 无法找到一个损失低的函数,方向有?
  • 模型的灵活性不够?
  • 灵活性够了,但优化梯度下降不给力?
  • 还是模型不够大?
  • 模型太小了?

这里书里面提到了一种判断方法,即通过比较不同的模型来判断模型现在到底够不够大。
通过下面的这张图可以看出来20层的效果在测试数据和训练数据上面都要比56层要好,也就是说优化不到位,因为按理来说20层能做到的事情,56层应该也可以做到且做的更好,要不然那36层干什么用的?

在这里插入图片描述

这里他提到的建议是
在这里插入图片描述
在这里插入图片描述
我这里看的很蒙,就记录一下自己的理解

即先用比较小的、比较浅的网络确保这些网络和模型能找到一组最好的参数,记录一下这些模型的损失值,接下来上深的模型,若,深的模型明明灵活性比较大,但损失却没有办法比浅的模型压得更低代表说优化有问题,梯度下降不给力,因此要有一些其它的方法来更好地进行优化。

  • 过拟合: 模型过于复杂,过度拟合训练数据,无法泛化到新的数据,可以理解为学生只会死记硬背,同一种题型老师稍微加一点新花样就废了
    解决办法:
  1. 增加训练数据:说人话就是做题太少了,没有学到真东西,加大剂量
  2. 简化模型: 别只会一种解题方法,如果模型只会一种“解题方法”,遇到新的题目就会束手无策,所以让它能够尝试多种“解题方法”,这样才能更好地应对各种情况。
  3. 正则化和Dropout:正则化: 对模型参数施加惩罚,防止模型过度拟合训练数据,dropout:在训练过程中随机丢弃一些神经元,防止模型过度依赖某些特征。
    说人话,正则化和dropout就是为了防止孩子只知道刷题,而不知道思考就会变成“书呆子”,这里的”书呆子“可以理解为过拟合了
  4. 交叉验证: 使用一部分数据作为验证集,评估模型在未见数据上的表现,避免过拟合,说人话,如果学生只会自己一个人学习,就会变成“井底之蛙”。同样,如果模型只使用训练数据,就会失去泛化的能力。我们需要使用交叉验证等方法,让模型“多和同学交流”,学习到更全面的规律。
  • 交叉验证:把数据集分成K份,其中K-1份当训练集,1份当测试集,这样就有K轮,再给测试结果取平均。
  • 不匹配: 预测结果和真实结果存在巨大的差距且不是增大数据规模能解决的。
    在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 探索 Logrus 日志框架:Go 语言的强大日志工具
  • 【WPS Excel】复制表格时,提示“图片太大,超过部份将被截去“ 问题
  • 提高开发效率的实用工具库VueUse
  • OPenCV结构分析与形状描述符(4)计算一个旋转矩形的四个顶点的函数boxPoints()的使用
  • 实时图像编辑大革新!Adobe发布TurboEdit:可以通过文本来编辑图像,编辑时间<0.5秒!
  • 11.2.软件系统分析与设计-数据库分析与设计
  • C语言-数据结构 无向图普里姆Prim算法(邻接矩阵存储)
  • 可交互、会学习、自成长机器人——李德毅院士
  • 【Linux】易忘操作集合
  • 本地如何调百度地图 地图 map baidu-map 百度地图经纬度
  • 蔚来汽车-测开日常实习-部分手撕代码题
  • SAP 批量扩充物料库存地点简介
  • NCU-机器学习-作业1:基于KNN的IRIS分类
  • 进程第五章:进程替换
  • 计算机网络: 第一章 概述_2:计算机网络的性能指标
  • const let
  • Druid 在有赞的实践
  • If…else
  • Java 11 发布计划来了,已确定 3个 新特性!!
  • JavaScript 基本功--面试宝典
  • Kibana配置logstash,报表一体化
  • Node.js 新计划:使用 V8 snapshot 将启动速度提升 8 倍
  • react-core-image-upload 一款轻量级图片上传裁剪插件
  • SegmentFault 2015 Top Rank
  • sessionStorage和localStorage
  • vue中实现单选
  • 从tcpdump抓包看TCP/IP协议
  • 发布国内首个无服务器容器服务,运维效率从未如此高效
  • 后端_ThinkPHP5
  • 前端技术周刊 2018-12-10:前端自动化测试
  • 如何用Ubuntu和Xen来设置Kubernetes?
  • 小试R空间处理新库sf
  • 一个JAVA程序员成长之路分享
  • 关于Android全面屏虚拟导航栏的适配总结
  • 如何在招聘中考核.NET架构师
  • ​1:1公有云能力整体输出,腾讯云“七剑”下云端
  • ​LeetCode解法汇总1276. 不浪费原料的汉堡制作方案
  • ​人工智能书单(数学基础篇)
  • #Linux(帮助手册)
  • (3)选择元素——(14)接触DOM元素(Accessing DOM elements)
  • (C++17) std算法之执行策略 execution
  • (done) 两个矩阵 “相似” 是什么意思?
  • (Ruby)Ubuntu12.04安装Rails环境
  • (剑指Offer)面试题41:和为s的连续正数序列
  • (切换多语言)vantUI+vue-i18n进行国际化配置及新增没有的语言包
  • (数据大屏)(Hadoop)基于SSM框架的学院校友管理系统的设计与实现+文档
  • .describe() python_Python-Win32com-Excel
  • .NET8使用VS2022打包Docker镜像
  • .net后端程序发布到nignx上,通过nginx访问
  • .NET简谈互操作(五:基础知识之Dynamic平台调用)
  • .NET框架
  • .Net面试题4
  • .NET使用存储过程实现对数据库的增删改查
  • .net中我喜欢的两种验证码
  • [ 网络基础篇 ] MAP 迈普交换机常用命令详解