之前小编就给大家提过正则化(超链接),其实还有很多定义大家是有点模糊又有点清楚的,今天好好带大家一起捋一遍~~

1训练集、验证集、测试集

正确地配置训练、验证和测试数据集,会很大程度上帮助大家创建高效的神经网络。即使是深度学习专家也不太可能一开始就知道匹配度最高的参数,深度学习网络需要多次循环往复,才能为应用程序找到最佳的神经网络,因此循环该过程的效率是决定项目进展速度的一个关键因素,而创建高质量的训练数据集,验证集和测试集也有助于提高循环效率。

在机器学习发展的小数据量时代,常见做法所有数据中存在70%的验证集,剩下的30%作为测试集,如果没有明确设置验证集的话,可以将训练集、验证集、测试集以3:1:1的标准划分。(这点小编应该也在之前的机器学习系列中给大家普及过)而当涉及大量数据的时候,验证集和测试集占数据总量的比例会趋向于变得更小。(没错,验证集的目的就是验证不同的算法,检验哪种算法更有效,因此,验证集要足够大才能评估,而因为我们的数据总量是巨大的,因此即使验证集所占的比例很小,但是其数据量也是可观的)。所以当数据集规模较大的,验证集和测试集要小于数据总量的20%或10%。

当然,小编这里还有两个小TIPS,大家可以细品一下:

1.尽可能使验证集和测试集的数据来自同一分布;

2.就算没有测试集也无伤大雅,只需要在训练集上训练,尝试不同的模型框架,在验证集上评估这些模型,然后迭代并选出适用的模型。

1.2 偏差,方差

假设给上图中的数据集拟合一条直线,可能会得到一个逻辑回归拟合,但是并不能很好地拟合该数据,这就是高偏差(high bias)的情况,即欠拟合。

而如果拟合一个非常复杂的分类器适用于这个数据集,这时候就可能会出现方差较高(high variance),数据过度拟合(overfitting)的现象。

当然,介于欠拟合与过拟合之间也会存在适度拟合(just right)的情况,使得数据拟合看起来更加合理。

理解偏差和方差的两个关键数据是训练集误差(Train set error)和验证集误差(Dev set error)。

1.假定训练集误差是1%,验证集误差是11%,可以看出训练集设置得非常好,而验证集设置相对较差,可能过度拟合了训练集,像这种情况,我们称之为“高方差”。

2.假设训练集误差是15%,验证集误差是16%,算法并没有在训练集中得到很好训练,如果训练数据的拟合度不高,就是数据欠拟合,就可以说这种算法偏差比较高。另一方面,它对于验证集产生的结果却是合理的,验证集中的错误率只比训练集的多了1%。

3.训练集误差是15%,偏差相当高,同时验证集的错误率达到30%,这样一来方差也很高。

4.最匹配的结果模型:训练集误差是0.5%,验证集误差是1%,偏差和方差都很低。

1.3 处理方法

因此当初始模型训练完成后,我们首先需要知道算法的偏差高不高,如果较高,甚至无法拟合训练集,那么我们就需要毫不犹豫地选择一个或多个新的网络。

采用规模更大的网络,延长训练时间也可以试试看,直到解决偏差问题,实现数据拟合。

如果偏差降低到可以接受的数值,查看验证集性能检查方差,如果方差高,那就是采用更多数据来解决问题,当然无法增加数据,那么就可以采用我们之前提到的正则化来减少过拟合。

1.4 正则化如何预防过拟合

为什么正则化可以减少方差问题?这里可以具体给大家讲解一下:

左图是高偏差,右图是高方差,中间是恰好合适。

假设上图为一个过拟合的神经网络,代价函数J,含有参数W,b。添加正则项避免数据权值矩阵过大。

如果正则化设置得足够大,权重矩阵W被设置为接近于0的值,将多隐藏单元的权重设为0,消除了隐藏单元的影响。如果是这种情况,神经网络会变成一个很小的网络,小到如同一个逻辑回归单元,可是深度却很大,使网络从过度拟合的状态更接近左图的高偏差状态。但是会存在一个中间值,于是就会有一个接近“Just Right”的中间状态。

假设使用的是双曲线激活函数。

用g(z)表示tanh(z),只要z非常小,激活函数开始变得非线性。

如果正则化参数λ很大,激活函数的参数会相对较小,因为代价函数中的参数变大了,如果W很小,z也会很小。

总结来说,如果正则化参数变得很大,参数W很小,z也会相对变小,此时忽略b的影响,z会相对变小。激活函数tanh曲线函数会相对呈线性,整个神经网络会计算离线性函数近的值,不会发生过拟合。

当然啦,正则化我们之前只是做了比较简单的介绍,下期我们进行更加详细的介绍~再会!

