![](https://img-blog.csdnimg.cn/20190918135101160.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
吴恩达深度学习笔记
文章平均质量分 92
吴恩达深度学习笔记
浊酒南街
纵使疾风起,人生不言弃。
展开
-
吴恩达深度学习笔记:卷积神经网络(Foundations of Convolutional Neural Networks)1.5-1.6
在这个例子中就是 6×6×3,这里的𝑛𝑐就是通道数目,然后卷积上一个𝑓 × 𝑓 × 𝑛𝑐,这个例子中是 3×3×3,按照惯例,这个(前一个𝑛𝑐)和这个(后一个𝑛𝑐)必须数值相同。它用 6×6×3 的图像,然后卷积上这两个不同的 3×3 的过滤器,得到两个 4×4 的输出,它们堆叠在一起,形成一个 4×4×2 的立方体,这里的 2 的来源于我们用了两个不同的过滤器。但到目前为止,我们所使用的是关于矩阵的卷积,例如 6×6 的矩阵。原创 2024-08-15 11:50:04 · 948 阅读 · 0 评论 -
吴恩达深度学习笔记:卷积神经网络(Foundations of Convolutional Neural Networks)1.3-1.4
你已经看到如何使用 padding 卷积,为了指定卷积操作中的 padding,你可以指定𝑝的值。也可以使用 Valid 卷积,也就是𝑝 = 0。也可使用 Same 卷积填充像素,使你的输出和输入大小相同。以上就是 padding,在接下来的视频中我们讨论如何在卷积中设置步长。原创 2024-07-31 16:50:11 · 442 阅读 · 0 评论 -
吴恩达深度学习笔记:卷积神经网络(Foundations of Convolutional Neural Networks)1.1-1.2
所以,当你用一个 3×3 过滤器进行卷积运算的时候,这个 3×3 的过滤器可视化为下面这个样子,在左边有明亮的像素,然后有一个过渡,0 在中间,然后右边是深色的。因为在这个例子中,图片太小了。从垂直边缘检测中可以得到的启发是,因为我们使用 3×3的矩阵(过滤器),所以垂直边缘是一个 3×3 的区域,左边是明亮的像素,中间的并不需要考虑,右边是深色像素。在之前的视频中,我说过神经网络的前几层是如何检测边缘的,然后,后面的层有可能检测到物体的部分区域,更靠后的一些层可能检测到完整的物体,这个例子中就是人脸。原创 2024-07-19 17:42:57 · 1263 阅读 · 0 评论 -
吴恩达深度学习笔记:机器学习策略(2)(ML Strategy (2)) 2.9-2.10
深度学习中最令人振奋的最新动态之一就是端到端深度学习的兴起,那么端到端学习到底是什么呢?简而言之,以前有一些数据处理系统或者学习系统,它们需要多个阶段的处理。那么端到端深度学习就是忽略所有这些不同的阶段,用单个神经网络代替它。我们来看一些例子,以语音识别为例,你的目标是输入𝑥,比如说一段音频,然后把它映射到一个输出𝑦,就是这段音频的听写文本。所以传统上,语音识别需要很多阶段的处理。首先你会提取一些特征,一些手工设计的音频特征,也许你听过 MFCC,这种算法是用来从音频中提取一组特定的人工设计的特征。原创 2024-07-18 16:32:46 · 601 阅读 · 0 评论 -
吴恩达深度学习笔记:机器学习策略(2)(ML Strategy (2)) 2.7-2.8
如果你有足够多的数据,你可以重新训练神经网络中剩下的所有层。有很多低层次特征,比如说边缘检测、曲线检测、阳性对象检测(positive objects),从非常大的图像识别数据库中习得这些能力可能有助于你的学习算法在放射科诊断中做得更好,算法学到了很多结构信息,图像形状的信息,其中一些知识可能会很有用,所以学会了图像识别,它就可能学到足够多的信息,可以了解不同图像的组成部分是怎样的,学到线条、点、曲线这些知识,也许对象的一小部分,这些知识有可能帮助你的放射科诊断网络学习更快一些,或者需要更少的学习数据。原创 2024-07-05 18:07:45 · 1010 阅读 · 0 评论 -
吴恩达深度学习笔记:机器学习策略(2)(ML Strategy (2)) 2.5-2.6
估计学习算法的偏差和方差真的可以帮你确定接下来应该优先做的方向,但是,当你的训练集来自和开发集、测试集不同分布时,分析偏差和方差的方式可能不一样,我们来看为什么。原创 2024-07-04 17:48:45 · 315 阅读 · 0 评论 -
吴恩达深度学习笔记:机器学习策略(2)(ML Strategy (2)) 2.3-2.4
如果你正在开发全新的机器学习应用,我通常会给你这样的建议,你应该尽快建立你的第一个系统原型,然后快速迭代。让我告诉你我的意思,我在语音识别领域研究了很多年,如果你正在考虑建立一个新的语音识别系统,其实你可以走很多方向,可以优先考虑很多事情。比如,有一些特定的技术,可以让语音识别系统对嘈杂的背景更加健壮,嘈杂的背景可能是说咖啡店的噪音,背景里有很多人在聊天,或者车辆的噪音,高速上汽车的噪音或者其他类型的噪音。有一些方法可以让语音识别系统在处理带口音时更健壮,还有特定的问题和麦克风与说话人距离很远有关,就是所谓原创 2024-07-03 11:40:21 · 990 阅读 · 1 评论 -
吴恩达深度学习笔记:机器学习策略(2)(ML Strategy (2)) 2.1-2.2
目录第三门课 结构化机器学习项目(Structuring Machine Learning Projects)第二周:机器学习策略(2)(ML Strategy (2))2.1 进行误差分析(Carrying out error analysis)2.2 清除标注错误的数据(Cleaning up Incorrectly labeled data)第三门课 结构化机器学习项目(Structuring Machine Learning Projects)第二周:机器学习策略(2)(ML Strategy原创 2024-06-28 14:47:49 · 1060 阅读 · 0 评论 -
深度学习相关概念及术语总结2
DBSCAN算法的一个优点是,它不需要预先指定簇的数量,而是根据数据的分布自动确定簇的数量。AUC的计算方法是,首先根据模型的预测结果对样本进行排序,然后通过计算不同阈值下的真阳性率和假阳性率,绘制出ROC曲线(Receiver Operating Characteristic curve),最后计算ROC曲线下的面积即为AUC值。BPR模型在推荐系统中得到广泛的应用,特别是在处理隐反馈数据(如用户行为数据中只包含了交互物品的信息,而没有具体的评分或点击行为)以及进行个性化排序时,能够取得较好的效果。原创 2024-06-27 14:51:21 · 539 阅读 · 0 评论 -
吴恩达深度学习笔记:机器学习(ML)策略(1)(ML strategy(1))1.11-1.12
我想这些偏差、可避免偏差和方差的概念是容易上手,难以精通的。如果你能系统全面地应用本周课程里的概念,你实际上会比很多现有的机器学习团队更有效率、更系统、更有策略地系统提高机器学习系统的性能原创 2024-06-17 16:00:07 · 816 阅读 · 0 评论 -
吴恩达深度学习笔记:机器学习(ML)策略(1)(ML strategy(1))1.9-1.10
那么左边的例子发生了什么?而在右边的例子中,如果你认为贝叶斯错误率是 7.5%,这里我们使用人类水平错误率来替代贝叶斯错误率,但是你认为贝叶斯错误率接近 7.5%,你就知道没有太多改善的空间了,不能继续减少你的训练错误率了,你也不会希望它比 7.5%好得多,因为这种目标只能通过可能需要提供更进一步的训练。所以在这个例子中,我得说,不管你怎么定义人类水平错误率,使用单个普通医生的错误率定义,还是单个经验丰富医生的错误率定义或经验丰富的医生团队的错误率定义,这是 4%还是 4.5%,这明显比都比方差问题更大。原创 2024-06-14 16:45:00 · 699 阅读 · 0 评论 -
吴恩达深度学习笔记:机器学习(ML)策略(1)(ML strategy(1))1.7-1.8
在过去的几年里,更多的机器学习团队一直在讨论如何比较机器学习系统和人类的表现,为什么呢?我认为有两个主要原因,首先是因为深度学习系统的进步,机器学习算法突然变得更好了。在许多机器学习的应用领域已经开始见到算法已经可以威胁到人类的表现了。其次,事实证明,当你试图让机器做人类能做的事情时,可以精心设计机器学习系统的工作流程,让工作流程效率更高,所以在这些场合,比较人类和机器是很自然的,或者你要让机器模仿人类的行为。原创 2024-06-07 09:50:00 · 685 阅读 · 0 评论 -
吴恩达深度学习笔记:机器学习(ML)策略(1)(ML strategy(1))1.5-1.6
我的意思是这样,你们要记住,我想就是设立你的开发集加上一个单实数评估指标,这就是像是定下目标,然后告诉你的团队,那就是你要瞄准的靶心,因为你一旦建立了这样的开发集和指标,团队就可以快速迭代,尝试不同的想法,跑实验,可以很快地使用开发集和指标去评估不同分类器,然后尝试选出最好的那个。所以我建议你们在设立开发集和测试集时,要选择这样的开发集和测试集,能够反映你未来会得到的数据,认为很重要的数据,必须得到好结果的数据,特别是,这里的开发集和测试集可能来自同一个分布。我认为,不单独分出一个测试集也是可以的。原创 2024-06-05 17:01:52 · 907 阅读 · 0 评论 -
吴恩达深度学习笔记:机器学习(ML)策略(1)(ML strategy(1))1.3-1.4
所以在这种情况下,我们就说准确度是一个优化指标,因为你想要准确度最大化,你想做的尽可能准确,但是运行时间就是我们所说的满足指标,意思是它必须足够好,它只需要小于 100 毫秒,达到之后,你不在乎这指标有多好,或者至少你不会那么在乎。我们来看一个例子,你之前听过我说过,应用机器学习是一个非常经验性的过程,我们通常有一个想法,编程序,跑实验,看看效果如何,然后使用这些实验结果来改善你的想法,然后继续走这个循环,不断改进你的算法。通过定义优化和满足指标,就可以给你提供一个明确的方式,去选择“最好的”分类器。原创 2024-06-04 17:39:38 · 815 阅读 · 0 评论 -
吴恩达深度学习笔记:机器学习(ML)策略(1)(ML strategy(1))1.1-1.2
大家好,欢迎收听本课,如何构建你的机器学习项目也就是说机器学习的策略。我希望通过这门课程你们能够学到如何更快速高效地优化你的机器学习系统。那么,什么是机器学习策略呢?我们从一个启发性的例子开始讲,假设你正在调试你的猫分类器,经过一段时间的调整,你的系统达到了 90%准确率,但对你的应用程序来说还不够好。你可能有很多想法去改善你的系统,比如,你可能想我们去收集更多的训练数据吧。或者你会说,可能你的训练集的多样性还不够,你应该收集更多不同姿势的猫咪图片,或者更多样化的反例集。原创 2024-05-31 15:22:42 · 746 阅读 · 0 评论 -
吴恩达深度学习笔记:超 参 数 调 试 、 Batch 正 则 化 和 程 序 框 架(Hyperparameter tuning)3.10-3.11
每个框架都针对某一用户或开发群体的,我觉得这里的每一个框架都是某类应用的可靠选择,有很多人写文章比较这些深度学习框架,以及这些深度学习框架发展得有多好,而且因为这些框架往往不断进化,每个月都在进步,如果你想看看关于这些框架的优劣之处的讨论,我留给你自己去网上搜索,但我认为很多框架都在很快进步,越来越好,因此我就不做强烈推荐了,而是与你分享推荐一下选择框架的标准。一个重要的标准就是便于编程,这既包括神经网络的开发和迭代,还包括为产品进行配置,为了成千上百万,甚至上亿用户的实际使用,取决于你想要做什么。原创 2024-05-30 16:23:50 · 1013 阅读 · 0 评论 -
吴恩达深度学习笔记:超 参 数 调 试 、 Batch 正 则 化 和 程 序 框 架(Hyperparameter tuning)3.8-3.9
在这个例子中,我们将建立一个神经网络,其输出层有 4 个,或者说C个输出单元,因此n,即输出层也就是L层的单元数量,等于 4,或者一般而言等于C。,一个𝐶 = 3个输出分类的 Softmax 层能够代表这种类型的决策边界,请注意这是几条线性决策边界,但这使得它能够将数据分到 3个类别中,在这张图表中,我们所做的是选择这张图中显示的训练集,用数据的 3 种输出标签来训练 Softmax 分类器,图中的颜色显示了 Softmax 分类器的输出的阈值,输入的着色是基于三种输出中概率最高的那种。原创 2024-05-28 19:49:05 · 1118 阅读 · 0 评论 -
吴恩达深度学习笔记:超 参 数 调 试 、 Batch 正 则 化 和 程 序 框 架(Hyperparameter tuning)3.6-3.7
所以 Batch 归一化起的作用的原因,直观的一点就是,它在做类似的工作,但不仅仅对于这里的输入值,还有隐藏单元的值,这只是 Batch归一化作用的冰山一角,还有些深层的原理,它会有助于你对 Batch 归一化的作用有更深的理解,让我们一起来看看吧。或一个深层网络,建立在我们著名的猫脸识别检测上,但假设你已经在所有黑猫的图像上训练了数据集,如果现在你要把此网络应用于有色猫,这种情况下,正面的例子不只是左边的黑猫,还有右边其它颜色的猫,那么你的 cosfa 可能适用的不会很好。此网络已经学习了参数。原创 2024-05-24 14:22:03 · 739 阅读 · 0 评论 -
吴恩达深度学习笔记:超 参 数 调 试 、 Batch 正 则 化 和 程 序 框 架(Hyperparameter tuning)3.4-3.5
所以已知这些值,如下,你要计算平均值,强调一下,所有这些都是针对𝑙层,但我省略𝑙及方括号,然后用正如你常用的那个公式计算方差,接着,你会取每个𝑧(𝑖)值,使其规范化,方法如下,减去均值再除以标准偏差,为了使数值稳定,通常将。比如,如果你有 sigmoid 激活函数,你不想让你的值总是全部集中在这里,你想使它们有更大的方差,或不是 0 的平均值,以便更好的利用非线性的 sigmoid 函数,而不是使所有的值都集中于这个线性版本中,这就是为什么有了𝛾和𝛽两个参数后,你可以确保所有的。原创 2024-05-21 20:04:51 · 871 阅读 · 0 评论 -
吴恩达深度学习笔记:超 参 数 调 试 、 Batch 正 则 化 和 程 序 框 架(Hyperparameter tuning)3.2-3.3
或者,如果你要选取神经网络的层数,我们称之为字母𝐿,你也许会选择层数为 2 到 4 中的某个值,接着顺着 2,3,4 随机均匀取样才比较合理,你还可以应用网格搜索,你会觉得 2,3,4,这三个数值是合理的,这是在几个在你考虑范围内随机均匀取值的例子,这些取值还蛮合理的,但对某些超参数而言不适用。如果你没有在超参数选择中作出正确的标尺决定,别担心,即使你在均匀的标尺上取值,如果数值总量较多的话,你也会得到还不错的结果,尤其是应用从粗到细的搜索方法,在之后的迭代中,你还是会聚焦到有用的超参数取值范围上。原创 2024-05-17 16:03:53 · 951 阅读 · 0 评论 -
吴恩达深度学习笔记:超 参 数 调 试 、 Batch 正 则 化 和 程 序 框 架(Hyperparameter tuning)3.1
比如在二维的那个例子中,你进行了取值,也许你会发现效果最好的某个点,也许这个点周围的其他一些点效果也很好,那在接下来要做的是放大这块小区域(小蓝色方框内),然后在其中更密集得取值或随机取值,聚集更多的资源,在这个蓝色的方格中搜索,如果你怀疑这些超参数在这个区域的最优结果,那在整个的方格中进行粗略搜索后,你会知道接下来应该聚焦到更小的方格中。假如,你有三个超参数,这时你搜索的不是一个方格,而是一个立方体,超参数 3 代表第三维,接着,在三维立方体中取值,你会试验大量的更多的值,三个超参数中每个都是。原创 2024-05-17 15:10:59 · 929 阅读 · 0 评论 -
吴恩达深度学习笔记:优化算法 (Optimization algorithms)2.9-2.10
对我而言,学习率衰减并不是我尝试的要点,设定一个固定的𝑎,然后好好调整,会有很大的影响,学习率衰减的确大有裨益,有时候可以加快训练,但它并不是我会率先尝试的内容,但下周我们将涉及超参数调整,你能学到更多系统的办法来管理所有的超参数,以及如何高效搜索超参数。假设你要使用 mini-batch 梯度下降法,mini-batch 数量不大,大概 64 或者 128 个样本,在迭代过程中会有噪音(蓝色线),下降朝向这里的最小值,但是不会精确地收敛,所以你的算法最后在附近摆动,并不会真正收敛,因为你用的。原创 2024-05-16 11:52:30 · 1334 阅读 · 0 评论 -
吴恩达深度学习笔记:优化算法 (Optimization algorithms)2.8
在深度学习的历史上,包括许多知名研究者在内,提出了优化算法,并很好地解决了一些问题,但随后这些优化算法被指出并不能一般化,并不适用于多种神经网络,时间久了,深度学习圈子里的人开始多少有些质疑全新的优化算法,很多人都觉得动量(Momentum)梯度下降法很好用,很难再想出更好的优化算法。这就是关于 Adam 优化算法的全部内容,有了它,你可以更加快速地训练神经网络,在结束本周课程之前,我们还要讲一下超参数调整,以及更好地理解神经网络的优化问题有哪些。一般使用 Adam 算法的时候,要计算偏差修正,原创 2024-05-16 10:47:06 · 862 阅读 · 0 评论 -
吴恩达深度学习笔记:优化算法 (Optimization algorithms)2.7
你看这些微分,垂直方向的要比水平方向的大得多,所以斜率在𝑏方向特别大,所以这些微分中,𝑑𝑏较大,𝑑𝑊较小,因为函数的倾斜程度,在纵轴上,也就是 b 方向上要大于在横轴上,也就是𝑊方向上。回忆一下我们之前的例子,如果你执行梯度下降,虽然横轴方向正在推进,但纵轴方向会有大幅度摆动,为了分析这个例子,假设纵轴代表参数𝑏,横轴代表参数𝑊,可能有𝑊1,𝑊2或者其它重要的参数,为了便于理解,被称为𝑏和𝑊。所原创 2024-05-15 17:46:58 · 640 阅读 · 0 评论 -
吴恩达深度学习笔记:优化算法 (Optimization algorithms)2.6
所以使用动量梯度下降法,你需要做的是,在每次迭代中,确切来说在第𝑡次迭代的过程中,你会计算微分𝑑𝑊,𝑑𝑏,我会省略上标[𝑙],你用现有的 mini-batch 计算𝑑𝑊,𝑑𝑏。例如,如果你要优化成本函数,函数形状如图,红点代表最小值的位置,假设你从这里(蓝色点)开始梯度下降法,如果进行梯度下降法的一次迭代,无论是 batch 或 mini-batch下降法,也许会指向这里,现在在椭圆的另一边,计算下一步梯度下降,结果或许如此,然后再计算一步原创 2024-05-15 15:30:46 · 1024 阅读 · 0 评论 -
吴恩达深度学习笔记:优化算法 (Optimization algorithms)2.3-2.5
这个高值𝛽要注意几点,你得到的曲线要平坦一些,原因在于你多平均了几天的温度,所以这个曲线,波动更小,更加平坦,缺点是曲线进一步右移,因为现在平均的温度值更多,要平均更多的值,指数加权平均公式在温度变化时,适应地更缓慢一些,所以会出现一定延迟,因为当𝛽 = 0.98,相当于给前一天的值加了太多权重,只有 0.02 的权重给了当日的值,所以温度变化时,温度上下起伏,当𝛽 较大时,指数加权平均值适应地更缓慢一些。你用数据作图,可以得到以下结果,原创 2024-05-14 16:13:36 · 794 阅读 · 0 评论 -
吴恩达深度学习笔记:优化算法 (Optimization algorithms)2.1-2.2
比如说,如果𝑚是 500 万或 5000 万或者更大的一个数,在对整个训练集执行梯度下降法时,你要做的是,你必须处理整个训练集,然后才能进行一步梯度下降法,然后你需要再重新处理 500 万个训练样本,才能进行下一步梯度下降法。如果你有一个丢失的训练集,mini-batch 梯度下降法比 batch 梯度下降法运行地更快,所以几乎每个研习深度学习的人在训练巨大的数据集时都会用到,下一个视频中,我们将进一步深度讨论 mini-batch 梯度下降法,你也会因此更好地理解它的作用和原理。,这就是你的预测值。原创 2024-05-10 10:44:39 · 783 阅读 · 0 评论 -
吴恩达深度学习笔记:深度学习的 实践层面 (Practical aspects of Deep Learning)1.13-1.14
,不论超级参数向量𝜃的维度是多少,为了实施梯度检验,你要做的就是循环执行,从而对每个𝑖也就是对每个𝜃组成元素计算𝑑𝜃approx[𝑖]的值,我使用双边误差,也就是。,为了执行梯度检验,首先要做的就是,把所有参数转换成一个巨大的向量数据,你要做的就是把矩阵𝑊转换成一个向量,把所有𝑊矩阵转换成向量之后,做连接运算,得到一个巨型向量𝜃,该向量表示为参数𝜃,代价函数𝐽是所有𝑊和𝑏的函数,现在你得到了一个𝜃的代价函数𝐽(即𝐽(𝜃))。或更小,原创 2024-05-07 17:47:24 · 1055 阅读 · 0 评论 -
吴恩达深度学习笔记:深度学习的 实践层面 (Practical aspects of Deep Learning)1.11-1.12
上节课,我们学习了深度神经网络如何产生梯度消失和梯度爆炸问题,最终针对该问题,我们想出了一个不完整的解决方案,虽然不能彻底解决问题,却很有用,有助于我们为神经网络更谨慎地选择随机初始化参数,为了更好地理解它,我们先举一个神经单元初始化地例子,然后再演变到整个深度网络。有时调优该超级参数效果一般,这并不是我想调优的首要超级参数,但我发现调优过程中产生的问题,虽然调优该参数能起到一定作用,但考虑到相比调优,其它超级参数的重要性,我通常把它的优先级放得比较低。,因为本例中,逻辑回归的特征是不变的。原创 2024-04-30 10:22:40 · 1015 阅读 · 0 评论 -
吴恩达深度学习笔记:深度学习的 实践层面 (Practical aspects of Deep Learning)1.9-1.10
但如果特征值在不同范围,假如𝑥1取值范围从 1 到 1000,特征𝑥2的取值范围从 0 到 1,结果是参数𝑤1和𝑤2值的范围或比率将会非常不同,这些数据轴应该是𝑤1和𝑤2,但直观理解,我标记为𝑤和𝑏,代价函数就有点像狭长的碗一样,如果你能画出该函数的部分轮廓,它会是这样一个狭长的函数。实际上如果假设特征𝑥1范围在 0-1 之间,𝑥2的范围在-1 到 1 之间,𝑥3范围在 1-2 之间,它们是相似范围,所以会表现得很好。我们为什么要这么做呢?是一个向量,它的每个特征都有方差原创 2024-04-28 11:29:45 · 1251 阅读 · 0 评论 -
吴恩达深度学习笔记:深度学习的 实践层面 (Practical aspects of Deep Learning)1.6-1.8
假设你在训练上图这样的神经网络,它存在过拟合,这就是 dropout 所要处理的,我们复制这个神经网络,dropout 会遍历网络的每一层,并设置消除神经网络中节点的概率。假设网络中的每一层,每个节点都以抛硬币的方式设置概率,每个节点得以保留和消除的概率都是 0.5,设置完节点概率,我们会消除一些节点,然后删除掉从该节点进出的连线,最后得到一个节点更少,规模更小的网络,然后用 backprop 方法进行训练。中的对应值为 1 的概率都是 0.8,对应为 0 的概率是 0.2,随机数字小于 0.8。原创 2024-04-23 20:27:18 · 864 阅读 · 0 评论 -
吴恩达深度学习笔记:深度学习的 实践层面 (Practical aspects of Deep Learning)1.4-1.5
我们来看最后一个细节,𝜆是正则化参数,我们通常使用验证集或交叉验证集来配置这个参数,尝试各种各样的数据,寻找最好的参数,我们要考虑训练集之间的权衡,把参数设置为较小值,这样可以避免过拟合,所以 λ 是另外一个需要调整的超级参数,顺便说一下,为了方便写代码,在 Python 编程语言中,𝜆是一个保留字段,编写代码时,我们写成𝑙𝑎𝑚𝑏𝑑,以免与 Python 中的保留字段冲突,这就是在逻辑回归函数中实现𝐿2正则化的过程,如何在神经网络中实现𝐿2正则化呢?原创 2024-04-18 11:06:35 · 1246 阅读 · 0 评论 -
吴恩达深度学习笔记:深度学习的 实践层面 (Practical aspects of Deep Learning)1.1-1.3
目前为止,我觉得,对于很多应用系统,即使是经验丰富的深度学习行家也不太可能一开始就预设出最匹配的超级参数,所以说,应用深度学习是一个典型的迭代过程,需要多次循环往复,才能为应用程序找到一个称心的神经网络,因此循环该过程的效率是决定项目进展速度的一个关键因素,而创建高质量的训练数据集,验证集和测试集也有助于提高循环效率。总结一下,在机器学习中,我们通常将样本分成训练集,验证集和测试集三部分,数据集规模相对较小,适用传统的划分比例,数据集规模较大的,验证集和测试集要小于数据总量的 20%或 10%。原创 2024-04-15 11:00:41 · 808 阅读 · 0 评论 -
吴恩达深度学习笔记:深层神经网络(Deep Neural Networks)4.5-4.8
比如当你想要建一个语音识别系统的时候,需要解决的就是如何可视化语音,比如你输入一个音频片段,那么神经网络的第一层可能就会去先开始试着探测比较低层次的音频波形的一些特征,比如音调是变高了还是低了,分辨白噪音,咝咝咝的声音,或者音调,可以选择这些相对程度比较低的波形特征,然后把这些波形组合在一起就能去探测声音的基本单元。面部探测器就会针对于大一些的区域,但是主要的概念是,一般你会从比较小的细节入手,比如边缘,然后再一步步到更大更复杂的区域,比如一只眼睛或是一个鼻子,再把眼睛鼻子装一块组成更复杂的部分。原创 2024-04-08 16:51:18 · 1176 阅读 · 0 评论 -
吴恩达深度学习笔记:深层神经网络(Deep Neural Networks)4.1-4.4
尽管对于任何给定的问题很难去提前预测到底需要多深的神经网络,所以先去尝试逻辑回归,尝试一层然后两层隐含层,然后把隐含层的数量看做是另一个可以自由选择大小的超参数,然后再保留交叉验证数据上评估,或者用你的开发集来评估。我们可以看到,第一层(即左边数过去第二层,因为输入层是第 0 层)有 5 个神经元数目,第二层 5 个,第三层 3 个。,这层是第 0 层,这层左边的隐藏层是第 1 层,由此类推。注意,神经网络的层数是这么定义的:从左到右,由 0 开始定义,比如上边右图,是等于这个神经网络所预测的输出结果。原创 2024-04-02 19:16:06 · 1268 阅读 · 0 评论 -
吴恩达深度学习笔记:浅层神经网络(Shallow neural networks)3.9-3.11
以上就是正向传播的 4 个方程和反向传播的 6 个方程,这里我是直接给出的,在下个视频中,我会讲如何导出反向传播的这 6 个式子的。目前为止,我们计算的都和 Logistic 回归十分相似,但当你开始计算反向传播时,你需要计算,是隐藏层函数的导数,输出在使用 sigmoid 函数进行二元分类。在这个视频中,我会给你实现反向传播或者说梯度下降算法的方程组,在下一个视频我们会介绍为什么这几个特定的方程是针对你的神经网络实现梯度下降的正确方程。这些参数,还有个𝑛𝑥表示输入特征的个数,,就是一个的列向量。原创 2024-03-29 14:50:17 · 1205 阅读 · 0 评论 -
吴恩达深度学习笔记:浅层神经网络(Shallow neural networks)3.6-3.8
当使用𝑧的导数时,𝑧=0 的导数是没有定义的。但是当编程实现的时候,𝑧的取值刚好等于 0.00000001,这个值相当小,所以,在实践中,不需要担心这个值,𝑧是等于 0 的时候,假设一个导数是 1 或者 0 效果都可以。第一,在𝑧的区间变动很大的情况下,激活函数的导数或者激活函数的斜率都会远大于0,在程序实现就是一个 if-else 语句,而 sigmoid 函数需要进行浮点四则运算,在实践中,使用 ReLu 激活函数神经网络通常会比使用 sigmoid 或者 tanh 激活函数学习的更快。原创 2024-03-26 11:12:30 · 1257 阅读 · 0 评论 -
深度学习相关概念及术语总结
CV通常指的是“Computer Vision”(计算机视觉)。然而,传统的RNN模型存在梯度消失和梯度爆炸等问题,为了克服这些问题,后来出现了许多改进的RNN变体,如长短时记忆网络(LSTM)和门控循环单元(GRU)等。在学术和工业界,计算机视觉一直是一个活跃的研究领域,并且随着深度学习和大数据的发展,计算机视觉技术取得了显著的进步,为图像和视频分析提供了更准确和高效的解决方案。总的来说,LSTM的设计使其能够更好地处理和记忆序列数据中的长期依赖关系,因此在处理具有长期依赖的序列数据时具有很强的表现力。原创 2024-03-05 17:13:43 · 1291 阅读 · 2 评论 -
吴恩达深度学习笔记:浅层神经网络(Shallow neural networks)3.1-3.5
本周你将学习如何实现一个神经网络。在我们深入学习具体技术之前,我希望快速的带你预览一下本周你将会学到的东西。如果这个视频中的某些细节你没有看懂你也不用担心,我们将在后面的几个视频中深入讨论技术细节。现在我们开始快速浏览一下如何实现神经网络。上周我们讨论了逻辑回归,我们了解了这个模型(见图 3.1.1)如何与下面公式 3.1 建立联系。接下来使用𝑧就可以计算出𝑎。我们将的符号换为表示输出𝑦^ ⟹ 𝑎 = 𝜎(𝑧),然后可以计算出 loss function 𝐿(𝑎, 𝑦)。原创 2024-03-25 10:34:03 · 1488 阅读 · 0 评论 -
吴恩达深度学习笔记:神经网络的编程基础2.15-2.17
用一个 2 × 3的矩阵和一个 1 × 3 的矩阵相加,其泛化形式是 𝑚 × 𝑛 的矩阵和 1 × 𝑛的矩阵相加。这是一个不同食物(每 100g)中不同营养成分的卡路里含量表格,表格为 3 行 4 列,列表示不同的食物种类,从左至右依次为苹果,牛肉,鸡蛋,土豆。首先,按列求和,计算每种食物中(100g)三种营养成分总和,然后分别用不用营养成分的卡路里数量除以总和,计算百分比。axis 用来指明将要进行的运算是沿着哪个轴执行,在 numpy 中,0 轴是垂直的,也就是列,而 1 轴是水平的,也就是行。原创 2024-03-25 10:37:00 · 702 阅读 · 0 评论