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

误差分析:

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

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

并行的错误分析

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

清理错误标签数据:

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

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

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

训练和测试的不同分布:

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

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

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

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

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

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

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

数据不匹配解决方法:

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

迁移学习:

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

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

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

相关推荐
古希腊掌管学习的神39 分钟前
[机器学习]XGBoost(3)——确定树的结构
人工智能·机器学习
ZHOU_WUYI1 小时前
4.metagpt中的软件公司智能体 (ProjectManager 角色)
人工智能·metagpt
靴子学长2 小时前
基于字节大模型的论文翻译(含免费源码)
人工智能·深度学习·nlp
AI_NEW_COME3 小时前
知识库管理系统可扩展性深度测评
人工智能
海棠AI实验室3 小时前
AI的进阶之路:从机器学习到深度学习的演变(一)
人工智能·深度学习·机器学习
hunteritself3 小时前
AI Weekly『12月16-22日』:OpenAI公布o3,谷歌发布首个推理模型,GitHub Copilot免费版上线!
人工智能·gpt·chatgpt·github·openai·copilot
IT古董4 小时前
【机器学习】机器学习的基本分类-强化学习-策略梯度(Policy Gradient,PG)
人工智能·机器学习·分类
centurysee4 小时前
【最佳实践】Anthropic:Agentic系统实践案例
人工智能
mahuifa4 小时前
混合开发环境---使用编程AI辅助开发Qt
人工智能·vscode·qt·qtcreator·编程ai
四口鲸鱼爱吃盐4 小时前
Pytorch | 从零构建GoogleNet对CIFAR10进行分类
人工智能·pytorch·分类