吴恩达《深度学习》第三门课(1)机器学习策略一

简介: 1.1为什么是ML策略(1)当对一个实际的应用系统进行优化时,可能有很多想法:如提高数据量,提高网络深度,正则化等等,一个错误的选择可能浪费非常多的时间,本课就是让你在面对很多选择时做出正确的选择,这就是ML策略。

1.1为什么是ML策略

(1)当对一个实际的应用系统进行优化时,可能有很多想法:如提高数据量,提高网络深度,正则化等等,一个错误的选择可能浪费非常多的时间,本课就是让你在面对很多选择时做出正确的选择,这就是ML策略。提高效率,让你的深度学习系统更快投入使用。

1.2正交化

(1)使用以下的老式电视机来说明什么是正交化,即一个按钮只调节宽度(不会对其他造成影响),一个只调节高度,一个只调节角度,这样就可以很容易的讲画面调节到正中央,如果一个按钮既影响高度有影响角度,那么将非常难调整。

(2)同样在机器学习系统中,可能出现测试集效果好,验证集效果不好,这时如果有一个策略可以改善这个,同时不影响其他的东西,那就是正交化;又比如为什么不推荐使用early stopping,因为它一方面改善了过拟合,但是会使得训练集拟合变得不那么好,所以这个策略不是正交化。下图是深度学习系统各阶段可能出现的问题,应该找到一可以改善它而不影响其他性能的策略(即正交化的策略)。

1.3单一数字评价指标

(1)F1分数公式:2(RP)/(R+P);其中P是查准率,R是查全率。

1.4满足和优化指标

(1)当有N个指标时,选出其中一个最想优化的指标来最小化,其余N-1个指标作为满足指标,即在满足满足指标的前提下(如运算速度要小于100ms),选择优化指标最好的模型。

1.5训练、开发和测试集划分

(1)记住一点:务必让开发集和测试集是同分布,否则训练好的网络其实没什么用。

(2)设置好单一评估的开发集,就像是一个靶心,优化的过程就是去瞄准靶心,然后瞄的很准之后,测试集和开发集不同分布就相当于把靶心换到其他位置了,所以效果会非常的差。如下图所示(靶心变了)。

1.6开发集和测试集的大小

(1)在大数据时代,70/30、60/20/20的分法已经不再适用了,现在流行把大把数据拿去训练,只要留有足够的开发集和测试集就行。这里开发集足够的标准是可以判断出哪个模型好,然后这里测试集足够的标准是可以准确评估最终的成本偏差。

1.7什么时候该改变开发/测试集和指标

(1)总体方针:如果你当前的指标和当前用来评估的数据和你真正关心必须做好的事情关系不大是,这时候就应该更改你的指标或者你的开发集了,让它们能更好的反应你的算法需要处理好的数据。

(2)案例1:A、B模型的误差分别为3%、5%,根据指标看A更好,但是在使用过程中发现A会把情色照片推送给用户,B不会,显然这种情况下其实B是更好的算法,这时说明需要修改评价标准如修改代价函数:

改成:

当把色情照片推送给用户时给予很大的权重,这样根据新的指标可以选出B算法是更好的,这样就与实际符合了。

(3)案例2:开发集、测试集都是使用网上的高清猫的照片,A、B模型的误差分别为3%、5%,根据指标A更好,而实际需要分类的是来自普通用户拍摄的低像素模糊的照片,这时B算法表现的更好,出现这种情况说明要更改开发集、测试集了,使其与实际中的照片更加接近。

(4)在上面提到的各种方法中,其实已经不自觉的使用了正交化,即每种修改只影响一个方面,对其他不造成影响。

1.8为什么是人的表现

(1)当性能低于人类的表现时可以提高的很快,但是超过人类的表现之后,性能的提升将会变慢。如下图所示

(2)把性能的极限(即模型可能达到的最高性能)称为贝叶斯最优错误率(Bayes optimal error)。

(3)超过人类表现之后性能提高变慢主要有两个原因:首先因为超过人类之后说明已经快接近贝叶斯极限了,进步的空间本身就小了;其次是因为超过人类之后,很多的工具将不再能起作用,如低于人类表现时人类还可以帮忙做误差分析。

1.9可避免的偏差

(1)在计算机视觉中,人类是非常擅长的,人类的表现和贝叶斯最优误差相差不大,可把前者当做后者。

(2)把测试集误差减去人类的误差称为可避免误差,这是可以提高的部分,下如图:同样的训练误差和开发集误差,但是根据人类的表现不同,需优先优化的也不同,左边应先降低偏差,右边应该先降低方差(因为8%-7.5%已经很小了):

(3)开发集误差减去训练集误差叫可避免方差。

1.10理解人的表现

(1)案例:医学图像分类,普通人3%错误率,……,专家组讨论结果能达到0.5%,这时应该把最好的表现来当做人类的表现。

(2)在实际应用中,不一定要达到人类的最高水平才能投入使用,比如一个系统超过了普通放射科医生的水平,这时这个系统就应该可以投入使用;所以这也说明不同情况下,定义人类的水平错误率时,要弄清楚目标在哪里(不一定是最高的人类水平),超过这个目标就应该可以拿来用。

1.11超过人类的表现

(1)在结构化问题上,如电影推荐等,机器远超人类水平。

(2)在计算机视觉,语音识别等也达到和超过人类的水平。

(3)在自然感知方面还有待加强。

1.12改善你模型的表现

(1)降低偏差和方差的策略如下图所示:

降低偏差:更大更深的模型,更长的训练,其他的优化方法,更换网络结构

