WZX's blog 海滩上捡贝壳的孩子

浅层神经网络中的矩阵计算


单隐层的神经网络中 正向传播 与 反向传播 向量化的具体实现与具体计算过程

结构

如图所示,单隐层神经网络,有 个输入特征值,隐藏层有 个节点

每个神经节点采用 sigmoid 激活函数

采用交叉熵成本函数

表示符号

  • :表示第i层的节点个数
  • : 表示第 i 个样本的参数t
  • :表示第0层(即输入层)的参数t
  • :表示第1层(即隐藏层)的参数t
  • :表示第2层(即输出层)的参数t
  • :表示预测值
  • :表示第 l 层的节点的输出值

正向传播

训练样本

输入样本,共有 m 个样本,每个样本有 个特征值

实际输出值

第一层

单个神经单元

推广

将单个神经单元的情况推广至第一层所有的神经单元

激活函数

第二层

节点个数 n1 = 0
输入为矩阵 A[1]

计算激活函数

至此,正向传播计算完毕

反向传播

反向传播采用梯度下降算法

计算成本函数

与a表示相同的值

计算偏导

计算偏导的顺序要从后往前,运用

第二层

由以上公式实现向量化

第一层

由以上公式实现向量化

* 代表矩阵对应元素相乘

以下计算类似第二层,故只给出结果

第二条公式表示矩阵按行求和

至此所有偏导数求完,之后需要用 以及学习率对W[1],W[2],b[1],b[2]更新,并持续循环


Comments

Content