【学习记录】《DeepLearning.ai》第九课:机器学习策略(2)(ML Strategy)

简介: 2021/9/10

第九课:机器学习策略(2)(ML Strategy)

2.1 进行误差分析(Carrying out error analysis)

image

将识别错误的例子人工挑选出来,同时查看每一个错误的原因,比如识别猫的时候,其中有8%是狗,有43%是大猫,61%是模糊,我们可以在开发集或测试集里观察假阳性(False Positives)和假阴性(False Negatives),统计属于不同错误类型的错误数量,如上图所示。然后根据错误所占比重首先根据高比重错误进行改善。


2.2 清除标注错误的数据(Cleaning up Incorrectly labeled data)

开发集和测试集必须来自同一分布。

image

如上图,总体错误10%的时候,如果有0.6%的错误是由于标记出错导致的,其他都是由其他错误导致的,我们可以忽略掉这个错误,由标记出错导致的错误所占比重比较少。

如果总体错误是2%,我们需要重新对开发集进行标记。


2.3 快速搭建一个系统并进行迭代

一句话:自己快速搭建一个简单的系统并进行迭代。


2.4 使用来自不同分布的数据进行测试和训练

训练集与测试集和开发集的样本可以来自不同的分布,比如猫图片识别中,训练集可以是网上爬取的数据,而测试集和开发集可以是用户app上上传的图片。


2.5 数据分布不匹配时的偏差与方差的分析

前提是训练集和开发测试集来自不同的分布

image

上图所示,对于大多数据来说,第一行表示人类水平错误率,第二行表示训练错误率,第三行表示训练-开发集错误率10%,一个集合里面既包括训练集也包括开发集。红框的最后是开发集或者测试集错误率6%。通过如上图所示Human level和training error之间的两个数字之差表示了可避免偏差的大小,training error和training-dev error之间的差距表示了方差的大小,training-dev error和Dev/test dev之间的差距表示了数据不匹配问题。

上图是一个举例,便于理解。

方差、偏差问题都有对应的解决方法,而数据不匹配问题的解决方法下节课讲。


2.6 处理数据不匹配问题

总而言之,如果认为存在数据不匹配问题,建议做错误分析,或者看看训练集,或者看看开发集,试图找出,试图了解这两个数据分布到底有什么不同,然后看看是否有办法收集更多看起来像开发集的数据作训练。
我们谈到其中一种办法是人工数据合成,人工数据合成确实有效。在语音识别中。我已经看到人工数据合成显著提升了已经非常好的语音识别系统的表现,所以这是可行的。但当你使用人工数据合成时,一定要谨慎,要记住你有可能从所有可能性的空间只选了很小一部分去模拟数据。

人工数据合成例子:汽车语音识别里面在实际情况中是有噪音的,我们可以找到清晰的录音再找到噪音,然后两个合成就得到了需要的测试集(尽量和开发集一致)。


2.7 迁移学习(Transfer learning)

image

从A迁移到B的条件:

1.A与B有相同的输入:如都是图像或者都是语音

2.对于B来说A有更多的数据。

3.来自于A的低层次特征对于B学习来说是有帮助的。


2.8 多任务学习(Multi-task learning)

多任务学习能让你训练一个神经网络来执行许多任务,这可以给你更高的性能,比单独完成各个任务更高的性能。但要注意,实际上迁移学习比多任务学习使用频率更高。我看到很多任务都是,如果你想解决一个机器学习问题,但你的数据集相对较小,那么迁移学习真的能帮到你,就是如果你找到一个相关问题,其中数据量要大得多,你就能以它为基础训练你的神经网络,然后迁移到这个数据量很少的任务上来。


2.9 端到端的深度学习

端到端的深度学习:训练一个巨大的神经网络,输入是一段音频,输出直接是听写文本,通常端到端的深度学习系统表现更好。

端到端的深度学习只需要把训练集拿过来,直接学到了x和y之间的函数映射,绕过其中很多步骤。


2.10 是否使用端到端的深度学习

优点:

1.只要有足够多的(x,y)数据就可以训练足够大的神经网络

2.所需要的手工设计的组件更少,不用花太多时间手工设计功能。

缺点:

1.需要大量的数据

2.它排除了可能有用的手工设计组件,功能。

