
深度学习吴恩达
主要对吴恩达deep learning ai课程知识的总结
身影王座
人生在世,谦字当头;学海无涯,愿得一慧眼,以小观世界。
展开
-
深度学习吴恩达课程系列(11)
第四周、特殊应用:人脸识别和神经风格转换4.1One-Shot学习你想要神经网络学习这样一个用????表示的函数,????(????????????1,????????????2) =???????????????????????? ???????? ???????????????????????????????????????? ???????????????????????????? ????????????????????????,它以两张图片作为输入,然后输出这两张图片的差异值。如果你放进同一个原创 2020-10-04 13:52:49 · 292 阅读 · 0 评论 -
深度学习吴恩达课程系列(10)
第三周、目标检测3.1目标定位请注意,这有四个分类,神经网络输出的是这四个数字和一个分类标签,或分类标签出现的概率。目标标签????的定义如下:第一个组件????????表示是否含有对象,如果检测到对象,就输出被检测对象的边界框参数????????、????????、????ℎ和????????。那么???????? = 1,同时输出????1、????2和????3,表示该对象属于 1-3 类中的哪一类,是行人,汽车还是摩托车。因为定位目标不是行人或摩托车,而是汽车,所以????1 = 0,?原创 2020-10-01 22:30:27 · 187 阅读 · 0 评论 -
深度学习吴恩达课程系列(9)
第二周 深度卷积网络:实例探究2.1经典网络这节课,我们来学习几个经典的神经网络结构,分别是 LeNet-5、AlexNet 和 VGGNet,开始吧。读到这篇经典论文时,你会发现,过去,人们使用 sigmoid 函数和 tanh 函数,而不是ReLu 函数,这篇论文中使用的正是 sigmoid 函数和 tanh 函数。我要举例说明的第二种神经网络是 AlexNetLeNet 或 LeNet-5 大约有 6 万个参数,而 AlexNet 包含约 6000 万个参数。这节课要讲的第三个,也是最原创 2020-09-06 11:49:01 · 300 阅读 · 0 评论 -
深度学习吴恩达作业题系列(7)
1、卷积神经网络import mathimport numpy as npimport h5pyimport matplotlib.pyplot as pltimport tensorflow as tffrom tensorflow.python.framework import opsdef load_dataset(): train_dataset = h5py.File('datasets/train_signs.h5', "r") train_set_x_orig =原创 2020-09-05 10:48:38 · 249 阅读 · 0 评论 -
深度学习吴恩达课程系列(8)
第四门课、卷积神经网络第一周、卷积神经网络1.1计算机视觉深度学习之所以让我兴奋有下面两个原因,我想你们也是这么想的:第一,计算机视觉的高速发展标志着新型应用产生的可能人们对于计算机视觉的研究是如此富有想象力和创造力,由此衍生出新的神经网络结构与算法,这实际上启发人们去创造出计算机视觉与其他领域的交叉成果。在参数如此大量的情况下,难以获得足够的数据来防止神经网络发生过拟合和竞争需求,要处理包含 30 亿参数的神经网络,巨大的内存需求让人不太能接受。但对于计算机视觉应用来说,你肯定不想它只处原创 2020-09-03 16:56:23 · 324 阅读 · 0 评论 -
深度学习吴恩达课程系列(7)
第二周:机器学习策略(2)2.1进行误差分析假设你正在调试猫分类器,然后你取得了 90%准确率,相当于 10%错误。这是我建议你做的,首先,收集一下,比如说 100 个错误标记的开发集样本,然后手动检查,一次只看一个,看看你的开发集里有多少错误标记的样本是狗。或者换句话说,如果只有 5%的错误是狗图片,那么如果你在狗的问题上花了很多时间,那么你最多只能希望你的错误率从 10%下降到 9.5%,在机器学习中,有时我们称之为性能上限,就意味着,最好能到哪里,完全解决狗的问题可以对你有多少帮助。假设我们原创 2020-08-28 16:35:11 · 291 阅读 · 2 评论 -
深度学习吴恩达课程系列(6)
第三门课:结构化机器学习项目第一周、机器学习策略(1)1.1正交化正交意味着互成 90 度。设计出正交化的控制装置,最理想的情况是和你实际想控制的性质一致,这样你调整参数时就容易得多。可以单独调整转向角,还有你的油门和刹车,令车子以你想要的方式运动。所以我希望你们对正交化的意义有点概念,就像你看电视图像一样。如果你说,我的电视图像太宽,所以我要调整这个旋钮(宽度旋钮)。或者它太高了,所以我要调整那个旋钮(高度旋钮)。或者它太梯形了,所以我要调整这个旋钮(梯形角度旋钮),这就很好。1.2单一数字评估原创 2020-08-28 11:21:10 · 260 阅读 · 0 评论 -
深度学习吴恩达作业题系列(6)
第二周:优化方法opt_utils:import numpy as npimport matplotlib.pyplot as pltimport h5pyimport scipy.ioimport sklearnimport sklearn.datasetsdef sigmoid(x): s = 1/(1+np.exp(-x)) return sdef relu(x): s = np.maximum(0,x) return sdef load_params原创 2020-08-23 10:22:34 · 651 阅读 · 2 评论 -
深度学习吴恩达作业题系列(5)
第一周1.1初始化init_utils:import numpy as npimport matplotlib.pyplot as pltimport h5pyimport sklearnimport sklearn.datasetsdef sigmoid(x): """ Compute the sigmoid of x Arguments: x -- A scalar or numpy array of any size. Return: s原创 2020-08-21 11:14:48 · 520 阅读 · 0 评论 -
深度学习吴恩达课程系列(5)
第三周3.1调试处理最为广泛的学习应用是????,学习速率是需要调试的最重要的超参数。除了????,还有一些参数需要调试,例如 Momentum 参数????,重要性排第三位的是其他因素,层数有时会产生很大的影响,学习率衰减也是如此。3.2为超参数选择合适的范围如果你画一条从 0.0001 到 1 的数轴,沿其随机均匀取值,那 90%的数值将会落在0.1 到 1 之间,结果就是,在 0.1 到 1 之间,应用了 90%的资源,而在 0.0001 到 0.1 之间,只有 10%的搜索资源,这看上原创 2020-08-19 16:58:33 · 332 阅读 · 0 评论 -
深度学习吴恩达课程系列(4)
第二周:优化算法2.1Mini-batch梯度下降使用 batch 梯度下降法,一次遍历训练集只能让你做一个梯度下降,使用 mini-batch 梯度下降法,一次遍历训练集,能让你做 5000 个梯度下降。当然正常来说你想要多次遍历训练集,还需要为另一个 while 循环设置另一个 for 循环。所以你可以一直处理遍历训练集,直到最后你能收敛到一个合适的精度。2.2理解mini-batch梯度下降算法mini-batch,如果你要作出成本函数????的图,你很可能会看到这样的结果,走向朝原创 2020-08-19 15:39:20 · 263 阅读 · 0 评论 -
深度学习吴恩达课程系列(3)
第二门课:改善神经网络第一周:深度学习的实践层面1.1训练,验证和测试集总结一下,在机器学习中,我们通常将样本分成训练集,验证集和测试集三部分,数据集规模相对较小,适用传统的划分比例,数据集规模较大的,验证集和测试集要小于数据总量的 20%或 10%。后面我会给出如何划分验证集和测试集的具体指导。我建议大家要确保验证集和测试集的数据来自同一分布。最后一点,就算没有测试集也不要紧,测试集的目的是对最终所选定的神经网络系统做出无偏估计,如果不需要无偏估计,也可以不设置测试集。所以说,搭建训练验证集和原创 2020-08-19 10:21:02 · 460 阅读 · 0 评论 -
深度学习吴恩达作业题(4)
import numpy as npimport matplotlib.pyplot as pltimport h5pydef sigmoid(Z): """ Implements the sigmoid activation in numpy Arguments: Z -- numpy array of any shape Returns: A -- output of sigmoid(z), same shape as Z c原创 2020-08-16 10:48:34 · 301 阅读 · 0 评论 -
深度学习吴恩达作业题(3)
1、构建深度学习网络1.1所需的包dnn_utils为此笔记本提供了一些必要的功能。testCases提供了一些测试用例,以评估功能的正确性np.random.seed(1)用于使所有随机函数调用保持一致。自己写的包有三个,数据集复制到当前目录下:testCases_v2.pyimport numpy as npdef linear_forward_test_case(): np.random.seed(1) """ X = np.array([[-1.0238757原创 2020-08-15 21:57:47 · 468 阅读 · 0 评论 -
深度学习吴恩达作业题系列(2)
1、具有一层隐藏层的平面数据分类1.1包的导入sklearn为数据挖掘和数据分析提供了简单有效的工具。testCases提供了一些测试示例来评估功能的正确性plane_utils提供了用于此分配的各种有用功能目录中有.py两个文件,以及.pyc两个文件,py文件作为模块导入的时候,python为了提高解析速度,会对文件进行一个类似编译的动作,产生相对应的pyc文件,当再次作为模块导入时候,就不用重新解析py文件,而是直接读取pyc文件就可以,因此在这里主要看py文件。testCases.py:原创 2020-08-14 16:27:40 · 491 阅读 · 0 评论 -
深度学习吴恩达作业题系列(1)
1、Python的基本操作_Numpy第一个程序:输出Hello world!1.1建立运行numpy的基本函数1.1.1sigmoid函数与np.exp()x = [1, 2, 3]basic_sigmoid(x)运行就会出错,原因就是这里建立的是数组,而数组不能用于该模块里面的函数,需要将其转化为向量列表在numpy库里面的函数中运行才行,在该库的方法中,根据Python的广播机制,向量列表可以和常数一起运算。1.1.2Sigmoid导数1.1.3reshape arra原创 2020-08-12 14:26:08 · 3243 阅读 · 0 评论 -
深度学习吴恩达课程系列(2)
第三周、浅层神经网络3.1神经网络概述同样,在神经网络中我们也有从后向前的计算,看起来就像这样,最后会计算????????[2] 、????????[2],计算出来之后,然后计算计算????????[2]、????????[2] 。3.2神经网络的表示当我们计算网络的层数时,输入层是不算入总层数内,所以隐藏层是第一层,输出层是第二层。我们要看到的隐藏层以及最后的输出层是带有参数的,这里的隐藏层将拥有两个参数????和????,我将给它们加上上标 [1](????[1],????[1]),表示原创 2020-08-10 21:40:26 · 430 阅读 · 0 评论 -
深度学习吴恩达课程系列(1)
第一门课、神经网络与深度学习第一周、深度学习引言1.1什么是神经网络作为一个神经网络,这几乎可能是最简单的神经网络。我们把房屋的面积作为神经网络的输入(我们称之为????),通过一个节点(一个小圆圈),最终输出了价格(我们用????表示)。其实这个小圆圈就是一个单独的神经元。接着你的网络实现了左边这个函数的功能。在有关神经网络的文献中,你经常看得到这个函数。从趋近于零开始,然后变成一条直线。这个函数被称作 ReLU 激活函数,它的全称是 Rectified Linear Unit。rectify(原创 2020-08-09 09:29:31 · 597 阅读 · 0 评论