《动手学深度学习》笔记1.7——模型选择 + 过拟合-欠拟合

目录

1. 模型选择

1.1 训练误差 vs. 泛化误差

1.2 验证数据集 vs. 测试数据集

1.3 K-折交叉验证

1.4 总结

2. 过拟合与欠拟合(核心知识)

2.1 过拟合 vs. 欠拟合

2.2 模型容量

2.3 估计模型容量

2.4 VC维  衡量模型容量

2.5 数据复杂度

3. 代码样例 (过拟合 vs. 欠拟合)


1. 模型选择

1.1 训练误差 vs. 泛化误差

1.2 验证数据集 vs. 测试数据集

  • 验证数据集 (validation dataset不参加训练,用来调参 (调整模型结构),能够反映超参数的好坏
  • 测试数据集 (test dataset只能使用一次,不能用来调超参数

李沐老师:

  • 拿测试集来调参(当验证集使用)发论文,是很严重的事情
  • 验证数据集相当于模拟考试
  • 测试数据集相当于期末考试

李沐老师:

  • 咱教材里的test dataset并不是真正的测试数据集,本质上是验证数据集
  • 真正的测试集是新的数据集,甚至标号都未知

1.3 K-折交叉验证

  • 这里的例子是把数据集分成三块,训练三个epoch,迭代三次(跑三遍数据)
  • 每次拿一块出来作为验证集,最后拿到三个验证精度(或者误差)
  • 把这三个精度做平均,便能得到K-则交叉验证的误差
  • (例子里的方法又叫“留一法”)
  • K=5 指的是迭代5次(跑5遍数据)
  • K值的设定,需要权衡数据集的大小,数据集特别大,K可以设为2或3 
  • (K值设定得越大,越贵)
  • K-折交叉验证是最常用的验证所设超参数效果的方法

1.4 总结

2. 过拟合与欠拟合(核心知识)

2.1 过拟合 vs. 欠拟合

模型容量:

  • 低:比如简单线性模型
  • 高:比如多层感知机

数据:

  • 简单:如第三章简单线性回归的人工合成数据集
  • 适中:如Fashion-MNIST
  • 复杂:如ImageNet

2.2 模型容量

李沐老师:

  • 过拟合不一定是坏事,为了把泛化误差往下降,不得不承受一定程度的过拟合
  • 首先是模型容量要足够(模型足够大)(伴随一定的过拟合)
  • 其次才是通过(缩减容量、正则化-权重衰退、早停等方法)调整模型容量,缩小误差
  • (这是整个深度学习的核心)

2.3 估计模型容量

智谱AI:

1. d - 数据维度:

  • 通常指的是输入数据的维度。在处理特征向量时,如果每个数据样本是一个向量,那么 d 就是该向量的长度
  • 例如,如果每个样本是一个包含100个特征的数据点,那么 d = 100
  • 在图像处理中,如果图像被展平成一个一维向量,d 代表这个向量的长度,这通常是图像的 高度 * 宽度 * 颜色通道数

2. m - 中间变量维度:

  • m 经常用来表示神经网络中间层的大小,即隐藏层神经元数量
  • 神经元:在神经网络中,无论是隐藏层还是输出层层的“单元”数通常就是指该层中神经元的数量

3. k - 输出结果维度:

  • 通常指的是输出层的维度,即分类任务中的类别数量
  • 在多类分类问题中,如果模型需要预测10个不同的类别,那么 k = 10

2.4 VC维  衡量模型容量

二维输入

  • 例如简单线性模
  • 线性模型试图找到一条直线来分割数据
  • 寻找一个输入一个输出之间的关系

三维输入

  • 例如XOR
  • XOR试图找到两条直线来分割数据
  • 寻找两个输入一个输出之间的异或关系

李沐老师:

  • VC维只是理论拓展,能够一定程度解释模型
  • VC维很少用到深度学习上

2.5 数据复杂度

李沐老师:

  • 相比模型复杂度,数据复杂度更不好衡量啦!
  • 判断复杂与否,更多的是靠 (调参) 经验,靠比较 (不同数据集) 的出来的
  • 自动机器学习AutoML包含自动调参)还在路上

3. 代码样例 (过拟合 vs. 欠拟合)

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

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

相关文章

nginx如何拦截未经授权的跳转

nginx如何拦截未经授权的跳转 背景准备好一个网站准备好引用网站配置nginx拦截效果 背景 在现实工作中往往有一些企业或人未取得授权但是转载或挂载我们的网址。那么有些要求严格或者有其他原因的情况下不希望这些链接正常访问。所以就有了这样的需求。前提是咱们的网站什么的是…

linux网络编程7

24.9.24学习目录 一.网络通信过程(续)1.路由器 二.原始套接字(SOCK_RAW)1.创建原始套接字2.数据包解析 一.网络通信过程(续) 1.路由器 路由器是用于连接多个逻辑上分开的网络; 具有判断网络地…

谷歌收录查询工具,有哪些常见的可以查询谷歌收录情况的工具

在SEO(搜索引擎优化)领域中,了解网站在谷歌搜索引擎中的收录情况是至关重要的。这有助于网站所有者评估网站的可见性和优化效果。以下是一些常见的、可用于查询谷歌收录情况的工具,它们各自具有独特的功能和优势。 1.GoogleSe…

Vue2是什么?有什么用?超详细+通俗易懂版!

Vue2是一种流行的JavaScript前端框架,由尤雨溪(Evan You)开发,并于2014年首次发布。它旨在使用户能够更轻松地构建用户界面,具有一系列显著的特点和优势,使其成为前端开发领域的重要工具。 Vue2的主要特点包…

VMWare虚拟机键盘卡顿

文章目录 环境问题解决办法参考 环境 Windows 11 家庭中文版VMware Workstation 17 ProUbuntu 24.04.1 问题 最近新入手了一台电脑台式机,型号是联想拯救者刃7000K,自带Win11家庭版。主机的CPU是第14代英特尔酷睿i9处理器,异构24核32线程。…

​无文字高德电子地图分享

如果你有对高德的电子地图进行过自定义加载,你应该知道高德的电子地图是有带文字标注的,这里为你分享无文字版高德电子地图。 普通电子地图 打开下面的网址进入水经微图(简称“微图”)网页版。 https://map.wemapgis.com 点击…

力扣题解2207

大家好,欢迎来到无限大的频道。 今日继续给大家带来力扣题解。 题目描述(中等)​: 字符串中最多数目的子序列 给你一个下标从 0 开始的字符串 text 和另一个下标从 0 开始且长度为 2 的字符串 pattern ,两者都只包…

DataWhale X 南瓜书学习笔记 task03笔记

对数几率回归 使用场景:分类任务。根据广义线性模型,分类任务构建模型的基本思想:找到一个单调可微函数将分类任务的真实标记(值)与线性回归模型的预测值联系起来。 对数几率回归的引入 二分类任务 输出标记&#…

windows下成功运行MicroRTS-Py项目

1.microRTS(java) microRTS是java写的跨平台的小型即时战略模拟器。 Farama-Foundation/MicroRTS: A simple and highly efficient RTS-game-inspired environment for reinforcement learning (github.com)https://github.com/Farama-Foundation/Micr…

828华为云征文|华为云Flexus X实例:极速搭建个人代码仓库GitLab平台

目录 前言 一、Flexus云服务器X介绍 1.1 Flexus云服务器X实例简介 1.2 Flexus云服务器X实例特点 1.3 Flexus云服务器X实例使用场景 二、Flexus云服务器X购买 2.1 Flexus X实例购买 2.2 重置密码 2.3 登录服务器 三、Flexus X 实例安装GitLab 3.1 GitLab镜像下载 3.2 GitLab部署…

Arthas mbean(查看 Mbean 的信息)

文章目录 二、命令列表2.1 jvm相关命令2.1.10 mbean(查看 Mbean 的信息)举例1:列出所有 Mbean 的名称:举例2:查看 Mbean 的元信息:举例3:查看 mbean 属性信息:举例4:mbea…

游戏化在电子课程中的作用:提高参与度和学习成果

游戏化,即游戏设计元素在非游戏环境中的应用,已成为电子学习领域的强大工具。通过将积分、徽章、排行榜和挑战等游戏机制整合到教育内容中,电子课程可以变得更具吸引力、激励性和有效性。以下是游戏化如何在转变电子学习中发挥重要作用&#…

基于Vue3组件封装的技巧分享

本文在Vue3的基础上针对一些常见UI组件库组件进行二次封装,旨在追求更好的个性化,更灵活的拓展,提供一些个人的思路见解,如有不妥之处,敬请指出。核心知识点$attrs,$slots 需求 需求背景 日常开发中,我们经…

【React】(推荐项目)使用 React、Socket.io、Nodejs、Redux-Toolkit、MongoDB 构建聊天应用程序 (2024)

使用 React、Socket.io、Nodejs、Redux-Toolkit、MongoDB 构建聊天应用程序 (2024) 学习使用 React、Socket.io、Node.js、Redux-Toolkit 和 MongoDB 构建响应式实时消息聊天应用程序。这个项目涵盖了从设置到实施的所有内容,提供了宝贵的见解和实用技能。无论您是…

P2568 GCD(GCD求和的常用变化 欧拉函数)

通过/p改变为互质的情况 维护欧拉函数前缀和即可。 GCD - 洛谷 #include<bits/stdc.h> using namespace std; const int N 1e78; vector<int> pri; bool not_prime[N]; long long phi[N]; long long sum[N]; void pre(int n) {phi[1] 1;for (int i 2; i < …

plt常用函数介绍一

目录 前言plt.figure()plt.subplot()plt.subplots()plt.xticks()plt.xlim() 前言 Matplotlib是Python中的一个库&#xff0c;它是数字的-NumPy库的数学扩展。 Pyplot是Matplotlib模块的基于状态的接口。在Pyplot中可以使用各种图&#xff0c;例如线图&#xff0c;轮廓图&#…

关于区块链的安全和隐私

背景 区块链技术在近年来发展迅速&#xff0c;被认为是安全计算的突破&#xff0c;但其安全和隐私问题在不同应用中的部署仍处于争论焦点。 目的 对区块链的安全和隐私进行全面综述&#xff0c;帮助读者深入了解区块链的相关概念、属性、技术和系统。 结构 首先介绍区块链…

AI大模型项目实战v0.2: 结合个人知识库

前言 在AI大模型项目实战v0.1版本中&#xff0c;我们实现了一个最简单的基于纯LLM的问答机器人Tbot。 今天升级到v0.2版本&#xff0c;结合个人知识库。 本系列每个版本&#xff0c;都将提供完整的代码文档&#xff0c;获取方法见文末。 下面开启我们的v0.2版本之旅。 v0.2 Tb…

如何用AI实现自动更新文章?(全自动更新网站)

AI的诞生确实给我们的生活和工作都带来了很大的改变&#xff0c;从我自身来讲&#xff0c;也渐渐习惯了遇到事情先问问AI&#xff0c;不管是翻译、专业性问题、PPT制作、总结写作这些&#xff0c;确实帮我迅速理清了思路&#xff0c;也可以有很多内容的借鉴。 作为一个业余爱好…

力扣 简单 206.反转链表

文章目录 题目介绍题解 题目介绍 题解 法一&#xff1a;双指针 在遍历链表时&#xff0c;将当前节点的 next 改为指向前一个节点。由于节点没有引用其前一个节点&#xff0c;因此必须事先存储其前一个节点。在更改引用之前&#xff0c;还需要存储后一个节点。最后返回新的头引…