机器学习年鉴总结之数据集

三个数据集:

1.训练数据集 — 用来训练你的算法模型

2.开发数据集 — 用于调整学习模型,比如调整参数、选择特征等。这部分数据也称 作预留 交叉验证数据集。

3.测试数据集 — 用于评估模型性能,这部分数据集不参与模型调整和参数更新。

  • 选择最终实际要用的数据,作为开发和测试样本集。
  • 使用同一分布的开发和测试数据集。
在开发测试集上表现很好,但是在测试集上表现得并不理想。
  • 如果你的开发数据集和测试数据集的分布是一致时,这时你会有非常明确得错误诊断方法, 即:你的模型在开发数据集上发生了过拟合。这时解决方案也很清楚,增加开发数据集中得 样本数量即可。
  • 但是如果开发数据集和测试数据集的分布不一致时,解决方案就会不那么清晰了。产生这种错误的原因可能有以下几种:
    • 模型在开发数据集上发生了过拟合。
    • 测试数据更难处理和预测,你的算法可能和预期是一致的,此时没有显著提升性能的可能性了。
    • 测试数据也肯能不是更难,只是与开发数据集中的数据不同。所以在开发数据集上表现很好的模型, 在测试数据集上却并不管用,此时你在开发数据集上,所做的任何努力都白费了。
总结:构建开发和测试数据集

1.选择与实际数据(或你期望的数据)一致的开发和测试数据集,这些数据可能与你的训练数据不 同 。

2.开发数据集和测试数据集中的数据分布应当一致 。

3.选择单值衡量指标作为你的团队优化目标,如果要考虑多个目标,可以通过一个表达式(比如求平均)将多个指标合并成一个指标,也可以把指标分为约束性指标和优化性指标。 比如,为文件大小和执行时间设置一 个阈值,然后在此基础上,尽量优化准确率。

4.机器学习是一个高速迭代的过程,在目标满足前,你可能需要尝试数十个想法 。

5.拥有开发/测试集和单值衡量指标后,可以让你快速评估你的算法,从而加速迭代 。

6.当开始一个全新的应用时,尽量在一周内,快速的建立开发/测试集和衡量指标。如果时成熟的应用,花长一点时间也没关系。

7.当你有非常多的数据时,将数据按 7:3 的比例分成训练和测试样本集并不合适,此时开发和测试样本集中的数量要远低于 30% 。

8.你需要有足够大的开发数据集(但也不要太大),让你能看出算法精度上有意义的改变。测试样本集中的数据要尽可能的多,这样评估出的结论才能让人信服。

9.如果你的开发数据集和评估指标,已经不能再给你的团队指明正确的方向了,那你需要迅速的改变它们:

1).当开发数据集上发生过拟合时,此时添加更多的数据到开发数据集中

2).如果真实的数据与开发/测试集中的数据不一致时,更新开发/测试数据集即可

3).如果衡量指标不能衡量你所关心的最重要事情,则需要更换衡量指标

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值