寻找最优超参数是一个迭代过程

在今天,应用深度学习是一个典型的迭代过程。

创建高质量的训练数据集、验证集和测试集,有助于提高循环效率。

训练集、验证集和测试集

数据Data分为三部分:

  • 训练集trainning set
  • 简单交叉验证集hold-out cross validation set(development set)(dev set):检验哪种算法(或模型)更有效,尽可能优化性能
  • 测试集test set:对最终选定的神经网络系统做出无偏评估。

接下来我们对训练集执行训练算法,通过验证集(简单交叉验证集)选择最好的模型。选择完毕后在测试集上评估。

对于小数据量(100~10000),可以把数据70(trainning set):30(test set),或者60(trainning set):20(dev set):20(test set)。
对于大数据量(百万级别),验证集和测试集占数据总量的比例会趋于变得更小。因为验证集的目的就是检验哪种算法更有效,所以我们可能不需要拿出20%的数据作为验证集。(1000000-10000-10000)

在实际应用中,如果不同的数据集来源不同,会导致各数据集之间的不同分布。这种情况应该避免(即确保验证集和测试集的数据来自同一分布)。

如果验证集和测试集来自同一分布,但由于深度学习算法需要大量的训练数据,为了获取更大规模的训练数据集

如果不需要对神经网络系统做出无偏评估,则只有验证集dev set,没有测试集test set也OK

偏差(Bias)和方差(Variance)

这是两个易学难精的概念,easy to learn but difficult to master.

关于深度学习的误差问题,另一个趋势是对偏差、方差的权衡研究甚浅。

偏置bias和方差variance的介绍


从左到右依次为:

  • 欠拟合underfitting、高偏差high bias
  • 正好
  • 过拟合overfitting、高方差high variance


需要注意的是,这里有两个假设条件:

  • 出错率约等于0,所以才把10%以上的出错率定为高。(一般来说,最优误差被称为贝叶斯误差)
  • trainning set和dev set同分布。

高方差(过拟合overfitting)的表现为测试集test data错误率远高于训练集trainning set,即过度拟合训练集导致缺少泛化能力。
高偏差(欠拟合underfitting)的表现为训练集的错误率就很高,即神经网络没有完全得到训练。
所以从左到右依次为:

  • 高方差high variance
  • 高偏差high bias
  • 高方差high variance + 高偏差high bias
  • 低方差low variance + 低偏差low bias


紫色的线标出的为high bias + high variance的情况,近似的线性分类器导致了high bias,加上过度拟合了部分数据。

实现低方差low variance + 低偏差low bias的方法


在深度学习的早期阶段,很难做到只减少bias或variance而不影响到另外一方。
但在当前深度学习和大数据时代,只要持续训练一个更大的网络,只要准备了更多数据(当然也并非只有这两种情况,我们假定是这样)。
只要正则适度,通常来说构建一个更大的网络便可以在不影响variance的同时来减少bias。
而采用更多数据通常可以在不过多影响bias的同时减小variance。

这样我们就得到了一个非常规范化(well regularize)的网络。
通过正则化regularization,训练一个更大的网络而几乎没有任何负面影响。训练一个大型神经网络的主要代价也只是计算时间,当然前提是网络是规范化regularized的。

正则化regularization是一种非常实用的减少方差variance的方法。 虽然bias可能会略有增加,但如果网络足够大,bias的增幅通常不会太高。