降低方差:更多的数据、正则化、dropout、数据增强、提前终止(不推荐使用)、更换网络

相关文章
|
1天前
|
机器学习/深度学习 数据采集
深度学习中的模型优化:策略与实践
【9月更文挑战第9天】本文深入探讨了在深度学习领域,如何通过一系列精心挑选的策略来提升模型性能。从数据预处理到模型架构调整,再到超参数优化,我们将逐一剖析每个环节的关键因素。文章不仅分享了实用的技巧和方法,还提供了代码示例,帮助读者更好地理解和应用这些优化技术。无论你是深度学习的初学者还是有经验的研究者,这篇文章都将为你提供宝贵的参考和启示。
|
6天前
|
机器学习/深度学习 人工智能 自然语言处理
探索机器学习:从线性回归到深度学习
【9月更文挑战第4天】在这篇文章中,我们将深入探讨机器学习的世界,从基础的线性回归模型开始,逐步深入到复杂的深度学习网络。我们将通过实际的代码示例,揭示这些模型背后的数学原理,以及如何在现实世界的问题中应用它们。无论你是初学者还是有经验的数据科学家,这篇文章都将为你提供新的视角和深入的理解。
|
8天前
|
机器学习/深度学习 自然语言处理 监控
深度学习之动态对抗策略
基于深度学习的动态对抗策略是为了应对不断变化的对抗环境而提出的一类方法,这些策略能够动态地调整和优化模型的防御机制,以提高深度学习模型在各种对抗攻击下的鲁棒性和安全性。
16 1
|
12天前
|
机器学习/深度学习 数据采集 自动驾驶
深度学习之点云在预处理时的增强策略
在深度学习中,点云数据的增强策略主要用于提升模型的泛化能力和鲁棒性。点云是一种表示三维数据的形式,由一组三维坐标点组成,广泛应用于计算机视觉、自动驾驶和机器人等领域。对点云数据进行预处理和增强可以有效提高模型的性能。
45 4
|
12天前
|
机器学习/深度学习 安全 算法
利用机器学习优化网络安全防御策略
【8月更文挑战第30天】在信息技术迅猛发展的今天,网络安全问题日益突显,传统的安全防御手段逐渐显得力不从心。本文提出一种基于机器学习的网络安全防御策略优化方法。首先,通过分析现有网络攻击模式和特征,构建适用于网络安全的机器学习模型;然后,利用该模型对网络流量进行实时监控和异常检测,从而有效识别潜在的安全威胁;最后,根据检测结果自动调整防御策略,以提升整体网络的安全性能。本研究的创新点在于将机器学习技术与网络安全防御相结合,实现了智能化、自动化的安全防御体系。
|
15天前
|
机器学习/深度学习 人工智能 算法
探索AI的魔法:机器学习与深度学习的奥秘
【8月更文挑战第27天】在这篇文章中,我们将深入探讨人工智能的两个重要分支:机器学习和深度学习。我们将首先理解它们的基本概念,然后通过Python代码示例,展示如何应用这些技术解决实际问题。无论你是AI新手,还是有经验的开发者,这篇文章都将为你提供新的知识和启示。让我们一起开启这场AI的魔法之旅吧!
|
15天前
|
机器学习/深度学习 并行计算 PyTorch
PyTorch与CUDA:加速深度学习模型训练的最佳实践
【8月更文第27天】随着深度学习应用的广泛普及,高效利用GPU硬件成为提升模型训练速度的关键。PyTorch 是一个强大的深度学习框架,它支持动态计算图,易于使用且高度灵活。CUDA (Compute Unified Device Architecture) 则是 NVIDIA 开发的一种并行计算平台和编程模型,允许开发者直接访问 GPU 的并行计算能力。本文将详细介绍如何利用 PyTorch 与 CUDA 的集成来加速深度学习模型的训练过程,并提供具体的代码示例。
33 1
|
16天前
|
机器学习/深度学习 数据采集 算法
深度学习中的模型优化策略
【8月更文挑战第26天】在深度学习的海洋中,模型优化是航行者手中不可或缺的罗盘。本文将带你探索如何通过各种策略调整和优化你的深度学习模型,使其在复杂数据的环境中航行得更加精确与高效。我们将从基础的数据预处理讲起,逐步深入到高级的正则化技术,再到最新的优化算法趋势,为你的深度学习之旅提供全方位的指导。
|
26天前
|
机器学习/深度学习 数据采集 自然语言处理
揭秘深度学习的幕后英雄:如何用智慧和策略战胜训练中的怪兽!
【8月更文挑战第16天】深度学习之路坎坷,如攀险峰,每一步都考验耐心与智慧。超参数调试、数据质量、计算资源、过拟合及收敛难题是常遇挑战。通过网格搜索找最优、数据增强平衡样本、混合精度与梯度累积节省资源、正则化及Dropout防过拟合、以及使用高级优化器助收敛,这些问题得以缓解。每克服一个难关,都是向成功迈进一大步,同时也深化了对深度学习的理解与掌握。
27 4
|
3天前
|
机器学习/深度学习 人工智能 自动驾驶
探索人工智能的未来:机器学习和深度学习的融合之旅
本文将带你进入人工智能的奇妙世界,一起探索机器学习和深度学习的融合如何引领我们走向更加智能化的未来。我们将从基础概念出发,逐步深入到技术细节和应用实例,揭示这一技术革新如何改变我们的生活和工作方式。通过深入浅出的解释和生动的例子,本文旨在为读者提供一次内容丰富、启发思考的技术之旅。