深度学习笔记

吴恩达深度学习笔记(15)-浅层神经网络之神经网络概述

2018-12-01  本文已影响32人  极客Array

神经网络概述(Neural Network Overview)

从今天开始你将学习如何实现一个神经网络。这里只是一个概述,详细的在后面会讲解,看不懂也没关系,先有个概念,就是前向计算然后后向计算,理解了这个就可以了,有一些公式和表达在后面会详细的讲解。

在我们深入学习具体技术之前,我希望快速的带你预览一下后续几天你将会学到的东西。

现在我们开始快速浏览一下如何实现神经网络。之前我们讨论了逻辑回归,我们了解了这个模型(见图)如何与下面公式建立联系。 

公式1:

如上所示,首先你需要输入特征x,参数w和b,通过这些你就可以计算出z,

公式2:

接下来使用z就可以计算出a。

我们将的符号换为表示输出y^⟹a=σ(z),然后可以计算出loss function L(a,y)

神经网络看起来是如下这个样子(如下图)。正如我之前已经提到过,你可以把许多sigmoid单元堆叠起来形成一个神经网络。对于上图中的节点,它包含了之前讲的计算的两个步骤:首先通过上面公式计算出值z,然后通过σ(z)计算值a。

在这个神经网络(上图)对应的3个节点,首先计算第一层网络中的各个节点相关的数z^[1],接着计算α^[1],在计算下一层网络同理;

我们会使用符号[m]表示第m层网络中节点相关的数,这些节点的集合被称为第m层网络。

这样可以保证[m]不会和我们之前用来表示单个的训练样本的(i)(即我们使用表示第i个训练样本)混淆;

整个计算过程,公式如下:

公式3:

公式4:

类似逻辑回归,在计算后需要使用计算,接下来你需要使用另外一个线性方程对应的参数计算z^[2], 计算a^[2],此时a^[2]就是整个神经网络最终的输出,用 y^表示网络的输出。

公式5

公式6:

我知道这其中有很多细节,其中有一点非常难以理解,即在逻辑回归中,通过直接计算z得到结果a。而这个神经网络中,我们反复的计算z和a,计算a和z,最后得到了最终的输出loss function。

你应该记得逻辑回归中,有一些从后向前的计算用来计算导数da、dz。同样,在神经网络中我们也有从后向前的计算,看起来就像这样,最后会计算da^[2] 、dz^[2],计算出来之后,然后计算计算dW^[2]、db^[2] 等,按公式3.5、3.6箭头表示的那样,从右到左反向计算。

现在你大概了解了一下什么是神经网络,基于逻辑回归重复使用了两次该模型得到上述例子的神经网络。

话说回来,我们就像是在认识李清照,现在看到的是李糊照,所以不要担心(安慰)。

上一篇下一篇

猜你喜欢

热点阅读