吴恩达神经网络和深度学习-学习笔记-22-误差分析

单一误差分析

假设我们面对一个猫分类器的准确率不够的原因。

队友看了一下算法分类出错的例子,注意到算法将一些够狗分类为猫。
在这里插入图片描述
在这种条件下,我们应不应该做一个项目专门处理狗?比如搜集更多的狗的图片,或者设计一些只处理狗的算法功能之类的,从而使得猫分类器在狗图上做得更好(狗不再被分类成猫)。

有一个误差分析流程,可以让我们很快知道这个方向是否值得努力。
在这里插入图片描述
首先收集比如100个标记错误的开发集(dev set)的例子。然后手动检查有多少错误标记的例子是狗。
假设100个例子中有5%的例子是狗,那么即使我们完全解决了狗的问题,你也只能修正错误例子中的5%,使得准确率从10%变为9.5%。(在机器学习中,我们有时称为性能上限the ceiling on performance)
在这种情况下,“做一个项目专门处理狗”并不是一个值得努力的方向。

另外,吴恩达老师对手动操作的评价:“我知道在机器学习中,有时候我们很鄙视手工操作,或者使用了太多的manual insight。但如果你要搭建应用系统,那这个简单的人工统计步骤和误差分析,可以节省大量的时间,可以迅速决定什么是最重要的或者最有希望的方向。”

multiple 误差分析

在这里插入图片描述
简单来说,包括下面这么几步:

  • 列出可以想到的优化思路
  • 列出一个表格,横轴为优化思路(可扩充)(+comments),纵轴为错误例子的标号
  • 遍历错误例子的标号,在相应的优化思路下打勾
  • 计算各个优化思路的比例

这样得到的占比最高的优化思路,就是最应该尝试的思路。

总之,通过统计不同错误标记类型占总数的百分比,可以帮你发现哪些问题需要优先解决,或者给你构思新优化方向的灵感。


你的监督学习的问题的数据由输入X和输出标签Y构成,但是有些时候我们会发现我们人为定标的Y的有问题的。

当这种错误发生在训练集training set的时候:
深度学习算法对于训练集training set的随机误差是相当鲁棒的(DL algorithms are quite robust to random errors in the training set)。
也就是说,只要这些错误例子离随机误差差不太远,那么放着不管可能也没问题,当然修正了也可以。
实际的做法是,在检查错误样本的时候,在表格中加入incorrectly labeled一列
在这里插入图片描述
然后由% of total来决定下一步努力的方向。
在这里插入图片描述
对于左边的情况,我们首先应该解决其他问题;而对于右边的情况,我们则应该首先解决incorrect labels的问题。

而且还有一个问题,当标记错误的比重,相对于错误率不可忽略时,开发集就不能再告诉我们哪一个模型更好。
在这里插入图片描述
假设对于这两种模型,errors due incorrect labels有0.6%,那么开发集就不能告诉我们哪一个模型更好。
在这种情况下,我们也应该首先解决incorrect labels的问题。

Guidelines
在这里插入图片描述

  • 开发集和测试集应采用相同的操作,来保证二者的数据同分布。
  • 强烈建议在检查判断错误的例子时,也看一下判断正确的例子。
  • 开发集和测试集不一定要用到训练集上,因为训练集对随机误差有鲁棒性,训练集和开发集/测试集的分布略有不同是可以接受的。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值