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

举报
陈沧夜 发表于 2022/04/30 23:31:05 2022/04/30
【摘要】 文章目录 前言设计前准备训练集,开发集,测试集上个时代的机器学习大数据时代 数据集不匹配没有测试集的情况 前言 接下来的更新是第二课的内容了: Improving Deep N...

前言

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

Improving Deep Neural Networks: Hyperparameter Tuning, Regularization and Optimization

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

设计前准备

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

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

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

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

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

训练集,开发集,测试集

train 训练集,用于训练模型

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

test 测试集,用于评估模型

上个时代的机器学习

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

train dev test
70% 30%
60% 20% 20%

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

大数据时代

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

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

train dev test
98% 1% 1%
99.5% 0.25% 0.25%
99.5% 0.4% 0.1%

数据集不匹配

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

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

一般来讲:

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

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

没有测试集的情况

没有测试集也是可以的

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

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

在没有测试集的情况下,

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

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

文章来源: blog.csdn.net,作者:沧夜2021,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/CANGYE0504/article/details/118424893

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。