您现在的位置: 首页 > 网站导航收录 > 百科知识百科知识
机器学习中训练集、验证集(开发集)、测试集如何划分?需要注意什么?
数据,测试,模型机器学习中训练集、验证集(开发集)、测试集如何划分?需要注意什么?
发布时间:2020-12-06加入收藏来源:互联网点击:
机器学习中训练集、验证集(开发集)、测试集如何划分?需要注意什么?
回答于 2019-09-11 08:43:50
回答于 2019-09-11 08:43:50
首先要明白训练集、验证集、测试集的含义,简单来说:
1. 训练集是用来training模型,调整对应的parameters(例如weights)
2. 验证集是用来tuning模型的 hyperparameters(例如architecture,训练前就已经决定好的parameters,例如有多少hiden layers,这也是它也被称为开发集的原因)
3. 测试集用来获得最终模型的performance,例如正确率等
有个这个常识,就知道怎么划分了,譬如你有一个数据集,首先要做一下
shuffle,划分之前要保证三个数据集有相同的数据分布,如下图,有这个基础,测试和验证集才有意义。
至于怎么划分,需要看具体的case,参考斯坦福大学的deep learning课程 https://cs230-stanford.github.io/train-dev-test-split.html,没有具体的标准,不过尽量让验证集和测试集不要太少,例如1000000图片集,验证和测试不要低于10000,即1%,如果数据量不够大的话,通常会按照80-10-10的比例:
注意:random不是完全随机,需要保证reproducible
好了,关于这个话题就说到这里,遇到类似的问题,怎么样找到合适的答案,首先要找第一手资料,不要去在百度上乱搜一气,最好直接找到基础资料,本例中就是用Stanford学校的课程作为输入,就不会走偏了。
欢迎关注“行知漫步”,一起学习、探讨新技术应用
回答于 2019-09-11 08:43:50
数据多就28 数据少就37 验证数据随便拉
上一篇:一汉当五胡,古典中华帝国的绝对军事优势是如何建立起来的?
下一篇:返回列表
相关链接 |
||
网友回复(共有 0 条回复) |