吴恩达神经网络和深度学习-学习笔记-6-训练集、验证集和测试集 + 偏差bias和方差variance相关推荐

  1. 吴恩达神经网络与深度学习——深度神经网络

    吴恩达神经网络与深度学习--深度神经网络 深度神经网络 符号 前向传播 矩阵维度 m个样本 为什么使用深层表示 搭建深层神经网络块 正向传播和反向传播 前向和反向传播 前向传播 反向传播 参数和超参数 ...

  2. 吴恩达神经网络和深度学习

    [前言] 在学习了深度学习和神经网络之后,为什么我要以博客的形式来做笔记?这CSDN有那么多的优秀文章,我自己写的都比不上 别人的我写的真的有意义吗,为什么我要浪费大量的时间去做这项工作?我相信一句话 ...

  3. 吴恩达神经网络与深度学习——浅层神经网络

    吴恩达神经网络与深度学习--浅层神经网络 神经网络概述 神经网络表示 计算神经网络的输出 m个样本的向量化 for loop 向量化 向量化实现的解释 激活函数 sigmoid tanh函数 ReLu ...

  4. 吴恩达神经网络和深度学习-学习笔记-38-使用开源的方案+迁移学习+数据增强data augmentation

    使用别人的开源成果 想要用现成的网络,最好在网络上找到开源的实现,这要比从头开始实现快得多. 比如:直接在Google上搜索resnets github,找到合适的后点击下载会得到URL,然后在cmd ...

  5. 吴恩达神经网络和深度学习-学习笔记-28-端到端的深度学习(end-to-end deep learning )

    深度学习最令人振奋的最新动态之一,就是端到端深度学习end-to-end deep learning的兴起. 什么是"端到端深度学习" 以前有一些数据处理系统或学习系统,它们需要多 ...

  6. 吴恩达神经网络和深度学习-学习笔记-8-梯度消失与爆炸 + 梯度检测

    梯度消失与爆炸 介绍 直观理解是: 权重W只比1(即单位矩阵)大一点,深度神经网络的激活函数将爆炸式增长. 权重W只比1(即单位矩阵)小一点,深度神经网络的激活函数将指数式递减. 虽然我(吴恩达老师) ...

  7. 吴恩达-神经网络和深度学习课程-学习心得(一)

    前言: 陆陆续续学完了吴恩达老师在网易云课堂上开设的深度学习工程师微专业的部分内容(01.神经网络与深度学习,04.卷积神经网络,02.改善深层神经网络),在进一步应用实践之前,对之前的学习的内容做个 ...

  8. 吴恩达神经网络和深度学习-学习笔记-39-计算机视觉现状

    Data vs hand-engineering 你可以把大部分的机器学习问题看成是在你的数据相对较少的地方,应用到你拥有大量数据的地方. 我们今天有相当数量的语音识别数据,至少相对于这个问题的复杂性 ...

  9. 吴恩达神经网络和深度学习-学习笔记-22-误差分析

    单一误差分析 假设我们面对一个猫分类器的准确率不够的原因. 队友看了一下算法分类出错的例子,注意到算法将一些够狗分类为猫. 在这种条件下,我们应不应该做一个项目专门处理狗?比如搜集更多的狗的图片,或者 ...

最新文章

  1. 趣话题:底层码农的心酸,那么我们 如何避免成为底层码农呢?
  2. 引入Spacy模块出错—OSError: [E941] Can‘t find model ‘en‘.
  3. 计组-CISC/RISC小节
  4. 2.Strings and Console Output(字符串与输出)
  5. usaco-sprime-superprime-pass
  6. html 浮动窗口置顶,jQuery简单实现页面元素置顶时悬浮效果示例
  7. LeetCode 12. Integer to Roman
  8. 对话框控件访问七种方式
  9. MYSQL数学函数哪些事
  10. Python学习指南——1.常用库说明
  11. SMA、SPI、LTE
  12. 网游无间道:你所忽略的托儿
  13. java程序的结构与类型实验报告_20172301 《Java软件结构与数据结构》实验三报告...
  14. 五、嵌入式学习笔记--GPIO接口
  15. Java获取WiFi ssid_如何在Flutter中获取当前连接的wifi的wifi名称(SSID)
  16. 弹弹堂 网页游戏 单机自玩 搭建教程
  17. Python实现1-100猜数字游戏
  18. NOIP 2016 天天爱跑步
  19. IDEA之翻译器的妙用Translation
  20. Clean Code 读书笔记三——方法(函数)

热门文章

  1. Unity VR开发出语音识别功能
  2. 一种基于语音识别的机器人语义识别系统的制作方法
  3. 工业上 计算机控制系统分为哪两大类,控制仪表及装置——考试复习题
  4. 微信小程序获取 openid
  5. 【链表】牛客网:链表删除
  6. python findall函数_Python正则表达式
  7. 虚拟linux无线网卡驱动安装失败,救命1 :Atheros AR5212无线网卡驱动安装失败!!...
  8. 解决MySQL删除和插入数据很慢的问题
  9. Tomcat报错 严重: A child container failed during start
  10. 【编辑器】用CodeRunner打造VScode的C++开发环境