神经网络与深度学习笔记训练集

Posted 沧夜2021

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了神经网络与深度学习笔记训练集相关的知识,希望对你有一定的参考价值。

前言

接下来的更新是第二课的内容了:

Improving Deep Neural Networks: Hyperparameter Tuning, Regularization and Optimization

主要的内容是提升深度神经网络的效率

设计前准备

设计实现一个神经网络之前,我们需要考虑什么问题?

  • layers 层数
  • hidden units 隐藏单元
  • learning rates 学习率
  • activation functions 激活函数

然而现实是,你想要一开始就确定以上参数的最优解,基本是不可能的。

哪怕你是经验无比丰富也要慢慢调参。

所以深度学习模型的构建其实一个高度的反复迭代的过程。

训练集,开发集,测试集

train 训练集,用于训练模型

dev 开发集(交叉训练集),用于测试模型

test 测试集,用于评估模型

上个时代的机器学习

上个时代的机器学习,由于数据量不多,所以对三个集的数据划分一般是:

traindevtest
70%30%
60%20%20%

第一行的train 70%,test 30%,又称为 70/30 训练测试分割

大数据时代

在如今的大数据时代,数据的量级已经不是当年的那点点了,动则上万,上十万,上百万的数据。

这样规模的数据训练过程中,我们可以把更多的数据用于训练集训练模型,仅仅将少量的数据用于开发集与测试集即可

traindevtest
98%1%1%
99.5%0.25%0.25%
99.5%0.4%0.1%

数据集不匹配

在设计的过程中,数据集的来源可能不相同

比如在网站上使用爬虫爬取的高清图片和在app上获取到压缩图片。两种数据集就存在分布不匹配的问题

一般来讲:

训练集 train 与 测试集 test 不匹配是可以的

但是要保证开发集 dev 和测试集 test 的分布相同

没有测试集的情况

没有测试集也是可以的

实际上,测试集给的是无偏估计来评估模型的性能

如果不需要无偏估计,没有测试集也是没有问题的

在没有测试集的情况下,

我们用训练集来尝试不同的模型结构

用开发集评估它们的性能,根据评估的结果对模型进行迭代。

以上是关于神经网络与深度学习笔记训练集的主要内容,如果未能解决你的问题,请参考以下文章

吴恩达-深度学习-课程笔记-6: 深度学习的实用层面( Week 1 )

深度学习笔记:利用预训练模型之特征提取训练小数据集上的图像分类器

深度学习笔记_Keras六步法搭建网络

《Python深度学习》第五章-3(预训练)读书笔记

「深度学习一遍过」必修7:模型训练验证与可视化

Pysyft学习笔记四:MINIST数据集下的联邦学习(并行训练与非并行训练)