吴恩达深度学习学习笔记——C3W1——机器学习策略1-2

1.5 训练集、开发集和测试集的划分

训练集和开发集应该具有相同的分布(可通过随机化实现)

 

真实的失败案例:在中等收入地区邮编数据上开发(验证),却在低收入地区邮编上测试,浪费了3个月左右的时间

建议:训练集和开发集应该具有相同的分布

 

1.6 开发集和测试集的大小

旧的划分方法(70%训练数据,30%测试数据)在如今的大数据时代不再适用

 

开发集应尽可能大

 

测试集也应尽可能大

详细说明:开发集和测试集的划分

1.7 什么时候应该改变开发、测试集和指标?

准确率高的算法不一定满足需求,比如,识猫应用中,算法A的识别率虽然高于算法B,却将不少色情图像错误识别为猫,不符合需求。此时,可在在损失函数中增加权重项,提高对色情图像错误分类结果的惩罚度(penalty),从而让算法A的指标劣于算法B

 

识猫应用中的正交化:两步走策略,首先确定目标(target),其次,优化指标

 

另一个示例:开发集上表现较好(由于图片质量高(清晰)、取景良好等因素,识别效果好),但实际应用效果不太好(由于用户拍摄的照片不够清晰等因素,识别效果差),此时,应考虑调整优化指标、训练集、测试集

 

详细说明:

1.8 为什么要考虑人类的表现?

贝叶斯误差(bayes error)是指在现有特征集上,任意可以基于特征输入进行随机输出的分类器所能达到最小误差。人类水平和机器水平都无法超越贝叶斯误差,产生贝叶斯误差的本质原因是特征集不足以推理出准确预测值,否则贝叶斯误差为0。

 

为什么要和人类水平进行比较?人类擅长多种任务,只要机器学习的表现逊于人类,就可以借助人类劳动来提高机器学习的表现。如,让人类来标注数据,分析误差因素,更好地分析偏差和方差

猜你喜欢

转载自blog.csdn.net/hpdlzu80100/article/details/113653561