吴恩达深度学习课程学习笔记 第三周 浅层神经网络(上)

【3.1 神经网络概览】

如何实现一个神经网络?

注: 

x表示输入特征,参数W和b,

\large z^{[1]}中的[1]表示神经网络的“层”,表示与节点相关的量,区分\large x^{(i)}(i)-表示单个训练样本。

把很多个sigmoid单元堆叠起来构成一个神经网络,节点对应类似z和a的计算。

也可进行反向计算。

【3.2 神经网络表示】

例:

单隐层神经网络,也称双层神经网络(输入层为第0层)

  • \large a^{[0]}=x可表示输入层,a"激活“;
  • a^{[1]}为隐藏层,隐藏层中的值在训练集中无法看到,本例中的a^{[1]}是一个四维向量(矩阵形式:紫色字体),有四个隐藏层单元,
  • \hat{y}=a^{[2]}为输出层。

隐藏层和输入层是带有参数的

【3.3 计算神经网络的输出】

以logistic回归的结果为例:

注:

左侧:圆圈(节点)代表了回归计算的两个步骤:1.先算出z,2.然后再计算激活函数,即\sigma (z)。神经网络就是多次重复这个计算步骤。

右侧:举例计算第一个和第二个节点的z和a。第三个、第四个节点类推,下标不同。

  • 上标方括号表示所在的层数,下标表示层中的第几个节点,eg:\large a_{2}^{[1]}表示第一隐层的第二个节点。

四个节点计算的相应等式如下:

如果在神经网络用for loop执行很低效,所以要把这四个等式向量化:

角标T代表转置,把 转置后的w(nx,1)堆起来构成一个矩阵,w的转置是行向量,此处的w是(3,1)向量。这层共有四个节点,所以构成(4,3)矩阵。

计算:转置堆叠后的w矩阵与x(3,1)相乘,x=\large a^{[0]},x用\large a^{[0]}代替,再加b^{[1]}

其中, a^{[1]}如下图所示,相当于把\sigma函数作用到z中的每个元素。

  • 向量化时的经验法则:当在一层中有不同的节点时,就纵向堆叠起来

recap:

如果有一个单隐层神经网络,需要在代码中实现的是计算右侧四个式子,是一个向量化的计算过程。上两个式子对应第一层,下两个对应第二层。四行代码实现,高效。

输入当然特征向量x,与处理logistic回归做法类似,想把整个训练样本向量化,通过把不同样本堆叠起来构成矩阵,再稍微修改一下公式,就能计算出不止一个样本的神经网络输出。

【3.4 多个例子中的向量化】

将不同训练样本向量化,输出结果和logistic回归相似。将不同的训练样本堆叠起来,放入矩阵的各列。

【3.5 向量化实现的解释】

对不同训练样向量化的神经网络,上面的四个矩阵的行表示神经元个数,列表示样本数目m。

 到目前为止,我们使用的激活函数只有\sigma函数

有很多种激活函数,sigma函数知识其中的一种选择

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值