吴恩达深度学习笔记(7)

误差分析:

你运行一个算法代替人类计算,但是没有达到人类的效果,需要手动检查算法中的错误,对模型的一些部分做相应调整,才能更好地提升分类的精度。如果不加分析去做,可能几个月的努力对于提升精度并没有作用。所以一个好的误差分析的流程就相当重要。

表现上限:关注改正一个误差能提高多少准确率

并行的错误分析

做一个表格,写出错误的类型,并对样本进行统计,计算错误类别的百分比,结果能给你提供参考,决定优先解决的问题

清理错误标签数据:

监督学习中,有输入数据和输出标签,当输出标签错误,首先应该考虑训练集的情况(其实深度学习对于训练集中的随机错误很稳健,但对系统误差(本身标记的错误,而不是分类器错误)不稳健),随机误差造成的错误对算法结果影响很小。

如果决定研究开发集手动重新检查标签,并且尝试纠正,现需要考虑额外的指南和原则:

  • 同时应用开发集和测试集
  • 检查算法预测准确和错误的例子,看那些需要被纠正的,有时即使预测对了,但仍需要被纠正,如果只纠正预测错的,评估算法错误率的时候,就会有更大的偏差
  • 研究开发集和测试集,去纠正标签,可能应用同样的方法到训练集上,也可能不,因为纠正训练集不是那么重要,同时,开发集和测试集需要保持同分布,但是训练集稍微i不同也是很合理的

训练和测试的不同分布:

如果想扩大训练样本,但是只有数据分布不同的数据,应该将这部分数据放入训练集。开发集和测试集用的是满足目标分布的数据

不匹配数据分布的偏差和方差:

偏差和方差能确定下一步工作的优先级,当训练、开发、测试集来自不同的分布时,偏差和方差的分析方法也会发生变化。

假如人类在某个问题上有近乎完美表现,即贝叶斯误差约等于0,进行误差分析时要兼顾训练集和开发集误差

如果训练集和开发集不同分布,从训练集误差到开发集误差有两个事情变了

  • 算法看到的数据只有训练集没有开发集
  • 俩个集合不同分布

新建立一个子集:训练-开发集---从训练集随机抽取一部分混淆,区分上述两个事情对误差的影响

数据不匹配解决方法:

  • 进行人工误差分析,尝试去了解训练集和开发测试集的具体差异在哪里。
  • 尝试把训练数据变得更像开发集,或者收集更多的类似开发集和测试集的数据,如增加噪音;

迁移学习:

可以将在一个任务的神经网络中学到的东西应用到另一个任务(预训练、微调)

迁移学习什么时候有用:当在被迁移的模型中有大量的数据,而目标模型数据较少时

参考:吴恩达Coursera深度学习课程 DeepLearning.ai 提炼笔记(3-2)-- 机器学习策略(2)_deeplearning ai 笔记 3-2-CSDN博客

相关推荐
钛投标免费AI标书工具21 分钟前
【官方认证】2025年AI标书工具:免费、零废标、安全
大数据·人工智能·安全
盼小辉丶25 分钟前
视觉Transformer实战——Vision Transformer(ViT)详解与实现
人工智能·深度学习·transformer
爱思德学术35 分钟前
第二届中欧科学家论坛暨第七届人工智能与先进制造国际会议(AIAM 2025)在德国海德堡成功举办
人工智能·算法·机器学习·语言模型
bug菌1 小时前
边缘新生:openEuler 轻量化基座与云边协同全景实践!
人工智能
oil欧哟1 小时前
Agent 设计与上下文工程- 02 Workflow 设计模式(上)
前端·网络·人工智能
司马阅-SmartRead1 小时前
司马阅与铨亿科技达成生态战略合作,AI赋能工业领域智能化转型
人工智能·aigc
CtrlZ学习录1 小时前
笔记:现代操作系统:原理与实现(8)
linux·笔记·架构·开源
不会聊天真君6471 小时前
Linux命令-文件\文件夹、用户\用户组(Linux基础笔记第二期)
linux·笔记
领创工作室1 小时前
Linux基础指令-Linux学习笔记(1)
linux·笔记·学习
清钟沁桐1 小时前
mlir 编译器学习笔记之五 -- 开发避坑
笔记·学习·mlir