我是靠谱客的博主 和谐发夹,最近开发中收集的这篇文章主要介绍深度学习中 shuffle 的作用什么是shuffle模型训练过程中是否需要shuffleshuffle重要性总结,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
什么是shuffle
shuffle(洗牌、混乱),shuffle在机器学习与深度学习中代表的意思是,将训练模型的数据集进行打乱操作。原始的数据,在样本均衡的情况下可能是按照某种顺序进行排列,如前半部分为某一类别的数据,后半部分为另一类别的数据。但经过打乱之后的数据排列就会拥有一定的随机性,在顺序读取的时候下一次得到的样本为任何一类的数据的可能性相同。
模型训练过程中是否需要shuffle
shuffle 是一种训练技巧,因为机器学习其假设和对数据的要求就是要满足独立同分布。所以任何样本的出现都需要满足随机性。所以在数据有较强的人为次序特征的情况下,shuffle显得至关重要。
但是模型本身就为序列模型,则数据集的次序特征为数据的主要特征,并且模型需要学到这种次序规律时,则不可以使用shuffle。否则会将数据集中的特征破坏。
shuffle重要性
- Shuffle可以防止训练过程中的模型抖动,有利于模型的健壮性
假设训练数据分为两类,在未经过Shuffle的训练时,首先模型的参数会去拟合第一类数据,当大量的连续数据(第一类)输入训练时,会造成模型在第一类数据上的过拟合。当第一类数据学习结束后模型又开始对大量的第二类数据进行学习,这样会使模型尽力去逼近第二类数据,造成新的过拟合现象。这样反复的训练模型会在两种过拟合之间徘徊,造成模型的抖动,也不利于模型的收敛和训练的快速收敛 - Shuffle可以防止过拟合,并且使得模型学到更加正确的特征
NN网络的学习能力很强,如果数据未经过打乱,则模型反复依次序学习数据的特征,很快就会达到过拟合状态,并且有可能学会的只是数据的次序特征。模型的缺乏泛化能力。
如:100条数据中前50条为A类剩余50条为B类,模型在很短的学习过程中就学会了50位分界点,且前半部分为A后半部分为B。则并没有学会真正的类别特征。 - 为使得训练集,验证集,测试集中数据分布类似
总结
在针对随机性敏感的数据集上,shuffle的作用主要有两点:
- 提升模型质量
- 提升预测表现
原文链接:https://blog.csdn.net/qq_19672707/article/details/88864207
最后
以上就是和谐发夹为你收集整理的深度学习中 shuffle 的作用什么是shuffle模型训练过程中是否需要shuffleshuffle重要性总结的全部内容,希望文章能够帮你解决深度学习中 shuffle 的作用什么是shuffle模型训练过程中是否需要shuffleshuffle重要性总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复