【深度学习笔记1】如何建立和确定模型正确性?如何优化模型?

近期看了吴恩达的一本书,关于如何建立和确定优化模型?里面有个人认为需要学习的地方,故做笔记:

1.模型训练一共有三个数据集:训练集、开发集(验证集)、测试集。开发集不能太小,通常在1000-10000,并且测试集属于同一分布;
2.过拟合:训练过程中开发集的准确率和测试集测试的准确率差别不大,若开发集比测试集大很多的话,那就是过拟合了。也就是说,只对训练数据识别效果好,但对外部数据识别不好;
3.欠拟合:参考过拟合,也就是训练模型对开发集和测试集效果都不好;
• 被选择作为开发集和测试集的数据,应当与你未来计划获取并对其进行良好处理的数据有
着相同的分布,而不一定和训练集的数据分布一致。
• 开发集和测试集的分布应当尽可能一致。
• 为你的团队选择一个单值评估指标进行优化。
• 当需要考虑多项目标时,不妨将它们整合到一个表达式里(比如对多个误差指标取平均)
,或者设定满意度指标和优化指标。
• 机器学习是一个高度迭代的过程:在出现最终令人满意的方案之前,你可能要尝试很多想
法。
• 拥有开发集、测试集和单值评估指标可以帮助你快速评估一个算法,从而加速迭代进程。
• 当你要探索一个全新的应用时,尽可能在一周内建立你的开发集、测试集和评估指标;而
在已经相对成熟的应用上,可以考虑花费更长的时间来执行这些工作。
• 传统的 70% / 30% 训练集/测试集划分对于大规模数据并不适用,实际上,开发集和测试
集的比例会远低于 30%.
• 开发集的规模应当大到能够检测出算法精度的细微改变,但也不需要太大;测试集的规模
应该大到能够使你能对系统的最终性作出一个充分的估计。
• 当开发集和评估指标对于团队已经不能提供一个正确的导向时,尽快修改它们:(i) 如果算
法在开发集上过拟合,则需要获取更多的开发集数据。(ii) 如果开发集与测试集的数据分布
和实际数据分布不同,则需要获取新的开发集和测试集。 (iii) 如果评估指标无法对最重要
的任务目标进行度量,则需要修改评估指标。。

原文地址:https://www.cnblogs.com/ggYYa/p/9907551.html