相关文章
|
3月前
|
人工智能 自然语言处理 IDE
模型微调不再被代码难住!PAI和Qwen3-Coder加速AI开发新体验
通义千问 AI 编程大模型 Qwen3-Coder 正式开源,阿里云人工智能平台 PAI 支持云上一键部署 Qwen3-Coder 模型,并可在交互式建模环境中使用 Qwen3-Coder 模型。
729 109
|
7月前
|
机器学习/深度学习 人工智能 供应链
从概念到商业价值:AI、机器学习与深度学习全景指南
在这个科技飞速发展的时代🚀,人工智能正以惊人的速度渗透到我们的生活和工作中👀。但面对铺天盖地的AI术语和概念,很多人感到困惑不已😣。"AI"、"机器学习"、"深度学习"和"神经网络"到底有什么区别?它们如何相互关联?如何利用这些技术提升工作效率和创造价值?
|
5月前
|
机器学习/深度学习 人工智能 监控
AI 基础知识从0.1到0.2——用“房价预测”入门机器学习全流程
本系列文章深入讲解了从Seq2Seq、RNN到Transformer,再到GPT模型的关键技术原理与实现细节,帮助读者全面掌握Transformer及其在NLP中的应用。同时,通过一个房价预测的完整案例,介绍了算法工程师如何利用数据训练模型并解决实际问题,涵盖需求分析、数据收集、模型训练与部署等全流程。文章适合初学者和开发者学习AI基础与实战技能。
700 25
AI 基础知识从0.1到0.2——用“房价预测”入门机器学习全流程
|
6月前
|
人工智能 监控 测试技术
云上AI推理平台全掌握 (1):PAI-EAS LLM服务一键压测
在AI技术飞速发展的今天,大语言模型(LLM)、多模态模型等前沿技术正深刻改变行业格局。推理服务是大模型从“实验室突破”走向“产业级应用”的必要环节,需直面高并发流量洪峰、低延时响应诉求、异构硬件优化适配、成本精准控制等复杂挑战。 阿里云人工智能平台 PAI 致力于为用户提供全栈式、高可用的推理服务能力。在本系列技术专题中,我们将围绕分布式推理架构、Serverless 弹性资源全球调度、压测调优和服务可观测等关键技术方向,展现 PAI 平台在推理服务侧的产品能力,助力企业和开发者在 AI 时代抢占先机,让我们一起探索云上 AI 推理的无限可能,释放大模型的真正价值!
|
6月前
|
机器学习/深度学习 PyTorch API
昇腾AI4S图机器学习:DGL消息传递接口的PyG替换
DGL (Deep Graph Learning) 和 PyG (Pytorch Geometric) 是两个主流的图神经网络库,它们在API设计和底层实现上有一定差异,在不同场景下,研究人员会使用不同的依赖库,昇腾NPU对PyG图机器学习库的支持亲和度更高,因此有些时候需要做DGL接口的PyG替换。
|
7月前
|
数据可视化 Rust 机器学习/深度学习
mlop.ai 无脑使用教程 (机器学习工具 WandB/ClearML 的首个国区开源平替)
mlop.ai 是首个为国区用户优化的机器学习工具,全栈免费开源,是主流付费解决方案 ClearML/WandB 的开源平替。常规实验追踪的工具经常大幅人为降速,mlop因为底层为Rust代码,能轻松支持高频数据写入。如需更多开发者帮助或企业支持,敬请联系cn@mlop.ai
390 12
mlop.ai 无脑使用教程 (机器学习工具 WandB/ClearML 的首个国区开源平替)
|
6月前
|
机器学习/深度学习 PyTorch API
昇腾AI4S图机器学习:DGL图构建接口的PyG替换
本文探讨了在图神经网络中将DGL接口替换为PyG实现的方法,重点以RFdiffusion蛋白质设计模型中的SE3Transformer为例。SE3Transformer通过SE(3)等变性提取三维几何特征,其图构建部分依赖DGL接口。文章详细介绍了两个关键函数的替换:`make_full_graph` 和 `make_topk_graph`。前者构建完全连接图,后者生成k近邻图。通过PyG的高效实现(如`knn_graph`),我们简化了图结构创建过程,并调整边特征处理逻辑以兼容不同框架,从而更好地支持昇腾NPU等硬件环境。此方法为跨库迁移提供了实用参考。
|
2月前
|
机器学习/深度学习 数据采集 人工智能
【机器学习算法篇】K-近邻算法
K近邻(KNN)是一种基于“物以类聚”思想的监督学习算法,通过计算样本间距离,选取最近K个邻居投票决定类别。支持多种距离度量,如欧式、曼哈顿、余弦相似度等,适用于分类与回归任务。结合Scikit-learn可高效实现,需合理选择K值并进行数据预处理,常用于鸢尾花分类等经典案例。(238字)
|
机器学习/深度学习 算法 数据挖掘
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构。本文介绍了K-means算法的基本原理,包括初始化、数据点分配与簇中心更新等步骤,以及如何在Python中实现该算法,最后讨论了其优缺点及应用场景。
1187 6

热门文章

最新文章