3.1.3 训练/开发/测试集的问题以及注意事项

训练/开发/测试集划分

开发集我们称之为development set,有时候也称之为保留交叉验证集。机器学习的流程是,你尝试很多的思想,然后用训练集训练不同的模型,使用开发集来评估不同的思路,选择一个,之后不断迭代去改善开发集的性能,直到最后你可以得到一个令你满意的成本,之后用测试集去评估。

数据集和测试集的划分一个非常非常重要的原则就是一定满足同一分布。

这里写图片描述

如图所示,如果我们要8个不同国家,最好不要四个国家划分为一组,而是把数据全部打散,均匀的划分。

不要花很多时间来瞄准一个目标,针对靶心不断优化,然后等到测试的时候说,我们用其他靶来测试。

开发集和测试集的大小

这里写图片描述

这里写图片描述

什么时候该改变开发/测试集和指标

这里写图片描述

注意这个公式里面的L表示的是一个函数,而不是逻辑回归或者别的。

这里写图片描述

这个函数写成类似于

1w(i) 1 ∑ w ( i )

这种形式是为了归一化处理,这样能够保证最终的误差值在0和之间。

如果你对于算法的旧误差指标不满的话,比如说像上面出现色情图片,那么就需要重新设计新的指标。比如说,上面那个5%的误差率在实际情况中就会更好。

吴教主深度学习和神经网络课程总纲


版权声明:本文为Einstellung原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。