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

误差分析:

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

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

并行的错误分析

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

清理错误标签数据:

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

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

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

训练和测试的不同分布:

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

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

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

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

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

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

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

数据不匹配解决方法:

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

迁移学习:

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

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

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

相关推荐
风象南6 小时前
普通人用AI加持赚到的第一个100块
人工智能·后端
牛奶7 小时前
2026年大模型怎么选?前端人实用对比
前端·人工智能·ai编程
牛奶7 小时前
前端人为什么要学AI?
前端·人工智能·ai编程
罗西的思考9 小时前
AI Agent框架探秘:拆解 OpenHands(10)--- Runtime
人工智能·算法·机器学习
冬奇Lab10 小时前
OpenClaw 源码精读(2):Channel & Routing——一条消息如何找到它的 Agent?
人工智能·开源·源码阅读
冬奇Lab10 小时前
一天一个开源项目(第38篇):Claude Code Telegram - 用 Telegram 远程用 Claude Code,随时随地聊项目
人工智能·开源·资讯
格砸11 小时前
从入门到辞职|从ChatGPT到OpenClaw,跟上智能时代的进化
前端·人工智能·后端
可观测性用观测云12 小时前
可观测性 4.0:教系统如何思考
人工智能
sunny86512 小时前
Claude Code 跨会话上下文恢复:从 8 次纠正到 0 次的工程实践
人工智能·开源·github
小笼包包仔12 小时前
OpenClaw 多Agent软件开发最佳实践指南
人工智能