神经网络和深度学习(9)--浅层神经网络(一个隐藏层)

神经网络和深度学习
上一篇主目录 下一篇

前言

介绍神经网络的基本组成,表示


1. 神经网络的表示

包含一个隐藏层的神经网络,这个网络一共有两层:

在这里插入图片描述
我们有输入特征x1,x2,x3,它们被竖直地堆叠起来,这叫做神经网络的输入层 layer0,用 右上标 [0] 表示。它包 含了神经网络的输入;然后这里有另外一层我们称之为隐藏层 layer1,用 右上标 [1] 表示。在本例中最后一层只由一个结点构成,而这个只 有一个结点的层被称为输出层,layer2,用 右上标 [2] 表示.,它负责产生预测值。

  • 隐藏层的含义:在一个神经网络中, 当你使用监督学习训练它的时候,训练集包含了输入x 也包含了目标输出 y,所以术语隐藏 层的含义是在训练集中,这些中间结点的准确值我们是不知道到的,也就是说你看不见它们 在训练集中应具有的值。你能看见输入的值,你也能看见输出的值,但是隐藏层中的东西, 在训练集中你是无法看到的。所以这也解释了词语隐藏层,只是表示你无法在训练集中看到 他们。
  • 这个例 子,只能叫做一个两层的神经网络。原因是当我们计算网络的层数时,输入层 是不算入总层数内,所以隐藏层是第一层,输出层是第二层。第二个惯例是我们将输入层称 为第零层,所以在技术上,这仍然是一个三层的神经网络,因为这里有输入层、隐藏层,还 有输出层。但是在传统的符号使用中,如果你阅读研究论文或者在这门课中,你会看到人们 将这个神经网络称为一个两层的神经网络,因为我们不将输入层看作一个标准的层。

2. 关于各个参数

在这里插入图片描述
在上图中:

  • x(i) =[x1(i),x2(i),x3(i)], 第i个训练样本的输入,维度是(3,1)
  • X =[x(1),x(2),…,x(m)],整体训练样本的输入,维度是(3,m)
    y(i) :第i个训练样本的输出,维度是(1,1),实数
  • Y = [y(1),y(2),…,y(m)], 整体训练样本的输出,维度是(1,m)
  • wj[i] : 第i层第j个节点的参数w,比如 w1[1]是隐藏层中第一个节点,维度是(3,1),相同层的节点w的维度相同;w[2]是输出层的参数向量形式,维度是(4,1)
  • W[1]=[[w1[1]T],[w2[1]T],[w3[1]T],[w4[1]T]], 第一层(隐藏层)所有节点的参数w的合集(纵向堆叠),维度是(4,3)
  • b[1]=[b1[1],b2[1],b3[1],b4[1]],第一层(隐藏层)所有节点的参数b的合集(纵向堆叠),维度是(4,1)
  • Z[1]=[[z1[1]],[z2[1]],[z3[1]],[z4[1]]],第一层(隐藏层)所有节点的z的合集(纵向堆叠),维度是(4,1),其中z1[1]=w1[1]Tx+b1[1]
  • a[1]=σ(Z[1]),维度与Z[1]
  • 第三层类似,不再赘述

(有些人写着写着就蒙了,有些人看着看着就蒙了,欢迎下方留言交流)

3. 计算一个神经网络的输出

以下图为例计算向前传播的输出 (只有一个样本)

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

4. 多个样本神经网络的输出

仍对于上述例子(只有一个隐藏层的浅层神经网络):
在这里插入图片描述
当有m个样本时,就需要重复进行m次上述的步骤,这会使算法效率大大降低,因此我们采用向量化的方式进行处理:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5. 神经网络的梯度下降

训练一个神经网络包括向前计算代价函数函数和向后进行梯度下降的过程,代价函数参见:《神经网络和深度学习(6)-- 损失函数、代价函数和目标函数》
在这里插入图片描述
训练参数需要做梯度下降,在训练神经网络的时候,随机初始化参数很重要,而不是初 始化成全零。当你参数初始化成某些值后,每次梯度下降都会循环计算以下预测值:
在这里插入图片描述
计算出dW,db:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
上述是反向传播的步骤,注:这些都是针对所有样本进行过向量化,ܻ Y是 1 x m的矩阵; 这里np.sum是python的numpy命令,axis=1表示水平相加求和,keepdims是防止python 输出那些古怪的秩数(n,),加上这个确保阵矩阵 ܾ݀db2这个向量输出的维度为(n,1)这样标准 的形式。
然后进行参数的更新:
在这里插入图片描述
这样就完成了一次迭代的工作

  • 注意,当你训练神经网络时,权重随机初始化是很重要的。对于逻辑回归,把权重初始化为 0 当然也是可以的。但是对于一个神经网络,如果你把权重或者参数都初始化为 0,那么梯度 下降将不会起作用。

神经网络和深度学习系列笔记: 传送门

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值