精华内容
下载资源
问答
  • 吴恩达公开课机器学习课堂作业完整版代码,使用octave练习代码,已经做过,可靠。
  • 吴恩达老师课程 机器学习课程地址 网易地址:http://open.163.com/special/opencourse/machinelearning.html Stanford :http://cs229.stanford.edu/syllabus.html github笔记和资料:...
    展开全文
  • 假设陈述 h(x) : estimated probability that y = 1 on input x hθ(x)=P(y=1 ∣ x;θ)=g(θTx) \large h_\theta(x) = P(y=1\,|\,x;\theta)= g(\theta^Tx) hθ​(x)=P(y=1∣x;...

    假设陈述

    • h(x) : estimated probability that y = 1 on input x
      h θ ( x ) = P ( y = 1   ∣   x ; θ ) = g ( θ T x ) \large h_\theta(x) = P(y=1\,|\,x;\theta)= g(\theta^Tx) hθ(x)=P(y=1x;θ)=g(θTx)
    • sigmod 函数
      g ( z ) = 1 1 + e − z \large g(z) = \frac{1}{1+e^{-z}} g(z)=1+ez1
      image

    决策界限 Decision Boundary

    y = { 1 , h θ ( x ) ≥ 0.5 &ThinSpace; o r &ThinSpace; h θ ( x ) ≥ 0   0 , h θ ( x ) &lt; 0.5 &ThinSpace; o r &ThinSpace; h θ ( x ) &lt; 0 \large y= \begin{cases} 1, &amp; { h_\theta (x) \geq 0.5 \, or \, h_\theta(x) \geq 0 } \\\ 0, &amp; h_\theta (x) &lt; 0.5 \,or \, h_\theta(x) &lt; 0 \end{cases} y=1, 0,hθ(x)0.5orhθ(x)0hθ(x)<0.5orhθ(x)<0
    image

    • Non-Linear Decision Boundary
      image

    Logistic regression cost function

    • cost
      C o s t ( h θ ( x ( i ) , y ( i ) ) ) = { − log ⁡ ( h θ ( x ) ) if y = 1 − log ⁡ ( 1 − h θ ( x ) ) if y = 0 \large Cost(h_\theta(x^{(i)},y^{(i)})) = \begin{cases} -\log(h_\theta(x))\quad \text{if y = 1} \\ -\log(1-h_\theta(x))\quad \text{if y = 0} \end{cases} Cost(hθ(x(i),y(i)))=log(hθ(x))if y = 1log(1hθ(x))if y = 0
    • simplify version

    C o s t ( h θ ( x ( i ) , y ( i ) ) ) = − y log ⁡ ( h θ ( x ) ) − ( 1 − y ) log ⁡ ( 1 − h θ ( x ) ) \large Cost(h_\theta(x^{(i)},y^{(i)})) = -y\log(h_\theta(x))-(1-y)\log(1-h_\theta(x)) Cost(hθ(x(i),y(i)))=ylog(hθ(x))(1y)log(1hθ(x))

    • J ( θ ) J(\theta) J(θ)

    J ( θ ) = − 1 m ∑ i = 1 m C o s t ( h θ ( x ( i ) , y ( i ) ) ) = − 1 m [ ∑ i = 1 m y ( i ) log ⁡ h θ ( x ( i ) ) + ( 1 − y ( i ) ) log ⁡ ( 1 − h θ ( x ( i ) ) ) ] \large J(\theta)= -\frac{1}{m}\sum_{i=1}^m Cost(h_\theta(x^{(i)},y^{(i)})) \\ = -\frac{1}{m}[\sum_{i=1}^my^{(i)} \log h_\theta (x^{(i)}) + (1-y^{(i)})\log (1-h_\theta (x^{(i)}))] J(θ)=m1i=1mCost(hθ(x(i),y(i)))=m1[i=1my(i)loghθ(x(i))+(1y(i))log(1hθ(x(i)))]

    • to fie parameters θ \theta θ

    min ⁡ θ J ( θ ) \large \min_\theta J(\theta) θminJ(θ)

    高级优化

    Optimization algorithms:

    • Gradient descent
    • Conjugate gradient
    • BFGS
    • L-BFGS

    Advantages

    • No need to manually pick α \alpha α
    • Often faster than gradient descent

    Disadvantage

    • More complex

    Multiclass classification

    Train a Logistic regression classifier h θ ( i ) ( x ) h_\theta ^{(i)}(x) hθ(i)(x) for each class i i i to predict the probability that y = i y=i y=i.
    On a new input x x x, to maake a prediction, pick the class i i i that maximizes
    max ⁡ i h θ ( i ) ( x ) \large \max_i h_\theta^{(i)}(x) imaxhθ(i)(x)
    image
    h θ ( i ) ( x ) = P ( y = i &ThinSpace; ∣ &ThinSpace; x ; θ ) ( i = 1 , 2 , 3 ) h_\theta ^{(i)}(x) = P(y=i \,|\, x; \theta) \quad (i = 1, 2, 3) hθ(i)(x)=P(y=ix;θ)(i=1,2,3)

    展开全文
  • 本节主要介绍在计算机视觉领域近些年发展过程中积累的优秀实例,通过实例能够了解学习如何对基础的构件进行组合。从而在以后自己做计算机 视觉相关任务时能够有所启发。 网络总览: 经典的网络模型: LeNet-5 ...

    2.1 为什么要进行实例探究

    在上一周,我们已经学习了组成神经网络模型的基础构件,如卷积层、池化层、全连接层等内容。本节课主要介绍在计算机视觉领域近些年发展过程中积累的优秀实例,通过实例能够了解学习如何对基础的构件进行组合。从而在以后自己做计算机
    视觉相关任务时能够有所启发。

    网络总览:

    经典的网络模型:

    • LeNet-5
    • AlexNet
    • VGG

    卷积残差网络:

    • ResNet (152层的神经网络)

    2.2 经典网络

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    2.3 残差网络

    太深的神经网络训练起来很难,因为有梯度消失和爆炸这类问题。
    在本节课中,我们将学习到跳跃连接(skip connection),它能让你从一层中得到激活,并突然将它传递给下一层,甚至更甚的神经网络层。利用它,可以训练网络层很深很深的残差网络(ResNet)。

    残差网络是利用了残差结构的网络。
    在这里插入图片描述

    2.4 残差网络为什么有用?

    在之前的课程中介绍到,如果我们设计了更深层的网络,它会使得你用训练集训练神经网络的能力下降。这也是为什么有时你不希望有太深的神经网络。
    ResNet 与之不同,下面看一个例子

    在这里插入图片描述
    下面是论文图例,展示ResNet 和 Plain 的区别
    在这里插入图片描述
    这里值得注意的是,ResNet 中使用到很多填充方式为same的3*3的过滤器,这样能使得输出后的维度和输入前的维度一致,更有利于残差块中的计算。对于维度不同的地方,需要使用ws矩阵去与a[l]相乘,来进行维度调整。

    2.5 网络的1*1 卷积

    在设计网络架构时,一种很有用的想法是用1*1卷积。

    对于一个通道为1的来说,没什么作用,就是把原来的输入乘以了某个数字。
    在这里插入图片描述

    对于多通道的输入来说,可以理解为接收同一高度和同一宽度下不同通道的输入值,分别与1*1过滤器中对应通道的值相乘,然后将ReLU作用于它,输出结果。
    同时因为有多个过滤器,意味着你有不止一个单元,而是多个单元在接受输入图像中一面中的所有数作为输入。
    在这里插入图片描述

    所以对1*1的卷积,本质上是一个完全连接的神经网络。

    举一个1*1卷积的应用例子:

    如果我们打算对输入数据的宽度和高度进行调整,可以通过一层池化层来解决。
    如果我们觉得通道数过大,想缩小它,可以使用1*1的卷积。

    在这里插入图片描述

    2.6 谷歌 Inception 网络简介

    为卷积网络设计某一层时,您可能需要选择11的卷积核、或者33的卷积核、5*5的卷积核,又或者需要一个池化层,谷歌Inception 网络就是指构造复杂的网络结构,将各种层都用上,这样的效果也很好。

    在这里插入图片描述
    以上就是Inception 网络的核心,它使用到了11、33、5*5的卷积核,同时也使用到了最大池化。这里需要注意的是为了保证输出的宽和高的维度相同,在使用卷积或者池化过程中,都需要使用填充操作。

    这样的一个优点就是我们不用再选择使用哪一种卷积核,而是交给神经网络自己去学习每一个卷积核的参数。

    下面我们关注下Inception 中计算成本,我们以其中的5*5的卷积核来计算:
    在这里插入图片描述
    如此剧烈的缩小特征表示的大小,会不会影响神经网络的性能?答案是只要合理的设计这个瓶颈层,就既能够缩小输入张量的维度,又能够不影响神经网络的性能,同时也减少了计算成本。

    2.7 Inception 网络

    和上一节介绍的那样,为了减少计算成本,增加了一个11的卷积层作为瓶颈层。
    在最大池化层后面为了缩小宽和高的维度,也增加了一个1
    1的卷积层。
    最后做了一个通道的连接。
    在这里插入图片描述

    这里是Incepetion network 主要的网络结构,这里可以看到使用了很多重复的Inception模块。同时为了缩小宽和高的维度,也在Inception模块之间加了最大池化层。网络最后是全连接层,和softmax输出层。

    这个网络是Google工程师开发的,称之为GoogleNet.

    在这里插入图片描述

    2.8 使用开源的实现方案

    如果看到一篇论文想进行复现,可以先在开源社区查找是否有相关的实现。

    2.9 迁移学习

    如果想训练一个计算机视觉项目,而不想从零开始训练权重,最好的方式是下载已经训练好的网络结构,把它作为预训练。
    迁移到你感兴趣的新任务上。

    可以利用别人已经训练好的权重(这些可能是别人使用很多GPU经过很长时间,并经过不断调试得到的模型),为自己的神经网络做一个好的初始化开端。

    在这里插入图片描述

    当自身数据集比较少时,选择冻结softmax 前面的所有层,也即冻结前面层的权重。修改softmax 层,修改为符合自己类别的输出层,然后只训练与自己softmax层的参数。

    同时一个技巧是由于前面的层和权重都冻结了,所以为了避免每次迭代都需要计算从输入到中间每层的计算,可以把所有样本从输入到冻结的最后一层这个过程的输出提前计算出来,保存下来。以后再每次都可以直接使用。这样就会提高训练速度。

    如果你的数据集更大,一个经验之谈是可以冻结较少的层, 然后接下来有几种方式:一种方式是使用原有的权重作为初始化,然后继续训练自己的权重;另一个方式是去掉原有的层,重新用自己的网络层和softmax输出。

    最后,假如你有足够多的数据和GPU资源,你可以用原有权重来初始化整个网络并开始训练。训练来更新所有的权重和网络层。

    2.10 数据扩充

    计算机视觉常见的数据增强方法:

    1. 垂直镜像

    在这里插入图片描述

    2. 随机裁剪

    在这里插入图片描述

    对数据集的不同随机裁剪,注意随机裁剪的大小要占原图较大的部分,不然可能会存在完全看不出特定物体的特征。

    垂直镜像和随机裁剪在实际中比较常用,还有一些方式比如旋转、剪切、局部扭曲等也可以实现数据增强,但实际使用相对较少。

    3. 色彩变化

    在这里插入图片描述

    在三个通道上加入不同的扰动,这里样例中为了让大家能看清,设置的扰动值比较大,实际上都会小。

    通过色彩变化,可以让学习算法在应用图像色彩变化时健壮性更好。

    这里着重提一下PCA数据增强,在AlexNet 中有关于此算法的细节。

    总结:
    数据增强也有超参数,比如实现多大程度的色彩变化、用什么参数来做随机裁剪等。
    一个有效的方式是直接用其他人用到的数据增强的开源实现,作为一个很好的开始。

    2.11 计算机视觉现状

    展开全文
  • 4.1 人脸识别 人脸识别通常是指人脸校验和人脸识别。 人脸校验是指输入一张图像和一个人的ID,输出是这个图像是不是这个人。 人脸识别是有一个K个人的数据库,输入一张图像,如果这个图像属于K个人中的一个,输出他...

    4.1 人脸识别

    人脸识别通常是指人脸校验和人脸识别。
    人脸校验是指输入一张图像和一个人的ID,输出是这个图像是不是这个人。

    人脸识别是有一个K个人的数据库,输入一张图像,如果这个图像属于K个人中的一个,输出他的ID。

    在这里插入图片描述

    4.2 One-shot 学习

    人脸识别的挑战之一是你需要解决单样本学习问题。
    也即是说对于大多数人脸识别的应用,需要在只见过一次照片或一个人的脸部的前提下识别出这个人。

    举个例子:
    左侧是数据库中已有的四个人,我们希望再输入一个已存在的人,能够识别出是数据库中的哪个人。而输入数据库中不存在的人,则识别出不是数据库中四个人中任一个。

    因此在单样本学习中,我们必须从一个样本中学习,就可以做到认出这个人。(大多数人脸识别系统都需要做到这样的能力,因为可能数据库中只有一张员工的照片。)
    在这里插入图片描述

    一种尝试的方式,是输入这个人的照片,经过卷积网络,然后通过5个类别的softmax,输出一个标签。
    但这种通常效果不好,因为数据集太小,不足以训练出一个可以解决这个任务的足够鲁棒的神经网络。而且每当数据库中的员工增加或者减少时,还需要修改最后softmax层的输出个数,对模型进行重新训练。

    因此,人脸校验是学习一个相似性函数,特别的,我们需要用一个神经网络来学习一个函数,

    在这里插入图片描述

    4.3 Siamese network

    在上一节中,我们学习函数d 接收两张脸到的输入,并输出他们是多相似或者多不相似。
    实现这个的一个好办法是siamese network 。

    我们输入一张图像,经过卷积网络,得到一个128个数字组成的向量,看作是对输入图像的编码。
    那么构建人脸识别系统的方法,如果你想比较两张图像,就分别把两张图像输入同一个网络,使用相同的参数,得到一个不同的128维的向量,也就是第二张图像的编码。

    在这里插入图片描述
    这种方法,用两个完全相同的卷积神经网络对两张不同的图像进行计算,然后比较两者的结果。我们称之为孪生网络架构。

    因此,我们说卷积神经网络的参数决定了图像的编码表达。
    我们训练学习参数,目的是使得如果两张图像是一个人,那么两个编码表达的函数值很小;
    如果两张图像不是一个人,那么两个编码表达的函数值很大。
    我们一旦改变了卷积神经网络的参数,对一张图像来说就会有不同的编码。我们不断的训练参数,使得满足上面的目的。
    在这里插入图片描述

    4.4 Triplet 损失

    为了学习卷积神经网络的参数,以获得一个优良的人脸图像的编码。
    有一种方法是定义一个应用了梯度下降的三元组损失函数(triplet loss function)

    为了使用三元组,我们需要使用对照组,需要一张anchor 图像,一张正例图像,一张负例图像。作为一个组合。
    我们希望做的,anchor 图像编码和正例图像编码的差平方,小于等于anchor图像编码和负例图像编码的差平方。
    但是会有一种情况使得这个式子的条件轻易满足,就是所有图像的编码都为0或者说都一样。
    为了确保神经网络不会把所有图像的编码训练的一样,我们需要在式子中加上一个margin 。margin 用来拉大d(A,P)和d(A,N)之间的差距。

    在这里插入图片描述

    下面我们正式定义三元组损失函数

    通过定义一个L(A,P,N), 目标是使得L(A,P,N)最小,从而使我们上述公式小于等于0

    在这里插入图片描述
    神经网络中全部训练数据集整体损失函数,是训练集中不同三元组对应的损失总和。

    假设有一个训练数据集,其中包含1000个不同的人组成的10000张图像(平均1人10张图像),我们可以基于这10000张图像去生成三元组。然后用整体损失函数去训练学习算法。

    注意在 训练阶段,至少确保一部分人需要有多张图像,来组成三元组。如果每个人都只有一张图像,则无法组成训练数据集。

    那么如何选择正确的三元组呢?

    这里的问题之一是如果随机的选择A,P,N,那么上述的约束很容易满足。
    因为如果有两张随机选择的图像A,N,那么A和N的差异通常会远远大于A和P中间的差异。
    那么神经网络将无法从中学习到更多有用的东西。

    因此,要建立一个训练数据集,我们需要选择很难的训练数据三元组,

    在这里插入图片描述
    有时间的话去看看FaceNet 。

    商业的人脸识别系统通常是使用几百万张图像,一千万图像甚至更多。

    4.5 面部验证与二分类

    Triplet loss 是一种学习用于人脸识别的ConvNet 的参数的好办法。
    这节课介绍另一种学习参数的方法,

    另一种训练人脸识别的方法是利用这一对神经网络,这个siamese 网络让他们都计算这些embeddings ,然后将这些输入到一个逻辑回归中做出预测,如果输入图像是同一个人,则目标结果将输出1,如果不是同一个人,则输出0。

    所以,这是一种将人脸识别当做二元分类的方法。

    对于逻辑回归部分的输入,是将两种不同编码之间逐个元素做差的绝对值求和,
    在这里插入图片描述
    另外介绍一个计算的小技巧:

    对于数据库已有的图像,不需要在每次预测的时候去计算它的编码。而是可以做预先计算。

    在这里插入图片描述

    4.6 神经风格转换

    在这里插入图片描述
    为了实现 神经风格转移,我们需要查看卷积神经网络在不同层中提取的特征值。包括浅层和深层的特征值。

    4.7 什么是深度卷积网络

    深度ConvNet 真正在学习什么?
    本节课会展示一些可视化 的结果,帮助我们训练直觉,了解ConvNet 中很深的层真正在做什么。

    在这里插入图片描述
    阅读论文:Visualizing and understanding convolutional networks

    4.8 代价函数

    为了构建一个神经风格转移系统,我们为生成的图像定义一个代价函数。

    我们有内容图像C,风格图像S,目的是生成具有与图像S风格、具有图像C内容的图像G。

    我们要顶一个生成图像G的代价函数J,来衡量某个生成图像的质量有多好。

    在这里插入图片描述
    为了生成图像G:

    1. 随机初始化G
    2. 定义代价函数J,并使用梯度下降法来优化

    在这个过程中,图像G由原始的充满噪点的图像,逐渐变成具备S风格C内容的图像。
    在这里插入图片描述

    4.9 内容代价函数

    展开全文
  • 下面本节介绍目标分类并定位。 在图像分类中 我们在多层卷积网络中输入一张图像, 这会导致我们的卷积网络输出一个特征向量, 将特征向量传给一个可能是softmax 层,输出预测结果。 (假设你的输出有两种类别,...
  • 1.5 卷积步长 在之前的介绍中,当在一个nn的图像使用ff的过滤器进行卷积时,位于nn的图像中会有(n+2p-f+1)个和ff过滤器相对应的ff的蓝色区域,逐一卷积得到(n+2p-f+1)(n+2p-f+1) 的图像。 这里介绍的是带步长的卷积...
  • 刚学完斯坦福大学机器学习公开课,主讲者吴恩达,受益匪浅,故整理了学习资料(包括课程讲义、大作业及讨论课资料),希望能帮助到有需要的筒子们~
  • 本文主要总结吴恩达老师机器学习公开课的知识点。课程共8次编程作业已经上传到我的GitHub上了。链接为:https://github.com/Andyflying/ML-assignment-professorNg 回归和分类 回归问题是指用已知数据拟合一个合适的...
  • 这是吴恩达斯坦福大学Andrew Ng机器学习视频,还有讲义。百度云下载链接永久有效
  • 吴恩达斯坦福机器学习公开课笔记!!!最好的机器学习入门课!完全照着公开课视频所做的完整笔记!有这篇文档完全可以不看视频!节省时间~
  • 斯坦福机器学习公开课-吴恩达讲解
  • 吴恩达推出新的AI公开课

    千次阅读 2018-11-14 13:34:47
    吴恩达继上次推出的吴恩达Deeplearning.ai课程,近期又推出了最新的人工智能课程系列,最新的吴恩达人工智能课程主要针对企业高管和商务人士。这次的吴恩达人工智能课程名字叫做AI for Everyone。 吴恩达表示,...
  • 吴恩达-斯坦福版的机器学习公开课视频,最好的入门资源。里面附有联系方式,若资源失效可以给我发邮件,会在几天内及时回复,谢谢!
  • 吴恩达网易云机器学习公开课:https://study.163.com/course/courseMain.htm?courseId=1004570029 课程课后编程答案,使用Matlab编程。吴老师的课程浅显易懂,代码框架已书写完成,主要需要学生自行填写必要的函数体...
  • 知识点梳理python工具使用:sklearn: 数据挖掘,数据分析工具,内置logistic回归matplotlib: 做图工具,可绘制等高线等绘制散点图: plt.scatter(X[0, :], X[1, :], c=np.squeeze(Y), s=40, cmap=plt.cm.Spectral);...
  • 吴恩达老师,斯坦福机器学习公开课的学习中文笔记。非常经典。
  • 前几天,人工智能和机器学习专家吴恩达发了一封公开信,宣布将在Coursera 上面发布新的深度学习课程 deeplearning.ai。   下面来看一看这封公开信的内容:   各位朋友们大家好:   前段时间我一直在为3个AI...
  • 吴恩达老师在斯坦福大学讲的机器学习公开课,原始英文讲义,可供下载。一边看视频一边看讲义,效果可能更好一些。
  • 斯坦福大学吴恩达Coursera机器学习公开课中文笔记

    千次下载 热门讨论 2016-03-28 13:37:44
    此笔记为2014年Andrew Ng在Coursera 开设的机器学习Machine Learning公开课的中文笔记。 原作者为中国海洋大学博士生,感谢原作者的贡献。
  • 斯坦福机器学习专家吴恩达公开课课件、作业及答案。英文版
  • 课程链接:网易云课堂:http://study.163.com/my#/smarts->free coursera:https://www.coursera.org/learn/neural-networks-deep-learning?authMode=signup ->need money 大牛学习笔记:...
  • 吴恩达机器学习公开课学习笔记(一)一些规范表达形式线性回归/单变量线性回归代价函数 公开课链接:https://study.163.com/course/courseLearn.htm?courseId=1004570029#/learn/video?lessonId=1049101127&...
  • http://open.163.com/special/opencourse/machinelearning.html 转载于:https://www.cnblogs.com/charlesblc/p/6920485.html
  • 正规化 Jθ(θ)=[12m∑i=1m(h(x(i))−y(i))+λ∑j=inθj2] J_{\theta}(\theta)= \lbrack\frac{1}{2m}\sum_{i=1}^{m}(h(x^{(i)})-y^{(i)})+\lambda\sum_{j=i}^{n}\theta_{j}^{2}\rbrack Jθ​(θ)=[2m1​i=1∑m​(h(x...
  • 使用矩阵来简化算法 使用矩阵乘法来减少代码 训练集 X Y 2014 460 1416 232 1534 315 852 178 … … 预测函数 hθ(x)=θ0+θ1xh\theta(x)=\theta_{0}+\theta_{1}xhθ(x)=θ0​+θ1​x ......
  • 111
  • 这是2014年吴恩达老师机器学习课程的ppt,感觉老师讲的很通俗易懂,真的值得入门
  • 深度学习 应用 框架 用途 全拼 标准NN 在线广告,房地产 标准神经网络 有线电视新闻网 图像领域 卷积神经网络 RNN 序列数据 递归神经网络 混合神经网络架构 复杂的应用
  • Machine Learning-吴恩达博士网络免费公开课: https://www.bilibili.com/video/av9912938/?p=1 转载于:https://www.cnblogs.com/yickel/p/9358188.html

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,971
精华内容 788
关键字:

吴恩达公开课