【MindSpore易点通】深度学习系列-那些介于模糊与清楚之间的一些概念相关推荐

  1. 深度学习系列:深度学习在腾讯的平台化和应用实践

    深度学习系列:深度学习在腾讯的平台化和应用实践(一) 莫扎特 2015-01-04 6:05:13 大数据技术 评论(0) 深度学习是近年机器学习领域的重大突破,有着广泛的应用前景.随着Google公 ...

  2. 《速通深度学习数学基础》

    目录 序 前言 第1章 线性代数的基本概念 1.1 向量和深度学习 1.2 向量距离计算 1.3 向量的基本性质 1.4 矩阵的基本概念 1.5 一些特殊的矩阵 第2章 线性代数在深度学习中的应用 2 ...

  3. 点云深度学习系列由浅入深之--SPLATNet: Sparse Lattice Networks for Point Cloud Processing

    点云深度学习系列由浅入深之--SPLATNet: Sparse Lattice Networks for Point Cloud Processing 0. SplatNet网络主要结构及模块 1. ...

  4. 【深度学习系列】——神经网络的可视化解释

    这是深度学习系列的第三篇文章,欢迎关注原创公众号 [计算机视觉联盟],第一时间阅读我的原创!回复 [西瓜书手推笔记] 还可获取我的机器学习纯手推笔记! 深度学习系列 [深度学习系列]--深度学习简介 ...

  5. 【深度学习系列】——深度学习简介

    这是深度学习系列的第一篇文章,欢迎关注原创公众号 [计算机视觉联盟],第一时间阅读我的原创!回复 [西瓜书手推笔记] 还可获取我的机器学习纯手推笔记! 直达笔记地址:机器学习手推笔记(GitHub地址 ...

  6. 【深度学习系列】卷积神经网络CNN原理详解(一)——基本原理(1)

    上篇文章我们给出了用paddlepaddle来做手写数字识别的示例,并对网络结构进行到了调整,提高了识别的精度.有的同学表示不是很理解原理,为什么传统的机器学习算法,简单的神经网络(如多层感知机)都可 ...

  7. python系列文章(基础,应用,后端,运维,自动化测试,爬虫,数据分析,可视化,机器学习,深度学习系列内容)

    python基础教程 python基础系列教程--Python的安装与测试:python解释器.PyDev编辑器.pycharm编译器 python基础系列教程--Python库的安装与卸载 pyth ...

  8. 点云深度学习系列博客(二): 点云配准网络PCRNet

    目录 一. 简介 二. 基础结构 三. 项目代码 四. 实验结果 总结 Reference 今天的点云深度学习系列博客为大家介绍一个用于点云配准的深度网络:PCRNet [1].凡是对点云相关应用有些 ...

  9. 辣鸡准备稍微碰一下深度学习系列(1/21)---上

    Hello Tensorflow(2.3.0)集ctrlCV之大成 -- MNIST 手写数字检测上 前BB MNIST数据集 一.是啥玩意? 二.怎么得到? 第一种:找大腿(keras) 第二种:伸 ...

最新文章

  1. php session 跨子域和跨服务器解决方式
  2. Vue采用input实现文件上传与删除
  3. mysql 数据库 文件夹_mysql 数据库 文件夹
  4. Javascript中操作cookie
  5. 3.Linux性能诊断 --- 快速检查单(10个命令) 监控
  6. oracle财务软件中出纳用,财务软件中:“出纳签字”功能在会计核算中的作用及操作步骤?...
  7. java 解析p12_java读取*.p12证书的信息
  8. php实现公众号支付demo,PHP微信公众号支付demo
  9. 单页面应用与多页面的区别与优缺点
  10. 我是如何记笔记的--谈谈自己的学习方法
  11. [UVa 1646] Edge Case
  12. 比较(==、equals、Comparable、Comparator)
  13. 三国志11武将资料整理版
  14. 9.20-9.30面试总结
  15. JQuery 中load、ready 和 onload 的区别
  16. Hi3516EV200进行H264/H265视频编码要点注意
  17. jqgrid使用分析
  18. JMeter官方文档阅读及实践笔记(上)
  19. iOS面试:主线程如何进行阻塞?
  20. Hibernate框架简述

热门文章

  1. ./和../以及/和~之间的区别
  2. 修改ro.debuggable用于调试安卓应用
  3. superset 二次开发之看板渲染为深色大屏(图表文字颜色更改)
  4. 【基于zxing的编解码实战】初识条形码
  5. 圆周率中包含你的生日吗
  6. 微型计算机 周明德,微机原理(周明德)课后题答案
  7. 04全志R58平台编译内核需要选择的配置
  8. 当添加对MEF插件项目的引用时,为什么会出现警告图标?
  9. 【学术渣杂谈】CCF-A类会议汇总(人工智能方向)
  10. Linux电源管理(四)CPUFreq